.navTop {
    width: 100%;
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    background: #ffffff;
    -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.5);
    padding: 0 0 0 15px;
}

/*------------------------------*/

.navTopRow {
    width: 100%;
    height: 100px;
    position: relative;
    overflow: hidden;
}

@media (max-width: 767px) {
    .navTopRow {
        height: 40px;
    }
}

/*------------------------------*/

.topLogo {
    width: 352px;
    height: 73px;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background: url("../images/top-logo.png") no-repeat left center;
    background-size: auto 100%;
    text-decoration: none;
}

.topLogo:hover {
    opacity: .7;
}

@media (max-width: 1399px) and (min-width: 768px) {
    .topLogo {
        width: 73px;
        height: 73px;
    }
}

@media (max-width: 767px) {
    .topLogo {
        width: 216px;
        height: 25px;
        background: url("../images/top-logo2.png") no-repeat left center;
        background-size: auto 100%;
    }
}

/*------------------------------*/

.topMenu {
    width: auto;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 120%;
}

.topMenu a {
    color: #000000;
    display: inline-block;
    text-decoration: none;
}

@media (max-width: 991px) and (min-width: 768px) {
    .topMenu {
        font-size: 16px;
        line-height: 120%;
    }
}

@media (max-width: 767px) {
    .topMenu {
        width: 100%;
        height: 100vh;
        overflow-y: auto;
        position: fixed;
        z-index: 501;
        top: 0;
        left: 0;
        background: rgba(10, 107, 160, .8);
        padding: 40px 0 0 0;

        display: none;

        -ms-overflow-style: none;

        -webkit-transition: all .4s cubic-bezier(.19, 1, .22, 1);
        -moz-transition: all .4s cubic-bezier(.19, 1, .22, 1);
        -o-transition: all .4s cubic-bezier(.19, 1, .22, 1);
        transition: all .4s cubic-bezier(.19, 1, .22, 1);

        -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
        -moz-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
        -o-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
        transition-timing-function: cubic-bezier(.19, 1, .22, 1);

        -webkit-transform: scale(.9);
        -moz-transform: scale(.9);
        -o-transform: scale(.9);
        -ms-transform: scale(.9);
        transform: scale(.9);
    }

    .menuOpening .topMenu {
        display: block;

        -webkit-animation: drawer-open .3s cubic-bezier(.645, .045, .355, 1) 0s;
        -moz-animation: drawer-open .3s cubic-bezier(.645, .045, .355, 1) 0s;
        -o-animation: drawer-open .3s cubic-bezier(.645, .045, .355, 1) 0s;
        animation: drawer-open .3s cubic-bezier(.645, .045, .355, 1) 0s;

        -webkit-animation-fill-mode: both;
        -moz-animation-fill-mode: both;
        -o-animation-fill-mode: both;
        animation-fill-mode: both
    }

    .menuClosing .topMenu {
        -webkit-animation: drawer-close .3s cubic-bezier(.645, .045, .355, 1) 0s;
        -moz-animation: drawer-close .3s cubic-bezier(.645, .045, .355, 1) 0s;
        -o-animation: drawer-close .3s cubic-bezier(.645, .045, .355, 1) 0s;
        animation: drawer-close .3s cubic-bezier(.645, .045, .355, 1) 0s;

        -webkit-animation-fill-mode: both;
        -moz-animation-fill-mode: both;
        -o-animation-fill-mode: both;
        animation-fill-mode: both
    }

    .topMenu a {
        color: #ffffff;
    }
}

/*------------------------------*/

.topMenuTb {
    width: auto;
    display: table;
    text-align: center;
    padding: 0;
    margin: 0;
}

.topMenuTb > li {
    display: table-cell;
    vertical-align: middle;
    position: relative;
}

.topMenuTb > li > a {
    position: relative;
}

@media (min-width: 768px) {
    .topMenuTb > li > a:hover,
    .topMenuTb > li > a.active {
        color: #0a6ba0;
    }

    .topMenuTb > li > a:hover:before,
    .topMenuTb > li > a.active:before {
        position: absolute;
        top: 50%;
        left: -18px;
        -webkit-transform: translate(0, -50%);
        -moz-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);

        width: 9px;
        height: 9px;
        content: '';
        background: #0a6ba0;
        margin: 2px 0 0 0;
    }
}

@media (min-width: 1600px) {
    .topMenuTb > li:not(:last-child) {
        padding-right: 80px;
    }
}

@media (max-width: 1599px) and (min-width: 1200px) {
    .topMenuTb > li:not(:last-child) {
        padding-right: 45px;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .topMenuTb > li:not(:last-child) {
        padding-right: 32px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .topMenuTb > li:not(:last-child) {
        padding-right: 28px;
    }

    .topMenuTb > li > a:hover:before,
    .topMenuTb > li > a.active:before {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .topMenuTb {
        width: 100%;
        display: block;
    }

    .topMenuTb > li {
        display: block;
        margin: 40px 0;
    }

    .topMenuTb > li > a:hover,
    .topMenuTb > li > a.active {
        color: #f7931e;
    }
}

/*------------------------------*/

.topLang {
    width: auto;
    display: table;
    font-size: 88%;
    line-height: 100%;
    padding: 0;
    margin: 0;
}

.topLang > li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
}

.topLang > li:not(:last-child) {
    padding-right: 30px;
}

.topLang > li:not(:last-child):after {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    width: 1px;
    height: 17px;
    content: '';
    background: #000000;
}

.topLang > li > a:hover,
.topLang > li > a.active {
    color: #f7931e;
}

.topLang > li > a.active {
    cursor: inherit;
}

@media (max-width: 767px) {
    .topLang {
        margin: 0 auto;
    }

    .topLang > li:not(:last-child):after {
        background: #ffffff;
    }
}

/*------------------------------*/

a.topMail {
    color: #ffffff;
    font-size: 200%;
    line-height: 100%;
}

a.topMail:before {
    display: none !important;
}

@media (min-width: 768px) {
    a.topMail {
        width: 100px;
        height: 100px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #0a6ba0;
    }

    a.topMail:hover,
    a.topMail.active {
        color: #ffffff !important;
        background: #f7931e !important;
    }
}

@media (max-width: 767px) {
    a.topMail {
        display: inline-block;
    }
}

/*------------------------------*/

.topFacebook {
    text-align: center;
    margin: 0 0 40px 0;
}

.topFacebook > a {
    display: inline-block;
    color: #ffffff;
    font-size: 200%;
    line-height: 100%;
}

.topFacebook > a:hover,
.topFacebook > a.active {
    color: #f7931e;
}

@media (min-width: 768px) {
    .topFacebook {
        display: none !important;
    }
}

/*------------------------------*/

@media (min-width: 768px) {
    #hamburger {
        display: none !important;
    }
}

#hamburger {
    position: fixed;
    z-index: 5002;
    top: 0;
    right: 6px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    text-align: center;
    overflow: hidden;
    padding-top: 11px;

    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}

#hamburger:after {
    content: none;
}

#hamburger .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #0a6ba0;
    left: 50%;
    margin-left: -11px;

    -webkit-transition: all .7s cubic-bezier(.19, 1, .22, 1);
    transition: all .7s cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: transform, -webkit-transform;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    position: relative;
}

#hamburger .icon-bar:nth-child(1) {
    -webkit-transition-delay: 150ms;
    transition-delay: 150ms;
}

#hamburger .icon-bar:nth-child(2) {
    top: 6px;
    -webkit-transition-delay: .4s;
    transition-delay: .4s;
}

#hamburger .icon-bar:nth-child(3) {
    top: 12px;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.menuOpening #hamburger .icon-bar {
    background: #ffffff;
}

.menuOpening #hamburger :nth-child(1) {
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    top: -2px;
    width: 25px;
    margin-left: -13.25px;
}

.menuOpening #hamburger :nth-child(2) {
    -webkit-transform: translate(-50px, 0);
    transform: translate(-50px, 0);
    opacity: 0;
}

.menuOpening #hamburger :nth-child(3) {
    width: 25px;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
    margin-left: -15.5px;
}

/*------------------------------*/

.goTop {
    position: fixed;
    right: 0;
    bottom: 50px;
    background: #0a6ba0;

    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

.goTop.activeShow {
    opacity: 1;
    visibility: inherit;
}

.goTop.activeBottom {
    bottom: 0;
}

.goTop a {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;

    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

.goTop a:hover {
    padding-bottom: 10px;
}

.goTop a .fa {
    color: #ffffff;
    font-size: 50px;
    line-height: 100%;
}

.goTop a:hover .fa {
    margin-top: -5px;
}

@media (max-width: 767px) {
    .goTop {
        display: none !important;
    }
}

/*------------------------------*/

.footerRow {
    position: relative;
    background: #000000;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    text-align: center;
    padding: 17px 0;
}

@media (max-width: 767px) {
    .footerRow {
        font-size: 14px;
        line-height: 100%;
    }
}

/*------------------------------*/

.footerFacebook {
    width: auto;
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.footerFacebook > a {
    display: inline-block;
    color: #ffffff;
    font-size: 200%;
    line-height: 100%;
}

.footerFacebook > a:hover,
.footerFacebook > a.active {
    color: #f7931e;
}

@media (max-width: 767px) {
    .footerFacebook {
        display: none !important;
    }
}

/*------------------------------
all page
------------------------------*/

@media (min-width: 768px) {
    .pageContent {
        padding-top: 100px;
    }
}

@media (max-width: 767px) {
    .pageContent {
        padding-top: 40px;
    }
}

/*------------------------------
home
------------------------------*/

.homeBanner {
    position: relative;
    padding-bottom: 48.95%;
    background: url("../images/home/banner.jpg") no-repeat center center;
    background-size: cover;
}

@media (min-width: 768px) {
    .homeBanner {
        min-height: 650px;
    }
}

@media (max-width: 575px) {
    .homeBanner {
        height: 250px;
        padding-bottom: 0;
    }
}

/*------------------------------*/

.homeBannerText {
    width: auto;
    position: absolute;
    right: 65px;
    bottom: 60px;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 72px;
    line-height: 150%;
    text-align: right;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
}

@media (max-width: 1599px) and (min-width: 1200px) {
    .homeBannerText {
        right: 40px;
        bottom: 35px;
        font-size: 62px;
        line-height: 150%;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .homeBannerText {
        right: 30px;
        bottom: 25px;
        font-size: 52px;
        line-height: 150%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .homeBannerText {
        right: 20px;
        bottom: 15px;
        font-size: 42px;
        line-height: 150%;
    }
}

@media (max-width: 767px) and (min-width: 576px) {
    .homeBannerText {
        right: 15px;
        bottom: 10px;
        font-size: 40px;
        line-height: 150%;
    }
}

@media (max-width: 575px) {
    .homeBannerText {
        right: 15px;
        bottom: 10px;
        font-size: 30px;
        line-height: 150%;
    }
}

/*------------------------------*/

.homeSlideRow {
    width: 100%;
    position: relative;
}

/*------------------------------*/

.homeSlidePic {
    width: 100%;
    position: relative;
    z-index: 1;
    top: 0;
    left: 0;
    padding-bottom: 49.25%;
    background-size: cover !important;
}

@media (min-width: 768px) {
    .homeSlidePic {
        min-height: 650px;
    }
}

@media (max-width: 575px) {
    .homeSlidePic {
        height: 250px;
        padding-bottom: 0;
    }
}

/*------------------------------*/

.homeSlideRow .carousel-caption {
    width: auto;
    position: absolute;
    right: 65px;
    bottom: 60px;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 56px;
    line-height: 120%;
    text-align: right;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
}

@media (max-width: 1599px) and (min-width: 1200px) {
    .homeSlideRow .carousel-caption {
        right: 40px;
        font-size: 48px;
        line-height: 120%;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .homeSlideRow .carousel-caption {
        right: 30px;
        bottom: 45px;
        font-size: 38px;
        line-height: 120%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .homeSlideRow .carousel-caption {
        right: 20px;
        bottom: 40px;
        font-size: 28px;
        line-height: 120%;
    }
}

@media (max-width: 767px) {
    .homeSlideRow .carousel-caption {
        right: 15px;
        bottom: 35px;
        font-size: 18px;
        line-height: 120%;
    }
}

/*------------------------------*/

.homeAbout {
    position: relative;
    overflow: hidden;
    background: url("../images/home/bg1.jpg") no-repeat center;
    background-size: cover;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 250%;
    text-align: center;
}

.homeAboutText1 {
    color: #0a6ba0;
    font-weight: 700;
    font-size: 125%;
    line-height: 100%;
}

.homeAboutText2 {
    font-size: 255%;
    line-height: 120%;
    margin: 25px 0 50px 0;
}

@media (min-width: 768px) {
    .homeAbout {
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 100px 0;
    }
}

@media (max-width: 991px) {
    .homeAboutText3 {
        text-align: left;
    }

    .homeAboutText3 br {
        display: none;
    }
}

@media (max-width: 767px) {
    .homeAbout {
        font-size: 14px;
        line-height: 250%;
        padding: 50px 0 30px 0;
    }

    .homeAboutText2 {
        margin: 15px 0 30px 0;
    }
}

/*------------------------------*/

.videoPresent {
    width: 100%;
    max-width: 850px;
    position: relative;
    background: #ffffff;
    padding: 50px 0 0 0;
    margin: 0 auto 50px auto;
}

/*------------------------------*/

.homePro {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: table;
}

@media (max-width: 991px) {
    .homePro {
        background: url("../images/home/bg4.jpg") repeat-y top left;
        background-size: 100% auto;
    }
}

/*------------------------------*/

@media (min-width: 992px) {
    .homeProCell {
        height: 800px;
        display: table-cell;
        vertical-align: middle;
    }

    .homePro.homePro-1 .homeProCell {
        background: url("../images/home/bg2.jpg") no-repeat left top;
        background-size: cover;
    }

    .homePro.homePro-2 .homeProCell {
        background: url("../images/home/bg3.jpg") no-repeat right top;
        background-size: cover;
    }
}

@media (max-width: 991px) {
    .homePro.homePro-1 .homeProCell {
        background: url("../images/home/bg2-m.jpg") no-repeat top left;
        background-size: 100% auto;
    }

    .homePro.homePro-2 .homeProCell {
        background: url("../images/home/bg3-m.jpg") no-repeat top left;
        background-size: 100% auto;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .homeProCell {
        padding: 100px 0;
    }
}

@media (max-width: 767px) {
    .homeProCell {
        padding: 50px 0;
    }
}

/*------------------------------*/

.homeProRow {
    width: 100%;
    position: relative;
    overflow: hidden;
}

@media (min-width: 992px) {
    .homeProRow > .row {
        width: 100%;
        display: table;
        margin: 0;
    }

    .homeProRow > .row > [class*="col-"] {
        float: none;
        position: relative;
        display: table-cell;
        vertical-align: top;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    .homePro-1 .homeProRow > .row > [class*="col-"]:first-child {
        width: 53%;
    }

    .homePro-1 .homeProRow > .row > [class*="col-"]:last-child {
        width: 47%;
        padding-left: 35px;
    }

    .homePro-2 .homeProRow > .row > [class*="col-"]:first-child {
        width: 47%;
        padding-right: 35px;
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .homePro-2 .homeProRow > .row > [class*="col-"]:last-child {
        width: 53%;
        padding-left: 0;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .homePro-1 .homeProRow > .row > [class*="col-"]:first-child {
        width: 56%;
    }

    .homePro-1 .homeProRow > .row > [class*="col-"]:last-child {
        width: 44%;
        padding-left: 30px;
    }

    .homePro-2 .homeProRow > .row > [class*="col-"]:first-child {
        width: 44%;
        padding-right: 30px;
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .homePro-2 .homeProRow > .row > [class*="col-"]:last-child {
        width: 56%;
        padding-left: 0;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .homeProRow > .row,
    .homeProRow > .row > [class*="col-"] {
        width: 100%;
        padding: 0;
        margin: 0;
    }
}

@media (max-width: 991px) {
    .homePro-2 .homeProRow > .row > [class*="col-"]:first-child {
        order: 2;
    }

    .homePro-2 .homeProRow > .row > [class*="col-"]:last-child {
        order: 1;
    }
}

/*------------------------------*/

.homeProText {
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 200%;
    text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}

.homeProText .homeProText-1 {
    color: #b3b3b3;
    font-weight: 700;
    font-size: 125%;
    line-height: 100%;
    text-align: center;
}

.homeProText .homeProText-2 {
    font-weight: 700;
    font-size: 242%;
    line-height: 120%;
    margin: 45px 0;
}

.homeProText .homeProText-2 > span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    color: #f7931e;
}

.homeProText .homeProText-2 > span.haveFirst:first-letter {
    display: inline-block;
    vertical-align: top;
    font-size: 150%;
}

.homeProText .homeProText-2 > span.haveFirst:before {
    position: absolute;
    top: -1px;
    left: 0;
    content: 'プラス';
    font-size: 30%;
    line-height: 100%;
}

@media (max-width: 1199px) {
    .homeProText {
        font-size: 14px;
        line-height: 200%;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .homeProText .homeProText-2 {
        margin: 18px 0;
    }
}

@media (max-width: 991px) {
    .homeProText {
        width: auto;
        display: table;
        margin: 0 auto;
    }

    .homeProText .homeProText-2 {
        text-align: center;
    }
}

/*------------------------------*/

a.homeProLink {
    display: block;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    text-align: center;
    text-decoration: none;
}

a.homeProLink:hover {
    background: rgba(0, 0, 0, .2);
}

@media (min-width: 992px) {
    a.homeProLink {
        width: 340px;
        position: absolute;
        right: 0;
        bottom: 0;
        -webkit-transition: background .3s;
        -moz-transition: background .3s;
        -o-transition: background .3s;
        transition: background .3s;
    }
}

@media (max-width: 991px) {
    a.homeProLink {
        width: 290px;
        font-size: 18px;
        line-height: 130%;
        margin: 50px auto;
    }
}

/*------------------------------*/

.homeProLinkCell {
    height: 90px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .3);
}

.homeProLinkCell:after {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    content: '\f107';
    font-family: FontAwesome, sans-serif;
    font-size: 130%;
    line-height: 100%;
}

@media (max-width: 991px) {
    .homeProLinkCell {
        height: 60px;
        border-color: #ffffff;
    }

    .homeProLinkCell:after {
        right: 10px;
    }
}

/*------------------------------*/

@media (min-width: 992px) {
    a.homeProLink svg {
        position: absolute;
        left: 0;
        top: 0;
        fill: none;
        stroke: #fff;
        stroke-dasharray: 150 860;
        stroke-dashoffset: 150;
        transition: 1s ease-in-out;
    }

    a.homeProLink:hover svg {
        stroke-dashoffset: -860;
    }
}

@media (max-width: 991px) {
    a.homeProLink svg {
        display: none;
    }
}

/*------------------------------*/

.homeProPicRow {
    width: 100%;
    max-width: 575px;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
}

.homeProPicRow > .row {
    margin: -10px;
}

.homeProPicRow > .row > [class*="col-"] {
    padding: 10px;
}

@media (max-width: 767px) {
    .homeProPicRow > .row {
        margin: -8px;
    }

    .homeProPicRow > .row > [class*="col-"] {
        padding: 8px;
    }
}

/*------------------------------*/

.homeProPic {
    width: 100%;
    display: block;
}

/*------------------------------*/

.homePartners {
    background: #ffffff;
    padding: 150px 0;
}

@media (max-width: 767px) {
    .homePartners {
        padding: 50px 0;
    }
}

/*------------------------------*/

.homePartnersTitle {
    position: relative;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    text-align: center;
    margin: 0 0 50px 0;
}

.homePartnersTitle:after {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%;
    height: 1px;
    content: '';
    background: #000000;
    margin: 2px 0 0 0;
}

.homePartnersTitle > span {
    position: relative;
    z-index: 2;
    display: inline-block;
    background: #ffffff;
    padding: 0 15px;
}

/*------------------------------*/

.homePartnersText {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 150%;
    text-align: center;
}

.homePartnersText > span {
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin: 40px 0 0 0;
}

@media (min-width: 1200px) {
    .homePartnersText {
        margin-right: -25px;
        margin-left: -25px;
    }

    .homePartnersText > span {
        margin-left: 25px;
        margin-right: 25px;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .homePartnersText {
        font-size: 16px;
        line-height: 150%;
        margin-right: -10px;
        margin-left: -10px;
    }

    .homePartnersText > span {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .homePartnersText {
        font-size: 14px;
        line-height: 150%;
        margin-right: -15px;
        margin-left: -15px;
    }

    .homePartnersText > span {
        margin-left: 15px;
        margin-right: 15px;
    }
}

@media (max-width: 767px) {
    .homePartnersText {
        font-size: 12px;
        line-height: 150%;
        margin-right: -10px;
        margin-left: -10px;
    }

    .homePartnersText > span {
        margin-top: 30px;
        margin-left: 10px;
        margin-right: 10px;
    }
}

/*------------------------------
all page
------------------------------*/

.pageBanner {
    width: 100%;
    position: relative;
    background-size: cover !important;
}

@media (min-width: 768px) {
    .pageBanner {
        min-height: 300px;
        padding-bottom: 28.125%;
    }
}

@media (max-width: 767px) {
    .pageBanner {
        height: 250px;
    }
}

/*------------------------------*/

.pageBannerText {
    width: auto;
    position: absolute;
    right: 65px;
    bottom: 60px;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 72px;
    line-height: 110%;
    text-align: right;
    text-shadow: 0 0 10px rgba(0, 0, 0, 1);
}

.pageBannerText small {
    display: block;
    font-size: 25%;
    line-height: 150%;
    margin: 2.5% 0 0 0;
}

@media (max-width: 1599px) and (min-width: 1200px) {
    .pageBannerText {
        right: 40px;
        bottom: 35px;
        font-size: 62px;
        line-height: 110%;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .pageBannerText {
        right: 30px;
        bottom: 25px;
        font-size: 52px;
        line-height: 110%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .pageBannerText {
        right: 20px;
        bottom: 15px;
        font-size: 42px;
        line-height: 110%;
    }
}

@media (max-width: 767px) and (min-width: 576px) {
    .pageBannerText {
        right: 15px;
        bottom: 10px;
        font-size: 40px;
        line-height: 110%;
    }

    .pageBannerText small {
        font-size: 30%;
        line-height: 150%;
    }
}

@media (max-width: 575px) {
    .pageBannerText {
        right: 15px;
        bottom: 10px;
        font-size: 30px;
        line-height: 110%;
    }

    .pageBannerText small {
        font-size: 38%;
        line-height: 150%;
    }
}

/*------------------------------*/

.pageContent {
    position: relative;
    padding: 150px 0;
}

@media (max-width: 767px) {
    .pageContent {
        padding: 75px 0;
    }
}

/*------------------------------*/

.pageTitle1 {
    border-left: 8px solid #0a6ba0;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 34px;
    line-height: 120%;
    padding: 0 0 5px 15px;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .pageTitle1 {
        font-size: 32px;
        line-height: 120%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .pageTitle1 {
        font-size: 30px;
        line-height: 120%;
    }
}

@media (max-width: 767px) {
    .pageTitle1 {
        font-size: 28px;
        line-height: 120%;
    }
}

/*------------------------------*/

.pageTitle1.pageTitle1_1 {
    margin-top: 80px;
}

/*------------------------------*/

.pageTitle2 {
    position: relative;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 120%;
}

.pageTitle2:before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    content: '';
    width: 100%;
    height: 1px;
    background: #000000;
}

.pageTitle2 > span {
    width: auto;
    position: relative;
    z-index: 2;
    display: table;
    background: #ffffff;
    padding: 0 30px 5px 30px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .pageTitle2 {
        font-size: 18px;
        line-height: 120%;
    }

    .pageTitle2 > span {
        max-width: 90%;
        padding: 0 12px 5px 12px;
    }
}

/*------------------------------*/

.pageText1 {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 180%;
    padding: 150px 0;
}

@media (max-width: 991px) and (min-width: 768px) {
    .pageText1 {
        padding: 100px 0;
    }
}

@media (max-width: 767px) {
    .pageText1 {
        font-size: 14px;
        line-height: 180%;
        padding: 75px 0;
    }
}

/*------------------------------*/

.companyTB {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    margin: 60px 0 0 0;
}

.companyTB a {
    color: #000000;
}

@media (max-width: 991px) and (min-width: 768px) {
    .companyTB {
        margin-bottom: 100px;
    }
}

@media (max-width: 767px) {
    .companyTB {
        font-size: 14px;
        line-height: 150%;
        margin-top: 30px;
    }
}

/*------------------------------*/

.companyTB > ul {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.companyTB > ul:not(:last-child) {
    margin-bottom: 30px;
}

.companyTB > ul > li {
    display: table-cell;
    vertical-align: middle;
}

.companyTB > ul > li:first-child {
    background: #CEE1EC;
    font-weight: 600;
}

@media (min-width: 768px) {
    .companyTB > ul > li:first-child {
        width: 180px;
        height: 60px;
        text-align: center;
    }

    .companyTB > ul > li:last-child {
        padding-left: 20px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .companyTB > ul > li:first-child {
        width: 160px;
    }
}

@media (max-width: 767px) {
    .companyTB > ul > li {
        width: 100%;
        display: block;
        padding: 8px;
    }
}

/*------------------------------*/

.companyMap {
    width: 100%;
    min-height: 300px;
    position: relative;
    padding-bottom: 26%;
    margin: 80px 0 120px 0;
}

.companyMap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    border: none;
}

/*------------------------------
contact
------------------------------*/

.contactFlow {
    margin: 80px 0 200px 0;
}

@media (max-width: 767px) {
    .contactFlow {
        margin: 40px 0 100px 0;
    }
}

/*------------------------------*/

.conFlowRow {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.conFlowRow > li {
    display: inline-block;
    vertical-align: middle;
    word-break: keep-all;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .conFlowRow > li.col-01,
    .conFlowRow > li.col-02,
    .conFlowRow > li.col-05,
    .conFlowRow > li.col-06 {
        margin-right: -15px;
    }

    .conFlowRow > li.col-04 {
        width: 100%;
        height: 10px;
        display: block;
    }
}

@media (min-width: 1200px) {
    .conFlowRow > li.col-05 {
        margin-left: 225px;
    }
}

@media (max-width: 1199px) {
    .conFlowRow {
        text-align: center;
        margin: 0 auto;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .conFlowRow > li.col-01,
    .conFlowRow > li.col-02,
    .conFlowRow > li.col-05,
    .conFlowRow > li.col-06 {
        margin-right: -8px;
    }
}

@media (max-width: 767px) {
    .conFlowRow {
        text-align: center;
    }

    .conFlowRow > li {
        width: 50%;
        margin-bottom: 10px;
    }

    .conFlowRow > li.col-01,
    .conFlowRow > li.col-02,
    .conFlowRow > li.col-03,
    .conFlowRow > li.col-05,
    .conFlowRow > li.col-06,
    .conFlowRow > li.col-07 {
        margin-right: -17px;
    }

    .conFlowRow > li.col-04 {
        width: 0;
        height: 0;
        display: none;
    }
}

@media (max-width: 575px) {
    .conFlowRow {
        max-width: 350px;
    }

    .conFlowRow > li {
        margin-bottom: 5px;
    }

    .conFlowRow > li.col-01,
    .conFlowRow > li.col-02,
    .conFlowRow > li.col-03,
    .conFlowRow > li.col-05,
    .conFlowRow > li.col-06,
    .conFlowRow > li.col-07 {
        margin-right: -8px;
    }
}

/*------------------------------*/

.conFlowCol {
    background: url("../images/contactUs/bg1.png") no-repeat;
    background-size: 100% 100%;
}

@media (min-width: 992px) {
    .conFlowCol {
        width: 300px;
        height: 170px;
        padding: 15px 0 0 0;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .conFlowCol {
        width: 230px;
        height: 130px;
        padding: 10px 0 0 0;
    }
}

@media (max-width: 767px) {
    .conFlowCol {
        width: 250px;
        height: 142px;
        padding: 15px 0 0;
    }
}

@media (max-width: 575px) {
    .conFlowCol {
        width: 100%;
        height: auto;
        padding: 8px 0;
    }
}

/*------------------------------*/

.conFlowIcon {
    width: 95px;
    display: block;
    padding: 0 0 15px 0;
    margin: 0 auto;
}

@media (max-width: 991px) and (min-width: 768px) {
    .conFlowIcon {
        width: 80px;
        padding-bottom: 8px;
    }
}

@media (max-width: 767px) {
    .conFlowIcon {
        width: 75px;
        padding-bottom: 8px;
    }
}

@media (max-width: 575px) {
    .conFlowIcon {
        width: 60px;
        padding-bottom: 5px;
    }
}

/*------------------------------*/

.conFlowText {
    width: 100%;
    display: table;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
}

.conFlowText > span {
    display: table-cell;
    vertical-align: middle;
}

@media (max-width: 991px) and (min-width: 768px) {
    .conFlowText {
        font-size: 12px;
        line-height: 150%;
    }
}

@media (max-width: 767px) {
    .conFlowText {
        font-size: 13px;
        line-height: 150%;
    }
}

@media (min-width: 576px) {
    .conFlowText br.br-xxs {
        display: none;
    }
}

@media (max-width: 575px) {
    .conFlowText {
        font-size: 10px;
        line-height: 150%;
    }

    .conFlowText br.br-hide-xxs {
        display: none;
    }
}

/*------------------------------*/

.contactForm {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 150%;
    word-wrap: break-word;
    word-break: break-all;
    margin: 50px 0 0 0;
}

@media (max-width: 767px) {
    .contactForm {
        font-size: 13px;
        line-height: 150%;
    }
}

/*------------------------------*/

.contactForm .form-control {
    border-radius: 0;
}

/*------------------------------*/

.contactForm .radio,
.contactForm .checkbox {
    line-height: 100%;
    padding: 0 0 0 4px;
    margin: 0;
}

.contactForm .radio label,
.contactForm .checkbox label {
    margin-bottom: 0;
}

/*------------------------------*/

.contactTb1 {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.contactForm .contactTb1:not(:last-child) {
    margin-bottom: 20px;
}

.contactTb1 > li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
}

.contactTb1 > li.req:after {
    content: 'Required';
    display: inline-block;
    vertical-align: middle;
    background: #AD181F;
    color: #FFFFFF;
    font-weight: normal;
    font-size: 80%;
    line-height: 100%;
    padding: 2px 5px;
    margin: -3px 0 0 10px;
}

@media (min-width: 768px) {
    .contactTb1 > li:first-child {
        width: 190px;
        vertical-align: top;
        padding: 12px 0;
    }
}

@media (max-width: 767px) {
    .contactTb1 > li {
        width: 100%;
        display: block;
    }

    .contactTb1 > li:first-child {
        margin-bottom: 5px;
    }
}

/*------------------------------*/

.contactFormConfirm .contactTb1 > li:last-child {
    color: #333333;
    font-weight: 300;
}

@media (min-width: 768px) {
    .contactFormConfirm .contactTb1 > li {
        padding: 10px 0;
    }
}

/*------------------------------*/

.contactTb2 {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.contactTb2 > li {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
}

.contactTb2 > li:first-child {
    padding-right: 10px;
}

.contactTb2 > li:last-child {
    padding-left: 10px;
}

@media (max-width: 767px) {
    .contactTb2 > li:first-child {
        padding-right: 5px;
    }

    .contactTb2 > li:last-child {
        padding-left: 5px;
    }
}

/*------------------------------*/

.contactTb3 {
    width: auto;
    display: table;
    padding: 0;
    margin: 0;
}

.contactTb3 > li {
    display: table-cell;
    vertical-align: middle;
}

@media (min-width: 992px) {
    .contactTb3 > li:not(:last-child) {
        padding-right: 60px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .contactTb3 > li:not(:last-child) {
        padding-right: 20px;
    }

    .contactTb3 {
        font-size: 12px;
        line-height: 100%;
    }
}

@media (max-width: 767px) {
    .contactTb3 {
        padding-left: 2px;
        margin: 10px 0;
    }

    .contactTb3 > li {
        width: 100%;
        display: block;
    }

    .contactTb3 > li:not(:last-child) {
        margin-bottom: 15px;
    }
}

/*------------------------------*/

.contactBtn {
    width: auto;
    display: table;
    padding: 0;
    margin: 100px auto 200px auto;
}

.contactBtn > li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.contactBtn > li.conBack:before {
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    content: '\f104';
    color: #000000;
    font-family: FontAwesome, sans-serif;
    font-size: 200%;
    line-height: 100%;
}

.contactBtn > li.conNext:after {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    content: '\f105';
    color: #000000;
    font-family: FontAwesome, sans-serif;
    font-size: 200%;
    line-height: 100%;
}

.contactBtn > li.conBack:hover:before,
.contactBtn > li.conNext:hover:after {
    color: #ffffff;
}

@media (min-width: 768px) {
    .contactBtn > li:not(:last-child) {
        margin-right: 30px;
    }
}

@media (max-width: 767px) {
    .contactBtn {
        margin: 50px auto 100px auto;
    }

    .contactBtn > li {
        width: 100%;
        display: block;
    }

    .contactBtn > li:not(:last-child) {
        margin-bottom: 20px;
    }
}

/*------------------------------*/

.contactBtn button {
    width: 290px;
    height: 73px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #000000;
    outline: 0;
    background: #ffffff;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
}

.contactBtn > li:hover button {
    border-color: #0a6ba0;
    background: #0a6ba0;
    color: #ffffff;
}

@media (max-width: 767px) {
    .contactBtn button {
        height: 60px;
        border-width: 2px;
        font-size: 16px;
        line-height: 100%;
    }
}

/*------------------------------*/

.conFooterText {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
}

@media (max-width: 767px) {
    .conFooterText {
        font-size: 12px;
        line-height: 150%;
    }
}

/*------------------------------*/

.conFooterText-1 {
    text-align: center;
    margin: 40px 0;
}

/*------------------------------*/

.conFooterText-2 {
    width: auto;
    display: table;
    padding: 0;
    margin: 0 auto;
}

.conFooterText-2 > li {
    display: table-cell;
    vertical-align: top;
}

@media (min-width: 768px) {
    .conFooterText-2 > li:not(:last-child) {
        padding-right: 80px;
    }
}

@media (max-width: 767px) {
    .conFooterText-2 > li {
        width: 100%;
        display: block;
    }

    .conFooterText-2 > li:not(:last-child) {
        margin-bottom: 30px;
    }
}

/*------------------------------*/

.contactFooterLineQR {
    width: 100%;
    max-width: 200px;
    display: block;
    margin: 40px auto 0 auto;
}

/*------------------------------*/

a.conFooterNum {
    display: table;
    word-break: keep-all;
    white-space: nowrap;
    color: #000000;
    font-weight: 700;
    font-size: 250%;
    line-height: 100%;
    text-decoration: none;
    margin-top: 5px;
}

a.conFooterNum:hover {
    color: #0a6ba0;
}

a.conFooterNum.conFooterMail {
    margin: 40px auto;
}

@media (max-width: 575px) {
    a.conFooterNum.conFooterMail {
        font-size: 200%;
        line-height: 100%;
    }
}

/*------------------------------*/

.contactThank .pageTitle1 {
    border: none;
    text-align: center;
    padding: 0;
}

.contactThank .contactForm {
    color: #000000;
    font-weight: 400;
    line-height: 200%;
    text-align: center;
}

@media (max-width: 991px) and (min-width: 768px) {
    .contactThank .contactForm {
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    .contactThank .contactForm {
        text-align: left;
    }

    .contactThank .contactForm br {
        display: none;
    }
}

/*------------------------------
Product
------------------------------*/

.productRow1 {
    background: url("../images/product/banner2.jpg") no-repeat center;
    background-size: cover;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 250%;
    text-align: center;
    padding: 240px 0;
}

.productRow1 .textTitle {
    font-size: 245%;
    line-height: 150%;
    margin-bottom: 15px;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .productRow1 {
        font-size: 16px;
        line-height: 250%;
        padding: 200px 0;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .productRow1 {
        font-size: 14px;
        line-height: 250%;
        padding: 150px 0;
    }
}

@media (max-width: 767px) {
    .productRow1 {
        font-size: 12px;
        line-height: 250%;
        padding: 100px 0;
    }
}

/*------------------------------*/

@media (max-width: 1199px) and (min-width: 768px) {
    .productRow2 > .row {
        margin: 0 -10px;
    }

    .productRow2 > .row > [class*="col-"] {
        padding: 0 10px;
    }
}

@media (max-width: 767px) {
    .productRow2 > .row > [class*="col-"] {
        margin-bottom: 15px;
    }
}

/*------------------------------*/

.productRow2.productRow2_1 > .row > [class*="col-"] {
    margin-bottom: 30px;
}

/*------------------------------*/

.productTB_1 {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    margin: 50px 0;
}

.productTB_1 a {
    color: #000000;
}

@media (max-width: 767px) {
    .productTB_1 {
        font-size: 14px;
        line-height: 150%;
        margin: 40px 0;
    }
}

/*------------------------------*/

.productTB_1 > ul {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.productTB_1 > ul:not(:last-child) {
    margin-bottom: 30px;
}

.productTB_1 > ul > li {
    display: table-cell;
    vertical-align: middle;
}

.productTB_1 > ul > li:first-child {
    background: #CEE1EC;
    font-weight: 600;
}

@media (min-width: 768px) {
    .productTB_1 > ul > li:first-child {
        width: 140px;
        height: 60px;
        text-align: center;
    }

    .productTB_1 > ul > li:last-child {
        padding-left: 20px;
    }
}

@media (max-width: 767px) {
    .productTB_1 > ul > li {
        width: 100%;
        display: block;
        padding: 8px;
    }

    .productTB_1 > ul > li:last-child {
        padding-bottom: 0;
    }
}

/*------------------------------*/

.productTB_2 {
    width: 100%;
    position: relative;
    overflow-x: auto;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    text-align: center;
}

.productTB_2 table {
    width: 100%;
    table-layout: fixed;
    padding: 0;
    margin: 0;
}

.productTB_2 th {
    font-size: 85%;
    line-height: 150%;
    font-weight: 700;
    background: #D5E1E9;
}

.productTB_2 th,
.productTB_2 td {
    border: 1px solid #D5E1E9;
    padding: 5px;
}

.productTB_2 tr:first-child th:first-child {
    background: #B3C9D8;
    border-right-color: #B3C9D8;
}

.productTB_2 tr:first-child th:not(:first-child):not(:last-child) {
    border-right-color: #FFFFFF;
}

.productTB_2 tr:not(:first-child):not(:last-child) th {
    border-bottom-color: #FFFFFF;
}

.productTB_2 th:not(:last-child),
.productTB_2 td:not(:last-child) {
    width: 18%;
}

.productTB_2 th:last-child,
.productTB_2 td:last-child {
    width: 28%;
}

@media (max-width: 767px) {
    .productTB_2 {
        font-size: 12px;
        line-height: 150%;
        word-break: keep-all;
        white-space: nowrap;
    }

    .productTB_2 table {
        width: auto;
        min-width: 100%;
        table-layout: fixed;
    }

    .productTB_2 th,
    .productTB_2 td {
        min-width: 75px;
    }
}

/*------------------------------*/

.productTB_3 {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
}

.productTB_3.productTB_3_1 small {
    font-weight: 700;
}

.productTB_3 > ul {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.productTB_3 > ul:not(:last-child) {
    margin-bottom: 5px;
}

.productTB_3 > ul > li {
    display: table-cell;
    vertical-align: middle;
    padding: 5px;
}

.productTB_3 > ul > li:first-child {
    width: 110px;
    background: #D5E1E9;
    font-size: 85%;
    line-height: 150%;
    font-weight: 700;
    text-align: center;
}

.productTB_3.productTB_3_1 > ul > li:first-child {
    width: 120px;
}

.productTB_3 > ul > li:last-child {
    padding-left: 10px;
}

@media (max-width: 991px) {
    .productTB_3 {
        font-size: 12px;
        line-height: 150%;
    }
}

/*------------------------------*/

.productTB_4 {
    margin-top: 35px;
}

.productTB_4 > ul {
    width: auto;
    display: table;
    padding: 0;
    margin: 0;
}

.productTB_4 > ul > li {
    display: table-cell;
    vertical-align: top;
}

@media (min-width: 768px) {
    .productTB_4 > ul > li:not(:last-child) {
        padding-right: 30px;
    }
}

@media (max-width: 767px) {
    .productTB_4 {
        margin-top: 25px;
    }

    .productTB_4 > ul,
    .productTB_4 > ul > li {
        width: 100%;
        display: block;
    }

    .productTB_4 > ul > li:not(:last-child) {
        margin-bottom: 5px;
    }
}

/*------------------------------*/

.productTB_5 {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
}

@media (max-width: 767px) {
    .productTB_5 {
        font-size: 14px;
        line-height: 150%;
    }
}

/*------------------------------*/

.productTB_5 > ul {
    width: 100%;
    display: table;
    padding: 0;
    margin: 0;
}

.productTB_5 > ul > li {
    display: table-cell;
    vertical-align: middle;
}

.productTB_5 > ul > li:first-child {
    width: 150px;
    background: #CEE1EC;
    font-weight: 600;
    line-height: 120%;
    text-align: center;
    padding: 8px 0;
}

.productTB_5 > ul > li:last-child {
    padding-left: 20px;
}

@media (max-width: 767px) {
    .productTB_5 > ul > li:first-child {
        width: 110px;
    }

    .productTB_5 > ul > li:last-child {
        padding-left: 10px;
    }
}

/*------------------------------*/

.productPicText {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    background: #0A6B98;
    color: #FFFFFF;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 150%;
    text-align: center;
    padding: 5px;
    margin: 15px 0;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .productPicText {
        font-size: 16px;
        line-height: 150%;
    }
}

@media (max-width: 991px) {
    .productPicText {
        font-size: 14px;
        line-height: 150%;
    }
}

/*------------------------------*/

@media (min-width: 992px) {
    .productPicText.productPicText_1 {
        font-size: 90%;
        line-height: 150%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .productPicText.productPicText_1 {
        font-size: 60%;
        line-height: 150%;
    }
}

/*------------------------------*/

.productPicArrow {
    display: block;
    position: relative;
}

.productPicArrow:before,
.productPicArrow:after {
    content: '\f061';
    color: #0A6B9A;
    font-family: FontAwesome, sans-serif;
    font-size: 20px;
    line-height: 100%;

    position: absolute;
    z-index: 1;
    right: -6.7%;
}

.productPicArrow:before {
    top: 18%;
}

.productPicArrow:after {
    top: 58%;
}

@media (max-width: 1199px) and (min-width: 992px) {
    .productPicArrow:before,
    .productPicArrow:after {
        font-size: 18px;
        line-height: 100%;
        right: -6%;
    }

    .productPicArrow:before {
        top: 17%;
    }

    .productPicArrow:after {
        top: 57%;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .productPicArrow:before,
    .productPicArrow:after {
        font-size: 16px;
        line-height: 100%;
        right: -7.5%;
    }

    .productPicArrow:before {
        top: 15%;
    }

    .productPicArrow:after {
        top: 53%;
    }
}

@media (max-width: 767px) {
    .productPicArrow {
        padding: 0 0 42px 0;
    }

    .productPicArrow:before {
        display: none !important;
    }

    .productPicArrow:after {
        content: '\f063';
        top: 100%;
        left: 50%;
        right: auto;
        -webkit-transform: translate(-50%, 0);
        -moz-transform: translate(-50%, 0);
        -o-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        margin: -25px 0 0 0;
    }

}

/*------------------------------*/

.productPicDetail {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    margin: 10px 0 0 0;
}

@media (max-width: 991px) {
    .productPicDetail {
        font-size: 14px;
        line-height: 150%;
    }
}

/*------------------------------*/

.productPicDetail_1 {
    width: 100%;
    display: block;
    line-height: 120%;
    margin-top: 10px;
}

@media (min-width: 768px) {
    .productPicDetail_1 {
        position: absolute;
    }
}

@media (min-width: 1200px) {
    .productPicDetail_1 {
        width: 730px;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .productPicDetail_1 {
        width: 620px;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .productPicDetail_1 {
        width: 460px;
    }
}

/*------------------------------
facility
------------------------------*/

.facilityRow1 {
    background: url("../images/facilities/banner2.jpg") no-repeat center;
    background-size: cover;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    padding: 80px 0;
    margin: 50px 0 0 0;
}

.facilityRow1 .textTitle {
    font-size: 245%;
    line-height: 150%;
    margin-bottom: 50px;
    text-align: center;
}

@media (max-width: 991px) and (min-width: 768px) {
    .facilityRow1 {
        font-size: 16px;
        line-height: 150%;
    }
}

@media (max-width: 767px) {
    .facilityRow1 {
        font-size: 14px;
        line-height: 150%;
    }
}

/*------------------------------*/

.facilityRow2 {
    width: 100%;
    position: relative;
}

@media (min-width: 992px) {
    .facilityRow2 > .row {
        margin: 0 -25px;
    }

    .facilityRow2 > .row > [class*="col-"] {
        padding: 0 25px;
    }
}

/*------------------------------*/

.facilityRow3 {
    width: 100%;
    display: table;
    border-bottom: 1px solid #FFFFFF;
    padding: 8px 0;
    margin: 0;
}

.facilityRow3 > li {
    display: table-cell;
    vertical-align: middle;
}

.facilityRow3 > li:last-child {
    width: 55px;
    text-align: right;
}

/*------------------------------*/