
@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Permanent+Marker');
@media (min-width: 48em) {
    .banner-jas {
        font-size: 0.7rem
    }
}

.banner-jas {
    background-color: rgba(238, 232, 170, 0.2);
}
.banner-jas .img {
    margin-bottom: 0.8rem
}

@media (min-width: 48em) {
    .banner-jas .img {
        margin-bottom: 0.4rem
    }
}

.banner-jas .img img {
    width: 100px;
    height: auto
}

.banner-jas .text {
    margin: 0;
    font-weight: bold;
    color: #A5854A
}

.banner-medical {
    padding: 2.4rem 0 200px;
    background-image: url(img/common/bg_adviser_sp.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-color: rgba(238, 232, 170, 0.2);
    background-size: 200px auto
}

@media (min-width: 48em) {
    .banner-medical {
        padding: 0;
        background-image: url(img/common/bg_adviser_pc.png);
        background-position: center center;
        background-size: cover
    }
}

.banner-medical .container {
    position: relative
}

@media (min-width: 48em) {
    .banner-medical .container {
        min-height: 380px
    }
}

.banner-medical .box {
    padding: 0 1.5rem
}

@media (min-width: 48em) {
    .banner-medical .box {
        position: absolute;
        width: 70%;
        right: 0;
        top: 50%;
        margin: auto;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media (min-width: 62em) {
    .banner-medical .box {
        width: 50%;
        right: 4.0rem
    }
}

.banner-medical .logo {
    margin-bottom: 0.75rem
}

.banner-medical .logo img {
    width: 100px;
    height: auto
}

.banner-medical .name {
    margin-bottom: 1.4rem;
    font-weight: normal;
    font-size: 2.6rem;
    line-height: 1.30769
}

@media (min-width: 48em) {
    .banner-medical .name {
        font-size: 1.3rem
    }
}

.banner-medical .name span {
    display: block;
    margin-bottom: 2px;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .banner-medical .name span {
        font-size: 0.7rem
    }
}


.banner-medical p {
    margin-bottom: 1.2rem;
    font-size: 1.7rem;
    line-height: 1.7;
    color: #9E0B0F;
}

@media (min-width: 48em) {
    .banner-medical p {
        font-size: 1rem
    }
}


.banner-medical p .note {
    display: block;
    margin-bottom: 1.2rem;
    font-size: 1.4rem;
    line-height: 1.4;
    color: #333;
}

@media (min-width: 48em) {
    .banner-medical p .note {
        font-size: 0.7rem
    }
}



@media (min-width: 48em) {
    .banner-medical .base-button {
        max-width: 220px
    }
}

#footer {
    position: relative;
    background-color: #E59904;
    overflow: hidden;
    width: 100%
}

#footer .container {
    padding: 0
}

.footer-info {
    position: relative;
    padding: 2.0rem 1.5rem;
    color: #fff;
    text-align: left
}

@media (min-width: 48em) {
    .footer-info {
        margin: 0 1.5rem
    }
}

@media (min-width: 62em) {
    .footer-info {
        margin: 0
    }
}

.footer-info .title {
    margin: 0 0 25px;
}

.footer-info .title img {
    width: 58px;
}

.footer-info .address {
    margin-bottom: 1.6rem
}

@media (min-width: 48em) {
    .footer-info .address {
        margin-bottom: 0.8rem
    }
}

.footer-info p.access {
    text-align: center;
    margin: 0 auto !important;
    max-width: 80%
}

@media (max-width: 48em) {
    .footer-info p.access {
        max-width: 220px;
        margin: 1.0rem  auto 0.5rem !important;
    }
}

.footer-info .access a {
    font-family: "Raleway", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    display: block;
    border: 2px solid #fff;
    background-color: #fff;
    color: #E59904;
    height: 40px;
    line-height: 36px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px
}

.footer-info .access a:hover {
    background: none;
    color: #fff
}

.footer-info .access i {
    margin-right: 6px
}

.footer-info .snslink {
    margin: 0;
    padding: 0;
    list-style: none
}

.footer-info .snslink li {
    display: inline-block;
    margin: 0 6px 0 0
}

.footer-info .snslink a {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #E59904;
    color: #fff;
    text-align: center;
    line-height: 40px;
    font-size: 16px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.footer-info .snslink a:hover {
    background-color: #fff;
    color: #1a2952
}


.footer-link {
    position: relative;
    padding: 0;/*2.0rem 1.5rem*/
    background-color: #999
}

.footer-link::before {
    content: '';
    position: absolute;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background-color: #E59904
}

#map {
    width: 100%;/*820px*/
    /*background-position : 50% 50%;*/
    overflow: hidden !important;
}

.gmnoprint { display: none !important;}

.footer-sitemap {
    margin: 0;
    padding: 3.0rem 0.75rem;
    font-size: 0
}

@media (max-width: 990px) {
    #map {
    width:100%;
    height: 402px;
    
    overflow: hidden !important;
    }
}

@media (min-width: 48em) {
    .footer-sitemap {
        margin: 0;
        padding: 1.5rem 0.75rem
    }
}

.footer-sitemap > ul {
    position: relative;
    float: none;
    width: 100%;
    margin: 0;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    min-height: 1px;
    list-style: none;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .footer-sitemap > ul {
        display: inline-block;
        width: 50%;
        padding-bottom: 0.75rem;
        vertical-align: top;
        font-size: 0.8rem
    }
}

@media (min-width: 62em) {
    .footer-sitemap > ul {
        width: 33.333333%
    }
}

.footer-sitemap > ul > li ul {
    margin: 0;
    padding: 6px 0 14px;
    list-style: none;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .footer-sitemap > ul > li ul {
        font-size: 0.7rem
    }
}

.footer-sitemap > ul > li ul li {
    margin-bottom: 8px
}

.footer-sitemap > ul > li > a {
    margin-bottom: 10px
}

.footer-sitemap a {
    display: block;
    color: #fff
}

.footer-sitemap a:hover {
    color: rgba(255, 255, 255, 0.6)
}

.footer-otherlink {
    margin: 0 1.5rem;
    padding: 1.2rem 0;
    border-top: 1px #fff solid
}

@media (min-width: 48em) {
    .footer-otherlink {
        padding: 0.6rem 0
    }
}

.footer-otherlink .link {
    margin: 0 0 1.0rem;
    padding: 0;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .footer-otherlink .link {
        font-size: 0.7rem
    }
}

@media (min-width: 62em) {
    .footer-otherlink .link {
        text-align: left;
        margin-left: -0.4rem
    }
}

.footer-otherlink .link a {
    padding: 0.75rem;
    display: inline-block;
    color: #fff
}

.footer-otherlink .link a:hover {
    color: rgba(255, 255, 255, 0.6)
}

@media (min-width: 48em) {
    .footer-otherlink .link a {
        padding: 0.2rem 0.4rem
    }
}

.copy {
    margin: 25px auto 0;
    text-align: center;
    color: #fff;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .copy {
        margin: 10px auto 0;
        font-size: 0.6rem
    }
}

@media (min-width: 62em) {
    .copy {
        text-align: center
    }
}

@media (min-width: 62em) {
    #mainContents.lower-page {
        display: table;
        table-layout: fixed;
        width: 100%
    }
}

.col-main {
    position: relative;
    background-color: #fff
}

@media (min-width: 62em) {
    .col-main {
        display: table-cell;
        vertical-align: top
    }
}

.col-nav {
    position: relative;
    background-color: #596583;
}

.col-nav.sp {
    display: block
}

.col-nav.pc {
    display: none!important;
}

@media (min-width: 62em) {
    .col-nav {
        vertical-align: top;
        width: 280px
    }

    .col-nav.sp {
        display: none
    }

    .col-nav.pc {
        display: table-cell
    }
}

.lower-page-container {
    margin: 0 auto;
    padding: 2.0rem 1.5rem
}

@media (min-width: 62em) {
    .lower-page-container {
        max-width: 58.125em;
        padding: 3.0rem 1.5rem
    }
}



.page-header {
    position: relative
}

.page-header-container {
    position: relative;
    overflow: hidden;
    background: no-repeat center center;
    background-size: cover;
    min-height: 160px
}

@media (min-width: 48em) {
    .page-header-container {
        min-height: 240px
    }
}

.page-header-container.big {
    min-height: 400px
}

@media (min-width: 48em) {
    .page-header-container.big {
        min-height: 680px
    }
}

.page-header-bg {
    z-index: 10;
    background-color: #181e20;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -moz-opacity: 0.5;
    filter: alpha(opacity = 50);
    opacity: 0.5
}

.page-header-title {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    margin: auto;
    width: 84%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.page-header-title .title {
    margin: 0;
    text-align: center;
    letter-spacing: 4px;
    color: #fff;
    font-family: "Permanent Marker", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif;
    font-weight: normal;
    font-size: 3.6rem;
    line-height: 1.22222;
    -webkit-text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.2)
}

@media (min-width: 48em) {
    .page-header-title .title {
        font-size: 1.8rem
    }
}

.page-header-title .sub {
    font-family:  "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif;
    display: block;
    font-weight: 300;
    letter-spacing: 1px;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .page-header-title .sub {
        font-size: 0.8rem;
        line-height: 1.5
    }
}

.page-header-title .text {
    margin: 0;
    padding: 1.6rem 0;
    text-align: center;
    color: #fff;
    -webkit-text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.2)
}

.pankuzu {
    margin: auto;
    width: 100%;
    min-height: 48px;
    background-color: #f5f7f7;
    padding: 1.5rem;
    font-size: 1.4rem;
    line-height: 22px
}

@media (min-width: 48em) {
    .pankuzu {
        padding: 1.2rem 1.5rem;
        font-size: 0.7rem
    }
}

@media (min-width: 62em) {
    .pankuzu {
        padding: 12px 1.5rem
    }
}

.pankuzu > span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    color: #999;
    padding: 0 0 0 19px
}

.pankuzu > span:first-child {
    padding-left: 0
}

.pankuzu > span:first-child::before {
    display: none
}

.pankuzu > span::before {
    content: '\f105';
    font-family: FontAwesome;
    position: absolute;
    left: 7px;
    top: 0;
    font-size: 14px;
    line-height: 22px;
    color: #999
}

.pankuzu a {
    color: #2a2a2a
}

.pankuzu a:hover {
    color: rgba(42, 42, 42, 0.4)
}

.pankuzu .products-category {
    padding: 0
}

.page-search {
    background-color: #999ea9
}

.page-search-form {
    position: relative;
    z-index: 10;
    text-align: center;
    margin: 0 auto;
    max-width: 100%;
    min-height: 48px;
    font-size: 0
}

.page-search-ModuleInput {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    width: 85%
}

.page-search-ModuleInput input {
    background: none;
    border: none;
    padding: 15px;
    width: 100%;
    color: #fff;
    outline: 0
}

.page-search-ModuleInput input:placeholder-shown {
    color: #fff
}

.page-search-ModuleInput input::-webkit-input-placeholder {
    color: #fff
}

.page-search-ModuleInput input:-moz-placeholder {
    opacity: 1;
    color: #fff
}

.page-search-ModuleInput input::-moz-placeholder {
    opacity: 1;
    color: #fff
}

.page-search-ModuleInput input:-ms-input-placeholder {
    color: #fff
}

@media (min-width: 48em) {
    .page-search-ModuleInput input {
        padding: 15px 1.5rem
    }
}

@media (min-width: 62em) {
    .page-search-ModuleInput input {
        padding: 15px 0 15px 15px
    }
}

.page-search-ModuleButton {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    width: 15%
}

.page-search-ModuleButton button {
    background: none;
    border: none;
    color: #fff;
    padding: 16px;
    width: 100%;
    text-align: right
}

@media (min-width: 48em) {
    .page-search-ModuleButton button {
        padding: 16px
    }
}

.contact-common {
    margin: 0 auto;
    border: 2px solid #344778;
    max-width: 400px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px
}

@media (min-width: 62em) {
    .contact-common {
        max-width: 780px;
        text-align: center
    }
}

.contact-common .title {
    display: block;
    position: relative;
    margin: 0 0 28px 0;
    padding: 8px 0;
    background-color: #344778;
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.44444
}

@media (min-width: 48em) {
    .contact-common .title {
        font-size: 0.9rem
    }
}

@media (min-width: 62em) {
    .contact-common .title {
        margin: 0;
        padding: 10px
    }
}

.contact-common .tel {
    text-align: center
}

@media (min-width: 62em) {
    .contact-common .tel {
        display: inline-block;
        vertical-align: middle;
        padding: 20px 0;
        width: 40%
    }
}

.contact-common .tel-title {
    margin: 0;
    font-weight: bold;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-common .tel-title {
        font-size: 0.7rem
    }
}

.contact-common .tel-text {
    margin-bottom: 0.75rem;
    font-weight: bold;
    color: #f36861
}

@media (min-width: 62em) {
    .contact-common .tel-text {
        margin-bottom: 4px
    }
}

.contact-common .tel-number {
    margin: 0;
    font-size: 3.4rem;
    line-height: 1.23529;
    font-weight: 900;
    color: #f36861
}

@media (min-width: 48em) {
    .contact-common .tel-number {
        font-size: 1.9rem
    }
}

@media (min-width: 62em) {
    .contact-common .tel-number {
        display: inline-block
    }
}

.contact-common .tel-number i {
    margin-right: 6px;
    font-size: 2.8rem
}

@media (min-width: 48em) {
    .contact-common .tel-number i {
        font-size: 1.6rem
    }
}

.contact-common .tel-time {
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-common .tel-time {
        font-size: 0.7rem
    }
}

@media (min-width: 62em) {
    .contact-common .tel-time {
        margin: 0
    }
}

.contact-common .button {
    margin: 0;
    padding: 0 0 24px 0;
    list-style: none;
    text-align: center;
    color: #626a77
}

@media (min-width: 62em) {
    .contact-common .button {
        display: inline-block;
        vertical-align: middle;
        width: 45%;
        padding: 16px 0
    }
}

.contact-common .button a {
    display: block;
    margin: 0 auto;
    padding: 16px 0;
    max-width: 100%;
    border: 2px solid #f36861;
    color: #f36861;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .contact-common .button a {
        font-size: 0.8rem
    }
}

.contact-common .button a::before {
    background-color: #f36861
}

.contact-common .button a:hover {
    color: #fff
}

.contact-common .button a:hover::after {
    color: #fff
}

.contact-common .button i {
    margin-right: 6px;
    font-size: 14px
}

.main-visual {
    position: relative;
    overflow: hidden
}

.main-visual-img {
    margin: 0;
    padding: 0;
    list-style: none
}

.main-visual-img .slick-track li {
    position: relative;
    margin: 0;
    min-height: 380px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover
}

.main-visual-img .slick-track li::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background-color: rgba(18, 20, 25, 0.6)*/
}

@media (min-width: 48em) {
    .main-visual-img .slick-track li {
        min-height: 480px
    }
}

@media (min-width: 62em) {
    .main-visual-img .slick-track li {
        min-height: 680px
    }
}

.main-visual-text {
    z-index: 300;
    position: absolute;
    top: 50%;
    left: 32px;
    right: 32px;
    margin: auto;
    text-align: center;
    color: #fff;/* eee93a*/
    opacity: 0;
    top: 52%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-text-shadow: 0 1px 3px rgba(158, 11, 15, 0.8);
    -moz-text-shadow: 0 1px 3px rgba(158, 11, 15, 0.8);
    text-shadow: 0 1px 3px rgba(158, 11, 15, 0.8););
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out
}

.main-visual-text .title {
    margin: 0 0 0.8rem;
    font-weight: normal;
    font-family: "Permanent Marker", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif;
/*"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif; */
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    font-size: 2.8rem;
    line-height: 1.4
}

@media (min-width: 48em) {
    .main-visual-text .title {
        font-size: 2.6rem
    }
}

@media (min-width: 62em) {
    .main-visual-text .title {
        font-size: 3rem;
        letter-spacing: 0.15em;
        font-weight: bold;
    }
}

.main-visual-text .text {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .main-visual-text .text {
        font-size: 0.9rem;
        line-height: 1.66667
    }
}

.main-visual-text.visible {
    opacity: 1;
    top: 50%
}

.top-service {
    background-color: #9E0B0F
}

.top-service-title {
    position: relative;
    padding: 2.4rem;
    background-color: #fff;
    color: #333;
    text-align: center
}

.top-service-title::after {
    content: '';
    position: absolute;
    margin-left: -24px;
    bottom: -24px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 24px 24px 0 24px;
    border-color: #fff transparent transparent transparent
}

@media (min-width: 48em) {
    .top-service-title::after {
        margin-left: -36px;
        bottom: -36px;
        border-width: 36px 36px 0 36px
    }
}

.top-service-title .title {
    /*font-family: "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif;*/
    font-size: 2rem;
    line-height: 1.44444;
    font-weight: normal;
}

@media (min-width: 48em) {
    .top-service-title .title {
        font-size: 1.2rem
    }
}


.top-service-title p {
    text-align: center;
    margin: 0 0 2rem 0;
    font-size: 14px;
    font-family: "Lato", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    line-height: 1.44444;
    color: #333;
    
}

@media (min-width: 48em) {
.top-service-title p {
    font-size: 15px;
    }
}




.service-link .title {
    text-align: center;
    margin: 0 0 1rem 0;
    font-size: 2rem;
    line-height: 1.44444;
    color: #fff;
    font-weight: normal;
    padding: 0;
}

.service-link .title .light {
    font-weight: normal;
    display: block;
}

@media (min-width: 48em) {
    .service-link .title {
        font-size: 1.2rem
    }
}


.service-link p {
    text-align: center;
    margin: 0 0 2rem 0;
    font-size: 14px;
    font-family: "Lato", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    line-height: 1.44444;
    color: #fff;
    
}

@media (min-width: 48em) {
    .service-link p {
    font-size: 15px;
    }
}

.top-service-link {
    padding: 4rem 0.75rem 1.5rem 0.75rem !important
}

@media (min-width: 48em) {
    .top-service-link {
        padding: 2.8rem 0.75rem 1.5rem 0.75rem !important
    }
}

@media (min-width: 62em) {
    .top-service-link {
        padding: 3.2rem 2rem 1.5rem 2rem !important
    }
}

.service-link {
    padding: 1.5rem 0.75rem;
    font-size: 0;
    text-align: center
}

@media (min-width: 48em) {
    .service-link {
        padding: 1.5rem 0.75rem
    }
}

@media (min-width: 62em) {
    .service-link {
        padding: 1.5rem 2.0rem
    }
}

@media (min-width: 48em) {
    .service-link .list {
        display: inline-block;
        width: 48%;
        vertical-align: top;
        margin: 0 1% 2%;
        background: #fff;
        padding-bottom: 20px
    }
}

@media (min-width: 62em) {
    .service-link .list {
        width: 30%;
        margin: 0 1% 2%;
        background: #fff;
        padding-bottom: 30px
    }
}

.service-link .list > a {
    position: relative;
    display: block;
    background-color: #fff;
    margin: 0 0.75rem 2.0rem 0.75rem;
    padding-bottom: 1.5rem;
    color: #fff;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1)
}

@media (min-width: 48em) {
    .service-link .list > a {
        margin-bottom: 1.5rem
    }
}

.service-link .list{
    background: #fff;
    margin-bottom: 20px;
    padding-bottom: 20px
}

.service-link .list .img {
    position: relative;
    margin-bottom: 42px
}

.service-link .list .img .icon {
    position: absolute;
    bottom: -34px;
    left: 1.5rem;
    display: inline-block;
    width: 90px;
    height: 90px;
    background-color: #000;
    color: #fff;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.service-link .list .img .icon .text, .service-link .list .img .icon .num {
    display: inline-block;
    position: absolute;
    width: 80%;
    left: 10%;
    right: 10%;
    line-height: 1;
    font-weight: 400;
    font-style: italic;
    text-align: center
}

.service-link .list .img .icon .text {
    font-family: "Permanent Marker", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    bottom: 14px;
    font-size: 13px;
    font-style: 300;
}

.service-link .list .img .icon .num {
    top: 14px;
    padding-bottom: 4px;
    font-size: 36px;
    font-family: "Times New Roman";
    border-bottom: 2px solid #fff
}

.service-link .list .title {
    margin: 0;
    padding: 0.75rem 1.5rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    font-size: 2.4rem;
    line-height: 1.33333;
    text-align: left;
    color: #333
}

@media (min-width: 48em) {
    .service-link .list .title {
        font-size: 1.2rem
    }
}

.service-link .list .title .sub {
    display: block;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .service-link .list .title .sub {
        font-size: 0.8rem
    }
}

.service-link .list .outline {
    margin: 0;
    padding: 0 1.5rem 1.5rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.57143;
    text-align: left;
    color: #333
}

@media (min-width: 48em) {
    .service-link .list .outline {
        font-size: 0.7rem
    }
}

.service-link .list .point {
    margin: 0 1.5rem 1.5rem 1.5rem;
    padding: 0.75rem 1.5rem;
    list-style: none;
    border: 3px solid #000;
    background-color: #f1f1f1;
    font-size: 1.4rem;
    line-height: 1.57143;
    text-align: left
}

@media (min-width: 48em) {
    .service-link .list .point {
        font-size: 0.7rem
    }
}

.service-link .list .point li {
    position: relative;
    margin: 0;
    padding: 0.75rem 0 0.75rem 18px;
    font-weight: bold
}

.service-link .list .point li::before {
    content: '\f00c';
    font-family: FontAwesome;
    position: absolute;
    top: 0.75rem;
    left: 0;
    font-weight: normal
}

@media (min-width: 48em) {
    .service-link .list .point li {
        padding: 0.325rem 0 0.325rem 20px
    }

    .service-link .list .point li::before {
        top: 0.325rem
    }
}

.service-link .list .button {
    margin: 0
}

.service-link .list .button span {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

.service-link .list.service-03 .icon {
    background-color: #faa701
}

.service-link .list.service-03 .title .sub {
    color: #faa701
}

.service-link .list.service-03 .point {
    border-color: #efe1c4;
    background-color: #fff5e0;
    color: #faa701
}

.service-link .list.service-03 .base-button {
    border-color: #faa701;
     color: #faa701;
    background: none
}

.service-link .list.service-03 .base-button:hover {
    color: #fff;
    background: #faa701
}

.service-link .list.service-03 .base-button:hover .arrow {
    fill: #faa701
}

.service-link .list.service-02 .icon {
    background-color: #56b0bb
}

.service-link .list.service-02 .title .sub {
    color: #56b0bb
}

.service-link .list.service-02 .point {
    border-color: #b4d9dc;
    background-color: #edfeff;
    color: #56b0bb
}

.service-link .list.service-02 .base-button {
    border-color: #56b0bb;
    background: #56b0bb
}

.service-link .list.service-02 .base-button:hover {
    color: #56b0bb;
    background: none
}

.service-link .list.service-02 .base-button:hover .arrow {
    fill: #56b0bb
}

.service-link .list.service-01 .icon {
    background-color: #851E2A
}

.service-link .list.service-01 .title .sub {
    color: #E59904
}

.service-link .list.service-01 .point {
    border-color: #b7dfbc;
    background-color: #e0ffe4;
    color: #1e9e49
}

.service-link .list.service-01 .base-button {
    border-color: #A5854A;
     color: #A5854A;
    background: none
}

.service-link .list.service-01 .base-button:hover {
    color: #fff;
    background: #A5854A
}

.service-link .list.service-01 .base-button:hover .arrow {
    fill: #A5854A
}








.top-slide {
    background-color: #E59904;
    padding: 1rem 0;
    /*border-top: 5px solid #A5854A;
    border-bottom: 5px solid #A5854A;*/
}

.top-slide-title {
    position: relative;
    padding: 2.4rem;
    background-color: #fff;
    color: #333;
    text-align: center
}

/*.top-service-title::after {
    content: '';
    position: absolute;
    margin-left: -24px;
    bottom: -24px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 24px 24px 0 24px;
    border-color: #fff transparent transparent transparent
}
*/
@media (min-width: 48em) {
    .top-slide-title::after {
        margin-left: -36px;
        bottom: -36px;
        border-width: 36px 36px 0 36px
    }
}

.top-slide-title .title {
    font-size: 2rem;
    line-height: 1.4
}

.slsl {
    width: 100%;
    /*margin:2.4rem 0;*/
}


@media screen and (max-width: 768px) {
slick-slide .slsl img{
    height: 300px !important;
    width: auto !important;
    
    }

}


@media (min-width: 48em) {
    .top-slide-title .title {
        font-size: 1.2rem
    }
}






.top-catalog {
    background-color: #c6c9d3
}

.top-catalog-title {
    position: relative;
    padding: 4.0rem 1.5rem;
    background-image: url(img/common/bg_t_catalog.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.top-catalog-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(24, 30, 32, 0.5)
}

@media (min-width: 48em) {
    .top-catalog-title {
        padding: 5.2rem 1.5rem 4.0rem
    }
}

.top-catalog-title .title {
    position: relative;
    z-index: 10;
    margin: 0 0 2.4rem 0;
    text-align: center;
    font-weight: normal;
    font-size: 3.6rem;
    line-height: 1.22222;
    color: #fff;
    -webkit-text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.2)
}

@media (min-width: 48em) {
    .top-catalog-title .title {
        font-size: 1.8rem;
        margin-bottom: 2.4rem
    }
}

.top-catalog-title .subtitle {
    display: block;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .top-catalog-title .subtitle {
        font-size: 0.8rem
    }
}

.top-catalog-title .search-form {
    position: relative;
    z-index: 10;
    text-align: center;
    margin: 0 auto;
    max-width: 80%;
    font-size: 0;
    border-bottom: 2px solid #fff
}

@media (min-width: 48em) {
    .top-catalog-title .search-form {
        max-width: 570px
    }
}

.top-catalog-title .search-ModuleInput {
    display: inline-block;
    font-size: 14px;
    width: 90%
}

.top-catalog-title .search-ModuleInput input {
    background: none;
    border: none;
    padding: 8px;
    width: 100%;
    color: #fff;
    outline: 0
}

.top-catalog-title .search-ModuleInput input:placeholder-shown {
    color: #fff
}

.top-catalog-title .search-ModuleInput input::-webkit-input-placeholder {
    color: #fff
}

.top-catalog-title .search-ModuleInput input:-moz-placeholder {
    opacity: 1;
    color: #fff
}

.top-catalog-title .search-ModuleInput input::-moz-placeholder {
    opacity: 1;
    color: #fff
}

.top-catalog-title .search-ModuleInput input:-ms-input-placeholder {
    color: #fff
}

.top-catalog-title .search-ModuleButton {
    display: inline-block;
    font-size: 14px;
    width: 10%
}

.top-catalog-title .search-ModuleButton button {
    background: none;
    border: none;
    color: #fff;
    padding: 8px;
    width: 100%;
    text-align: right
}

.catalog-pickup a, .catalog-list a {
    display: block;
    color: #fff;
    background-color: #fff;
    margin: 0 0 1px 0
}

.catalog-pickup .col, .catalog-list .col {
    position: relative;
    width: 100%
}

@media (min-width: 62em) {
    .catalog-pickup .col, .catalog-list .col {
        width: 45%;
        float: left
    }
}

.catalog-pickup .col.text, .catalog-list .col.text {
    padding: 2.0rem
}

@media (min-width: 62em) {
    .catalog-pickup .col.text, .catalog-list .col.text {
        width: 55%;
        min-height: 460px;
        overflow: hidden;
        padding: 0
    }

    .catalog-pickup .col.text .box, .catalog-list .col.text .box {
        position: absolute;
        top: 50%;
        left: 10%;
        right: 10%;
        margin: auto;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

.catalog-pickup .img, .catalog-list .img {
    position: relative;
    min-height: 320px;
    overflow: hidden
}

@media (min-width: 48em) {
    .catalog-pickup .img, .catalog-list .img {
        min-height: 640px
    }
}

@media (min-width: 62em) {
    .catalog-pickup .img, .catalog-list .img {
        min-height: 480px
    }
}

.catalog-pickup .img img, .catalog-list .img img {
    min-width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    margin: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

.catalog-pickup .icon, .catalog-list .icon {
    z-index: 10;
    position: absolute;
    top: 16px;
    left: 16px;
    border: 2px solid #d63b3f;
    width: 90px;
    height: 90px;
    color: #d63b3f;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.5;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

@media (min-width: 48em) {
    .catalog-pickup .icon, .catalog-list .icon {
        top: 30px;
        left: 30px;
        font-size: 0.8rem
    }
}

.catalog-pickup .icon span, .catalog-list .icon span {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

.catalog-pickup .category, .catalog-list .category {
    margin: 0 0 0.6rem;
    font-size: 1.2rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .catalog-pickup .category, .catalog-list .category {
        font-size: 0.6rem
    }
}

.catalog-pickup .category span, .catalog-list .category span {
    margin-right: 4px;
    padding: 0 6px;
    display: inline-block;
    border: 1px solid #000;
    color: #333
}

.catalog-pickup .category span.functional, .catalog-list .category span.functional {
    color: #f36861;
    border-color: #f36861
}

.catalog-pickup .category span.super, .catalog-list .category span.super {
    color: #36b1c0;
    border-color: #36b1c0
}

.catalog-pickup .title, .catalog-list .title {
    padding-bottom: 0.2rem;
    margin-bottom: 1.0rem;
    border-bottom: 1px dotted #c6c9d3;
    color: #333;
    font-weight: bold
}

@media (min-width: 48em) {
    .catalog-pickup .title, .catalog-list .title {
        margin-bottom: 0.4rem;
        border: none
    }
}

.catalog-pickup .title-main, .catalog-list .title-main {
    margin-bottom: 0.4rem;
    font-size: 2.8rem;
    line-height: 1.28571
}

@media (min-width: 48em) {
    .catalog-pickup .title-main, .catalog-list .title-main {
        font-size: 1.4rem
    }
}

.catalog-pickup .title-sub, .catalog-list .title-sub {
    display: table;
    float: left;
    margin: 0 1.0rem 0 0;
    padding: 0.6rem 0 0;
    font-size: 1.8rem;
    line-height: 1.44444;
    color: #333
}

.catalog-pickup .title-sub-list, .catalog-list .title-sub-list {
    margin-bottom: 1.2rem
}

@media (min-width: 48em) {
    .catalog-pickup .title-sub-list, .catalog-list .title-sub-list {
        margin-bottom: 0.6rem
    }
}

@media (min-width: 48em) {
    .catalog-pickup .title-sub, .catalog-list .title-sub {
        padding: 0.4rem 0 0;
        font-size: 0.9rem
    }
}

.catalog-pickup .title-sub span, .catalog-list .title-sub span {
    display: block;
    vertical-align: middle;
    margin-left: 100px;
    padding: 0
}

.catalog-pickup .title-sub span.m, .catalog-list .title-sub span.m {
    float: left;
    margin: 4px 0 0 0;
    padding: 0;
    width: 90px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
    border: 1px solid #333;
    background-color: #333;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

.catalog-pickup .outline, .catalog-list .outline {
    color: #626a77;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .catalog-pickup .outline, .catalog-list .outline {
        font-size: 0.7rem
    }
}

.catalog-pickup .button, .catalog-list .button {
    margin: 0;
    padding: 0.8rem 0 0
}

.catalog-pickup .button span, .catalog-list .button span {
    margin: 0 auto;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

@media (min-width: 62em) {
    .catalog-pickup .button span, .catalog-list .button span {
        margin: 0
    }
}

.catalog-pickup .button .base-button, .catalog-list .button .base-button {
    max-width: 200px
}

.catalog-list {
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style: none
}

.catalog-list li {
    margin: 0
}

@media (min-width: 48em) {
    .catalog-list li {
        float: left;
        width: 50%
    }
}

@media (min-width: 62em) {
    .catalog-list li {
        width: 25%
    }
}

.catalog-list a {
    position: relative;
    display: block;
    background-color: #fff
}

@media (min-width: 48em) {
    .catalog-list a {
        margin: 0 1px 1px 0
    }
}

.catalog-list a:hover .button {
    padding-right: 0
}

.catalog-list .img {
    min-height: 280px
}

@media (min-width: 30em) {
    .catalog-list .img {
        min-height: 320px
    }
}

@media (min-width: 48em) {
    .catalog-list .img {
        min-height: 320px
    }
}

@media (min-width: 62em) {
    .catalog-list .img {
        min-height: 240px
    }
}

@media (min-width: 76.875em) {
    .catalog-list .img {
        min-height: 260px
    }
}

.catalog-list .img img {
    min-width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    margin: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

.catalog-list .text {
    padding: 2.0rem 2.0rem 4.0rem 2.0rem
}

@media (min-width: 48em) {
    .catalog-list .text {
        padding: 1.0rem 1.0rem 2.0rem 1.0rem
    }
}

.catalog-list .title {
    padding-bottom: 0.2rem;
    margin-bottom: 1.0rem;
    border-bottom: 1px dotted #c6c9d3
}

.catalog-list .title-main {
    font-size: 1.8rem;
    line-height: 1.44444
}

@media (min-width: 48em) {
    .catalog-list .title-main {
        font-size: 0.9rem
    }
}

.catalog-list .title-sub {
    display: block;
    width: 100%;
    vertical-align: top;
    margin: 0 1.0rem 0 0;
    padding: 0.6rem 0 0;
    font-size: 1.4rem;
    line-height: 1.57143;
    color: #333
}

@media (min-width: 48em) {
    .catalog-list .title-sub {
        margin: 0 0.5rem 0 0;
        padding: 0.4rem 0 0;
        font-size: 0.7rem
    }
}

.catalog-list .title-sub span.m {
    margin: 0
}

.catalog-list .button {
    position: absolute;
    bottom: 1.6rem;
    right: 8px;
    padding: 0.2rem 8px 0;
    text-align: right;
    color: #344778;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

@media (min-width: 48em) {
    .catalog-list .button {
        bottom: 0.8rem
    }
}

.catalog-list .button i {
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    font-style: italic;
    font-weight: 700;
    letter-spacing: 0.12em;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .catalog-list .button i {
        font-size: 0.8rem
    }
}

.catalog-list .button .arrow {
    display: inline-block;
    vertical-align: middle;
    width: 22px;
    height: 8px;
    fill: #344778
}

.catalog-search {
    background-color: #344778
}

.catalog-search .button {
    margin: 0;
    text-align: center;
    font-size: 2rem;
    line-height: 1.4
}

@media (min-width: 48em) {
    .catalog-search .button {
        font-size: 1.2rem;
        line-height: 1.33333
    }
}

.catalog-search .button a {
    padding: 2.4rem 1.5rem;
    display: block;
    color: #fff;
    background-color: #344778
}

@media (min-width: 62em) {
    .catalog-search .button a:hover {
        background-color: #293a68
    }
}

.catalog-search .button span {
    position: relative;
    display: inline-block;
    padding-left: 52px;
    text-align: left
}

.catalog-search .button span::before {
    content: '＋';
    color: #fff;
    position: absolute;
    top: 1px;
    left: 5px;
    font-size: 30px;
    line-height: 1
}

.catalog-search .button span::after {
    content: '';
    border: 2px solid #fff;
    width: 40px;
    height: 40px;
    position: absolute;
    top: -3px;
    left: 0
}

.catalog-search .button.open a {
    background-color: #293a68
}

.catalog-search .button.open span::before {
    content: 'ー'
}

.catalog-search .search-container {
    padding: 3.0rem 1.5rem
}

@media (min-width: 48em) {
    .catalog-search .search-container {
        padding: 2.0rem 1.5rem
    }
}

@media (min-width: 62em) {
    .catalog-search .search-container {
        max-width: 62em;
        margin: 0 auto
    }
}

.catalog-search .search-pickup {
    padding: 0 0 1.0rem
}

.catalog-search .search-list {
    position: relative
}

@media (min-width: 48em) {
    .catalog-search .search-list {
        margin-top: 48px
    }
}

.catalog-search .search-list-button {
    position: relative;
    margin: 0;
    display: block;
    color: #fff;
    text-align: center;
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 1.44444
}

.catalog-search .search-list-button span {
    display: block;
    background-color: #aaafbd;
    margin: 0 auto;
    padding: 8px;
    cursor: pointer
}

@media (min-width: 48em) {
    .catalog-search .search-list-button {
        position: absolute;
        top: -48px;
        width: 50%;
        font-size: 0.9rem
    }

    .catalog-search .search-list-button.tab01 {
        left: 10px
    }

    .catalog-search .search-list-button.tab02 {
        left: auto;
        right: 10px
    }

    .catalog-search .search-list-button span {
        width: 90%;
        padding: 0;
        min-height: 48px;
        line-height: 48px;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out
    }

    .catalog-search .search-list-button span:hover {
        background-color: #293a68
    }

    .catalog-search .search-list-button.select span {
        background-color: #293a68
    }

    .catalog-search .search-list-button.select span::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -8px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 8px 8px 0 8px;
        border-color: #293a68 transparent transparent transparent
    }
}

.catalog-search .search-list-link {
    margin: 0 0 2.0rem;
    padding: 2.0rem 1.5rem;
    list-style: none;
    font-size: 0;
    background-color: #f5f7f7
}

@media (min-width: 48em) {
    .catalog-search .search-list-link {
        margin: 0 0 1.5rem;
        padding: 1.5rem 1.5rem 1.2rem 1.5rem
    }
}

.catalog-search .search-list-link li {
    margin: 0;
    width: 50%;
    display: inline-block;
    vertical-align: top;
    font-size: 1.4rem;
    line-height: 1.57143;
    font-feature-settings: "palt";
    letter-spacing: 0.06em;
    text-align: center
}

@media (min-width: 48em) {
    .catalog-search .search-list-link li {
        font-size: 0.7rem;
        width: 33.3333333%
    }
}

@media (min-width: 62em) {
    .catalog-search .search-list-link li {
        width: 25%
    }
}

.catalog-search .search-list-link a {
    display: block;
    margin: 0 4px 8px 4px;
    padding: 8px 4px;
    background-color: #fff;
    border: 2px solid #fff;
    color: #2a2a2a;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1)
}

.catalog-search .search-list-link a:hover {
    background-color: #344778;
    border-color: #344778;
    color: #fff
}


.t-title {
    font-family: "Permanent Marker", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    margin: 0 1.5rem 1.5rem 1.5rem;
    text-align: center;
    font-weight: normal;
    font-size: 2.7rem;
    line-height: 1.22222;
    color: #A5854A
}

@media (min-width: 48em) {
    .t-title {
        font-size: 1.8rem
    }
}

.t-title .subtitle {
    display: block;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #A5854A
}

@media (min-width: 48em) {
    .t-title .subtitle {
        font-size: 0.7rem
    }
}




.top-news {
    padding: 2.0rem 0 1.6rem 0
}

.top-news-title {
    font-family: "Permanent Marker", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    margin: 0 1.5rem 1.5rem 1.5rem;
    text-align: center;
    font-weight: normal;
    font-size: 2.7rem;
    line-height: 1.22222;
    color: #A5854A
}

@media (min-width: 48em) {
    .top-news-title {
        font-size: 1.8rem
    }
}

.top-news-title .subtitle {
    display: block;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #A5854A
}

@media (min-width: 48em) {
    .top-news-title .subtitle {
        font-size: 0.7rem
    }
}


.top-news-button {
    margin: 0 0 1.6rem
}

.top-news-button .base-button {
    max-width: 200px
}

.top-news-banner {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
    text-align: center
}

.top-news-banner li {
    margin-bottom: 1.2rem;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .top-news-banner li {
        font-size: 0.7rem;
        display: inline-block;
        width: 50%;
        padding: 0 0.5rem
    }
}

@media (min-width: 62em) {
    .top-news-banner li {
        float: none;
        width: 100%;
        padding: 0
    }
}

.top-news-banner a {
    display: block;
    color: #626a77
}

.top-news-banner a:hover {
    opacity: 0.60
}

.top-news-banner .img img {
    min-width: 100%
}

.top-news-banner .img .cap {
    display: block;
    padding: 0.4rem 0 0;
    color: #626a77;
    text-align: left
}

.page-service-link {
    background-color: #edeff1
}

.page-service-link.service-link {
    padding: 3.0rem 1.5rem 1.5rem 1.5rem
}

@media (min-width: 48em) {
    .page-service-link.service-link {
        padding: 2.0rem 0.75rem 0.75rem 0.75rem
    }
}

@media (min-width: 62em) {
    .page-service-link.service-link {
        padding: 2.0rem 1.0rem 1.0rem 1.0rem
    }
}

@media (min-width: 48em) {
    .page-service-link.service-link .list {
        display: inline-block;
        width: 50%;
        vertical-align: top
    }
}

@media (min-width: 62em) {
    .page-service-link.service-link .list {
        width: 50%
    }
}

@media (min-width: 76.875em) {
    .page-service-link.service-link .list {
        width: 33.333333333333333%
    }
}

.service-header {
    position: relative;
    margin-bottom: 2.8rem;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 360px
}

.service-header .icon {
    position: absolute;
    bottom: 50%;
    left: 50%;
    display: inline-block;
    margin: 0 0 -15px -60px;
    width: 120px;
    height: 120px;
    background-color: #000;
    color: #fff;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}






.service-header .icon .text, .service-header .icon .num {
    display: inline-block;
    position: absolute;
    width: 60%;
    left: 20%;
    right: 20%;
    line-height: 1;
    font-weight: 400;
    font-style: italic;
    text-align: center
}

.service-header .icon .text {
    font-family: "Raleway", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
    bottom: 20px;
    font-size: 16px;
    font-style: normal;
}

.service-header .icon .num {
    top: 16px;
    padding-bottom: 6px;
    font-size: 48px;
    font-family: "Times New Roman";
    border-bottom: 2px solid #fff
}

.service-header .title {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 0.75rem 1.5rem;
    background-color: #000;
    font-weight: normal;
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
    font-size: 2.2rem;
    line-height: 1.33333;
    text-align: left;
    color: #fff
}

@media (min-width: 48em) {
    .service-header .title {
        font-size: 1.4rem;
        line-height: 1.28571
    }
}

.service-header .title .sub {
    display: block;
    margin-bottom: 0;
    font-size: 1.3rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .service-header .title .sub {
        font-size: 0.7rem
    }
}

.service-header .title .note {
    display: block;
    margin-top: 4px;
    font-size: 1.4rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .service-header .title .note {
        font-size: 0.8rem
    }
}




.service-header.service03 {
    background-image: url(img/service_bg03.jpg)
}

.service-header.service03 .icon, .service-header.service03 .title {
    background-color: rgba(250, 167, 1, 0.8)
}

.service-header.service02 {
    background-image: url(img/service_bg02.jpg)
}

.service-header.service02 .icon, .service-header.service02 .title {
    background-color: rgba(86, 176, 187, 0.8)
}

.service-header.service01 {
    background-image: url(img/service_bg01.jpg)
}

.service-header.service01 .icon, .service-header.service01 .title {
    background-color: rgba(30, 158, 73, 0.8)
}

.service-header.service06 {
    background-image: url(img/service_bg06.jpg)
}

.service-header.service06 .icon, .service-header.service06 .title {
    background-color: rgba(250, 167, 1, 0.8)
}

.service-header.service05 {
    background-image: url(img/service_bg05.jpg)
}

.service-header.service05 .icon, .service-header.service05 .title {
    background-color: rgba(86, 176, 187, 0.8)
}

.service-header.service04 {
    background-image: url(img/service_bg04.jpg)
}

.service-header.service04 .icon, .service-header.service04 .title {
    background-color: rgba(30, 158, 73, 0.8)
}






.service01-matome {
    border: 3px solid #faa701;
    margin: 0 2.0rem 2.0rem 2.0rem;
    padding: 1.5rem 1.5rem 0.8rem 1.5rem;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px
}

.service01-matome .title {
    font-size: 1.8rem;
    line-height: 1.44444;
    color: #faa701;
    text-align: center
}

@media (min-width: 48em) {
    .service01-matome .title {
        font-size: 0.9rem
    }
}

.service02-point {
    margin: 0;
    padding: 4px;
    list-style: none;
    font-size: 0;
    border: 3px solid #56b0bb;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px
}

@media (min-width: 48em) {
    .service02-point {
        margin: 0 auto;
        width: 90%
    }
}

.service02-point li {
    margin: 0
}

.service02-point li:nth-last-child( - n + 1) div {
    margin-bottom: 0
}

.service02-point li div {
    position: relative;
    margin: 0 0 4px 0;
    padding: 1.5rem;
    background-color: #56b0bb;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #fff;
    font-weight: bold;
    min-height: 70px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

@media (min-width: 48em) {
    .service02-point li div {
        font-size: 0.8rem;
        padding: 0.75rem
    }
}

.service02-point li .icon {
    float: left;
    display: block;
    margin: 0 8px 0 0;
    width: 40px;
    height: 40px;
    border: 4px solid #fff;
    text-align: center;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.service02-point li .icon i {
    line-height: 32px;
    font-size: 14px
}

.service02-point li .text {
    padding: 8px 0;
    display: block
}

.service02-episode {
    padding: 2.0rem 3.0rem 3.0rem 3.0rem;
    margin: 0 auto 2.4rem auto;
    border-top: 4px solid #56b0bb;
    background-image: url(img/common/bg_service.png)
}

@media (min-width: 48em) {
    .service02-episode {
        width: 90%
    }
}

.service02-episode .title {
    padding: 1.0rem;
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #56b0bb;
    text-align: center;
    font-family: Roboto;
    background-color: #fff;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
}

@media (min-width: 48em) {
    .service02-episode .title {
        font-size: 1.2rem
    }
}

.service02-episode .title .sub {
    display: block;
    padding-top: 0.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #56b0bb;
    font-family: "Lato", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif
}

@media (min-width: 48em) {
    .service02-episode .title .sub {
        font-size: 0.8rem
    }
}

.service02-episode strong {
    color: #333
}

.service03-point {
    border: 3px solid #1e9e49;
    padding: 1.5rem;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px
}

@media (min-width: 62em) {
    .service03-point {
        margin: 0 1.0rem
    }
}

.service03-point .title {
    text-align: center;
    margin: 0 0 1.6rem 0;
    font-size: 1.8rem;
    line-height: 1.44444;
    color: #1e9e49
}

@media (min-width: 48em) {
    .service03-point .title {
        font-size: 0.9rem
    }
}

.service03-point ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
    text-align: center
}

.service03-point ul li {
    margin: 0
}

@media (min-width: 48em) {
    .service03-point ul li {
        display: inline-block;
        vertical-align: top;
        width: 33.33333333%
    }
}

.service03-point ul li div {
    position: relative;
    margin: 0 2px 4px 2px;
    padding: 1.5rem 0.8rem;
    background-color: #1e9e49;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #fff;
    font-weight: bold;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

@media (min-width: 48em) {
    .service03-point ul li div {
        font-size: 0.8rem;
        min-height: 160px
    }
}

.service03-point ul li .icon {
    display: block;
    margin: 0 auto 12px auto;
    width: 40px;
    height: 40px;
    border: 4px solid #fff;
    text-align: center;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.service03-point ul li .icon i {
    line-height: 32px;
    font-size: 14px
}

.service03-section {
    padding: 2.0rem 1.5rem;
    margin: 0 auto 2.4rem auto;
    border-top: 4px solid #1e9e49;
    background-image: url(img/common/bg_service.png)
}

@media (min-width: 48em) {
    .service03-section {
        width: 100%;
        padding: 2.0rem
    }
}

.service03-section .title {
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #1e9e49;
    text-align: center
}

@media (min-width: 48em) {
    .service03-section .title {
        font-size: 1.2rem
    }
}

.service03-section .title .sub {
    display: block;
    padding-top: 0.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #1e9e49
}

@media (min-width: 48em) {
    .service03-section .title .sub {
        font-size: 0.8rem
    }
}

.service03-section .flow {
    position: relative;
    margin-bottom: 40px;
    background-color: #fff;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
}

.service03-section .flow::after {
    content: '\f0dd';
    font-family: FontAwesome;
    font-size: 30px;
    width: 40px;
    display: block;
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
    color: #1e9e49;
    text-align: center
}

.service03-section .flow-title {
    margin: 0;
    padding: 10px 1.5rem;
    background-color: #1e9e49;
    color: #fff;
    -webkit-border-top-left-radius: 6px;
    -webkit-border-top-right-radius: 6px;
    -moz-border-top-left-radius: 6px;
    -moz-border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px
}

.service03-section .flow-title .num {
    float: left;
    display: block;
    width: 36px;
    height: 36px;
    background-color: #fff;
    color: #1e9e49;
    font-size: 18px;
    line-height: 36px;
    text-align: center;
    font-family: Roboto;
    font-style: italic;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.service03-section .flow-title .title {
    margin: 5px 0 0 46px;
    display: block;
    font-size: 1.8rem;
    line-height: 1.44444;
    color: #fff;
    text-align: left
}

@media (min-width: 48em) {
    .service03-section .flow-title .title {
        font-size: 0.9rem
    }
}

.service03-section .flow-text {
    padding: 1.5rem 1.5rem 0.80rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .service03-section .flow-text {
        font-size: 0.7rem
    }
}

.service03-section .flow-button {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    font-size: 0
}

.service03-section .flow-button li {
    margin: 0;
    vertical-align: top
}

@media (min-width: 76.875em) {
    .service03-section .flow-button li {
        display: inline-block;
        width: 50%
    }
}

.service03-section .flow-button li a {
    display: block;
    padding: 12px 16px;
    margin: 0 0.8rem 0.8rem 0.8rem;
    background-color: #f36861;
    border: 2px solid #f36861;
    font-size: 1.4rem;
    line-height: 1.57143;
    color: #fff;
    text-align: center;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px
}

@media (min-width: 48em) {
    .service03-section .flow-button li a {
        margin: 0 0.4rem 0.4rem 0.4rem;
        font-size: 0.7rem
    }
}

.service03-section .flow-button li a:hover {
    color: #f36861;
    background: none
}

.service03-section .flow-button li a.service01 {
    padding: 12px 40px 12px 16px;
    background-color: #faa701;
    border: 2px solid #faa701
}

@media (min-width: 48em) {
    .service03-section .flow-button li a.service01 {
        padding: 12px 16px
    }
}

.service03-section .flow-button li a.service01:hover {
    color: #faa701;
    background: none
}

.service03-section .flow-button li a.service01:hover .arrow {
    fill: #faa701
}

.service03-section .flow-button li a.service02 {
    padding: 12px 40px 12px 16px;
    background-color: #56b0bb;
    border: 2px solid #56b0bb
}

@media (min-width: 48em) {
    .service03-section .flow-button li a.service02 {
        padding: 12px 16px
    }
}

.service03-section .flow-button li a.service02:hover {
    color: #56b0bb;
    background: none
}

.service03-section .flow-button li a.service02:hover .arrow {
    fill: #56b0bb
}

.service03-section .flow-button li i {
    margin-right: 8px
}

.service03-section .flow-button li .arrow {
    position: absolute;
    margin-top: -2px;
    top: 50%;
    right: 16px;
    width: 22px;
    height: 8px;
    fill: #fff;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

.service03-section .flow-img {
    display: block;
    margin-bottom: 1.0rem;
    text-align: center
}

@media (min-width: 48em) {
    .service03-section .flow-img {
        float: right
    }
}

.service03-section .flow-img img {
    width: 170px
}

@media (min-width: 48em) {
    .service03-section .flow-img-text {
        margin-right: 190px
    }
}

.service03-section .flow-pointlist {
    margin: 0;
    padding: 0;
    list-style: none
}

.service03-section .flow-pointlist li {
    margin-bottom: 0.6rem
}

.service03-section .flow-pointlist li::before {
    content: '\f0a4';
    font-family: FontAwesome;
    margin-right: 6px
}

.service03-section .flow-point {
    padding: 0.8rem 1.2rem;
    border: 3px solid #f36861;
    color: #f36861;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .service03-section .flow-point {
        font-size: 0.8rem;
        margin: 0 0.80rem 0.80rem 0.80rem
    }
}

.service03-section .flow-last {
    padding: 0.8rem 1.6rem;
    background-color: #f36861;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #fff;
    text-align: center;
    font-weight: bold;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
}

@media (min-width: 48em) {
    .service03-section .flow-last {
        font-size: 1.2rem
    }
}

.service03-section .table {
    white-space: nowrap;
    overflow: auto
}

@media (min-width: 48em) {
    .service03-section .table {
        white-space: normal;
        overflow: visible
    }
}

.service03-section .table th, .service03-section .table td {
    padding: 16px;
    background-color: #fff;
    border: 2px solid #f6f5f5;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .service03-section .table th, .service03-section .table td {
        font-size: 0.7rem
    }
}

.service03-section .table th {
    background-color: #fafafa;
    color: #333
}

.service03-section .table .m-01, .service03-section .table .m-02,
.service03-section .table .m-03 {
    width: 25%;
    background-color: #1e9e49;
    color: #fff
}

.service03-section .table .m-02 {
    width: 45%
}

.service03-section .table .m-03 {
    width: 30%
}

.lower-page-container .catalog-search {
    background: none
}

.catalog-category-title {
    margin: 0;
    padding: 3.0rem;
    text-align: center
}

.catalog-category-title .title {
    margin: 0;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #333
}

@media (min-width: 48em) {
    .catalog-category-title .title {
        font-size: 1.2rem
    }
}

.catalog-category-title p {
    margin: 0;
    padding: 0.75rem 0;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .catalog-category-title p {
        font-size: 0.8rem
    }
}

.catalog-category .back-button {
    margin: 0;
    padding: 2.0rem 1.5rem
}

.catalog-category-list {
    background-color: #c6c9d3
}

.catalog-category-list-title {
    margin: 0;
    padding: 1.5rem;
    background-color: #344778;
    color: #fff;
    font-size: 2rem;
    line-height: 1.4;
    color: #fff
}

@media (min-width: 48em) {
    .catalog-category-list-title {
        padding: 0.75rem 1.0rem;
        font-size: 1rem
    }
}

.catalog-category-list .catalog-list li {
    margin: 0
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list li {
        float: left;
        width: 50%
    }
}

@media (min-width: 62em) {
    .catalog-category-list .catalog-list li {
        width: 33.3333333%
    }
}

@media (min-width: 76.875em) {
    .catalog-category-list .catalog-list li {
        width: 25%
    }
}

.catalog-category-list .catalog-list a {
    margin: 0 1px 1px 0
}

.catalog-category-list .catalog-list .img {
    min-height: 280px
}

@media (min-width: 30em) {
    .catalog-category-list .catalog-list .img {
        min-height: 320px
    }
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list .img {
        min-height: 320px
    }
}

@media (min-width: 62em) {
    .catalog-category-list .catalog-list .img {
        min-height: 230px
    }
}

@media (min-width: 76.875em) {
    .catalog-category-list .catalog-list .img {
        min-height: 238px
    }
}

.catalog-category-list .catalog-list .category {
    margin-bottom: 0.8rem
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list .category {
        margin-bottom: 0.4rem
    }
}

.catalog-category-list .catalog-list .text {
    padding: 1.5rem 1.5rem 4.0rem 1.5rem
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list .text {
        padding: 1.0rem 1.0rem 2.0rem 1.0rem
    }
}

.catalog-category-list .catalog-list .title {
    padding-bottom: 0
}

.catalog-category-list .catalog-list .title-main {
    font-size: 1.8rem;
    line-height: 1.44444
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list .title-main {
        font-size: 0.9rem
    }
}

.catalog-category-list .catalog-list .outline {
    display: none;
    font-size: 1.2rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .catalog-category-list .catalog-list .outline {
        display: block;
        font-size: 0.6rem
    }
}

.catalog-page-header {
    margin-bottom: 1.5rem;
    padding: 0 1.5rem 1.5rem 1.5rem;
    border-bottom: 2px solid #c6c9d3
}

@media (min-width: 48em) {
    .catalog-page-header {
        margin-bottom: 1.2rem;
        padding: 0 1.0rem 0.8rem 1.0rem
    }
}

.catalog-page-header .category {
    margin: 0 0 1.2rem;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .catalog-page-header .category {
        float: left;
        margin-bottom: 0.6rem;
        font-size: 0.7rem
    }
}

@media (min-width: 62em) {
    .catalog-page-header .category {
        margin: 0;
        padding: 9px 0
    }
}

.catalog-page-header .category span {
    margin-right: 8px;
    padding: 4px 8px;
    display: inline-block;
    border: 1px solid #000;
    color: #333;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px
}

.catalog-page-header .category span.functional {
    color: #f36861;
    border-color: #f36861
}

.catalog-page-header .category span.super {
    color: #36b1c0;
    border-color: #36b1c0
}

.catalog-page-header .mark {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0
}

.catalog-page-header .mark li {
    margin: 0 3px;
    display: inline-block
}

.catalog-page-header .mark img {
    width: 33px;
    height: auto
}

@media (min-width: 48em) {
    .catalog-page-header .mark {
        float: right
    }
}

@media (min-width: 62em) {
    .catalog-page-header .mark img {
        width: 50px;
        height: auto
    }
}

.catalog-page-header .title-main {
    margin: 0;
    padding: 1.8rem 0 0;
    color: #333;
    font-size: 2.8rem;
    line-height: 1.28571
}

@media (min-width: 48em) {
    .catalog-page-header .title-main {
        padding: 1.0rem 0 0;
        font-size: 1.8rem;
        line-height: 1.22222
    }
}

.catalog-page-header .title-sub {
    display: table;
    float: left;
    margin: 0 1.0rem 0 0;
    padding: 0.8rem 0 0;
    font-size: 2.2rem;
    line-height: 1.36364;
    color: #344778
}

.catalog-page-header .title-sub-list {
    padding-top: 0.4rem;
    margin-bottom: 1.2rem
}

@media (min-width: 48em) {
    .catalog-page-header .title-sub-list {
        margin-bottom: 0.6rem
    }
}

@media (min-width: 48em) {
    .catalog-page-header .title-sub {
        padding: 0.8rem 0 0;
        font-size: 1.1rem
    }
}

.catalog-page-header .title-sub span {
    display: table-cell;
    vertical-align: middle;
    padding: 2px 8px
}

.catalog-page-header .title-sub span.m {
    padding: 0;
    min-width: 120px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    border: 1px solid #344778;
    background-color: #344778;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

.catalog-page-categorylist {
    padding: 0 1.5rem 1.5rem 1.5rem
}

@media (min-width: 48em) {
    .catalog-page-categorylist {
        padding: 0 1.0rem 1.0rem 1.0rem
    }
}

.catalog-page-categorylist .title {
    display: block;
    margin: 0 0 0.8rem;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .catalog-page-categorylist .title {
        float: left;
        margin: 0;
        font-size: 0.7rem;
        padding: 6px 0
    }
}

.catalog-page-categorylist .title i {
    margin-right: 8px
}

.catalog-page-categorylist ul {
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none
}

@media (min-width: 48em) {
    .catalog-page-categorylist ul {
        margin-left: 110px;
        margin-bottom: 0.75rem
    }
}

.catalog-page-categorylist ul li {
    margin: 0 4px 8px 0;
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .catalog-page-categorylist ul li {
        font-size: 0.7rem
    }
}

.catalog-page-categorylist ul a {
    display: block;
    color: #fff;
    background-color: #999;
    border: 2px solid #999;
    padding: 1px 12px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px
}

.catalog-page-categorylist ul a:hover {
    background-color: #f1f1f1;
    border-color: #f1f1f1;
    color: #999
}

.catalog-page-img {
    margin: 0 -1.5rem 2.0rem -1.5rem;
    padding: 0
}

@media (min-width: 62em) {
    .catalog-page-img {
        margin: 0 0 2.0rem 0
    }
}

.catalog-page-img img {
    width: 100%
}

.catalog-page-body {
    margin: 0 0.75rem 2.4rem 0.75rem;
    padding-bottom: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .catalog-page-body {
        font-size: 0.8rem;
        width: 90%;
        margin: 0 auto
    }
}

.catalog-page-body p {
    margin-bottom: 1.6rem
}

.catalog-page-taglist {
    position: relative;
    margin: 0 0.75rem;
    padding: 1.2rem 0;
    list-style: none;
    font-size: 1.4rem;
    line-height: 1.57143
}

.catalog-page-taglist::before {
    content: '\f02c';
    font-family: FontAwesome;
    color: #999;
    margin-right: 4px
}

@media (min-width: 48em) {
    .catalog-page-taglist {
        font-size: 0.7rem;
        width: 90%;
        margin: 0 auto
    }
}

.catalog-page-taglist li {
    position: relative;
    display: inline-block;
    margin: 0 4px 4px 0
}

.catalog-page-taglist li::after {
    content: ',';
    color: #999;
    margin-left: 4px
}

.catalog-page-taglist li:nth-last-child( - n + 1)::after {
    display: none
}

.catalog-page-backlist {
    padding: 1.6rem 0;
    border-top: 1px solid #c6c9d3
}

.corporate-link {
    background-color: #edeff1;
    padding: 3.0rem 1.5rem 1.5rem 1.5rem
}

@media (min-width: 48em) {
    .corporate-link {
        padding: 2.0rem 0.75rem 0.75rem 0.75rem
    }
}

@media (min-width: 62em) {
    .corporate-link {
        padding: 2.0rem 1.5rem 1.5rem 1.5rem
    }
}

.corporate-link ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    font-size: 0
}

@media (min-width: 48em) {
    .corporate-link ul li {
        display: inline-block;
        width: 50%;
        vertical-align: top
    }
}

@media (min-width: 62em) {
    .corporate-link ul li {
        width: 50%
    }
}

@media (min-width: 76.875em) {
    .corporate-link ul li {
        width: 33.333333333333333%
    }
}

.corporate-link ul li > a {
    position: relative;
    display: block;
    background-color: #fff;
    margin: 0 0.75rem 2.0rem 0.75rem;
    padding: 0 0 3.0rem 0;
    color: #fff;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1)
}

@media (min-width: 48em) {
    .corporate-link ul li > a {
        margin-bottom: 1.5rem;
        padding: 0 0 1.5rem 0
    }
}

.corporate-link ul li .img {
    overflow: hidden;
    margin-bottom: 0.8rem
}

@media (min-width: 48em) {
    .corporate-link ul li .img {
        margin-bottom: 0.5rem
    }
}

.corporate-link ul li .img img {
    min-width: 100%
}

.corporate-link ul li .title {
    margin: 0;
    padding: 0.75rem 1.5rem;
    font-size: 1.8rem;
    line-height: 1.44444;
    color: #333;
    font-weight: bold
}

@media (min-width: 48em) {
    .corporate-link ul li .title {
        font-size: 0.9rem
    }
}

.corporate-link ul li .outline {
    margin: 0;
    padding: 0 1.5rem 1.5rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.57143;
    color: #626a77
}

@media (min-width: 48em) {
    .corporate-link ul li .outline {
        font-size: 0.7rem
    }
}

.corporate-link ul li .button {
    margin: 0
}

.corporate-link ul li .button span {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

.corporate-title {
    margin: 0 0 1.6rem;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #333;
    font-weight: normal
}

@media (min-width: 48em) {
    .corporate-title {
        font-size: 1.2rem
    }
}

.corporate-table {
    width: 100%;
    border-top: 1px solid #ddd
}

.corporate-table th, .corporate-table td {
    padding: 16px 8px;
    vertical-align: middle;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #ddd
}

.corporate-table.outline th {
    width: 30%
}

@media (min-width: 48em) {
    .corporate-table.outline th {
        width: 24%
    }
}

.corporate-table.history th {
    display: inline-block;
    border: none;
    padding-bottom: 0
}

@media (min-width: 48em) {
    .corporate-table.history th {
        display: table-cell;
        border-bottom: 1px solid #ddd;
        width: 12%;
        vertical-align: top
    }
}

.corporate-table.history td {
    display: block;
    padding-top: 8px
}

@media (min-width: 48em) {
    .corporate-table.history td {
        display: table-cell;
        padding-top: 16px
    }
}

.corporate-map iframe {
    width: 100%;
    height: 400px
}

.corporate-button {
    margin: 10px 0 6px;
    text-align: center
}

.corporate-button a {
    width: 100%
}

@media (min-width: 48em) {
    .corporate-button a {
        padding: 6px 16px;
        max-width: 180px
    }
}

.corporate-button i {
    font-style: normal;
    margin-right: 6px
}

.corporate-accessinfo {
    margin: 0;
    padding: 0;
    list-style: none
}

.corporate-accessinfo li {
    position: relative;
    margin-bottom: 1.0rem;
    padding: 0 0 1.0rem 22px;
    border-bottom: 1px solid #eee
}

@media (min-width: 48em) {
    .corporate-accessinfo li {
        margin-bottom: 0.4rem;
        padding-bottom: 0.4rem
    }
}

.corporate-accessinfo li::before {
    content: '\f239';
    font-family: FontAwesome;
    position: absolute;
    left: 0;
    top: 0
}

.corporate-accessinfo li.train::before {
    content: '\f239'
}

.corporate-accessinfo li.bus::before {
    content: '\f207'
}

.news-archive-header {
    padding-bottom: 0.8rem;
    text-align: center
}

.news-archive-header .title {
    margin-bottom: 0.8rem;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #333
}

@media (min-width: 48em) {
    .news-archive-header .title {
        font-size: 1.2rem
    }
}

.news-archive-header .outline {
    margin-bottom: 0.8rem;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .news-archive-header .outline {
        font-size: 0.7rem
    }
}

.news-archive-link .title {
    margin-bottom: 0;
    padding: 8px;
    border-top: 1px solid #333;
    color: #333;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .news-archive-link .title {
        font-size: 0.8rem
    }
}

.news-archive-link .list {
    margin: 0 0 24px;
    padding: 0;
    list-style: none
}

.news-archive-link .list li {
    border-bottom: 1px solid #c6c9d3;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .news-archive-link .list li {
        font-size: 0.7rem
    }
}

.news-archive-link .list li > ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.news-archive-link .list li > ul li {
    border-bottom: none;
    border-top: 1px dotted #c6c9d3
}

.news-archive-link .list li > ul li a {
    padding-left: 32px
}

.news-archive-link .list a {
    position: relative;
    display: block;
    padding: 8px 24px 8px 8px
}

.news-archive-link .list a::after {
    content: '\f105';
    font-family: FontAwesome;
    color: #aaa;
    position: absolute;
    right: 8px;
    top: 50%;
    margin: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

.news-archive-link .yearly {
    margin: 0 0 24px;
    padding: 12px 0 0;
    list-style: none;
    font-size: 0
}

.news-archive-link .yearly li {
    display: inline-block;
    margin: 0 8px 8px 0;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .news-archive-link .yearly li {
        font-size: 0.7rem
    }
}

.news-archive-link .yearly a {
    position: relative;
    display: block;
    padding: 8px 16px 8px 40px;
    color: #fff;
    border: 2px solid #344778;
    background-color: #344778;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px
}

.news-archive-link .yearly a::before {
    content: '\f073';
    font-family: FontAwesome;
    position: absolute;
    left: 16px;
    top: 8px
}

.news-archive-link .yearly a:hover {
    background: none;
    border-color: #344778;
    color: #344778
}

.news-list {
    margin: 0 0 1.6rem;
    padding: 0;
    list-style: none
}

.news-list li {
    margin: 0;
    border-bottom: 1px solid #c6c9d3;
    padding: 0.8rem 2.4rem 0.8rem 0.8rem;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .news-list li {
        font-size: 0.8rem
    }
}

.news-list a {
    position: relative;
    display: block;
    padding: 0.8rem 2.4rem 0.8rem 0.8rem;
    color: #fff
}

.news-list a::after {
    content: '\f105';
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    right: 8px;
    font-size: 16px;
    margin: auto;
    color: #2a2a2a;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media (min-width: 48em) {
    .news-list a::after {
        right: 20px
    }
}

.news-list a:hover {
    background-color: #f0f0f0
}

.news-list .day {
    /*font-family: "Times New Roman";*/
    display: inline-block;
    vertical-align: middle;
    min-width: 90px;
    color: #7f7f7f;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .news-list .day {
        font-size: 0.7rem
    }
}

.news-list .category {
    display: inline-block;
    vertical-align: middle;
    min-width: 90px;
    text-align: center;
    background-color: #36b1c0;
    border: 1px solid #36b1c0;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.66667;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

@media (min-width: 48em) {
    .news-list .category {
        font-size: 0.6rem
    }
}

.news-list .category.pink {
    background-color: #9E0B0F;
    border-color: #9E0B0F
}

.news-list .category.green {
    background-color: #68ba8a;
    border-color: #68ba8a
}

.news-list .category.orange {
    background-color: #f98700;
    border-color: #f98700
}

.news-list .category.gray {
    background-color: #9FA0A0;
    border-color: #9FA0A0
}
.news-list .category.orange2 {
    background-color: rgba(229, 153, 4, 0.5);
    border-color: #E59904;
}

.news-list .category.black {
    background-color: #333;
    border-color: #333;
}

.news-list .category.white {
    background-color: #fff;
    border-color: #333;
    color: #333;
}

.news-list .title {
    display: block;
    padding: 0.4rem 0 0 90px;
    color: #2a2a2a
}

.news-header {
    position: relative;
    margin-bottom: 1.2rem
}

.news-header-title {
    clear: both;
    margin: 0 0 3.0rem;
    padding-bottom: 2.0rem;
    border-bottom: 1px solid #c6c9d3;
    font-size: 2.4rem;
    line-height: 1.33333;
    font-weight: 400;
    color: #333
}

@media (min-width: 48em) {
    .news-header-title {
        margin: 0 0 2.0rem;
        padding-bottom: 1.5rem;
        font-size: 1.6rem;
        line-height: 1.25
    }
}

.news-header-data {
    margin: 0 0 8px;
    font-size: 1.4rem;
    line-height: 1.57143;
    font-weight: normal;
    color: #999
}

@media (min-width: 48em) {
    .news-header-data {
        float: left;
        margin: 0 0 8px;
        font-size: 0.7rem;
        line-height: 32px
    }
}

.container-body.news-body {
    font-size: 1.6rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .container-body.news-body {
        font-size: 0.8rem;
        line-height: 26px
    }
}

.container-body.news-body p {
    margin-bottom: 20px
}

.container-body.news-body h2 {
    color: #333;
    margin-bottom: 2.0rem;
    padding: 10px 16px;
    border-top: 3px solid #344778;
    border-bottom: 1px dotted #c6c9d3;
    font-weight: bold
}

.container-body.news-body h3 {
    color: #333;
    margin-bottom: 1.8rem;
    padding: 2px 15px;
    border-left: 4px #344778 solid;
    background: none
}

.container-body.news-body h4 {
    color: #333;
    margin-bottom: 1.4rem;
    padding: 0 0 0 18px;
    position: relative
}

.container-body.news-body h4:before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 14px;
    height: 14px;
    border: 4px solid #344778;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.container-body.news-body h5, .container-body.news-body h6 {
    color: #333;
    margin-bottom: 1.2rem
}

.container-body.news-body h2 {
    font-size: 2rem;
    line-height: 1.4
}

.container-body.news-body h3 {
    font-size: 1.8rem;
    line-height: 1.44444
}

.container-body.news-body h4 {
    font-size: 1.6rem;
    line-height: 1.5
}

.container-body.news-body h5, .container-body.news-body h6 {
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .container-body.news-body h2 {
        margin-bottom: 0.8rem;
        font-size: 1rem
    }

    .container-body.news-body h3 {
        margin-bottom: 0.8rem;
        font-size: 0.9rem
    }

    .container-body.news-body h4 {
        margin-bottom: 0.8rem;
        font-size: 0.8rem
    }

    .container-body.news-body h5, .container-body.news-body h6 {
        margin-bottom: 0.4rem;
        font-size: 0.8rem
    }
}

.news-body-categorylist {
    padding-bottom: 0.8rem
}

@media (min-width: 48em) {
    .news-body-categorylist {
        clear: none;
        margin-left: 120px;
        padding-bottom: 0.4rem
    }
}

.news-body-categorylist ul {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0
}

.news-body-categorylist li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .news-body-categorylist li {
        margin: 0;
        font-size: 0.6rem
    }
}

.news-body-categorylist a {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 0 16px;
    border: 1px solid #344778;
    height: 32px;
    line-height: 30px;
    color: #344778;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px
}

.news-body-categorylist a:hover {
    background-color: #344778;
    color: #fff
}

.news-body-categorylist .post-categories-title {
    display: inline-block;
    vertical-align: top;
    margin-right: 8px;
    font-size: 1.2rem;
    line-height: 32px;
    color: #333
}

@media (min-width: 48em) {
    .news-body-categorylist .post-categories-title {
        float: left;
        padding: 0;
        font-size: 0.6rem
    }
}

.news-body-taglist {
    margin: 0 0 0.75rem;
    padding: 0;
    list-style: none;
    font-size: 0
}

.news-body-taglist li {
    display: inline-block;
    margin: 0 6px 6px 0;
    font-size: 1.2rem;
    line-height: 1.66667
}

@media (min-width: 48em) {
    .news-body-taglist li {
        font-size: 0.6rem
    }
}

.news-body-taglist a {
    position: relative;
    display: block;
    padding: 4px 10px 4px 22px;
    color: #344778;
    border: 1px solid #ececec;
    background-color: #ececec;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

.news-body-taglist a::before {
    content: '\f02b';
    font-family: FontAwesome;
    position: absolute;
    left: 8px;
    top: 4px;
    font-size: 12px
}

.news-body-taglist a:hover {
    background-color: #344778;
    border-color: #344778;
    color: #fff
}

.news-body-button {
    padding: 1.6rem 0;
    text-align: center
}

.news-body-button p {
    margin: 0 0.8rem;
    display: inline-block;
    vertical-align: top;
    font-size: 1.4rem;
    line-height: 1
}

@media (min-width: 48em) {
    .news-body-button p {
        font-size: 0.7rem
    }
}

.news-body-button .prev, .news-body-button .next {
    font-size: 1.8rem;
    line-height: 42px
}

@media (min-width: 48em) {
    .news-body-button .prev, .news-body-button .next {
        font-size: 0.9rem;
        line-height: 50px
    }
}

.news-body-button .prev a, .news-body-button .next a {
    display: block;
    padding: 0 0.4rem;
    color: #344778
}

.news-body-button .prev a:hover, .news-body-button .next a:hover {
    color: rgba(42, 42, 42, 0.4)
}

.news-body-button .back a {
    display: block;
    padding: 0.8rem 2.0rem;
    border: 2px solid #344778;
    background-color: #344778;
    text-align: center;
    color: #fff;
    width: 180px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px
}

.news-body-button .back a::after {
    display: none
}

.news-body-button .back a:hover {
    background: none;
    border-color: #344778;
    color: #344778
}

@media (min-width: 48em) {
    .news-body-button .back a {
        padding: 0.6rem 1.6rem
    }
}

.news-body-img {
    display: block;
    margin-bottom: 2.4rem;
    text-align: center;
    background-image: url(img/common/bg_blog_img.png);
    background-repeat: repeat;
    background-size: 8px 8px
}

.news-body-img img {
    max-height: 480px
}

#comments.comments-area {
    clear: both;
    padding: 2.0rem 0
}

#comments .comment-respond {
    padding: 2.0rem;
    border: 1px solid #c6c9d3;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    #comments .comment-respond {
        font-size: 0.7rem
    }
}

#comments .comment-form-comment textarea {
    outline: none;
    display: block;
    width: 100%;
    padding: 12px;
    margin-bottom: 0.4rem;
    color: #444;
    border: 1px solid #eee;
    background-color: #fafafa;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1)
}

#comments .comment-form-author input, #comments .comment-form-email input {
    outline: none;
    display: block;
    width: 100%;
    padding: 12px;
    margin-bottom: 0.4rem;
    color: #444;
    border: 1px solid #eee;
    background-color: #fafafa;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1)
}

@media (min-width: 48em) {
    #comments .comment-form-author, #comments .comment-form-email {
        float: left;
        width: 48%
    }
}

@media (min-width: 48em) {
    #comments .comment-form-email {
        float: right
    }
}

#comments .form-submit {
    clear: both;
    padding-top: 8px;
    text-align: center
}

#comments .form-submit input[type="submit"] {
    width: 100%;
    margin: 0;
    height: 56px;
    line-height: 56px;
    border: 1px #333 solid;
    background-color: #333;
    color: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

#comments .form-submit input[type="submit"]:hover {
    -moz-opacity: 0.6;
    filter: alpha(opacity = 60);
    opacity: 0.6
}

@media (min-width: 30em) {
    #comments .form-submit input[type="submit"] {
        width: 300px;
        display: inline-block;
        margin: 0
    }
}

.contact-title {
    margin-bottom: 16px;
    padding: 0;
    color: #333;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.33333
}

@media (min-width: 48em) {
    .contact-title {
        margin-bottom: 24px;
        font-size: 1.2rem
    }
}

.contact-title span {
    display: block;
    padding-top: 4px;
    margin: 0;
    color: #aaa;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-title span {
        font-size: 0.7rem
    }
}

.contact-tel {
    margin: 0 auto 3.2rem auto
}

.contact-tel .tel {
    text-align: center
}

.contact-tel .tel-number {
    margin: 0 0 8px;
    font-size: 3.4rem;
    line-height: 1.23529;
    font-weight: 900;
    color: #333
}

@media (min-width: 48em) {
    .contact-tel .tel-number {
        font-size: 1.9rem
    }
}

@media (min-width: 62em) {
    .contact-tel .tel-number {
        display: inline-block
    }
}

.contact-tel .tel-number i {
    margin-right: 6px;
    font-size: 2.8rem
}

@media (min-width: 48em) {
    .contact-tel .tel-number i {
        font-size: 1.6rem
    }
}

.contact-tel .tel-time {
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-tel .tel-time {
        font-size: 0.7rem
    }
}

@media (min-width: 62em) {
    .contact-tel .tel-time {
        margin: 0
    }
}

.contact-from {
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-from {
        font-size: 0.7rem
    }
}

.contact-from table {
    width: 100%;
    margin-bottom: 1.6rem;
    border-top: 3px solid #344778 !important;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .contact-from table {
        font-size: 0.7rem
    }
}

.contact-from table table {
    width: 100%
}

.contact-from table th, .contact-from table td {
    position: relative;
    vertical-align: top;
    text-align: left;
    font-weight: normal;
    display: block
}

@media (min-width: 48em) {
    .contact-from table th, .contact-from table td {
        display: table-cell
    }
}

.contact-from table th {
    padding: 0.8rem 0.8rem 0 0.8rem !important;
    color: #333
}

@media (min-width: 48em) {
    .contact-from table th {
        width: 35%;
        padding: 0.8rem !important;
        border-bottom: 1px solid #c6c9d3
    }
}

.contact-from table th .subject {
    margin-bottom: 8px;
    font-weight: bold
}

.contact-from table th .submessage {
    margin-bottom: 8px;
    color: #626a77
}

.contact-from table th .require {
    display: inline-block;
    margin: 0 0 0 0.8rem;
    padding: 4px 6px;
    background-color: #d63b3f;
    color: #fff !important;
    font-weight: normal;
    font-size: 1.2rem;
    line-height: 1;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

@media (min-width: 48em) {
    .contact-from table th .require {
        position: absolute;
        top: 0.8rem;
        right: 0.8rem;
        margin: 0;
        font-size: 0.6rem
    }
}

.contact-from table td {
    padding: 0.8rem 0.8rem 1.6rem 0.8rem !important;
    border-bottom: 1px solid #c6c9d3
}

@media (min-width: 48em) {
    .contact-from table td {
        padding: 0.8rem !important
    }
}

.contact-from table ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.contact-from table li {
    margin: 0 16px 8px 0 !important;
    display: inline-block;
    font-weight: 900
}

.contact-from table li label {
    display: block;
    border: 1px solid #ddd;
    background-color: #f1f1f1;
    padding: 6px 10px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

.contact-from table .submessage {
    font-size: 14px
}

.contact-from input[type="text"], .contact-from input[type="email"],
.contact-from textarea {
    outline: none;
    display: block;
    width: 100% !important;
    margin-bottom: 0.4rem;
    color: #444
}

@media (min-width: 48em) {
    .contact-from input[type="text"].w30, .contact-from input[type="email"].w30,
    .contact-from textarea.w30 {
        width: 30% !important
    }
}

@media (min-width: 48em) {
    .contact-from input[type="text"].w40, .contact-from input[type="email"].w40,
    .contact-from textarea.w40 {
        width: 40% !important
    }
}

.contact-from textarea {
    height: 200px
}

.contact-from input[type="radio"], .contact-from input[type="checkbox"] {
    vertical-align: middle;
    * vertical-align: baseline;
    margin-right: 4px
}

.contact-from select {
    background: #fff;
    border: solid 1px #d1d1d1;
    color: #666;
    padding: 12px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1)
}

.contact-from .submit-container {
    margin: 24px 16px;
    text-align: center
}

.contact-from .submit-container input[type="submit"], .contact-from .submit-container-send,
.contact-from .submit-container-reset {
    width: 100%;
    margin: 0 0 8px 0;
    height: 56px;
    line-height: 56px;
    border: 1px #999 solid;
    background-color: #999;
    color: #fff
}

.contact-from .submit-container input[type="submit"]:hover, .contact-from .submit-container-send:hover,
.contact-from .submit-container-reset:hover {
    -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity = 60);
    filter: alpha(opacity = 60);
    opacity: 0.6
}

@media (min-width: 30em) {
    .contact-from .submit-container input[type="submit"], .contact-from .submit-container-send,
    .contact-from .submit-container-reset {
        width: 300px;
        display: inline-block;
        margin: 0 8px 8px 8px
    }
}

.contact-from .submit-container input[type="submit"], .contact-from .submit-container-send {
    border: 1px #344778 solid;
    background-color: #344778;
    color: #fff
}

.focusField, .idleField {
    border: solid 1px #73A6FF;
    background: #F7FAFF;
    color: #666;
    padding: 12px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1)
}

.idleField {
    background: #fff;
    border: solid 1px #d1d1d1
}

input[type="radio"] {
    vertical-align: middle
}

input[type="checkbox"] {
    vertical-align: middle;
    * vertical-align: baseline
}

.faq-container {
    margin-bottom: 3.0rem
}

@media (min-width: 48em) {
    .faq-container {
        margin-bottom: 2.0rem
    }
}

.faq-title {
    margin: 0 0 1.6rem;
    font-size: 2.2rem;
    line-height: 1.36364;
    color: #333
}

@media (min-width: 48em) {
    .faq-title {
        margin-bottom: 1.2rem;
        font-size: 1.1rem
    }
}

.faq-title a {
    display: block;
    margin: 8px 0 0;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .faq-title a {
        display: inline-block;
        vertical-align: bottom;
        margin: 0 0 0 16px;
        font-size: 0.7rem
    }
}

.faq-box {
    margin: 0 auto 1.6rem auto;
    background-color: #fff;
    border: 1px solid #c6c9d3;
    overflow: hidden;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px
}

@media (min-width: 48em) {
    .faq-box {
        margin-bottom: 1.0rem
    }
}

.faq-box .header-main {
    margin: 0 0 2.0rem;
    text-align: center;
    font-weight: normal;
    font-size: 2.4rem;
    line-height: 1.33333;
    color: #333
}

@media (min-width: 48em) {
    .faq-box .header-main {
        font-size: 1.2rem
    }
}

.faq-header {
    position: relative;
    margin: 0;
    padding: 24px 20px;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #344778
}

@media (min-width: 48em) {
    .faq-header {
        font-size: 0.8rem
    }
}

.faq-header::before {
    content: '\f107';
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    right: 8px;
    margin: -8px 0 0 0;
    width: 30px;
    text-align: center;
    font-size: 16px;
    line-height: 1;
    color: #344778
}

.faq-header.open::before {
    content: '\f106';
    top: 50%
}

.faq-header .question {
    position: relative;
    display: block;
    padding: 0 20px 0 56px
}

.faq-header .question::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    width: 40px;
    height: 40px;
    background-color: #344778;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px
}

.faq-header .question::after {
    content: 'Q';
    font-family: Roboto;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    color: #fff
}

.faq-text {
    padding: 24px 20px;
    background-color: #eee;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .faq-text {
        font-size: 0.7rem
    }
}

.faq-text .answer {
    position: relative;
    margin-left: 16px;
    padding: 0 8px 8px 40px
}

@media (min-width: 62em) {
    .faq-text .answer {
        margin-left: 56px;
        padding: 8px 0 8px 0
    }
}

.faq-text .answer::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -16px;
    width: 40px;
    height: 40px;
    background-color: #f9644e;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px
}

@media (min-width: 62em) {
    .faq-text .answer::before {
        top: 0;
        left: -56px
    }
}

.faq-text .answer::after {
    content: 'A';
    font-family: Roboto;
    position: absolute;
    top: 0px;
    left: -16px;
    width: 40px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff
}

@media (min-width: 62em) {
    .faq-text .answer::after {
        top: 8px;
        left: -56px
    }
}

.faq-text .answer p:nth-last-child( - n + 1) {
    margin-bottom: 0
}

.sitemap-page {
    margin: 0 0.75rem;
    padding: 3.0rem 0.75rem
}

@media (min-width: 48em) {
    .sitemap-page {
        margin: 0;
        padding: 1.5rem 0.75rem;
        font-size: 0.7rem;
        line-height: 1.57143
    }
}

.sitemap-page > ul, .sitemap-page div > ul {
    position: relative;
    float: none;
    width: 100%;
    margin: 0;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    min-height: 1px;
    list-style: none;
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .sitemap-page > ul, .sitemap-page div > ul {
        float: left;
        width: 50%;
        padding-bottom: 0.75rem;
        font-size: 0.8rem
    }
}

@media (min-width: 62em) {
    .sitemap-page > ul, .sitemap-page div > ul {
        width: 33.3333333%
    }
}

.sitemap-page > ul > li ul, .sitemap-page div > ul > li ul {
    margin: 0 0 0 16px;
    padding: 0 0 14px;
    list-style: none;
    font-size: 1.4rem;
    line-height: 1.57143
}

@media (min-width: 48em) {
    .sitemap-page > ul > li ul, .sitemap-page div > ul > li ul {
        font-size: 0.7rem
    }
}

.sitemap-page > ul > li ul li, .sitemap-page div > ul > li ul li {
    margin-bottom: 8px
}

.sitemap-page > ul > li > a, .sitemap-page div > ul > li > a {
    margin-bottom: 10px
}

.sitemap-page > ul > li > a::before, .sitemap-page div > ul > li > a::before {
    content: '\f054';
    font-family: FontAwesome;
    font-size: 12px;
    line-height: 24px
}

.sitemap-page a {
    display: block;
    position: relative
}

.sitemap-page a::before {
    content: '\f105';
    font-family: FontAwesome;
    font-size: 14px;
    line-height: 24px;
    margin-right: 6px
}

.wp-caption-text {
    text-align: center
}

.alignright {
    float: right
}

.alignleft {
    float: left
}

.aligncenter {
    margin-left: auto;
    margin-right: auto
}

.centered {
    margin-left: auto;
    margin-right: auto
}

.clear {
    clear: both
}

.container-body {
    padding: 0 0 20px 0
}

.container-body h2 {
    color: #333;
    margin-bottom: 2.0rem;
    padding: 0;
    font-weight: normal
}

.container-body h3 {
    color: #333;
    margin-bottom: 1.8rem;
    padding: 12px 15px;
    background-color: #344778;
    color: #fff
}

.container-body h4 {
    color: #333;
    margin-bottom: 1.4rem;
    padding: 0 0 0 18px;
    position: relative
}

.container-body h4:before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 16px;
    height: 16px;
    border: 4px solid #344778;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%
}

.container-body h5, .container-body h6 {
    color: #333
}

.container-body h2 {
    font-size: 2.4rem;
    line-height: 1.33333
}

.container-body h3 {
    font-size: 2rem;
    line-height: 1.4
}

.container-body h4 {
    font-size: 1.8rem;
    line-height: 1.44444
}

.container-body h5, .container-body h6 {
    font-size: 1.6rem;
    line-height: 1.5
}

@media (min-width: 48em) {
    .container-body h2 {
        margin-bottom: 1.4rem;
        font-size: 1.4rem;
        line-height: 1.33333
    }

    .container-body h3 {
        margin-bottom: 1.0rem;
        font-size: 1rem
    }

    .container-body h4 {
        margin-bottom: 0.6rem;
        font-size: 0.9rem
    }

    .container-body h5, .container-body h6 {
        font-size: 0.8rem
    }
}

.container-body img {
    height: auto;
    max-width: 100%
}

.container-body img.centered, div.centered {
    display: block;
    margin: 24px auto
}

.container-body img.aligncenter, div.aligncenter {
    display: block;
    margin: 24px auto
}

.container-body img.alignright, div.alignright {
    float: none;
    margin: 4px auto 16px auto;
    display: block
}

.container-body img.alignleft, div.alignleft {
    float: none;
    margin: 4px auto 16px auto;
    display: block
}

.container-body .wp-caption {
    max-width: 100%;
    padding: 0;
    margin: 24px auto
}

.container-body .wp-caption.alignright {
    float: none;
    margin: 4px auto 16px auto
}

.container-body .wp-caption.alignleft {
    float: none;
    margin: 4px auto 16px auto
}

.container-body .wp-caption.aligncenter {
    margin: 24px auto
}

.container-body .wp-caption img {
    display: block;
    margin: 0 auto;
    max-width: 100%
}

.container-body .wp-caption .wp-caption-text {
    padding: 8px 0 0;
    color: #999;
    font-size: 12px
}

@media (min-width: 30em) {
    .container-body img.alignright, div.alignright {
        float: right;
        margin: 4px 0 30px 30px;
        display: inline
    }

    .container-body img.alignleft, div.alignleft {
        float: left;
        margin: 4px 30px 30px 0;
        display: inline
    }

    .container-body .wp-caption.alignright {
        float: right;
        margin: 4px 0 30px 30px
    }

    .container-body .wp-caption.alignleft {
        float: left;
        margin: 4px 30px 30px 0
    }
}

.container-body i.fa {
    margin-right: 6px
}

.container-body table {
    margin: 0 0 2.0rem 0
}

.container-body td, .container-body th {
    border: 1px solid #fff;
    background-color: #fff;
    padding: 0.75rem;
    vertical-align: top;
    text-align: left
}

.container-body th {
    background-color: #e8e9eb;
    font-weight: bold;
    width: 25%
}

.container-body dt, .container-body dd {
    margin: 0
}

.container-body ul, .container-body ol {
    margin: 0 0 0.8rem;
    padding: 0 0 0 16px
}

.container-body ul li, .container-body ol li {
    margin: 0 0 0.375rem 0.8rem;
    padding: 0 0 0 0.4rem
}

.container-body blockquote {
    margin: 0 0 2em 0;
    padding: 30px 30px 2px;
    background: #f2f2f2;
    color: #555;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    position: relative
}

.container-body blockquote:before {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: bold;
    line-height: 40px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 10px;
    left: 10px;
    color: #999
}

.container-body blockquote:after {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    line-height: 60px;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: 10px;
    right: 5px;
    color: #999
}

.pagesprit {
    text-align: center;
    font-size: 0;
    padding-top: 18px
}

.pagesprit .page-numbers {
    line-height: 1
}

.pagesprit a, .pagesprit span {
    display: inline-block;
    margin: 0 2px;
    font-size: 14px;
    line-height: 14px
}

.pagesprit .numbers {
    border: 1px #c6c9d3 solid;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #344778;
    color: #fff
}

.pagesprit a .numbers {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out
}

.pagesprit a:hover .numbers {
    background-color: #344778;
    color: #fff
}

.pagesprit a .numbers {
    background-color: #fff;
    color: #344778
}

.wp-pagenavi {
    padding: 0 0 16px 0;
    text-align: center
}

.wp-pagenavi .pages {
    display: block;
    margin: 8px;
    font-size: 14px;
    font-weight: 500
}

.wp-pagenavi .current, .wp-pagenavi .page, .wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    display: inline-block;
    margin: 8px 4px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    font-weight: 500
}

.wp-pagenavi .current {
    background-color: #344778;
    color: #fff
}

.wp-pagenavi .page:hover, .wp-pagenavi .nextpostslink:hover, .wp-pagenavi .previouspostslink:hover {
    color: #344778
}

@media (min-width: 62em) {
    .wp-pagenavi .current, .wp-pagenavi .page, .wp-pagenavi .nextpostslink,
    .wp-pagenavi .previouspostslink {
        width: 36px;
        height: 36px;
        line-height: 34px
    }
}

.sd-sharing-enabled {
    clear: both;
    padding: 24px 0 0
}

.contact-form input[type="radio"], .contact-form input[type="checkbox"] {
    margin-bottom: 2px !important;
    margin-right: 4px !important
}


/***********vietnam area 20190724*************/

/*.service-link.vietnam .list .img .icon .num {
    font-size: 22px;
}

.service-link.vietnam .list .img .icon .text {
    bottom: 27px;
    font-size: 11.5px;	
}*/

.cmn_image {
   width: 80%;
   margin: 30px auto;
   text-align: center;
}


.cmn_image img {
    width: 100%;
    height: auto;
}









