#page {
    -ms-overflow-x: hidden;
    overflow-x: hidden;
    width: 100%;
    opacity: 0;
}

#loading-wrapper {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10002;
}

#loading-wrapper .loading-el {
    position: fixed;
    width: calc(100% / 4);
    height: 100%;
    z-index: 10002;
    background: #111716;
    top: 0;
}

#loading-wrapper .loading-el#loading-1 {
    left: 0;
}

#loading-wrapper .loading-el#loading-2 {
    left: 25%;
    background: #192120;
}

#loading-wrapper .loading-el#loading-3 {
    left: 50%;
    background: #1b2423;
}

#loading-wrapper .loading-el#loading-4 {
    left: 75%;
    background: #263332;
}


#header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 10;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    font-weight: bold;
}

#header.headroom--top .top {
    display: block;
}

#header .fixed {
    display: none;
}

#header.headroom--not-top {
    background-color: #fff !important;
}

#header.headroom--not-top #gnav ul li a,
#header.headroom--not-top #header--sns ul li a {
    color: #111 !important;
}

#header.headroom--not-top #gnav ul li a span:before {
    background-color: #111 !important;
}

#header.headroom--not-top #header--contact a {
    border: 1px solid #111 !important;
    color: #111 !important;
}

#header.headroom--not-top #header--contact a:hover {
    color: #fff !important;
    background-color: #49A052 !important;
    border: 1px solid #49A052 !important;
}

#header.headroom--not-top .top {
    display: none;
}

#header.headroom--not-top .fixed {
    display: block;
}

#header #header--bg {
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    padding: 20px 30px;
}

@media (max-width: 1280px) {
    h1#logo {
        width: 80%;
        padding: 0;
    }
}

@media (max-width: 991px) {
    #header #header--bg {
        padding: 17px 20px
    }

    h1#logo {
        width: 50%;
        padding: 0;
    }

    h1#logo img {
        width: 100%;
    }
}

@media (max-width: 575px) {
    #header #header--bg {
        padding: 8px 20px 8px 2px;
    }
}

#header #gnav {
    min-width: calc(100% - (290px + 300px));
    -ms-flex: 0 0 calc(100% - (290px + 300px));
    -webkit-box-flex: 0;
    flex: 0 0 calc(100% - (290px + 300px));
}

@media (max-width: 1299px) {
    #header #gnav {
        min-width: calc(100% - (270px + 300px));
        -ms-flex: 0 0 calc(100% - (270px + 300px));
        -webkit-box-flex: 0;
        flex: 0 0 calc(100% - (270px + 300px));
    }
}

@media (max-width: 1199px) {
    #header #gnav {
        min-width: calc(100% - (130px + 300px));
        -ms-flex: 0 0 calc(100% - (130px + 300px));
        -webkit-box-flex: 0;
        flex: 0 0 calc(100% - (130px + 300px))
    }
}

#header #header--logo {
    text-align: center;
    min-width: 300px;
    -ms-flex: 0 0 300px;
    -webkit-box-flex: 0;
    flex: 0 0 300px;
}

#header #header--logo h1 {
    margin: 0;
    font-size: 1rem;
    line-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#header #header--logo h1 svg {
    fill: #fff;
    width: 100px;
}

@media (max-width: 991px) {
    #header #header--logo h1 svg {
        width: 80px
    }
}

@media (max-width: 575px) {
    #header #header--logo h1 svg {
        width: 60px
    }
}

#header #header--logo h1 span {
    display: block;
    color: #fff;
    font-size: .85rem;
    padding: 0 25px;
}

#header #header--contact {
    min-width: 290px;
    -ms-flex: 0 0 290px;
    -webkit-box-flex: 0;
    flex: 0 0 290px;
}

@media (max-width: 1299px) {
    #header #header--contact {
        min-width: 270px;
        -ms-flex: 0 0 270px;
        -webkit-box-flex: 0;
        flex: 0 0 270px
    }
}

@media (max-width: 1199px) {
    #header #header--contact {
        min-width: 130px;
        -ms-flex: 0 0 130px;
        -webkit-box-flex: 0;
        flex: 0 0 130px
    }
}

@media (max-width: 991px) {
    #header #header--contact {
        display: none;
    }
}

#header #header--contact ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media (max-width: 1199px) {
    #header #header--contact ul li:first-child {
        display: none;
    }
}

#header #header--contact ul li a {
    font-size: .95rem;
    color: #fff;
    padding: 10px 15px;
    margin: 0 10px;
    border: 1px solid #fff;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

#header #header--contact ul li a:active,
#header #header--contact ul li a:focus,
#header #header--contact ul li a:hover {
    text-decoration: none;
    background-color: #fff;
    color: #111;
}

@media (max-width: 1299px) {
    #header #header--contact ul li a {
        padding: 10px 10px
    }
}

#dropdown {
    position: relative;
}

.dropdown {
    width: 260px;
    position: absolute;
    left: 0;
    top: 0;
    display: none;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    color: #fff;
    margin-left: -130px;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
}

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

.dropdown.active {
    pointer-events: all;
    display: block;
    z-index: 1;
    -webkit-animation: dropdown .6s cubic-bezier(.165, .84, .44, 1) 0s;
    animation: dropdown .6s cubic-bezier(.165, .84, .44, 1) 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.dropdown ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropdown a {
    background-color: #fbfff5;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    color: #111;
    padding: 15px 0;
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: .95rem;
}

.dropdown a:active,
.dropdown a:focus,
.dropdown a:hover {
    background-color: #e5e5ef;
    text-decoration: none;
}

@-webkit-keyframes dropdown {
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes dropdown {
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

#gnav {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

@media (max-width: 991px) {
    #gnav {
        display: none;
    }
}

#gnav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

#gnav ul li a {
    display: block;
    padding: 20px 20px;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 1px;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-property: color;
    transition-property: color;
}

#gnav ul li a span {
    position: relative;
}

#gnav ul li a span:before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    opacity: 0;
    -webkit-transition: all .8s cubic-bezier(.19, 1, .22, 1);
    transition: all .8s cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
}


#gnav ul li a.dropdown-trigger span:before {
    content: none
}

#gnav ul li a.dropdown-trigger span:after {
    content: "\f107";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    position: absolute;
    bottom: -25px;
    left: 50%;
    font-size: 1.2rem;
    margin-left: -.6rem;
    -webkit-transition: all .8s cubic-bezier(.19, 1, .22, 1);
    transition: all .8s cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
}

#gnav ul li a.dropdown-trigger.active,
#gnav ul li a.dropdown-trigger:active,
#gnav ul li a.dropdown-trigger:focus,
#gnav ul li a.dropdown-trigger:hover {
    text-decoration: none;
}

#gnav ul li a.dropdown-trigger.active span:after,
#gnav ul li a.dropdown-trigger:active span:after,
#gnav ul li a.dropdown-trigger:focus span:after,
#gnav ul li a.dropdown-trigger:hover span:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

#gnav ul li a:active,
#gnav ul li a:focus,
#gnav ul li a:hover {
    text-decoration: none;
}

#gnav ul li a:active span:before,
#gnav ul li a:focus span:before,
#gnav ul li a:hover span:before {
    opacity: 1;
    height: 1px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.gnavi__list {
    position: relative;
}

#gnav ul .dropdown__lists {
    display: none;
    width: 150px;
    position: absolute;
    top: 55px;
    left: 0;
    padding: 0;
    flex-direction: column;
}

#gnav ul .gnavi__list:hover .dropdown__lists,
#gnav ul .gnavi__list:active .dropdown__lists {
    display: block;
}

#gnav ul .dropdown__list {
    background-color: rgba(73, 160, 82, 0.8);
    transition: all .3s;
    position: relative;
}

#gnav ul .dropdown__list a {
    padding: 20px 10px !important;
}

#header.headroom--not-top #gnav ul .dropdown__list a {
    color: #fff !important;
}


#gnav ul .dropdown__list:not(:first-child)::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: rgba(73, 160, 82, 0.8);
    position: absolute;
    top: 0;
    left: 0;
}

#gnav ul .dropdown__list:hover,
#gnav ul .dropdown__list:active {
    background-color: #268148;
}

#gnav ul .dropdown__list:hover {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    padding: 15px 5px;
}

#gnav ul .dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}

@media (max-width: 1299px) {
    #gnav ul li a {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 1199px) {
    #gnav ul li a {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 1099px) {
    #gnav ul li a {
        padding-left: 4px;
        padding-right: 10px;
    }


    header {
        width: 80%;
        margin: 0 auto;
    }

    .globalnav-wrap {
        font-size: 16px;
        color: #fff;
        background: #333;
        display: flex;
        justify-content: space-between;
    }

    .globalnav .dropdown-btn {
        position: relative;
        display: inline-block;
        padding: 20px;
        cursor: pointer;
    }

    .globalnav:hover {
        background: #666;
    }

    .dropdown {
        z-index: 1000;
        background: #666;
        position: absolute;
        left: 0;
        top: 55px;
        width: 200px;
        padding: 10px 20px;
        display: none;
    }

    .dropdownli {
        display: inline-block;
        margin: 10px 0;
    }

    .dropdown a {
        color: #fff;
    }

    .nav-button-wrap,
    .open {
        display: block;
    }

    .close {
        display: block;
    }

}

@media screen and (max-width: 768px) {
    header {
        position: relative;
        width: 100%;
    }

    .nav-button-wrap {
        display: block;
        position: absolute;
        right: 0px;
        top: 0px;
        z-index: 1000;
        cursor: pointer;
        padding: 15px;
        height: 53px;
    }

    .globalnav {
        display: none;
    }

    .close {
        display: none;
    }

    .globalnav-wrap.open .globalnav {
        display: block;
        padding: 40px 20px 0;
        position: fixed;
        left: 0;
        top: 0;
        background-color: rgba(0, 0, 0, 0.9);
        width: 100%;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .globalnav-wrap.open .globalnavli {
        display: block;
    }

    .globalnav-wrap.open .globalnavli:hover {
        background: transparent;
    }


    .dropdown {
        display: block;
        position: static;
        background: transparent;
    }


    .nav-button,
    .nav-button span {
        display: inline-block;
        transition: all 0.3s;
    }

    .nav-button {
        z-index: 20;
        width: 25px;
        height: 19px;
        position: relative;
    }

    .nav-button span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff;
        border-radius: 4px;
    }

    .nav-button span:nth-of-type(1) {
        top: 0;
    }

    .nav-button span:nth-of-type(2) {
        top: 8px;
    }

    .nav-button span:nth-of-type(3) {
        bottom: 0;
    }

    .active .nav-button span:nth-of-type(1) {
        transform: translateY(10px) rotate(-45deg);
    }

    .active .nav-button span:nth-of-type(2) {
        opacity: 0;
    }

    .active .nav-button span:nth-of-type(3) {
        transform: translateY(-6px) rotate(45deg);
    }
}

#footer .ft-top {
    padding: 100px 0 60px;
    background-color: #11463b;
}

.sns {
    padding: 80px 0;
    background-color: #eeefeb;
    justify-content: center;
}

.timeline {
    width: 40%;
}


@media (max-width: 767px) {
    #footer .ft-top {
        padding: 50px 0;
    }

    .sns {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .timeline {
        width: 80%;
    }

    .sns iframe {
        margin-bottom: 40px !important;
    }
}

@media (max-width: 575px) {
    #footer .ft-top {
        padding: 25px 0;
    }
}

#footer .ft-top .wrap-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (max-width: 575px) {
    #footer .ft-top .wrap-l {
        display: block;
    }
}

#footer .ft-top .wrap-l .inner-l {
    max-width: 150px;
    margin: 0 auto
}

@media (max-width: 991px) {
    #footer .ft-top .wrap-l .inner-l {
        margin: 0 100px 0;
    }
}

@media (max-width: 767px) {
    #footer .ft-top .wrap-l .inner-l {
        margin: 0 auto;
    }
}

@media (max-width: 575px) {
    #footer .ft-top .wrap-l .inner-l {
        margin: 0 auto 20px;
    }
}

#footer .ft-top .wrap-l .inner-l svg {
    fill: #fff;
    max-width: 120px;
    display: block;
    margin: 0 auto
}

#footer .ft-top .wrap-l .inner-l svg path {
    fill: #fff;
}

@media (max-width: 575px) {
    #footer .ft-top .wrap-l .inner-l svg {
        max-width: 90px;
        display: block;
        margin: 0 auto
    }
}

#footer .ft-top .wrap-l .inner-l p {
    font-size: .9rem;
    text-align: center;
}

#footer .ft-top .wrap-l .inner-r h2 {
    font-size: 1rem;
}

#footer .ft-top .wrap-l .inner-r a.tellink {
    font-weight: 700;
    display: block;
    margin: 0 0 20px;
    font-size: 1.2em;
    letter-spacing: 1px;
}

#footer .ft-top .wrap-l .inner-r a.tellink:hover {
    color: #fff;
}

@media (max-width: 575px) {
    #footer .ft-top .wrap-l .inner-r {
        text-align: center;
    }
}

#footer .ft-top .wrap-r {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media (max-width: 991px) {
    #footer .ft-top .wrap-r {
        display: none;
    }
}

#footer .ft-top .wrap-r>div {
    width: 50%;
}

#footer .ft-top .wrap-r .ft-nav {
    padding-left: 0;
    margin-bottom: 0;
}

#footer .ft-top .wrap-r .ft-nav li {
    list-style-type: none;
    margin-bottom: 10px;
}

#footer .ft-top .wrap-r .ft-nav li .ft-nav {
    padding-top: 10px;
}

#footer .ft-top .wrap-r .ft-nav li .ft-nav li {
    margin-bottom: 0;
}

#footer #copyright {
    font-size: 12px;
    text-align: center;
    line-height: 20px;
    color: #fff;
    background-color: #09231e;
    padding: 20px 0
}

#footer #copyright .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#pagetop {
    overflow: hidden;
    position: fixed;
    right: 35px;
    bottom: 40px;
    display: inline;
    padding-right: 10px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: .9rem;
    font-weight: 700;
    z-index: 1000;
    width: 40px;
    padding-top: 50px;
    color: #999;
    opacity: 0;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

@media (max-width: 767px) {
    #pagetop {
        right: 15px;
        bottom: 20px;
    }
}

@media (max-width: 767px) {
    #pagetop {
        right: 5px;
        bottom: 15px;
    }
}

#pagetop a {
    display: block;
    color: #999;
}

#pagetop a:active,
#pagetop a:focus,
#pagetop a:hover {
    text-decoration: none;
}

#pagetop span {
    display: block;
    position: absolute;
    left: -15px;
    bottom: 0;
    height: 55px;
    width: 40px;
    overflow: hidden;
}

#pagetop span:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    height: 40px;
    width: 2px;
    margin-left: -1px;
    background: #999;
    -webkit-animation: scroll 1.5s cubic-bezier(.77, 0, .175, 1) infinite .2s;
    animation: scroll 1.5s cubic-bezier(.77, 0, .175, 1) infinite .2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

#pagetop.headroom--not-top {
    opacity: 1;
}

@-webkit-keyframes scroll {
    0 {
        top: 100%;
    }

    100% {
        top: -100%;
    }
}

@keyframes scroll {
    0 {
        top: 100%;
    }

    100% {
        top: -100%;
    }
}

#fv--images {
    position: relative;
    overflow: hidden;
    z-index: 1;
    height: 80vh;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

@media (max-width: 575px) {
    #fv--images {
        height: 600px !important;
    }
}

@media (max-width: 320px) {
    #fv--images {
        height: 500px !important;
    }
}

#fv--images #fv--image--wrapper {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
}

#fv--images .fv--image {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    position: relative;
    z-index: 1;
    background-color: #333;
}

#fv--images .fv--image .fv--bg {
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-size: cover;
    background-position: center left;
    -webkit-transition: all 1s cubic-bezier(.165, .84, .44, 1);
    transition: all 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
}

#fv--images .fv--image .fv--bg:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 55vh);
    z-index: -1;
    -webkit-transition: all .4s cubic-bezier(.165, .84, .44, 1);
    transition: all .4s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

#fv--images .fv--image:active,
#fv--images .fv--image:focus,
#fv--images .fv--image:hover {
    text-decoration: none;
}

#fv--images .fv--image:active .fv--bg,
#fv--images .fv--image:focus .fv--bg,
#fv--images .fv--image:hover .fv--bg {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

#fv--images .fv--image .fv--text>span {
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: 2px;
    position: relative;
    z-index: 3;
    color: #fff !important;
    text-shadow: 0.075em 0.08em 0.1em rgba(0, 0, 0, 1);
}

@media (max-width: 767px) {
    #fv--images .fv--image .fv--text>span {
        font-size: 2rem
    }
}

@media (max-width: 480px) {
    #fv--images .fv--image .fv--text>span {
        letter-spacing: 1px
    }
}

@media (max-width: 400px) {
    #fv--images .fv--image .fv--text>span {
        letter-spacing: 0;
        font-size: 1.6rem
    }
}

#fv--images .fv--image .fv--text>span>span {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 15px;
    color: #fff !important;
}

@media (max-width: 767px) {
    #fv--images .fv--image .fv--text>span>span {
        font-size: 1.2rem
    }
}

@media (max-width: 575px) {
    #fv--images .fv--image .fv--text>span>span {
        font-size: 1rem
    }
}

@media (max-width: 480px) {
    #fv--images .fv--image .fv--text>span>span {
        font-size: .9rem;
        margin-bottom: 10px
    }
}

@media (max-width: 400px) {
    #fv--images .fv--image .fv--text>span>span {
        font-size: .8rem
    }
}

@media (max-width: 380px) {
    #fv--images .fv--image .fv--text>span>span {
        font-size: .7rem;
        margin-bottom: 10px
    }
}

#fv--images #fv--left {
    width: 50%;
    -ms-flex: 1 1 50%;
    -webkit-box-flex: 1;
    flex: 1 1 50%;
    z-index: 0
}

#fv--images #fv--left .fv--bg {
    background-image: url(img/fv-item01.jpg);
}

@media (max-width: 1499px) {
    #fv--images #fv--left .fv--bg {
        background-image: url(img/fv-item01-m.jpg);
    }
}

#fv--images #fv--left .fv--bg:after,
#fv--images #fv--left .fv--bg:before {
    content: "";
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all .5s cubic-bezier(.47, 0, .745, .715);
    transition: all .5s cubic-bezier(.47, 0, .745, .715);
    -webkit-transition-timing-function: cubic-bezier(.47, 0, .745, .715);
    transition-timing-function: cubic-bezier(.47, 0, .745, .715);
}

#fv--images #fv--left .fv--bg:before {
    left: 0;
}

#fv--images #fv--left .fv--bg:after {
    right: 0;
}

#fv--images #fv--left .fv--text {
    position: relative;
    z-index: 2;
    line-height: 1.8em;
}

#fv--images #fv--left .fv--text span {
    -webkit-transition: all .4s cubic-bezier(.77, 0, .175, 1);
    transition: all .4s cubic-bezier(.77, 0, .175, 1);
    -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
    transition-timing-function: cubic-bezier(.77, 0, .175, 1);
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition-property: transform, opacity;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform
}

#fv--images #fv--left.active .fv--bg:before {
    top: 100%;
    z-index: -1
}

#fv--images #fv--left.active .fv--bg:after {
    top: 100%;
    z-index: -1;
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

#fv--images #fv--left.active .fv--text span {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

#fv--images #fv--right {
    width: 50%;
    -ms-flex: 1 1 50%;
    -webkit-box-flex: 1;
    flex: 1 1 50%;
    z-index: 0
}

#fv--images #fv--right .fv--bg {
    background-image: url(img/fv-item02.jpg);
}

@media (max-width: 1499px) {
    #fv--images #fv--right .fv--bg {
        background-image: url(img/fv-item02-m.jpg);
    }
}

#fv--images #fv--right .fv--bg:after,
#fv--images #fv--right .fv--bg:before {
    content: "";
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all .5s cubic-bezier(.47, 0, .745, .715);
    transition: all .5s cubic-bezier(.47, 0, .745, .715);
    -webkit-transition-timing-function: cubic-bezier(.47, 0, .745, .715);
    transition-timing-function: cubic-bezier(.47, 0, .745, .715);
}

#fv--images #fv--right .fv--bg:before {
    left: 0;
}

#fv--images #fv--right .fv--bg:after {
    right: 0;
}

#fv--images #fv--right .fv--text {
    position: relative;
    z-index: 2;
    line-height: 1.8em;
}

#fv--images #fv--right .fv--text span {
    -webkit-transition: all .4s cubic-bezier(.77, 0, .175, 1);
    transition: all .4s cubic-bezier(.77, 0, .175, 1);
    -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
    transition-timing-function: cubic-bezier(.77, 0, .175, 1);
    -webkit-transition-property: transform, opacity;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    /*opacity: 0;*/
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
}

#fv--images #fv--right.active .fv--bg:before {
    top: 100%;
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}

#fv--images #fv--right.active .fv--bg:after {
    top: 100%;
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
}

#fv--images #fv--right.active .fv--text span {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

#main--image {
    width: 100%;
    background-size: cover;
    background-position: center center;
}

#main--image.main-company {
    background-image: url(img/main-company.jpg);
}

#main--image.main-business {
    background-image: url(img/main-business.jpg);
}

#main--image.main-movie {
    background-image: url(img/main-movie.jpg);
}

#main--image.main-privacy {
    background-image: url(img/main-privacy.jpg);
}

#main--image.main-faq {
    background-image: url(img/main-faq.jpg);
}

#main--image.main-news {
    background-image: url(img/main-news.jpg);
}

#main--image.main-yamauchinews {
    background-image: url(img/main-yamauchi-news.jpg);
}

#main--image.main-contact {
    background-image: url(img/main-contact.jpg);
}

#main--image.main-document {
    background-image: url(img/main-document.jpg);
}

#main--image.main-mailmagazine {
    background-image: url(img/main-magazine.jpg);
}

#main--image.main-404 {
    background-image: url(img/main-404.jpg);
}

#main--image.main-zaikohin {
    background-image: url(img/main-zaikohin.jpg);
}

#main--image.main-densetushizai {
    background-image: url(img/main-densetushizai.jpg);
}

#main--image.main-genbakanamono {
    background-image: url(img/main-genbakanamono.jpg);
}


#main--image h2 {
    padding-top: 280px;
    padding-bottom: 80px;
    color: #fff;
    font-size: 3rem;
    letter-spacing: 2px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    #main--image h2 {
        padding-top: 220px;
        padding-bottom: 60px;
        font-size: 2.4rem
    }
}

@media (max-width: 575px) {
    #main--image h2 {
        padding-top: 150px;
        padding-bottom: 40px;
        font-size: 1.8rem
    }
}

#main--image h2 span {
    display: block;
    font-size: 1rem;
}

#main--image h2.contact-ttl {
    padding-top: 120px;
    padding-bottom: 60px;
}

.content-inner-x {
    padding-left: 60px;
    padding-right: 60px;
}

@media (max-width: 991px) {
    .content-inner-x {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (max-width: 767px) {
    .content-inner-x {
        padding-left: 10px;
        padding-right: 10px
    }
}

.content-inner-y {
    padding-top: 80px;
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    .content-inner-y {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

@media (max-width: 767px) {
    .content-inner-y {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.content-inner-t {
    padding-top: 60px;
}

@media (max-width: 991px) {
    .content-inner-t {
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .content-inner-t {
        padding-top: 30px
    }
}

.content-inner-b {
    padding-bottom: 60px;
}

@media (max-width: 991px) {
    .content-inner-b {
        padding-bottom: 40px
    }
}

@media (max-width: 767px) {
    .content-inner-b {
        padding-bottom: 30px
    }
}

.content-inner-lg-y {
    padding-top: 80px;
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    .content-inner-lg-y {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

@media (max-width: 767px) {
    .content-inner-lg-y {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.content-inner-lg-t {
    padding-top: 80px;
}

@media (max-width: 991px) {
    .content-inner-lg-t {
        padding-top: 60px
    }
}

@media (max-width: 767px) {
    .content-inner-lg-t {
        padding-top: 40px
    }
}

.content-inner-lg-b {
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    .content-inner-lg-b {
        padding-bottom: 60px
    }
}

@media (max-width: 767px) {
    .content-inner-lg-b {
        padding-bottom: 40px
    }
}

.text-vertical-rl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline;
    vertical-align: top
}

@media (max-width: 991px) {
    .text-vertical-rl {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        -webkit-writing-mode: inherit;
        display: block;
    }
}

.text-vertical-lr {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    display: inline;
    vertical-align: top
}

@media (max-width: 991px) {
    .text-vertical-lr {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        -webkit-writing-mode: inherit;
        display: block;
    }
}

.contact--complete {
    padding-top: 80px;
}

.works-wrap .card-works {
    position: relative;
}

.works-wrap .card-works .badge-wrap {
    position: absolute;
    bottom: 0
}

.works-details .date {
    margin-top: 5px;
}

.works-details h3 a {
    color: #111;
    font-size: 1rem;
}

.title {
    margin-bottom: 10px;
}

.title span {
    width: 30%;
}

.title a {
    color: #111;
    font-size: 1rem;
    border: solid 1px #111;
    padding: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.title img {
    width: 120%;
}

#aside--contact .bg {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(img/top-contact.jpg);
    padding: 120px 0;
}


#aside--contact .bg .contact-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}


#aside--contact .bg .contact-wrap .wrap-l {
    width: 50%;
    padding-right: 10px;
}

#aside--contact .bg .contact-wrap .wrap-r {
    width: 50%;
}

#aside--contact .bg .contact-wrap .wrap-l h3 {
    font-size: 2.6rem;
    letter-spacing: 2px;
}

#aside--contact .bg .contact-wrap .wrap-l h3 span {
    display: block;
    font-size: 1rem;
    margin-top: 5px;
}

#aside--contact .bg .contact-wrap .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 20px 10px 20px;
}

#aside--contact .bg .contact-wrap .inner .inner-l,
#aside--contact .bg .contact-wrap .inner .inner-r {
    flex: 1;
}

#aside--contact .bg .contact-wrap .inner .inner-l div,
#aside--contact .bg .contact-wrap .inner .inner-r div {
    flex: 1;
}

#aside--contact .bg .contact-wrap .inner .inner-l a,
#aside--contact .bg .contact-wrap .inner .inner-r a {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-right: 20px;
}

#aside--contact .bg .contact-wrap .inner .inner-l a:hover {
    color: #fff;
}

@media (max-width: 991px) {
    #aside--contact .bg {
        padding: 80px 0;
    }

    #aside--contact .btn.btn-primary,
    input[type=submit] {
        padding: 12px;
    }

    #aside--contact .bg .contact-wrap .wrap-l {
        padding-right: 15px;
    }

    #aside--contact .bg .contact-wrap .inner .inner-l a,
    #aside--contact .bg .contact-wrap .inner .inner-r a {
        font-size: 1.1rem;
        margin-right: 20px;
    }
}

@media (max-width: 767px) {
    #aside--contact .bg {
        padding: 50px 0;
    }

    #aside--contact .bg .contact-wrap {
        display: block;
    }

    #aside--contact .bg .contact-wrap .wrap-l {
        width: 100%;
        margin-bottom: 20px
    }
}

@media (max-width: 575px) {

    #aside--contact .bg {
        padding: 30px 0;
    }

    #aside--contact .bg .contact-wrap .wrap-l h3 {
        font-size: 2rem
    }

    #aside--contact .bg .contact-wrap .wrap-r {
        width: 100%;
    }

    #aside--contact .bg .contact-wrap .inner {
        padding: 0;
        flex-direction: column;
    }

    #aside--contact .bg .contact-wrap .inner .inner-l a,
    #aside--contact .bg .contact-wrap .inner .inner-r a {
        margin-right: 15px;
        margin-bottom: 10px;
    }

    #aside--contact .btn.btn-primary,
    input[type=submit] {
        padding: 15px;
    }
}

#index {
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
    #index {
        top: 0;
        margin-bottom: 0;
    }
}

@media (max-width: 991px) {
    #index #index--news {
        background-color: #fbfff5
    }
}

#index #index--news .info-wrap {
    padding: 25px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#index #index--news .info-wrap h3 {
    margin-bottom: 0;
}

.index--news-inner {
    padding: 80px 0;
}

.news-list,
.news-list:before,
.news-list:after {
    font-family: 'FontAwesome', sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.news-list {
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.6);
    font-family: source-han-serif-japanese, "游明朝体", YuMincho, "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.news-list input {
    display: none;
}

.news-list #news_content1,
.news-list #news_content2 {
    display: none;
    border-top: 1px solid #dddddd;
}

.news-list label.cp_tabitem {
    display: inline-block;
    margin: 0 0 -1px;
    padding: 15px 25px;
    text-align: center;
    color: #bbbbbb;
    border: 1px solid transparent;
}

.news-list label.cp_tabitem:before {
    margin-right: 10px;
}

.news-list label.cp_tabitem[for*='1']:before {
    content: '\f05a';
    font-family: "Font Awesome 5 free";
    font-weight: 900;
}

.news-list label.cp_tabitem[for*='2']:before {
    content: '\f518';
    font-family: "Font Awesome 5 free";
    font-weight: 900;
}

.news-list label.cp_tabitem:hover {
    cursor: pointer;
    color: #888888;
}

.news-list input:checked+label {
    color: #555555;
    border: 1px solid #dddddd;
    border-bottom: 1px solid #ffffff;
}


.news-list input:checked+label[for*='1'] {
    border-top: 5px solid #23998D;
}

.news-list input:checked+label[for*='2'] {
    border-top: 5px solid #268148;
}

.news-scroll {
    height: 250px;
    overflow-y: scroll;
}

.news-scroll::-webkit-scrollbar {
    width: 8px;
}

.news-scroll::-webkit-scrollbar-track {
    background-color: #ccc;
}

.news-scroll::-webkit-scrollbar-thumb {
    background-color: #17585d;
}

ul.newslist-item {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    border-bottom: 1px dotted #999;
    padding: 10px 0;
}

ul.newslist-item li {
    display: block;
    margin: 5px;
}

ul.newslist-item li:nth-child(-n + 3) {
    flex-basis: 130px;
}

#news_content1 .newslist-item li:nth-child(2) {
    color: #fff;
    font-size: 12px;
    padding: 5px 10px;
    text-align: center;
    background-color: #23998D;
}

#news_content2 .newslist-item li:nth-child(2) {
    color: #fff;
    font-size: 12px;
    padding: 5px 10px;
    text-align: center;
    background-color: #268148;
}

ul.newslist-item li:nth-child(3) {
    flex-basis: auto;
}

.newslist-item li a {
    color: #111;
}

.news-list #news1:checked~#news_content1,
.news-list #news2:checked~#news_content2 {
    display: block;
}

.news-list .news-listin {
    overflow-x: hidden;
    margin: 0 auto;
    color: #111;
    padding: 20px 40px 40px 40px;
}

.news-list .news-listin .cp_actab {
    padding: 20px 0;
    border-bottom: 1px dotted #cccccc;
}

.news-list .news-listin label {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px 10px 0 48px;
    cursor: pointer;
}

.news-list .news-listin .cp_plus {
    font-size: 2em;
    line-height: 100%;
    position: absolute;
    z-index: 5;
    margin-top: 3px;
    margin-left: 10px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
}

.news-list .news-listin .cp_actab-content {
    position: relative;
    overflow: hidden;
    height: 0;
    margin: 0 10px 0 48px;
    padding: 14px 0;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    opacity: 0;
}

.news-list .news-listin .cp_actab input[type=checkbox]:checked~.cp_actab-content {
    height: auto;
    opacity: 1;
}

.news-list .news-listin .cp_actab input[type=checkbox]:checked~.cp_plus {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .news-list label.cp_tabitem {
        font-size: 1em;
    }

    label:before {
        font-size: 18px;
        margin: 0;
    }

    .news-list .news-listin {
        padding: 10px;
    }
}


@media screen and (max-width: 400px) {
    .news-list label.cp_tabitem {}

    .news-list label.cp_tabitem:before {
        margin-right: 5px;
    }
}

/*----about----*/

#index #index--about .inner-title {
    padding: 0 20px 20px;
}

#index #index--about .inner-title h4 {
    font-weight: bold;
    line-height: 2rem;
}

#index #index--about p {
    line-height: 2rem;
}

#index #index--about .img-wrap {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#index #index--about .img-wrap .wrap-l {
    margin-right: 20px;
}

@media (max-width: 991px) {
    #index #index--about .img-wrap {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 40px 0 0;
    }
}

#index #index--service .service-wrap {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 100%;
    padding: 20px;
}

@media (max-width: 575px) {
    #index #index--service .service-wrap {
        padding: 0 20px
    }
}

#index #index--service .service-wrap.service01 {
    background-image: url(img/top-service01.jpg);
}

#index #index--service .service-wrap.service02 {
    background-image: url(img/index/bg-service02.jpg?v=20201130114526);
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
}

@media (max-width: 991px) {
    #index #index--service .service-wrap.service02 {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

#index #index--service .service-wrap.service03 {
    background-image: url(img/top-service02.jpg);
    -webkit-transform: translateY(-120px);
    transform: translateY(-120px);
}

@media (max-width: 991px) {
    #index #index--service .service-wrap.service03 {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

#index #index--service .service-wrap .inner-t {
    text-align: center;
    padding: 40px 0 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #fff;
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-t {
        padding-top: 20px;
    }
}

#index #index--service .service-wrap .inner-t img {
    max-width: 90px;
    margin-bottom: 15px;
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-t img {
        max-width: 70px
    }
}

#index #index--service .service-wrap .inner-t h4 {
    color: #fff;
    letter-spacing: 1px;
    font-size: 1.4rem;
    text-shadow: 0.075em 0.08em 0.1em rgba(0, 0, 0, 1);
}

#index #index--service .service-wrap .inner-t h4 span {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

#index #index--service .service-wrap .inner-b {
    padding-bottom: 40px;
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-b {
        padding-bottom: 20px;
    }
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-b ul {
        padding-left: 20px
    }
}

#index #index--service .service-wrap .inner-b ul li {
    list-style-type: none;
    margin-bottom: 20px;
    position: relative;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    text-shadow: 0.075em 0.08em 0.1em rgba(0, 0, 0, 6);
}

#index #index--service .service-wrap .inner-b ul li:before {
    content: "\f105";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    position: absolute;
    right: 40px;
    -webkit-transition: all .4s cubic-bezier(.19, 1, .22, 1);
    transition: all .4s cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-b ul li:before {
        right: 20px
    }
}

#index #index--service .service-wrap .inner-b ul li:hover:before {
    right: 35px;
}

@media (max-width: 575px) {
    #index #index--service .service-wrap .inner-b ul li:hover:before {
        right: 15px;
    }
}

#index #index--service .service-wrap .inner-b ul li a {
    position: relative;
}

#index #index--service .service-wrap .inner-b ul li a:hover {
    display: block;
    color: #fff;
    text-decoration: underline;
    background-color: rgba(238, 239, 235, 0.5);
}

#index #index--query .flow-bg {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(img/top-faq.jpg);
    height: 320px;
}

#index #index--query .flow-wrap {
    position: absolute;
    width: 360px;
    bottom: 0;
    padding-right: 10px;
}

@media (max-width: 400px) {
    #index #index--query .flow-wrap {
        width: auto;
    }
}

#index #index--query .flow-wrap .title-primary {
    margin-bottom: -10px;
}

#index #index--query .flow-wrap .inner {
    background-color: rgba(255, 255, 255, 0.8);
    padding-top: 50px;
    position: relative;
}

#about #sec01 .concept-wrap ol {
    counter-reset: concept;
    padding-left: 0;
}

#about #sec01 .concept-wrap ol li {
    list-style-type: none;
    counter-increment: concept;
    position: relative;
    padding-left: 40px;
    padding-bottom: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (max-width: 575px) {
    #about #sec01 .concept-wrap ol li {
        display: block;
        padding-left: 30px;
        padding-bottom: 0;
    }
}

#about #sec01 .concept-wrap ol li:before {
    content: counter(concept, decimal-leading-zero) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    font-size: 1.4rem;
}

@media (max-width: 575px) {
    #about #sec01 .concept-wrap ol li:before {
        font-size: 1.2rem;
    }
}

#about #sec01 .concept-wrap ol li strong {
    font-size: 1.3rem;
    letter-spacing: .2rem;
    padding-right: 20px;
    margin-right: 20px;
    position: relative;
}

@media (max-width: 575px) {
    #about #sec01 .concept-wrap ol li strong {
        font-size: 1.2rem;
    }
}

#about #sec01 .concept-wrap ol li strong:before {
    content: "";
    position: absolute;
    border-right: 2px solid #111;
    height: 100%;
    right: 0;
}

@media (max-width: 575px) {
    #about #sec01 .concept-wrap ol li strong:before {
        content: none;
    }
}

@media (max-width: 575px) {
    #about #sec01 .concept-wrap ol li span {
        display: block;
        margin-top: 5px
    }
}

#about #sec02 .ico-wrap img {
    display: block;
    margin: 0 auto 15px;
}

@media (max-width: 767px) {
    #about #sec02 .ico-wrap img {
        width: 80px;
        margin-bottom: 10px;
    }
}

#about #sec02 .ico-wrap h4 {
    text-align: center;
}

@media (max-width: 575px) {
    #about #sec02 .ico-wrap h4 {
        font-size: 1rem;
    }
}

/*--------#company--------*/

#company #sec01 {
    padding-bottom: 80px;
}

.gre_txt {
    line-height: 2.8em;
}

.gre_txt_r {
    text-align: right;
    margin-top: 60px;
}

@media (max-width: 991px) {
    #company #sec01 {
        padding-bottom: 0;
    }
}

#company #sec02 h4 {
    font-size: 1.4rem;
}

#company #sec02 dl dt {
    width: 140px;
}

#company #sec02 dl dd {
    margin-left: 160px;
    border-bottom: solid 1px #ccc;
}

#company #sec02 dl dd .map_btn {
    margin-left: 20px;
}

#company #sec02 dl dd .map_btn .btn.btn-primary,
input[type=submit] {
    padding: 5px;
}


@media (max-width: 767px) {
    #company #sec02 dl dd {
        margin-left: 0;
    }
}

#company .map-wrap {
    position: absolute;
    width: 130%;
    left: 0;
    top: -120px;
}

@media (max-width: 1199px) {
    #company .map-wrap {
        width: 150%
    }
}

@media (max-width: 991px) {
    #company .map-wrap {
        position: relative;
        top: 0;
        width: 100%;
        margin-top: 30px
    }
}

#company #sec03 .area-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#company #sec03 h4 {
    font-size: 1.4rem;
}

@media (max-width: 480px) {
    #company #sec03 .area-wrap {
        display: block;
    }
}

#company #sec03 .area-wrap .wrap-l {
    width: 300px;
    margin-right: 40px;
}

@media (max-width: 575px) {
    #company #sec03 .area-wrap .wrap-l {
        margin-right: 20px
    }
}

@media (max-width: 480px) {
    #company #sec03 .area-wrap .wrap-l {
        width: auto;
        margin-right: 0;
    }
}

#company #sec03 .area-wrap .wrap-l h4 {
    font-size: 1.3rem;
}

@media (max-width: 480px) {
    #company #sec03 .area-wrap .wrap-r img {
        margin: 20px auto 0;
        display: block;
        width: 60%
    }
}

#company #sec03 .timeline {
    max-width: 400px;
    width: 100%;
    margin: 50px auto;
    padding: 0 30px;
}

#company #sec03 .timeline li {
    position: relative;
    list-style: none;
    padding: 0 0 20px 0;
}

#company #sec03 .timeline dl {
    margin: 0 0 20px 3em;
}

.border-line {
    position: absolute;
    left: 0.3em;
    top: 0;
    width: 2px;
    height: 0;
    background: #ccc;
}

#company #sec03 .timeline li::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    background: #666;
    border-radius: 50%;
}

/*--------/#company--------*/

/*--------#business--------*/

#business .pri_ttl {
    font-size: 1.4em;
}

.biz_area {
    margin-bottom: 10px;
    background-color: #eeefeb;
    padding: 40px;
}

.biz_area2 {
    background-color: #fff;
    border: solid 3px #eeefeb;
}

.biz_example {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 60px;
}


.biz_example_rb {
    flex-direction: row-reverse;
}

.biz_example figure {
    display: block;
    width: 40%;
    height: auto;
}

.biz_example img {
    width: 100%;
    box-shadow: 15px 15px 0 rgba(35, 153, 141, 0.7);
}


.biz_example .txt {
    width: 50%;
}

.biz_example .txt p {
    position: relative;
    font-size: 1.6em;
    text-align: center;
}

.biz_example .txt p::before {
    content: attr(data-number);
    display: block;
    margin-bottom: 45px;
    color: #49A052;
    font-size: 1.8em;
}

.biz_example .txt p::after {
    content: '';
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background-color: #49A052;
}

.biz_example .txt span {
    line-height: 2em;
}

@media (max-width: 768px) {
    .biz_example {
        flex-direction: column;
        margin-bottom: 0;
    }

    .biz_example figure {
        margin-bottom: 40px;
    }

    .biz_example .txt {
        padding: 0px;
    }

    .biz_example .txt,
    .biz_example figure {
        width: 100%;
    }
}


/*--------/#business--------*/

/*--------#densetushizai--------*/

#densetushizai #sec01,
#densetushizai #sec02,
#densetushizai #sec03 {
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    #densetushizai #sec01 {
        padding-bottom: 0;
    }
}

.example {
    display: flex;
    align-items: center;
}

.example .txt {
    padding: 30px;
    font-size: 1.1em;
    line-height: 2.8em;
}

.densetsu_intro {
    margin-bottom: 100px;
}

.densetsu_ttl {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
    letter-spacing: 2px;
}

.densetsu_btn {
    display: flex;
    justify-content: space-between;
}

a.btn_ao_b {
    display: flex;
    align-items: center;
    max-width: 305px;
    margin: 0 auto;
    padding: 1rem 2rem;
    border: 1px solid #111;
    text-decoration: none;
    transition: 0.3s;
    color: #111;
    margin-top: 20px;
}

a.btn_ao_b .b__text {
    display: block;
    flex-grow: 1;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-right: 15px;
    font-size: 18px;
}

a.btn_ao_b .b__text::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid #268148;
    border-right: 3px solid #268148;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    transition: 0.3s;
}

a.btn_ao_b:hover {
    background-color: #268148;
    color: #fff;
}

@media (max-width: 1200px) {
    a.btn_ao_b .b__text {
        font-size: 18px;
        padding-right: 20px;
    }

    a.btn_ao_b .b__text::after {
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 768px) {
    .example {
        flex-direction: column;
    }

    .example .txt {
        padding: 0px;
    }

    .densetsu_btn {
        flex-direction: column;
    }
}


@media (max-width: 736px) {
    a.btn_ao_b .b__text {
        font-size: 14px;
        padding-right: 20px;
    }

    a.btn_ao_b .b__text::after {
        width: 10px;
        height: 10px;
    }
}

/*--------/#densetushizai--------*/

/*--------#genbakanamono--------*/

#genbakanamono #sec01,
#genbakanamono #sec02,
#genbakanamono #sec03 {
    padding-bottom: 80px;
}

.kanamono_btn {
    display: flex;
    justify-content: space-around;
}

.kanamono_btn div {
    flex: 1;
}

.kanamono_h80 {
    height: 80%;
}

@media (max-width: 991px) {
    #genbakanamono #sec01 {
        padding-bottom: 0;
    }
}

@media (max-width: 768px) {
    .kanamono_btn {
        flex-direction: column;
    }
}

/*--------/#genbakanamono--------*/

/*--------#zaikohin--------*/
.zaikohin_ttl {
    font-size: 1.2em;
    margin-bottom: 100px;
    text-align: center;
    letter-spacing: 2px;
}

.zaiko_txt {
    text-align: center;
    font-size: 1.4em;
    color: red;
}

.zaikohin_bnr {
    width: 65%;
    margin: 0 auto;
    margin-top: 40px;
}

.head-border {
    display: flex;
    align-items: center;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}

.zaiko_list_area {
    margin: 80px 0;
}

.zaiko_list_ttl {
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 0;
}

.zaiko_list_tb {
    width: 100%;
}

.zaiko_list_tb,
.zaiko_list_tb td,
.zaiko_list_tb th {
    border-collapse: collapse;
    border-bottom: solid 1px #111;
}

.zaiko_list_tb td,
.zaiko_list_tb th {
    padding: 10px;
}

.zaiko_list_tb_img {
    width: 30%;
}

.zaiko_list_tb_ttl {
    font-size: 1.2em;
    font-weight: bold;
}

.zaikohin_layout {
    display: grid;
    /*    grid-template-rows: repeat(3, 1fr);*/
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px;
    margin: 80px 0;
}

.layoutzaikohin_layout .zaikohin_card {
    text-align: center;
}

.zaikohin_card {
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2)
}

.zaikohin_card .card__imgframe {
    width: 100%;
    background: #bbb;
    box-sizing: border-box;
}

.zaikohin_card .card__textbox {
    width: 100%;
    height: auto;
    padding: 10px;
    background: #fff;
    box-sizing: border-box;
    text-align: left;
}

.zaikohin_card .card__textbox>*+* {
    margin-top: 10px;
}

.zaikohin_card .card__titletext {
    color: #111;
    font-size: 16px;
    font-weight: bold;
    line-height: 125%;
}

.zaikohin_card_link,
.zaikohin_bnr_link {
    -webkit-transition: all 1s cubic-bezier(.165, .84, .44, 1);
    transition: all 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

.zaikohin_card_link:active,
.zaikohin_card_link:focus,
.zaikohin_card_link:hover,
.zaikohin_bnr_link:active,
.zaikohin_bnr_link:focus,
.zaikohin_bnr_link:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.zaikohin_card .card__imgframe {
    aspect-ratio: 3/4;
}

.zaikohin_card .card__imgframe img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}


@media (max-width: 768px) {
    .zaikohin_layout {
        display: grid;
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px;
        margin: 80px 0;
    }

    .zaikohin_bnr {
        width: 100%;
    }

    .zaiko_list_area {
        margin: 40px 0;
    }

    .zaiko_list_tb .dn {
        display: none;
    }

    .zaiko_list_tb th,
    .zaiko_list_tb td {
        display: block;
        text-align: center;
    }

    .zaiko_list_tb td::before {
        content: attr(data-t-label);
        display: block;
        color: #999;
        margin: 8px 0;
    }

    .zaiko_list_tb_img {
        width: 100%;
    }
}

/*--------/#zaikohin--------*/

/*--------#movie--------*/

#movie #sec01 {
    padding-bottom: 80px;
}

#movie .layout {
    grid-template-rows: none;
}

#movie .content-inner-y {
    padding-bottom: 0px;
}

@media (max-width: 768px) {
    #movie .for_pc {
        display: none;
    }
}

@media (min-width: 769px) {
    #movie .for_sp {
        display: none;
    }
}

@media (max-width: 991px) {
    #movie #sec01 {
        padding-bottom: 0;
    }
}

.movie_ttl {
    font-size: 1.2em;
    text-align: center;
    line-height: 2em;
}

.layout {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px;
    margin: 80px 0;
}

.layout .movie_card {
    text-align: center;
}

.movie_card {
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2)
}

.movie_card .card__imgframe {
    width: 100%;
    background: #bbb;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
}

.movie_card .card__imgframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.movie_card .card__textbox {
    width: 100%;
    height: auto;
    padding: 10px;
    background: #fff;
    box-sizing: border-box;
    text-align: left;
}

.movie_card .card__textbox>*+* {
    margin-top: 10px;
}

.movie_card .card__titletext {
    color: #111;
    font-size: 16px;
    font-weight: bold;
    line-height: 125%;
}

.movie_card .card__overviewtag span {
    color: #fff;
    font-size: 12px;
    line-height: 150%;
    background-color: #268148;
    padding: 5px 10px;
}

.movie_link {
    -webkit-transition: all 1s cubic-bezier(.165, .84, .44, 1);
    transition: all 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

.movie_link:active,
.movie_link:focus,
.movie_link:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

/*--------/#movie--------*/

/*ページナビ*/
.wp-pagenavi a,
.wp-pagenavi span {
    padding: 0.2rem 1rem !important;
}

.wp-pagenavi {
    padding-top: 0;
}

.wp-pagenavi span {
    background: #11463B;
    border-color: #11463B;
}

.wp-pagenavi>a,
.wp-pagenavi>span {
    border: 1px solid #11463B !important;
}

.wp-pagenavi a:hover {
    background: #11463B;
    border-color: #11463B;
}

@media (max-width: 768px) {
    .layout {
        display: grid;
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px;
        margin: 80px 0;
    }
}

/*--------/#movie--------*/

/*--------/#privacy--------*/

#privacy #sec01 {
    padding-bottom: 80px;
}

.gre_txt {
    line-height: 2.8em;
}

.gre_txt_r {
    text-align: right;
    margin-top: 60px;
}

.pri_ttl {
    font-size: 1.2em;
    font-weight: bold;
    border-bottom: solid 1px #333;
    display: flex;
    align-items: center;
    padding: .5em .7em;
    background-color: #f2f2f2;
    color: #333333;
    margin-bottom: 20px;
}

.pri_ttl::before {
    display: inline-block;
    width: 5px;
    height: 1.5em;
    margin-right: .5em;
    background-color: #049a05;
    content: '';
}

.pri_in_txt {
    margin-left: 20px;
}

#privacy #sec01 ol li {
    padding-left: 10px;
    margin-bottom: 5px;
    list-style-type: disc;
}

#privacy #sec01 .pri_in_list li {
    padding-left: 5px;
    margin-left: -30px;
    margin-bottom: 5px;
    list-style-type: none;
}

@media (max-width: 991px) {
    #privacy #sec01 {
        padding-bottom: 0;
    }

    #privacy #sec01 ol {
        margin-left: -10px;
    }
}

/*--------/#privacy--------*/

.border-line {
    position: absolute;
    left: 0.3em;
    top: 0;
    width: 2px;
    height: 0;
    background: #ccc;
}

/*--------#faq--------*/

#faq #sec01 {
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    #faq #sec01 {
        padding-bottom: 0;
    }
}

#page-link {
    display: flex;
    justify-content: space-around;
    margin-bottom: 60px;
    padding-left: 0;
}

#page-link li {
    list-style-type: none;
    border: solid 1px #111;
    padding: 10px;
    width: 200px;
    text-align: center;
}

#page-link li a {
    color: #111;
    display: block;
}

#page-link li a:hover {
    color: #fff;
    background-color: #268148;
}

.q_area {
    margin-bottom: 80px;
}

#faq #sec01 .qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}

#faq #sec01 .qa-list dl:first-child {
    border-top: 1px solid #000;
}

#faq #sec01 .qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}

#faq #sec01 .qa-list .open::before {
    transform: rotate(-45deg);
}

#faq #sec01 .qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
}

#faq #sec01 .qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 0px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #49A052;
}

#faq #sec01 .qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 0px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #23998D;
}

#faq #sec01 .qa-list dl dd {
    position: relative;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
    font-size: 20px;
}

#faq #sec01 .qa-list dl dd p {
    margin: 30px 0 0;
}

.qa-list dl dd p a {
    color: #111;
}

#faq #sec01 .qa-list dl dd p:first-child {
    margin-top: 0;
}

@media screen and (max-width: 767px) {

    #page-link {
        flex-direction: column;
        align-items: center;
    }

    #page-link li {
        margin-bottom: 10px;
    }


    #faq #sec01 .qa-list dl {
        position: relative;
        padding: 15px 40px 15px 10px;
    }

    #faq #sec01 .qa-list dl::before {
        top: 20px;
        right: 20px;
        width: 7px;
        height: 7px;
    }

    #faq #sec01 .qa-list dl dt {
        padding: 0 0 0 30px;
        font-size: 14px;
    }

    #faq #sec01 .qa-list dl dt::before {
        font-size: 14px;
        top: 3px;
        left: 5px;
        content: 'Q.';
    }

    #faq #sec01 .qa-list dl dd::before {
        font-size: 14px;
        top: 5px;
        left: 5px;
        content: 'A.';
    }

    #faq #sec01 .qa-list dl dd {
        margin: 10px 0 0;
        padding: 0 0 0 30px;
        font-size: 14px;
    }

    #faq #sec01 .qa-list dl dd p {
        margin: 30px 0 0;
    }

    #faq #sec01 .qa-list dl dd p:first-child {
        margin-top: 0;
    }
}

/*--------/#faq--------*/

/*--------#news--------*/

#news .content-inner-y:not(:last-child) {
    border-bottom: dashed 2px #ddd;
}

.news_ttl {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.news_date {
    font-size: 1.2em;
}

.news_example {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.news_example figure {
    width: 30%;
}

.news_example .txt {
    padding: 0 30px;
    font-size: 1.1em;
    line-height: 2.8em;
    width: 70%;
}

.disp-iblock {
    display: inline-block;
}

.news_example a {
    display: inline-block;
    color: #111;
}

@media (max-width: 768px) {
    .news_example {
        flex-direction: column;
    }

    .news_example .txt {
        padding: 0px;
    }

    .news_example .txt,
    .news_example figure {
        width: 100%;
    }
}

/*--------/#news--------*/


/*--------#yamauchi-news--------*/

#yamauchinews .content-inner-y:not(:last-child) {
    border-bottom: dashed 2px #ddd;
}

.news_txt_ttl {
    font-size: 1.4em;
    border-bottom: solid 1px #333;
}

.news_btn {
    text-align: right;
}

.btnarrow4 {
    position: relative;
    display: inline-block;
    padding: 0 20px;
    color: #333;
    text-decoration: none;
    outline: none;
}

.btnarrow4::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 15%;
    width: 85%;
    height: 2px;
    background: #268148;
    transition: all .3s;
}

.btnarrow4::after {
    content: '';
    position: absolute;
    bottom: -3px;
    right: 0;
    width: 15px;
    height: 2px;
    background: #268148;
    transform: rotate(35deg);
    transition: all .3s;
}

.btnarrow4:hover::before {
    left: 20%;
}

.btnarrow4:hover::after {
    right: -5%;
}

/*--------/#yamauchi-news--------*/

/*--------#page-yamauchinews--------*/

.page-news-topttl {
    margin: 40px 0;
    color: #B62F2F;
    font-size: 2.6em;
    line-height: 1.8em;
    font-weight: 900;
    text-shadow: 0.5px 0.5px #B62F2F, -0.5px 0.5px #B62F2F, -0.5px -0.5px #B62F2F, 0.5px -0.5px #B62F2F, 0.5px 0px #B62F2F, 0px 0.5px #B62F2F, -0.5px 0px #B62F2F, 0px -0.5px #B62F2F;
    text-align: center;
}


.button_green a {
    background: #007C44;
    color: #fff;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 400px;
    padding: 15px 5px;
    transition: 0.3s ease-in-out;
    font-size: 1.2em !important;
    font-weight: 500;
    border-radius: 50px;
}

.button_green a:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 8px;
    height: 8px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.button_green a:hover {
    background: #44966F;
    color: #fff;
}

.button_green a:hover:after {
    right: 1.4rem;
}

.button_orange a {
    background: #FF8914;
    color: #fff;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 400px;
    padding: 15px 5px;
    transition: 0.3s ease-in-out;
    font-size: 1.2em !important;
    font-weight: 500;
    border-radius: 50px;
}

.button_orange a:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 8px;
    height: 8px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.button_orange a:hover {
    background: #ffb366;
    color: #fff;
}

.button_orange a:hover:after {
    right: 1.4rem;
}

.conten_ttl_bg {
    margin: 60px 0;
    background-color: rgb(206, 206, 206);
    padding: 10px 0;
}

.conten_ttl {
    font-weight: 900;
    background-color: #C60C0C;
    font-size: 1.6em;
    text-align: center;
    color: #fff;
    padding: 10px;
    margin-bottom: 0;
}

.f_bold {
    font-weight: bold;
    text-shadow: 0 0 1px #212529;
}

.line_h {
    line-height: 1.8em;
    font-size: 1.2em;
    margin: 0 40px;
}

.news_img_fl {
    display: flex;
    align-items: center;
    margin: 30px 0;
}

.news_img_fl figure {
    width: 50%;
}

.news_img_fl figure a:hover {
    opacity: 0.8;
}

.news_img_fl figcaption {
    text-align: center;
    margin-top: 10px;
}

.f_blue {
    color: blue;
    text-align: center;
    font-weight: 700;
    margin-bottom: 10px;
    border-bottom: solid 1px blue;
    text-shadow: 0.1px 0.1px blue, -0.1px 0.1px blue, -0.1px -0.1px blue, 0.1px -0.1px blue, 0.1px 0px blue, 0px 0.1px blue, -0.1px 0px blue, 0px -0.1px blue;
}

.f_blue:hover {
    opacity: 0.8;
    color: blue;
}

.hover_opa {
    display: block;
}

.hover_opa img {
    width: 100%;
}


.hover_opa:hover {
    opacity: 0.8;
}

.news_table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

.news_table thead {
    background: #eee;
}

.news_table th,
.news_table td {
    border: 1px solid #ccc;
    padding: 10px;
}

.oisogi_tel {
    font-size: 1.8em;
    font-weight: bold;
    text-align: center;
}

.oisogi_tel_blue {
    font-size: 1.4em;
    text-align: center;
}

.oisogi_tel_blue a {
    color: blue;
    font-size: 2em;
}

.news_footer {
    border-top: solid 1px #ddd;
    text-align: center;
    padding: 20px 0;
}

.f_size2 {
    font-weight: 900;
    font-size: 2em;
    text-shadow: 0.5px 0.5px #212529, -0.5px 0.5px #212529, -0.5px -0.5px #212529, 0.5px -0.5px #212529, 0.5px 0px #212529, 0px 0.5px #212529, -0.5px 0px #212529, 0px -0.5px #212529;
}

.f_size14 {
    font-size: 1.4em;
}

.f_size07 {
    font-size: 0.7em;
}

.news_footer .news_img_fl {
    justify-content: center;
}

.news_footer .news_img_fl figure {
    width: 30%;
}

.news_footer .news_img_fl figure img {
    width: 50%;
}

.red_border {
    border-bottom: solid 2px #B62F2F;
}

.f_black {
    color: #212529;
    text-shadow: 0.1px 0.1px #212529, -0.1px 0.1px #212529, -0.1px -0.1px #212529, 0.1px -0.1px #212529, 0.1px 0px #212529, 0px 0.1px #212529, -0.1px 0px #212529, 0px -0.1px #212529;
}

.densetsu_fl {
    display: flex;
}

.densetsu_fl div {
    width: 45%;
}

.densetsu_fl div:first-child {
    margin-right: 20px;
}

.densetsu_fl_tbl {
    border-collapse: collapse;
    border-color: #E3DFCB;
    width: 100%;
    text-align: center;
    flex: 1;
}

.densetsu_fl_tbl td {
    padding: 0.5em;
}

.border_dash {
    border-bottom: dashed 1px #212529;
}

.black_bg {
    background-color: #404040;
    color: #fff;
    padding: 40px 10px;
}

.black_bg p span {
    border-bottom: solid 1px #fff;
}

.txt-c {
    text-align: center;
}

.fc-red {
    color: #B62F2F;
    text-shadow: 0.1px 0.1px #B62F2F, -0.1px 0.1px #B62F2F, -0.1px -0.1px #B62F2F, 0.1px -0.1px #B62F2F, 0.1px 0px #B62F2F, 0px 0.1px #B62F2F, -0.1px 0px #B62F2F, 0px -0.1px #B62F2F;
}

.y_bg {
    background-color: rgb(242, 224, 71);
}

.b_bg {
    background-color: #9FCAFC;
}

@media screen and (max-width: 768px) {
    .page-news-topttl {
        font-size: 2em;
    }

    .line_h {
        margin: 0;
    }


    .button_green a,
    .button_orange a {
        max-width: 280px;
        font-size: 0.8em !important;
    }

    .oisogi_tel,
    .oisogi_tel_blue {
        font-size: 1em;
    }

    .news_img_fl {
        flex-direction: column;
    }

    .news_img_fl figure {
        width: 100%;
        margin: 40px 0;
    }

    .news_img_fl figure:first-child {
        margin-bottom: 40px;
    }

    .news_footer {
        padding: 40px 0;
    }

    .f_size2 {
        font-weight: 900;
        font-size: 1.8em;
    }

    .news_footer .news_img_fl {
        flex-direction: row;
    }

    .news_footer .news_img_fl figure {
        width: 100%;
    }

    .news_footer .news_img_fl figure img {
        width: 50%;
    }

    .densetsu_fl {
        flex-direction: column-reverse;
    }

    .densetsu_fl div {
        width: 100%;
    }

    .densetsu_fl div:first-child {
        margin-right: 0px;
        margin-bottom: 20px;
    }


}

/*--------/#page-yamauchinews--------*/


/*--------/#page-news--------*/

#page-news .page-news-topttl {
    margin: 40px 0;
    color: #007C44;
    font-size: 2.6em;
    line-height: 1.8em;
    font-weight: 900;
    text-shadow: 0.5px 0.5px #007C44, -0.5px 0.5px #007C44, -0.5px -0.5px #007C44, 0.5px -0.5px #007C44, 0.5px 0px #007C44, 0px 0.5px #007C44, -0.5px 0px #007C44, 0px -0.5px #007C44;
    text-align: center;
}

.page-news-img {
    margin: 60px 0;
    padding: 10px 0;
    text-align: center;
}


#page-news .hover_opa img {
    width: 50%;
}

.page-news-list {
    border-top: dashed 1px #212529;
    border-bottom: dashed 1px #212529;
    padding: 40px;
}

@media screen and (max-width: 768px) {
    #page-news .page-news-topttl {
        font-size: 2em;
    }

    #page-news .hover_opa img {
        width: 100%;
    }

    .page-news-list {
        padding: 20px;
    }
}

/*--------/#page-news--------*/

/*--------#404--------*/

.not_btn {
    text-align: center;
}

/*--------/#404--------*/

/*--------お問い合わせ・メルマガ・資料請求--------*/
.form_page .container {
    max-width: 800px;
    padding-bottom: 80px;
    padding-top: 0px !important;
}

.form_page .txt {
    text-align: center;
    margin: 2rem 0;
}

.form_page form label {
    font-weight: bold;
}

.form_page form .require {
    color: #fff;
    background-color: #ba0a0a;
    padding: 0.3rem;
    font-size: 12px;
    margin-left: 6px;
    font-weight: bold;
}

.form_page form .require {
    color: #fff;
    background-color: #ba0a0a;
    padding: 0.3rem;
    font-size: 12px;
    margin-left: 6px;
    font-weight: bold;
}

.form_page form .optional {
    background-color: #EFEFEF;
    padding: 0.3rem;
    font-size: 12px;
    margin-left: 6px;
    font-weight: bold;
}

.form_page form .privacy_policy {
    text-align: center;
    margin-top: 2rem;
}

.form_page form .privacy_policy label {
    font-weight: 700;
    vertical-align: top;
}

.form_page form .privacy_policy input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 6px;
    cursor: pointer;
}

.form_page form .privacy_policy a {
    color: #11463B;
    text-decoration: underline;
    font-weight: bold;
}

.form_page form .privacy_policy p {
    display: inline;
}

.form_page form .send_btn {
    text-align: center;
    margin-top: 1rem;
}

.form_page form .send_btn input {
    padding: 12px 35px;
    border: 1px solid #111;
    border-radius: 0;
    background-color: transparent;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.form_page form .send_btn input:hover {
    color: #fff;
    background-color: #268148;
    border: 1px solid #268148;
}

.form_page .wpcf7-response-output {
    border: none !important;
    text-align: center;
    color: #ba0a0a;
    margin-top: 0.5rem !important;
}

.form_page textarea {
    height: 8rem;
}

.form_page span.wpcf7-list-item.first {
    margin-left: 0;
}

.form_page input[type=checkbox],
input[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    width: 20px;
    height: 20px;
    vertical-align: sub;
    cursor: pointer;
}

.form_page .contact_way p,
#contact .file p {
    margin-bottom: 0;
}

.wpcf7-list-item {
    vertical-align: middle;
}

/*お問い合わせ完了*/
.form_page .thanks {
    text-align: center;
    margin-top: 2rem;
}
