@charset "UTF-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* reset */

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


/* common */

body {
    position: relative;
    min-width: 320px;
	font-family: 'Noto Sans Japanese', sans-serif;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
body.spfont {
	font-family: 'Noto Sans Japanese', sans-serif;
}

a {
    text-decoration: none;
    outline: none;
    transition: .3s;
}

img {
    max-width: 100%;
}
.center {
    text-align: center!important;
}

/* header */

header {
    position: fixed;
    width: 100%;
    background: #fff;
    border-bottom: 2px solid #0058a7;
    top: 0;
    height: 110px;
    z-index: 9999;
}
header .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0 15px;
}
header .logo {
    width: 23.5%;
}
header .logo img {
    padding: 15px 0 0;
    width: 300px;
}
header nav {
    width: 40.2%;
}
header .h_menu {
    position: relative;
    width: 20%;
}
header .h_nav {
    display: flex;
    justify-content: space-between;
    padding: 40px 0 0;
    z-index: 999;
}
header .h_nav li a {
    display: block;
    padding: 5px 12px;
    background: #0058a7;
    border-radius: 20px;
    color: #fff;
    font-size: .875rem;
    font-weight: bold;
}
header .h_nav li a:hover {
    background: #38c;
}
header .h_lang_google {
    position: absolute;
    top: -5px;
    right: 0;
}
header .h_lang_btn {
    position: absolute;
    top: 9px;
    right: 0;
}
header .h_lang_btn span {
    padding: 1px 11px 0;
    border: 2px solid #0058a7;
    border-radius: 20px;
    background: #fff;
    color: #0058a7;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
}
header .h_lang_menu {
    display: none;
    position: absolute;
    top: 66px;
    right: 0;
    z-index: 9999;
    background: #fff;
    border: 2px solid #0058a7;
    border-radius: 10px;
    width: 200px;
}
header .h_lang_menu li a {
    display: block;
    padding: 10px 20px;
    border-top: 2px solid #0058a7;
    color: #0058a7;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
}
header .h_lang_menu li:first-child a {
    border-radius: 10px 10px 0 0;
    border-top: none;
}
header .h_lang_menu li:last-child a {
    border-radius: 0 0 10px 10px;
}
header .h_lang_btn span:hover,
header .h_lang_menu li a:hover {
    background: #def;
}

@media screen and (max-width: 1309px)  {
    
    header {
        height: 9.6vw;
    }
    header .h_nav li a {
        padding: 7px .9vw;
        font-size: 1.1vw;
    }
    header .h_lang_google {
        top: -1vw;
    }
    header .h_lang_btn {
        top: 1vw;
    }
    header .h_lang_btn span {
        padding: 1px 11px 0;
        font-size: .875rem;
    }

}
@media screen and (max-width: 999px)  {
    header {
        height: 12vw;
    }
}
@media screen and (max-width: 767px)  {
    
    header {
        height: 30vw; /* lang */
        height: 35vw;
    }
    header .wrap {
        position: relative;
        display: block;
    }
    header .logo {
        position: absolute;
        top: 0;
        left: 0;
        width: 35%;
    }
    header .logo img {
        padding: 2vw 0 0;
    }
    header .h_menu {
        position: absolute;
        top: 0;
        right: 0;
        width: 63%;
    }
    
    header nav {
        position: absolute;
        top: 11.5vw; /* lang */
        top: 14vw;
        width: 100%;
    }

    header .h_nav {
        position: absolute;
        top: 3vw; /* lang */
        top: .5vw;
        left: 0;  /* lang */
        left: auto;
        right: 0;
        width: calc(100% - 130px);
        padding: 0;
        display: block;
    }
    header .h_nav li {
        margin-bottom: .5vw;
    }
    header .h_nav li a {
        padding: 6px 0vw;
        font-size: 2.25vw;
        text-align: center;
    }
    header .h_nav li:nth-of-type(2) {
        float: left;
        width: calc(40% - .5vw);
    }    
    header .h_nav li:nth-of-type(3) {
        float: right;
        width: 60%;
    }    
    header .h_lang_google {
        top: .5vw;
        left: 0;
    }
    header .h_lang_btn {
        top: 3vw;
        right: 0;
        width: 22.5%;
    }
    header .h_lang_btn span {
        display: block;
        padding: 4px 0;
        font-size: 2.25vw;
        text-align: center;
    }
    header .h_lang_menu {
        top: 7vw;
        width: 30vw;
    }
    header .h_lang_menu li a {
        padding: 8px 0;
        font-size: 3vw;
    }
    
}



/* nav */

ul.navi,
ul.subnavi {
    display: flex;
    justify-content: space-between;
    text-align: center;
}

ul.navi li {
    width: 80px;
}
ul.navi li a {
    display: block;
    width: 64px;
    height: 64px;
    background: #ccc;
    border-radius: 50%;
    font-size: .6875rem;
    font-weight: bold;
    letter-spacing: -.025rem;
    text-align: center;
}
ul.navi > li > a > img {
    width: 64px;
    margin: 0 0 7px;
    border-radius: 50%;
}
ul.navi > li:nth-of-type(1) a {
    color: #e60012;
    background: url("/common/images/common/nav_home_off.png") no-repeat center #e60012;
    background-size: 100% auto;
    border: 2px solid #e60012;
}
ul.navi > li:nth-of-type(2) a {
    color: #fc8c1e;
    background: url("/common/images/common/nav_park_off.png") no-repeat center #fc8c1e;
    background-size: 100% auto;
    border: 2px solid #fc8c1e;
}
ul.navi > li:nth-of-type(3) a {
    color: #a3ca0f;
    background: url("/common/images/common/nav_spa_off.png") no-repeat center #a3ca0f;
    background-size: 100% auto;
    border: 2px solid #a3ca0f;
}
ul.navi > li:nth-of-type(4) a {
    color: #00bbe9;
    background: url("/common/images/common/nav_bbq_off.png") no-repeat center #00bbe9;
    background-size: 100% auto;
    border: 2px solid #00bbe9;
}
ul.navi > li:nth-of-type(5) a {
    color: #b865ed;
    background: url("/common/images/common/nav_camp_off.png") no-repeat center #b865ed;
    background-size: 100% auto;
    border: 2px solid #b865ed;
}
ul.navi > li > a > img {
    visibility: hidden;
}
ul.navi > li:nth-of-type(1) a:hover {
    background: url("/common/images/common/nav_home_on.png") no-repeat center #fff;
    background-size: 100% auto;
}
ul.navi > li:nth-of-type(2).tap a,
ul.navi > li:nth-of-type(2).mover a {
    background: url("/common/images/common/nav_park_on.png") no-repeat center #fff;
    background-size: 100% auto;
}
ul.navi > li:nth-of-type(3).tap a,
ul.navi > li:nth-of-type(3).mover a {
    background: url("/common/images/common/nav_spa_on.png") no-repeat center #fff;
    background-size: 100% auto;
}
ul.navi > li:nth-of-type(4) a:hover {
    background: url("/common/images/common/nav_bbq_on.png") no-repeat center #fff;
    background-size: 100% auto;
}
ul.navi > li:nth-of-type(5) a:hover {
    background: url("/common/images/common/nav_camp_on.png") no-repeat center #fff;
    background-size: 100% auto;
}

.subnavi {
    display: none;
    position: absolute;
    top: 105px;
    left: 0;
    width: 100%;
    z-index: 999;
}
.subnavi .frame_outer {
    margin-top: 10px;
    background: #ccc;
}
ul.navi li:nth-of-type(2) .subnavi .frame_outer {
    background: #fc8c1e;
}
ul.navi li:nth-of-type(3) .subnavi .frame_outer {
    background: #a3ca0f;
}

.subnavi .frame {
    width: 500px;
    margin: 0 auto;
    padding: 6px 0 25px;
}
.subnavi .frame::before {
    content: "";
    position: absolute;
    top: -10px;
    border: 10px solid transparent;
    border-bottom: 10px solid #ccc;
}
ul.navi li:nth-of-type(2) .subnavi .frame::before {
    left: calc(50% - 104px);
    border-bottom: 10px solid #fc8c1e;
}
ul.navi li:nth-of-type(3) .subnavi .frame::before {
    left: calc(50% + 6px);
    border-bottom: 10px solid #a3ca0f;
}

.subnavi ul {
    display: flex;
    justify-content: space-between;
}
.subnavi ul li a {
    color: #fff!important;
    background: #fff!important;
    width: 72px!important;
    height: 72px!important;
    letter-spacing: -.05rem;
}
.subnavi ul li a:hover {
    opacity: .7;
}
.subnavi ul li a img {
    width: 54px;
    margin: 9px 0 15px!important;
}

.menu_area {
    margin-top: 110px;
    border-bottom: 2px solid #0058a7;
}
.menu_area ul {
    width: 80%;
    margin: 0 auto;
    padding: 5px 0 8px;
}
.menu_area ul li {
    width: 10%;
    text-align: center;
    font-size: .75rem;
    font-weight: bold;
    line-height: 1.2;
}
.menu_area ul li a {
    color: #0058a7;
}
.menu_area ul li a:hover {
    opacity: .7;
}
.menu_area ul li img {
    width: 52px;
    margin: 0 auto -14px;
}

.menu_slider {
  display: none;
}
.menu_slider.slick-initialized {
  display: block;
}

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

    ul.navi li {
        width: 6vw;
    }
    ul.navi li a {
        width: 6vw;
        height: 6vw;
        font-size: 1vw;
    }
    ul.navi li a img {
        width: 6vw;
        margin: 0 0 .5vw;
    }
    
    .subnavi {
        top: 9vw;
    }
    .subnavi .frame {
        width: 40vw;
        padding: .5vw 0 2.25vw;
    }
    ul.navi li:nth-of-type(2) .subnavi .frame::before {
        left: calc(50% - 7.3vw);
    }
    ul.navi li:nth-of-type(3) .subnavi .frame::before {
        left: calc(50% + 1vw);
    }
    .subnavi ul li a {
        width: 6vw!important;
        height: 6vw!important;
        font-size: .9vw;
    }
    .subnavi ul li a img {
        width: 4.8vw;
        margin: .6vw 0 1.1vw!important;
    }    
    
    .menu_area {
        margin-top: 9vw;
    }
    .menu_area ul {
        width: 90%;
        padding: 1vw 0 .5vw;
    }
    .menu_area ul li {
        width: 10%;
        font-size: 1vw;
    }
    .menu_area ul li img {
        width: 50%;
        max-width: 52px;
        margin: 0 auto -1vw;
    }

    
}
@media screen and (max-width: 999px)  {
    
    .subnavi {
        top: 10.5vw;
    }
    ul.navi li:nth-of-type(2) .subnavi .frame::before {
        left: calc(50% - 7.7vw);
    }
    ul.navi li:nth-of-type(3) .subnavi .frame::before {
        left: calc(50% + .6vw);
    }
    .menu_area {
        margin-top: 11.5vw;
    }
    .menu_area ul {
        width: 100%;
    }

}
@media screen and (max-width: 767px)  {
    
    ul.navi li {
        width: 13vw;
    }
    ul.navi li a {
        width: 13vw;
        height: 13vw;
        font-size: 2.1vw;
    }
    ul.navi li a img {
        width: 13vw;
        margin: 0 0 1.5vw;
    }
    .subnavi {
        top: 17.5vw; /* lang */
        top: 22.5vw;
        left: -15px;
        width: calc(100% + 30px);
    }
    .subnavi .frame {
        width: calc(100% - 30px);
        padding: 1.5vw 0 4.5vw;
    }
    ul.navi li:nth-of-type(2) .subnavi .frame::before {
        left: calc(50% - 22.5vw);
    }
    ul.navi li:nth-of-type(3) .subnavi .frame::before {
        left: calc(50% - 2.5vw);
    }
    .subnavi ul li a {
        width: 13vw!important;
        height: 13vw!important;
        font-size: 1.7vw!important;
        letter-spacing: 0;
    }
    .subnavi ul li a img {
        width: 10vw;
        margin: 1vw 0 3vw!important;
    }        
    
    .menu_area {
        margin-top: 30vw; /* lang */
        margin-top: 35vw;
    }
    .menu_area ul {
        padding: 1.5vw 0 1vw;
    }
    .menu_area ul li {
        width: 20%;
        font-size: 2.5vw;
    }
    .menu_area ul li img {
        width: 66.66%;
        margin: 0 auto -2vw;
    }

    .menu_area button {
        margin: 0;
        padding: 0;
    }
    .menu_area .slick_prev,
    .menu_area .slick_next {
        top: 10vw;
        width: 0;
        height: 0;
        background: none;
        border-radius: 0;
        border: 1.75vw solid transparent;
        border-top: 2.5vw solid #0058a7;
        border-bottom: none;
    }
    .menu_area .slick_prev {
        left: -2vw;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .menu_area .slick_next {
        right: -2vw;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
    .menu_area .slick_prev:hover,
    .menu_area .slick_next:hover {
        background: none;
    }
    .menu_area .slick_prev::before,
    .menu_area .slick_next::before{
        display: none;
    }
    
}


/* main */

.wrap {
    width: 1280px;
    margin: 0 auto;
}
.wrap_inner {
    max-width: 960px;
    margin: 0 auto;
}

.sns {
    width: 180px;
    margin: 0 auto;
    padding: 75px 0;
    display: flex;
    justify-content: space-between;
}
.spfont .sns {
    width: 272px;
}
.sns li {
    width: 70px;
}
.sns li a {
    display: block;
    width: 70px;
    height: 70px;
    background: #ccc;
    border-radius: 50%;
    font-size: .875rem;
    font-weight: bold;
    text-align: center;
}
.sns li a:hover {
    opacity: .7;
}
.sns li a img {
    width: 36px;
    margin: 17px 0 25px;
}
.sns li a span {
    display: none;
}
.sns li:nth-child(1) a {
    color: #1ba3d9;
    background: #1ba3d9;
}
.sns li:nth-child(2) a {
    color: #5fb530;
    background: #5fb530;
}
.sns li:nth-child(3) a {
    color: #38538f;
    background: #38538f;
}

.sns li:nth-child(2) {
    display: none;
}
.spfont .sns li:nth-child(2) {
    display: block;
}

#pagetop {
    position: fixed;
    right: 15px;
    bottom: 15px;
}
#pagetop img {
    width: 75px;
    transition: .3s;
    cursor: pointer;
}
#pagetop img:hover {
    opacity: .8;
}

section {
    padding: 60px 0 30px;    
}
section.area_white {
    background: #fff;
}
section.area_blue {
    background: #0058a7;
}
section.area_gray {
    background: #e8e8e8;
}

.small {
    font-size: 75%;
}

a:hover img {
    opacity: .7;
}

.pankuzu {
    margin: 15px 0 0;
    color: #0058a7;
    font-size: 1rem;
    line-height: 1.5;
}
.pankuzu span {
    margin: 0 1rem;
    color: #e60012;
}
.pankuzu a {
    color: #e60012;
}
.pankuzu a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 1309px)  {
    
    .wrap {
        width: auto;
        margin: 0 15px;
    }
    .sns {
        padding: 60px 0;
    }
    section {
        padding: 6vw 0 4vw;    
    }
    
}
@media screen and (max-width: 959px)  {
    .pankuzu {
        margin: 1.5vw 0 0;
        font-size: 1.5vw;
    }
    .pankuzu span {
        margin: 0 1.5vw;
    }
}
@media screen and (max-width: 767px)  {
    
    .sns {
        padding: 7vw 0 14vw;
    }
    .sns li a span {
        display: block;
    }
    #pagetop {
        bottom: 32px;
    }
    
    section {
        padding: 8vw 0 5vw;    
    }
    
    .pankuzu {
        margin: 3vw 0 0;
        font-size: 3.25vw;
    }
    .pankuzu span {
        margin: 0 3.25vw;
    }

}


/* footer */

footer .frame {
    padding: 80px 0;
    border-top: 2px solid #0058a7;
    border-bottom: 2px solid #0058a7;
}
footer .f_menu {
    text-align: center;
}
footer .f_menu li {
    display: inline;
}
footer .f_menu li a {
    color: #e00000;
    padding: 0 20px;
}
footer .f_menu li a:hover {
    color: #f66;
}
footer .logo {
    margin: 75px 0 0;
    text-align: center;
}
footer .copyright {
    color: #003380;
    font-size: .875rem;
    line-height: 1.5;
    text-align: center;
}
footer .fujiq {
    padding: 60px 0;
    text-align: center;
}

@media screen and (max-width: 1309px)  {
    
    footer .frame {
        padding: 60px 0;
    }
    footer .f_menu li a {
        padding: 0 14px;
        font-size: .875rem;
    }
    footer .logo {
        margin: 60px 0 0;
    }
    footer .fujiq {
        padding: 45px 0;
    }
    footer .fujiq img {
        width: 104px;
    }

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

    footer .frame {
        padding: 40px 0;
    }
    footer .f_menu li a {
        padding: 0 1.5vw;
        margin: 0 0 20px;
        display: inline-block;
        font-size: .875rem;
    }
    footer .logo {
        margin: 20px 0 0;
    }
    footer .logo img {
        width: 75%;
    }
    footer .copyright {
        font-size: .6875rem;
    }
    footer .fujiq {
        padding: 30px 0;
    }
    footer .fujiq img {
        width: 91px;
    }
    
}

