@charset "UTF-8";
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{text-decoration:none}ins,mark{background-color:#ff9;color:#000}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}li{list-style:none}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}li {list-style:none;}

/* CSS Document */
html {
    /*font-size: 62.5%;*/
    font-size: 1.33vw;
    overflow: auto;
    overflow-y: scroll;
    overflow-x: hidden;
	list-style: none;
}
body {
    width: 100%;
    max-width: 100%;
    min-width: 320px;
    min-height: 100vh;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .1em;
    color: #000;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    position: relative;
    transition: all 0s;
}
.dispNon--sp, .dispNon--tabsp, .dispNon--pcsp {display: none;}
.dispNon--tab, .dispNon--pc, .dispNon--pctab {display: block;}
a {
    text-decoration: none;
    color: #000;
    display: block;
}
a, img {
    width: 100%;
    display: block;
    vertical-align: bottom;
    transition: all 0.5s ease;
}
a:hover, a:hover img {
    transition: all 0.5s ease;
}
.posi--center {
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%); 
}
.flex {
    display: flex;
}
.fadeIn {
    opacity: 0;
    transition: all .7s ease;
}
.fadeIn.is-show {
    opacity: 1;
}
.fadeUp {
    opacity: 0;
    transform: translateY(100px);
    transition-delay: .5s;
    transition: all 1s ease;
}
.fadeUp.is-show {
    opacity: 1;
    transform: translateY(0);
}
.loadingup {
    opacity: 0;
    transform: translateY(100px);
    transition-delay: .5s;
    transition: all 1s ease;
}
.loadingup.is-show {
    opacity: 1;
    transform: translateY(0);
}
.fadeLeft, .fadeRight {
    opacity: 0;
    transition-delay: .3s;
    transition: all .7s ease;
}
.fadeLeft {
    transform: translateX(-100px);
}
.fadeRight {
    transform: translateX(100px);
}
.fadeLeft.is-show, .fadeRight.is-show {
    opacity: 1;
    transform: translateX(0);
}
.right {
    text-align: right;
}
.bold {
    font-weight: 500;
}
.txtlink {
    display: inline;
}
.txt--small {
    font-size: .7em;
}
.minchou {
    font-family: "Noto Serif JP", serif;
}
.inner {
    width: 86.7%;
    margin: 0 auto;
    position: relative;
}
.loading {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 102;
    background-color: #fff;
    transition: all .3s ease;
}
.loading.opacitynone {
    display: none;
}

/* header */
.header {
    width: 100%;
    height: 13.3vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}
.header .inner {
    height: 100%;
}
.header__logo--sp {
    width: 35.47vw;
    height: 5.6vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 12;
}
.header__logo--sp img {
    position: absolute;
    top: 0;
    left: 0;
}
.header__logo--pc {
    display: none;
}
/* ロゴ緑 */
.header.top .header__logo__g,
.header.top.over .header__logo__w,
.header.top.over.menuopen .header__logo__g,
.header.lower .header__logo__w,
.header.lower.menuopen .header__logo__g {
    opacity: 0;
}
/* ロゴ白 */
.header.top .header__logo__w,
.header.top.over .header__logo__g,
.header.top.over.menuopen .header__logo__w,
.header.lower .header__logo__g,
.header.lower.menuopen .header__logo__w {
    opacity: 1;
}

.header__menubtn {
    width: 5.56vw;
    height: 3.85vw;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 12;
    display: block;
}
.header__menubtn span {
    width: 100%;
    height: .38vw;
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
}
/* 緑の時*/
.header.top.over .header__menubtn span,
.header.lower .header__menubtn span {
    background-color: #004916;
}
/* 白色時 */
.header.top .header__menubtn span,
.header.top.menuopen .header__menubtn span,
.header.top.over.menuopen .header__menubtn span,
.header.lower.menuopen .header__menubtn span {
    background-color: #fff;
}
.header__menubtn span:first-child {
    top: 0;
}
.header__menubtn span:last-child {
    bottom: 0;
}
.header__menubtn span:nth-child(2) {
    top: 50%;
    margin-top: -.19vw;
}
.header__menubtn.active span:first-child {
    top: 49%;
    transform: translateY(-50%) rotate(-45deg);
}
.header__menubtn.active span:last-child {
    bottom: auto;
    top: 51%;
    transform: translateY(-50%) rotate(45deg);
}
.header__menubtn.active span:nth-child(2) {
    opacity: 0;
}
.spmenu__nav {
    width: 100%;
    height:100%; 
    min-height: 100vh;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    padding: 15.2vw 0;
    background-color: #004916;
    z-index: 1;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
}
.header__menubtn.active + .spmenu__nav {
    visibility: visible;
    opacity: 1;
}
.nav__list {
    width: 86.7%;
    margin: 0 auto;
}
.nav__list li {
    border-bottom: 1px solid #fff;
    transition: all 0.3s ease;
}
.nav__list li a {
    font-size: 3rem;
    padding: 1.3em 0;
    color: #fff;
}
.nav__list li a.active {
    color: #ffff00;
}
.nav__list li a span {
    font-size: 2.4rem;
    padding-left: 2em;
}
.nav__list li a.active span {
    color: #fff;
}
.pcmenu__nav {
    display: none;
}

/* footer */
.footer {
    background-color: #004916;
}
.footer__logo {
    width: 60.4vw;
    padding: 8.6vw 0;
}
.footer__list {
    width: 100%;
    margin-bottom: 8.6vw;
}
.footer__list a {
    font-size: 3rem;
    color: #fff;
    padding: 1em 0;
    border-bottom: 1px solid #fff;
}
.footer__copyright {
    font-size: 2rem;
    color: #fff;
    text-align: center;
    padding: 1.5em 0;
}
.pagetop {
    width: 10vw;
    height: 10vw;
    border-radius: 100vw;
    text-indent: -9999vw;
    position: fixed;
    right: 5%;
    bottom: 5rem;
    z-index: 5;
}
/* top */
/* info */
.top__info {
    padding: 15vw 0;
    margin-bottom: 0;
    background-color: #f0f0f0;
}
.top__info .flex {
    flex-wrap: wrap;
}
.top__info__desc, .top__info__map {
    width: 100%;
}
.top__info__logo {
    width: 66.6vw;
    margin: 0 auto 7vw;
}
.top__info__tel {
    justify-content: center;
    font-size: 4.4rem;
    letter-spacing: .12em;
    margin-bottom: 2vw;
}
.top__info__tel span:first-child {
    padding-right: .5em;
}
.top__info__time {
    justify-content: center;
    font-size: 2.6rem;
    border: 1px solid #000;
    width: 90%;
    margin: 0 auto 9vw;
    padding: .3em 0;
}
.top__info__time span:first-child {
    padding-right: .5em;
    position: relative;
}
.top__info__time span:first-child::after {
    content: " /";
}
.top__info__btnmail {
    width: 90%;
    margin: 0 auto 9vw;
    background-color: #00913a;
    text-align: center;
    font-size: 3.2rem;
    color: #fff;
    padding: .7em 0;
}
.top__info__btnmail span {
    position: relative;
    padding-left: 7.5vw;
}
.top__info__btnmail span::before {
    content: "";
    width: 6.1vw;
    height: 100%;
    background: url("../img/icon_mail.png") no-repeat center left;
    background-size: 100% auto;
    position: absolute;
    top: 53%;
    left: 0;
    transform: translateY(-50%);
}
.top__info__address {
    font-size: 3.8vw;
    text-align: center;
    margin-bottom: .8em;
}
.top__info__number {
    font-size: 2rem;
    text-align: center;
}
.top__info__map {
    width: 90%;
    height: 58vw;
    margin: 9vw auto 0;
}
.top__info__map ifream {
    width: 100%;
    height: 100%;
}


/* 下層共通 */
.content.lower {
    padding-top: 13.3vw;
}
.lower__contact {
    width: 100%;
    background-color: #f0f0f0;
}
.lower__contact .flex {
    flex-wrap: wrap
}
.lower__contact__l, .lower__contact__r {
    width: 100%;
}
.lower__contact__l {
    padding: 25vw 0 13vw;
    border-bottom: 1px solid #000;
}
.lower__contact__txt {
    text-align: center;
    font-size: 2.8rem;
}
.lower__contact .top__info__time {
    margin-bottom: 0;
}
.lower__contact__r {
    padding: 13vw 0 25vw;
}
.lower__contact__icon {
    width: 13.3vw;
    margin: 0 auto 6vw;
}
.lower__contact .top__info__btnmail {
    background: url(../img/arrow_w_right.png) no-repeat center right 3rem #00913a;
    background-size: 1rem auto;
}
.lower__contact .top__info__btnmail span {
    padding-left: 0;
}
.lower__contact .top__info__btnmail span::before {
    display: none;
}
.lower__ttl {
    text-align: center;
    position: relative;
    font-size: 4.4rem;
    font-weight: 800;
    color: #004916;
    padding-bottom: 4vw;
    margin-bottom: 10vw;
}
.lower__ttl::after {
    content: "";
    width: 12.6vw;
    height: 1vw;
    background-color: #004916;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -6.3vw;
}
.lower__btn {
    width: 77vw;
    background: url(../img/arrow_w_right.png) no-repeat center right 3rem #00913a;
    background-size: 1rem auto;
    text-align: center;
    font-size: 2.8rem;
    color: #fff;
    margin: 0 auto;
    padding: 3.5vw 0;
    font-family: "Noto Serif JP", serif;
}
.lower__message {
    text-align: center;
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
}



/* ----------------------------------------------------------------------------------------------------*/
/* breakpoint 01 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
/* 751px以上〜 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
@media (min-width: 751px) {
    html {font-size: .9vw;/* 1024px：10px */}
    .dispNon--tab, .dispNon--pctab, .dispNon--tabsp {display: none;}
    .dispNon--pc, .dispNon--sp, .dispNon--pcsp {display: block;}
    
    .inner {
        width: 90%;
    }
    /* header */
    .header {
        height: 6.3vw;
    }
    .header .inner {
        height: 100%;
    }
    .header__menubtn {
        width: 3.8vw;
        height: 2.5vw;
    }
    .header__menubtn span {
        height: .18vw;
    }
    .header__menubtn span:nth-child(2) {
        margin-top: -.09vw;
    }
    .header__logo--sp {
        width: 20vw;
        height: 3.3vw;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    /* ロゴ緑 */
    .header.top .header__logo__w,
    .header.top.over .header__logo__w,
    .header.top.over.menuopen .header__logo__g,
    .header.top.menuopen .header__logo__g {
        opacity: 0;
    }
    /* ロゴ白 */
    .header.top .header__logo__g,
    .header.top.over .header__logo__g,
    .header.top.over.menuopen .header__logo__w,
    .header.top.menuopen .header__logo__w {
        opacity: 1;
    }

    .spmenu__nav {
        padding: 10vw 0;
    }
    .nav__list {
        width: 90%;
    }
    .nav__list li a {
        font-size: 2.5rem;
    }
    .nav__list li a span {
        font-size: 2rem;
    }
    
    /* footer */
    .footer {
        height: 9vw;
    }
    .footer .inner {
        height: 100%;
    }
    .footer__logo {
        width: 20vw;
        padding: 0;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    .footer__list {
        width: auto;
        margin-bottom: 0;
        position: absolute;
        top: 40%;
        right: 0;
        transform: translateY(-50%);
        display: flex;
        flex-wrap: wrap;
    }
    .footer__list a {
        font-size: 1.2rem;
        color: #fff;
        padding: .2em 1.2em;
        border-bottom: none;
        border-right: 1px solid #fff;
    }
    .footer__list li:last-child a {
        padding-right: 0;
        border-right: none;
    }
    .footer__copyright {
        font-size: 1.2rem;
        text-align: right;
        padding: 0 0;
        position: absolute;
        bottom: 2.4vw;
        right: 5%;
    }
    .pagetop {
        width: 6rem;
        height: 6rem;
    }

    /* top */
    /* info */
    .top__info {
        padding: 10vw 0;
        margin-bottom: 0;
    }
    .top__info .flex {
        flex-wrap: nowrap;
    }
    .top__info__desc {
        width: 36%;
        margin-right: 2%;
    }
    .top__info__map {
        width: 62%;
    }
    .top__info__logo {
        width: 90%;
        margin: 0 auto 1.5rem;
    }
    .top__info__tel {
        justify-content: center;
        font-size: 3rem;
        letter-spacing: .12em;
        margin-bottom: 2rem;
    }
    .top__info__time {
        font-size: 1.4rem;
        width: 90%;
        margin: 0 auto 1.5rem;
        padding: .35em 0;
    }
    .top__info__btnmail {
        width: 90%;
        margin: 0 auto 1.5rem;
        font-size: 2rem;
        padding: .7em 0;
    }
    .top__info__btnmail span {
        padding-left: 4vw;
    }
    .top__info__btnmail span::before {
        width: 2.8vw;
    }
    .top__info__address {
        font-size: 1.2rem;
        text-align: left;
        padding-left: 5%;
        margin-bottom: .8em;
    }
    .top__info__number {
        font-size: 1.2rem;
        text-align: left;
        padding-left: 5%;
    }
    .top__info__map {
        height: 31vw;
        margin: 0;
    }
 
    /* 下層共通 */
    .lower__contact {
        padding: 5vw 0;
    }
    .content.lower {
        padding-top: 6.3vw;
    }
    .lower__contact .flex {
        flex-wrap: nowrap;
        align-items: center;
        width: 90%;
        margin: 0 auto;    
    }
    .lower__contact__l, .lower__contact__r {
        width: 50%;
        position: relative;
    }
    .lower__contact__l {
        padding: 3vw 0;
        border-bottom: none;
        border-right: 1px solid #000;
    }
    .lower__contact__txt {
        font-size: 1.8rem;
    }
    .lower__contact .top__info__tel {
        margin: 1vw 0 2vw;
        font-size: 3rem;
        width: 100%;
    }
    .lower__contact .top__info__time {
        font-size: 1.4rem;
        width: 70%;
        margin: 0 auto;
    }
    .lower__contact__r {
        padding: 0;
    }
    .lower__contact__icon {
        width: 10.5%;
        margin: 0 auto 2.6vw;
    }
    .lower__contact .top__info__btnmail {
        background: url(../img/arrow_w_right.png) no-repeat center right 1.5rem #00913a;
        background-size: .8rem auto;
        width: 75%;
    }
    .lower__ttl {
        font-size: 2.6rem;
        font-weight: 600;
        padding-bottom: 2.5vw;
        margin-bottom: 9vw;
    }
    .lower__ttl::after {
        width: 9vw;
        height: .5vw;
        margin-left: -4.5vw;
    }
    .lower__btn {
        width: 35vw;
        background: url(../img/arrow_w_right.png) no-repeat center right 1.5rem #00913a;
        background-size: .8rem auto;
        font-size: 2rem;
        padding: .7em 0;
    }
    .lower__message {
        font-size: 1.8rem;
    }

}

/* ----------------------------------------------------------------------------------------------------*/
/* breakpoint 02 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
/* 1025px以上〜 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/

@media (min-width: 1025px) {
    html {font-size: 62.5%;}/* 10px */
    .dispNon--pc, .dispNon--pctab, .dispNon--pcsp {display: none;}
    .dispNon--tab, .dispNon--sp, .dispNon--tabsp {display: block;}
    .imghover {
        transition: all 0.3s ease;
        overflow: hidden;
        position: relative;
    }
    .inner {
        width: 90%;
    }
    .header {
        height: 100px;
    }
    .header .inner {
        width: 94%;
    }
    .header__menubtn {
        display: none;
    }
    .header__logo--sp {
        display: none;
    }
    .header__logo--pc {
        display: block;
        width: 20vw;
        height: 3.3vw;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    .header__logo--pc {
        width: 211px;
    }
    .pcmenu__nav {
        display: block;
    }
    .nav__list {
        width: 70%;
        display: flex;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        justify-content: space-between;
    }
    .nav__list li {
        border-bottom: none;
    }
    .nav__list li a {
        font-size: 16px;
        line-height: 1.5em;
        text-align: center;
        padding: 0;
    }
    .over .nav__list li a,
    .header.lower .nav__list li a {
        color: #004916;   
    }
    .nav__list li a:hover {
        color: #00be3c;
    }
    .nav__list li a span {
        font-size: .75em;
        padding-left: 0;
        display: block;
    }
    .nav__list li a.active,
    .over .nav__list li a.active,
    .header.lower .nav__list li a.active,
    .header.lower .nav__list li a.active span {
        color: #00be3c;
    }
    .header.lower .nav__list li a:hover {
        color: #00be3c;
    }
    
    /* footer */
    .footer {
        height: 100px;
    }
    .footer__logo {
        width: 220px;
    }
    .footer__list a:hover {
        opacity: .7;
    }
    .footer__copyright {
        bottom: 25px;
        right: 5%;
    }
    .pagetop {
        width: 50px;
        height: 50px;
    }

    /* top */
    /* info */
    .top__info {
        padding: 120px 0 140px;
    }
    .top__info__logo {
        max-width: 350px;
        margin-bottom: 15px;
    }
    .top__info__tel {
        font-size: 2.6rem;
        margin-bottom: 15px;
    }
    .top__info__time {
        font-size: 1.2rem;
        max-width: 464px;
        margin-bottom: 20px;
        padding: .35em 0;
    }
    .top__info__btnmail {
        max-width: 464px;
        margin-bottom: 20px;
        font-size: 1.7rem;
        padding: .7em 0;
        transition: all 0.8s ease;
    }
    .top__info__btnmail:hover {
        background-color: #004916;
    }
    .top__info__btnmail span {
        padding-left: 35px;
    }
    .top__info__btnmail span::before {
        width: 26px;
    }
    .top__info__map {
        height: 330px;
    }
    
    /* 下層共通 */
    .content.lower {
        padding-top: 100px;
    }
    .lower__ttl {
        font-size: 2.6rem;
        padding-bottom: 25px;
        margin-bottom: 90px;
    }
    .lower__ttl::after {
        width: 90px;
        height: 5px;
        margin-left: -45px;
    }    
    .lower__btn {
        width: 350px;
        background-size: 8px auto;
        font-size: 1.6rem;
        padding: 13px 0;
    }
    .lower__btn:hover {
        background-color: #004916;
    }





/* ----------------------------------------------------------------------------------------------------*/
/* breakpoint 03 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
/* 1201px以上〜 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/

@media (min-width: 1201px) {
    .inner {
        width: 1100px;
    }
    .header .inner {
        width: 1200px;
    }
    .header__logo--pc {
        left: 35px;
    }
    .nav__list {
        width: 820px;
        padding-right: 35px;
    }
    .footer__copyright {
       right: calc(( 100% - 1100px) / 2);
    }



}
    
/* ----------------------------------------------------------------------------------------------------*/
/* breakpoint 04 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
/* 1250px以上〜 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/
    
@media (min-width: 1251px) {
    .inner {
        width: 1200px;
    }
    .footer__copyright {
        right: calc(( 100% - 1200px) / 2);
    }


}
    



