@charset "utf-8";

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    border: 0;
    max-width: 100%;
    height: auto;
}

@media only screen and (max-width: 896px) {
    .img-responsive {
        display: block;
        width: 100%;
        height: auto;
    }
}

html {
    overflow-y: scroll;
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch;
}

body {
    position: relative;
    line-height: 1.4;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #3c3c3c;
    background: white;
    height: 100%;
    font-size: 1.6rem;
    line-height: 1.80769;
    letter-spacing: 2px;
    overflow: hidden;
    background: url(../images/bg_Wall.png) repeat;
    background-size: 680px 454px;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

ul {
    list-style: none;
}

a {
    margin: 0;
    padding: 0;
    text-decoration: none;
    background: transparent;
    color: #000;
    outline: none;
    vertical-align: baseline;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

.clear {
    clear: both;
}

.clearfix::after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: '';
}

.sp {
    display: none;
}

@media only screen and (max-width: 896px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    html {
        font-size: 55%;
    }
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 768px) {
    .container {
        width: 750px;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

::selection {
    background-color: #A79691;
    color: #fff;
}

/*
heading******************************/

.title_x_large {
    font-size: 4.6rem;
    font-weight: bold;
}

.title_x_large span {
    display: block;
    font-size: 2.0rem;
    font-weight: normal;
}

.title_large {
    font-size: 3.2rem;
    font-weight: bold;
}

.title_large span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}

.title_medium {
    font-size: 2.2rem;
    font-weight: bold;
}

.title_small {
    font-size: 1.8rem;
    font-weight: normal;
}

/*
grid******************************/

.grid {
    letter-spacing: -.35em;
    margin: 0 -15px 0;
}

.col {
    display: inline-block;
    letter-spacing: normal;
    padding: 0 15px;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*
column******************************/

.column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*
reverse******************************/

.box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media only screen and (max-width: 480px) {
    .box {
        flex-direction: column;
    }

    .box:nth-child(even) {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column-reverse;
    }
}

.box_cont {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media screen and (max-width: 480px) {
    .box_cont {
        flex-direction: column-reverse;
    }
}

.box_left {
    width: 40.8771%;
}

.box_right {
    width: 56.4912%;
}

/*
width******************************/

.width1 {
    width: 8.33333333333%;
}

@media only screen and (max-width: 896px) {
    .width1 {
        width: 100%;
    }
}

.width2 {
    width: 16.6666666667%;
}

@media only screen and (max-width: 896px) {
    .width2 {
        width: 100%;
    }
}

.width3 {
    width: 25.0%;
}

@media only screen and (max-width: 896px) {
    .width3 {
        width: 100%;
    }
}

.width4 {
    width: 33.3333333333%;
}

@media only screen and (max-width: 896px) {
    .width4 {
        width: 100%;
    }
}

.width5 {
    width: 41.6666666667%;
}

@media only screen and (max-width: 896px) {
    .width5 {
        width: 100%;
    }
}

.width6 {
    width: 50.0%;
}

@media only screen and (max-width: 896px) {
    .width6 {
        width: 100%;
    }
}

.width7 {
    width: 58.3333333333%;
}

@media only screen and (max-width: 896px) {
    .width7 {
        width: 100%;
    }
}

.width8 {
    width: 66.6666666667%;
}

@media only screen and (max-width: 896px) {
    .width8 {
        width: 100%;
    }
}

.width9 {
    width: 75.0%;
}

@media only screen and (max-width: 896px) {
    .width9 {
        width: 100%;
    }
}

.width10 {
    width: 83.3333333333%;
}

@media only screen and (max-width: 896px) {
    .width10 {
        width: 100%;
    }
}

.width11 {
    width: 91.6666666667%;
}

@media only screen and (max-width: 896px) {
    .width11 {
        width: 100%;
    }
}

.width12 {
    width: 100%;
}

/*
list*3カラム******************************/

.three_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 6.5rem;
}

.three_list .list_item {
    width: -webkit-calc((100% - 8%) / 3);
    width: calc((100% - 8%) / 3);
    margin-top: 4.0rem;
    margin-right: 4%;
    margin-bottom: 4.0rem;
}

@media screen and (min-width: 897px) {
    .three_list .list_item:nth-child(3n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 896px) {
    .three_list .list_item {
        width: -webkit-calc((100% - 5% - 1px) / 2);
        width: calc((100% - 5% - 1px) / 2);
        margin-right: 5%;
    }
}

@media screen and (max-width: 896px) {
    .three_list .list_item:nth-child(2n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 568px) {
    .three_list .list_item {
        width: 100%;
        margin-right: 0;
    }
}

.three_list .list_item .title {
    font-size: 2.2rem;
    padding: 0 0 1.8rem;
    font-weight: bold;
}

.three_list .list_item img {
    margin-bottom: 3.0rem;
}

/*
list*4カラム******************************/

.four_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.four_list .list_item {
    width: -webkit-calc((100% - 9%) / 4);
    width: calc((100% - 9%) / 4);
    margin-top: 2.0rem;
    margin-right: 3%;
    margin-bottom: 2.0rem;
}

@media screen and (min-width: 569px) {
    .four_list .list_item:nth-child(4n) {
        margin-right: 0;
    }
}

@media screen and (max-width: 568px) {
    .four_list .list_item {
        width: -webkit-calc((100% - 7%) / 2);
        width: calc((100% - 7%) / 2);
        margin-right: 7%;
    }

    .four_list .list_item:nth-child(2n) {
        margin-right: 0;
    }
}

/*
追加******************************/

.set_center {
    text-align: center;
}

.set_left {
    text-align: left;
}

.set_right {
    text-align: right;
}

.cursor {
    cursor: pointer;
}

.d_flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.inner {
    width: 680px;
    margin: 0 auto;
}

@media screen and (max-width: 896px) {
    .inner {
        width: 86%;
        padding: 0 15px;
    }
}

.inner_320 {
    width: 320px;
    margin: 0 auto;
}

@media screen and (max-width: 480px) {
    .inner_320 {
        width: 86%;
        padding: 0 15px;
    }
}

.inner_780 {
    width: 780px;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .inner_780 {
        width: 90%;
        padding: 0 15px;
    }
}

.text {
    font-size: 1.6rem;
    line-height: 1.75;
}

.btn {
    padding-top: 3.6rem;
}

.note {
    font-size: 1.4rem;
}

/*
header******************************/

.header {
    position: relative;
}

.header_wrap {
    height: 107px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    padding: 0 2vw;
    border-bottom: 1px solid #9A9A9A;
}

.header_logo {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .header_logo_img {
        max-width: 72px;
    }
}

@media screen and (max-width: 480px) {
    .header_logo_img {
        max-width: 54px;
    }
}

.header_title {
    line-height: 1.4;
    padding-left: 20px;
}

.header_title .catch {
    font-size: 1.2rem;
    display: block;
    font-weight: normal;
}

@media screen and (max-width: 1200px) {
    .header_title .catch {
        font-size: 0.9rem;
    }
}

.header_title .logo_ja {
    font-size: 2.6rem;
    display: block;
    font-weight: bold;
    padding-top: 0.5rem;
}

@media screen and (max-width: 1200px) {
    .header_title .logo_ja {
        font-size: 2.1rem;
    }
}

@media screen and (max-width: 480px) {
    .header_title .logo_ja {
        font-size: 1.5rem;
    }
}

.header_contents {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

@media screen and (max-width: 896px) {
    .header_contents {
        display: none;
    }
}

.header_tel {
    padding: 0 10px;
}

@media screen and (max-width: 1200px) {
    .header_tel {
        max-width: 195px;
    }
}

.header_mail {
    padding: 0 10px;
}

@media screen and (max-width: 1200px) {
    .header_mail {
        max-width: 175px;
    }
}

.header_sns {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}

.header_sns li {
    padding: 0 10px;
}

.nav {
    width: 100%;
    position: relative;
}

.nav_list {
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.nav_list li a {
    padding: 3.0rem 50px 1.5rem;
    font-size: 1.8rem;
    display: block;
}

@media screen and (max-width: 992px) {
    .nav_list li a {
        padding: 3.0rem 35px 1.5rem;
    }
}

/*
drawer-nav******************************/

.drawer-nav {
    display: block;
    position: fixed;
    top: 0;
    right: -300px;
    bottom: 0;
    width: 300px;
    background: #454545;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    z-index: 300;
}

.open .drawer-nav {
    right: 0;
}

.drawer-nav .inner {
    padding: 25px;
}

.drawer-nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.drawer-nav .inner ul li {
    position: relative;
    margin: 0;
}

.drawer-nav .inner ul li a {
    display: block;
    color: #fff;
    font-size: 2.0rem;
    padding: 3.0rem 0;
    text-decoration: none;
    transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
}

@media screen and (max-width: 896px) {
    .drawer-nav {
        right: -240px;
        width: 240px;
    }
}

.toggle_btn {
    display: block;
    position: fixed;
    top: 3px;
    right: 0px;
    width: 45px;
    height: 30px;
    transform: translate(0, 0);
    transition: all .5s;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    cursor: pointer;
    z-index: 300;
}

.open .toggle_btn {
    right: 330px;
}

.toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #454545;
    transition: all .5s;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
}

.toggle_btn span:nth-child(1) {
    top: 5px;
    width: 30px;
}

.toggle_btn span:nth-child(2) {
    top: 15px;
    width: 30px;
}

.toggle_btn span:nth-child(3) {
    top: 25px;
    width: 30px;
}

.open .toggle_btn span {
    background-color: #000;
    width: 30px;
}

.open .toggle_btn span:nth-child(1) {
    transform: translate(0, 10px) rotate(-45deg);
    animation: unset;
}

.open .toggle_btn span:nth-child(2) {
    opacity: 0;
    animation: unset;
}

.open .toggle_btn span:nth-child(3) {
    transform: translate(0, -10px) rotate(45deg);
    animation: unset;
}

@media screen and (max-width: 767px) {
    .open .toggle_btn {
        right: 260px;
    }
}

#mask {
    display: none;
}

.open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    opacity: .8;
    z-index: 10;
    cursor: pointer;
    transition: all .5s;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
}

.drawer-nav .inner ul li a .icon_facebook_wh {
    margin-right: 8px;
}

.drawer-nav .inner ul li a .icon_instagram_wh {
    margin-right: 8px;
}

/*
top_kv******************************/

.top_kv {
    position: relative;
    height: 631px;
}

@media only screen and (max-width: 1400px) {
    .top_kv {
        height: 450px;
    }
}

@media only screen and (max-width: 896px) {
    .top_kv {
        height: 320px;
    }
}

.top_kv_slider {
    margin: 0 auto;
    position: relative;
}

.top_kv_slider img {
    margin: 0 auto;
    position: relative;
    width: 100vw;
    height: auto;
    /* max-width: 942px;
    max-height: 631px; */
    display: none;
}

@media only screen and (max-width: 1400px) {
    .top_kv_slider img {
        object-fit: cover;
        width: 100%;
        height: 450px;
        max-height: 450px;
    }
}

@media only screen and (max-width: 896px) {
    .top_kv_slider img {
        object-fit: cover;
        width: 100%;
        height: 320px;
        max-height: 320px;
    }
}

.link-wrap {
    position: relative;
}

.kv_logo_img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(-50%, -50%);
}

/*
sub_kv******************************/

.sub_kv {
    padding: 0 0 10.0rem;
}

.sub_kv .title_medium {
    padding: 0 15px 4rem;
    text-align: center;
}

/* breadcrumbs */

.breadcrumbs {
    font-size: 1.6rem;
    line-height: 1;
    padding: 1.3rem 0 0 1.7rem;
    margin-bottom: 7.0rem;
}

/* mask_animation */

.main_inner {
    position: relative;
    background-color: #e6f9ff
}

.main_image {
    width: 100%;
    height: 232px;
    -o-object-fit: cover;
    object-fit: cover;
}

@media screen and (max-width: 896px) {
    .main_image {
        height: 232px;
    }
}

.main_imagebox {
    position: relative;
}

.main_textbox {
    position: absolute;
    top: 50%;
    font-size: 20px;
    z-index: 6;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

.main_text {
    font-size: 2.4rem;
    font-weight: bold;
    background-color: #8AA9B2;
    padding: 2.6rem 111px 2.6rem 42px;
    color: #fff;
}

@media screen and (max-width: 896px) {
    .main_text {
        padding: 2.6rem 70px 2.6rem 25px;
    }
}

@-webkit-keyframes animate-panel {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1)
    }

    49% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    100% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1)
    }
}

@keyframes animate-panel {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1)
    }

    49% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    50% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    100% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1)
    }
}

@-webkit-keyframes animate-content {
    0% {
        visibility: hidden
    }

    49% {
        visibility: hidden
    }

    50% {
        visibility: visible
    }

    100% {
        visibility: visible
    }
}

@keyframes animate-content {
    0% {
        visibility: hidden
    }

    49% {
        visibility: hidden
    }

    50% {
        visibility: visible
    }

    100% {
        visibility: visible
    }
}

.mask_box {
    display: inline-block
}

.mask_box .mask_inner {
    position: relative;
    visibility: hidden
}

.mask_box .mask_inner::after {
    content: "";
    background: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    visibility: visible
}

.mask_box .mask_inner.start {
    -webkit-animation-name: animate-content;
    animation-name: animate-content;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: .25s;
    animation-delay: .25s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.mask_box .mask_inner.start::after {
    -webkit-animation-name: animate-panel;
    animation-name: animate-panel;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: .25s;
    animation-delay: .25s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.link-wrap .main_textbox {
    position: absolute;
    top: inherit;
    bottom: -100px;
    font-size: 2.4rem;
    z-index: 6;
}

@media screen and (max-width: 896px) {
    .link-wrap .main_textbox {
        bottom: -86px;
    }
}

.link-wrap .main_textitem {
    margin-bottom: 25px
}

.link-wrap .main_text.bg_main_text {
    background: #B7B3A3;
}

@media screen and (max-width: 1400px) {
    .link-wrap .main_text {
        padding: 2.6rem 20px 2.6rem 20px;
        font-size: 1.8rem;
        height: 200px;
    }
}

@media screen and (max-width:896px) {
    .link-wrap .main_text {
        padding: 1.5rem;
        font-size: 1.6rem;
        height: 135px;
    }
}


/*
features******************************/

.features {
    background: #E6EEF0;
    padding: 9.0rem 0 10.0rem;
}

.features .title_large {
    padding-bottom: 5.0rem;
}

.features .three_list .list_item .title {
    text-align: center;
    color: #6C96A2;
}

/*
top_aboutus******************************/

.top_aboutus {
    padding: 9.0rem 0 10.0rem;
}

.top_aboutus .title_large {
    padding-bottom: 2.0rem;
    text-align: center;
    font-size: 4.2rem;
    font-family: a-otf-ryumin-pr6n, serif;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 896px) {
    .top_aboutus .title_large {
        display: block;
    }

    .top_aboutus .d_flex {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.top_aboutus .title_large span {
    font-size: 4.2rem;
    font-weight: bold;
}

.top_aboutus .title_large span.icon_badge {
    padding-right: 20px;
}

.top_aboutus .title_large span.vs {
    padding: 0 20px;
}

@media screen and (max-width: 896px) {
    .top_aboutus .title_large span.vs {
        padding: 20px 0;
    }
}

.top_aboutus .title_medium {
    padding: 0 15px 4rem;
    text-align: center;
}

.top_aboutus .btn {
    padding-top: 5.0rem;
}

@media screen and (max-width: 992px) {
    .top_aboutus .inner_780 {
        width: 94%;
    }
}

@media screen and (max-width: 896px) {
    .top_aboutus .inner_780 {
        width: 90%;
    }
}

@media screen and (max-width: 480px) {
    .top_aboutus .inner_780 {
        padding: 0;
    }
}

/*
top_business******************************/

.top_business {
    padding: 9.0rem 0 10.0rem;
    background: #fff;
}

.top_business .title_large {
    padding-bottom: 3.0rem;
}

.top_business .text {
    padding-bottom: 8.0rem;
}

.top_business .four_list .title {
    text-align: center;
    color: #6C96A2;
    padding-top: 0.8rem;
    font-weight: bold;
}

.top_business .four_list .text {
    display: none;
}

/*
news_cont******************************/

.news_cont {
    padding: 9.0rem 0 10.0rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
}

.news_cont .title_large {
    padding-bottom: 3.0rem;
}

.news_cont .list_item {
    background: #fff;
}

.news_cont ul {
    padding: 10px 14px;
    overflow: hidden;
    border-bottom: 1px solid #BABABA;
}

.news_cont ul .date {
    float: left;
    font-size: 1.4rem;
}

.news_cont ul .category span {
    float: right;
    font-size: 1.4rem;
    background: #E0A445;
    color: #FFF;
    padding: 0px 3px;
    line-height: 1.8;
    height: 24px;
    display: block;
    width: 85px;
    text-align: center;
}

.news_cont ul .category span.notice {
    background: #E0A445;
}

.news_cont ul .category span.case_study {
    background: #6C96A2;
}

.news_cont .title {
    padding: 1.4rem 14px 2.4rem;
}

/*
news_single******************************/

.news_single {
    padding: 9rem 0 10rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
}

.notice_date_wrap {
    overflow: hidden;
}

.notice_date {
    font-size: 1.4rem;
    display: block;
    padding: 1.0rem 0;
}

.notice_title {
    font-size: 3.2rem;
    font-weight: bold;
    display: block;
    padding-bottom: 3.0rem;
    text-overflow: ellipsis;
    overflow: hidden;
}

.notice_text {
    background: #fff;
    padding: 6.0rem;
    font-size: 1.6rem;
    display: block;
    line-height: 2.0;
}

@media screen and (max-width: 896px) {
    .notice_text {
        padding: 6.0rem 15px;
    }
}

.notice_text img {
    padding: 2.4rem 0;
}

.news_single ul .category span.notice {
    font-size: 1.4rem;
    background: #E0A445;
    color: #FFF;
    padding: 0px 3px;
    line-height: 1.8;
    height: 24px;
    display: block;
    width: 85px;
    text-align: center;
}

.news_single ul .category span.case_study {
    font-size: 1.4rem;
    background: #6C96A2;
    color: #FFF;
    padding: 0px 3px;
    line-height: 1.8;
    height: 24px;
    display: block;
    width: 85px;
    text-align: center;
}

/*
postNavi
***************************************************** */

.postNavi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 5.6rem;
}

.back {
    text-align: center;
    padding: 0 5vw;
}

@media only screen and (max-width: 896px) {
    .back {
        padding: 0 4vw;
    }
}

/*
area******************************/

.area {
    padding: 9.0rem 0 10.0rem;
    background: url(../images/area.png) no-repeat;
    background-size: cover;
    width: 100%;
    height: 707px;
    background-position: right 0px center;
}

@media screen and (max-width: 1400px) {
    .area {
        background-position: right -303px center;
    }
}

@media screen and (max-width: 1200px) {
    .area {
        height: 555px;
    }
}

@media screen and (max-width: 896px) {
    .area {
        height: 474px;
        background-position: right -296px center;
    }
}

@media screen and (max-width: 480px) {
    .area {
        height: 603px;
        background-position: right -340px center;
    }
}

.area .title_large {
    padding-bottom: 3.0rem;
}

.area .btn {
    padding-top: 5.0rem;
}

/*
aboutus******************************/

.greeting {
    background: #E6EEF0;
    padding: 9.0rem 0 10.0rem;
}

.greeting .title_large {
    padding-bottom: 5.0rem;
}

.greeting .d_flex {
    flex-direction: row-reverse;
    justify-content: space-between;
}

@media only screen and (max-width: 896px) {
    .greeting .d_flex {
        flex-direction: column;
    }
}

.greeting hr {
    margin-top: 6.0rem;
    margin-bottom: 8.0rem;
    height: 1px;
    background-color: #9A9A9A;
    border: none;
}

.greeting_box .title_medium {
    color: #6C96A2;
    padding-bottom: 1.8rem;
}

.greeting_box .image_box {
    padding-left: 3.8rem;
}

@media only screen and (max-width: 896px) {
    .greeting_box .image_box {
        padding-left: 0;
        padding-bottom: 3.0rem;
    }
}

.greeting_box .text {
    padding-bottom: 3.0rem;
}

/*
profile
******************************/

.profile {
    padding: 9.0rem 0 10.0rem;
    background: #fff;
}

.profile .title_large {
    padding-bottom: 5.0rem;
}

/* table */

.tabel {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #454545;
    letter-spacing: 2px;
    margin-bottom: 5.0rem;
}

.tabel th, .tabel td {
    border-bottom: 1px solid #454545;
    text-align: left;
    font-size: 1.6rem;
}

.tabel th {
    width: 25%;
    padding: 2.8rem 0px 2.8rem 30px;
    line-height: 1.6;
    font-weight: normal;
    vertical-align: middle;
}

@media only screen and (max-width: 896px) {
    .tabel th {
        width: 100%;
        padding: 2.2rem 0px 0;
        border-bottom: none;
        display: block;
    }
}

.tabel td {
    width: 75%;
    padding: 2.2rem 0px 2.5rem;
    line-height: 1.8;
    vertical-align: middle;
}

@media only screen and (max-width: 896px) {
    .tabel td {
        width: 100%;
        padding: 1.5rem 0px 2.5rem;
        display: block;
    }
}

/*
map
******************************/

.map {
    padding: 9.0rem 0 10.0rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
}

.map .title_large {
    padding-bottom: 5.0rem;
}

/* Google Map */

.google_map {
    height: 0;
    overflow: hidden;
    padding-bottom: 64.597701%;
    position: relative;
    z-index: 2;
    clear: both;
}

.google_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.map .btn {
    padding-top: 5.0rem;
}

/*
flow
******************************/

.flow {
    padding: 0 0 10.0rem;
}

.flow_box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background: #fff;
    position: relative;
    z-index: 1;
    width: 1020px;
    margin: 0 auto;
    margin-top: 3.4rem;
}

@media only screen and (max-width: 1100px) {
    .flow_box {
        width: 90%;
    }
}

@media only screen and (max-width: 480px) {
    .flow_box {
        display: block;
    }

    .flow_box_img {
        text-align: center;
    }
}

.flow_box .text_area {
    padding: 4.0rem;
    line-height: 1.4;
}

.flow_box .step_number {
    font-size: 1.4rem;
    font-weight: bold;
    color: #6C96A2;
}

.flow_box .title_medium {
    font-weight: bold;
    color: #6C96A2;
    padding-top: 0.7rem;
}

.flow_box .text_box {
    padding: 2.6rem 3.4rem;
}

.flow_box .text {
    padding-top: 1.4rem;
}

.flow_box .btn {
    padding-top: 2.6rem;
}

.flow .arrow {
    text-align: center;
    padding-top: 2.8rem;
}

.flow .note {
    font-size: 1.8rem;
    width: 1020px;
}

.flow_note {
    width: 1020px;
    margin: 0 auto;
    padding-top: 2.4rem;
}

@media only screen and (max-width: 1100px) {
    .flow_note {
        width: 90%;
    }
}

/*
business******************************/

.business {
    padding: 9rem 0 10rem;
    background: #E6EEF0;
}

.business .inner_780 {
    display: none;
}

.business .btn {
    display: none;
}

.business .four_list .title {
    text-align: center;
    color: #6C96A2;
    padding-top: 0.8rem;
    font-weight: bold;
}

.business .four_list .text {
    padding-top: 0.5rem;
}

/*
business_detail******************************/

.business_detail {
    padding: 7.0rem 0 10.0rem;
    background: #fff;
}

.business_box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background: #fff;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    margin-top: 9.0rem;
}

@media only screen and (max-width: 480px) {
    .business_box {
        display: block;
    }

    .business_box_img {
        text-align: center;
    }
}

.business_box .text_area {
    padding: 4.0rem;
    line-height: 1.4;
}

.business_box .step_number {
    font-size: 1.4rem;
    font-weight: bold;
    color: #6C96A2;
}

.business_box .title_medium {
    font-weight: bold;
    color: #6C96A2;
    padding-top: 0.7rem;
}

.business_box .text_box {
    padding-left: 3.4rem;
}

@media only screen and (max-width: 896px) {
    .business_box .text_box {
        padding-left: 0;
        padding-top: 3.4rem;
    }
}

.business_box .text {
    padding-top: 1.4rem;
}

.price_service {
    padding-top: 10.0rem;
}

.price_service {
    padding-top: 10.0rem;
}

.price_service .inner_780 .text {
    padding-bottom: 6.0rem;
}

/* business_detail tabel */

.table_wrap table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 5.0rem;
}

.table_wrap tr th {
    vertical-align: middle;
    font-size: 1.4rem;
    padding: 2.0rem;
    line-height: 1.6;
    font-size: 1.6rem;
    border-bottom: 1px solid #454545;
    font-weight: normal;
}

.table_wrap tr td {
    vertical-align: middle;
    font-size: 1.4rem;
    padding: 2.0rem;
    line-height: 1.6;
    font-size: 1.6rem;
    border-bottom: 1px solid #454545;
    border-right: 1px solid #454545;
}

.table_wrap thead {
    text-align: center;
}

.table_wrap tbody tr td {
    width: 15%;
    text-align: center;
}

@media (max-width: 896px) {
    .table_wrap {
        border-spacing: 5px;
    }
}

.price_service .sp_scroll {
    display: none;
}

@media (max-width: 896px) {
    .table_wrap {
        overflow-x: scroll;
    }

    .table_wrap tr {
        white-space: nowrap;
    }

    .price_service .sp_scroll {
        display: block;
    }
}

.table_wrap .b_left {
    border-left: 1px solid #454545;
}

/*
contact******************************/

.contact {
    padding: 9rem 0 10rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
}

.contact .title_large {
    font-size: 3.2rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
}

.contact_form {
    width: 803px;
    margin: 0 auto;
}

@media only screen and (max-width: 992px) {
    .contact_form {
        width: 100%;
    }
}

.contact_tel {
    width: 803px;
    margin: 0 auto;
}

@media only screen and (max-width: 992px) {
    .contact_tel {
        width: 100%;
    }
}

.contact .text {
    font-size: 1.6rem;
}

.contact_inner {
    padding: 4.5rem 0 9.0rem;
    width: 680px;
    margin: 0 auto;
}

@media only screen and (max-width: 896px) {
    .contact_inner {
        width: 100%;
    }
}

.req::after {
    content: "";
    background: url(../images/required_icon.png) no-repeat;
    position: absolute;
    width: 18px;
    height: 18px;
    float: right;
    margin-left: 2px;
    margin-top: 6px;
}

@media only screen and (max-width: 896px) {
    .req::after {
        margin-top: -2px;
    }
}

.btn_contact_tel {
    text-align: center;
    padding-top: 6.0rem;
}

form#mail_form input[type="button"] {
    -webkit-appearance: none;
    border-radius: 0;
}

textarea::placeholder {
    color: #808080;
}

/* IE */

textarea:-ms-input-placeholder {
    color: #808080;
}

/* Edge */

textarea::-ms-input-placeholder {
    color: #808080;
}

/*
thanks******************************/

.contact_thanks {
    padding: 9rem 0 10rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
}

.thanks {
    text-align: center;
    line-height: 2.0;
}

.thanks .title_small {
    font-weight: bold;
}

/*
404 Not Found******************************/

.not_found {
    padding: 9rem 0 10rem;
    background: url(../images/bg_news_cont.png) repeat;
    background-size: contain;
    width: 100%;
    height: auto;
    text-align: center;
}

.not_found_text {
    line-height: 2.0;
    padding-top: 10.0rem;
}

.not_found a {
    text-decoration: underline;
}

/*
パンくずリスト******************************/

.breadcrumbs {
    font-size: 1.6rem;
    line-height: 1;
    padding: 1.3rem 0 0 1.7rem;
}

.breadcrumbs img {
    margin-right: 5px;
    vertical-align: bottom;
}

/* .breadcrumbs_top {
    background: url(../images/icon_home.png) center center no-repeat;
    width: 21px;
    height: 188px;
    text-indent: -9999px;
    border: none;
    cursor: pointer;
} */

/* .breadcrumbs .post {
    color: #D59D22;
}

.breadcrumbs .archive {
    color: #D59D22;
}

.breadcrumbs .taxonomy {
    color: #D59D22;
}

.breadcrumbs .category {
    color: #D59D22;
} */

/*
footer******************************/

.footer {
    background: url(../images/bg_footer.png) repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    color: #fff;
    padding: 3.2rem 0 2.4rem;
    text-align: center;
}

.footer .logo_ja {
    font-size: 2.0rem;
    font-weight: bold;
    padding-bottom: 2.4rem;
}

.footer address {
    font-style: normal;
}

.footer .sns_wrap {
    padding-top: 2.4rem;
}

.footer .sns_wrap ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .sns_wrap ul li {
    padding: 0 18px;
}

.footer .icon_twitter {
    display: block;
    height: 2.3rem;
}

.footer hr {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
    height: 1px;
    background-color: #fff;
    border: none;
}

.copyright {
    font-size: 1.0rem;
    padding-top: 0.5rem;
    letter-spacing: 3px;
}