@charset "utf-8";


/* -----------------------------------------------------------

#w_sub_style

----------------------------------------------------------- */

#w_sub_style {
    padding: 50px 1%;
    position: relative;
    z-index: 1;
    /* margin-top: 30px; */
    top: 30px;
    margin-bottom: 100px;
    max-width: 1200px;
    margin: 80px auto;
}

@media only screen and (max-width: 1024px) {
    #w_sub_style {
        padding: 50px 3%;
    }
}

@media only screen and (max-width: 800px) {
    #w_sub_style {
        padding: 80px 5%;
        padding: 0 5% 80px;
    }
}

@media only screen and (max-width: 738px) {
    #w_sub_style {
        padding: 0px 5%;
        margin-top: 50px;
    }
}

@media only screen and (max-width: 414px) {
    #w_sub_style {
        padding: 0 5% 60px;
        margin-top: 30px
    }

}





/* -----------------------------------------------------------

#footer

----------------------------------------------------------- */

#footer {
    padding-top: 0px;
    /* background: url(../images/footer_bg.jpg) no-repeat; */
    /* border-top: #eee 1px solid; */
    /* background: #A560A3; */
    background-size: cover;
    position: relative;
    z-index: 1;
}

#footer:before {
    position: absolute;
    top: -1px;
    left: 5%;
    right: 5%;
    height: 0;
    content: "";
    /* border-top: #ededed 1px solid; */
    z-index: 2;
}

/* ----- h3 ----- */
#footer h3 {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 600;
    letter-spacing: 3px;
    line-height: 2;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 20px;
}

#footer p {
    font-size: 16px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 500;
    letter-spacing: 3px;
    line-height: 2;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0px;
    color: #fff;
}

@media only screen and (max-width: 800px) {
    #footer {
        padding-top: 0;
    }
}

@media only screen and (max-width: 738px) {
    #footer {
        padding-top: 0;
        /* background: url(../images/noise.png) repeat #f0f0f0; */
    }

    #footer h3 {
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 414px) {
    #footer {
        padding-top: 0;
    }
}



/* ----- .inner ----- */
#footer .inner {
    padding: 20px 5% 30px;
    /* margin:0 5%; */
    background: #fefefe;
    background: url(../images/footer_bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}

/* ----- .inner ----- */
#footer .inner2 {
    padding: 20px 0;
    margin: 0 5%;
    /* background:#fefefe; */
}

/* ----- .infoArea ----- */
#footer .infoArea {
    font-size: 0;
    z-index: 2;
    position: relative;
}

/* ----- .infoBox ----- */
#footer .infoBox {
    display: inline-block;
    margin: 20px 0 0;
    width: 50%;
    padding: 5px 2.5%;
    position: relative;
    z-index: 0;
}

#footer .infoBox:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0;
    content: "";
    border-right: #ededed 1px solid;
    z-index: 0;
}

#footer .infoBox:last-child:after {
    display: none;
}

#footer .infoBox .linkArea {
    margin-top: 10px;
    text-align: center;
}

#footer .infoBox .linkArea .btnGoogle {
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 11px;
    text-decoration: none;
    text-align: center;
    line-height: 30px;
    letter-spacing: 1px;
    position: relative;
    color: #fff;
    background: #fefefe;
    /* border:#111 1px solid; */
    /* -webkit-border-radius: 30px; */
    -moz-border-radius: 30px;
    /* border-radius: 5px; */
    max-width: 100%;
}

#footer .infoBox .linkArea .btnGoogle:after {
    font-family: 'themify';
    content: "\e693";
    font-size: 20px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    left: 10px;
    left: 10px;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

#footer .infoBox .linkArea .btnGoogle:hover {
    color: #333;
    background: #999;
    color: #fff;
    border: #999 1px solid;
    border: #999 1px solid;
}


/* .txtArea */
#footer .aboutBox .txtArea {
    /* margin-top:20px; */
    text-align: center;
    color: #fff;
}

#footer .aboutBox h1 {
    width: 100%;
    height: 49px;
    background: url(../images/logoFooter_sp.png) center center no-repeat;
    background-size: 188px 49px;
    margin-top: -20px;
}

#footer .aboutBox p {
    font-size: 15px;
    text-indent: -0.5em;
    margin-top: -0.5em;
}

#footer .aboutBox .txtArea img {
    width: 180px;
    margin-bottom: 15px;
}


@media only screen and (max-width: 800px) {
    #footer .aboutBox .txtArea img {
        display: none;
    }

    #footer .aboutBox .txtArea p {
        display: none;
    }
}


/* .imgArea */
#footer .accessBox .imgArea {
    float: left;
    width: 15%;
}

/* .txtArea */
#footer .accessBox .txtArea {
    float: right;
    width: 62.5%;
}

#footer .accessBox p {
    font-size: 12px;
    margin-top: -0.5em;
}

/* .linkArea */
#footer .accessBox .linkArea {
    margin-top: 10px;
    text-align: left;
}

#footer .accessBox .linkArea .btnGoogle {
    display: inline-block;
    padding: 0 20px 0 30px;
    margin: 0;
    font-size: 11px;
    text-decoration: none;
    text-align: center;
    line-height: 30px;
    letter-spacing: 1px;
    position: relative;
    color: #111;
    background: #fefefe;
    border: #111 1px solid;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    max-width: 100%;
}

#footer .accessBox .linkArea .btnGoogle:after {
    font-family: 'themify';
    content: "\e693";
    font-size: 13px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    left: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

#footer .accessBox .linkArea .btnGoogle:hover {
    color: #A560A3;
    background: #f0fafe;
    border: #A560A3 1px solid;
    border: #f0fafe 1px solid;
}

/* .contactBox */
#footer .contactBox .imgArea {
    float: left;
    width: 30%;
    display: none;
}

#footer .contactBox .txtArea {
    float: right;
    width: 62.5%;
    width: 80%;
    margin: 0 10%;
    display: block;
}

#footer .contactBox .txtArea.sp {
    display: none;
}

#footer .contactBox h4 {
    font-size: 12px;
    font-weight: normal;
    line-height: 2.2;
    letter-spacing: 1px;
    margin-top: -0.5em;
    text-align: center;
}

/* .contactBox ul */
#footer .contactBox ul {}

#footer .contactBox ul li {
    display: block;
    margin: 5px 0 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

#footer .contactBox ul li a,
#footer .contactBox ul li span {
    display: block;
    line-height: 50px;
    position: relative;
    z-index: 2;
    color: #fff;
}

#footer .contactBox ul li .tel {
    color: #fff;
    /* border: #111 1px solid; */
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 2px;
    padding-left: 0px;
    /* width: 250px; */
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

span.tel {}

/*#footer .contactBox ul li .tel:before { position:absolute; top:0; left:20px; bottom:0; width:25px; content:""; background:url(../images/telIcon.png) left center no-repeat; }*/
#footer .contactBox ul li .tel:before {
    /* position: absolute; */
    top: 0;
    left: 20px;
    bottom: 0;
    width: 30px;
    font-size: 25px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f0e0";
    font-weight: normal;
    padding-right: 10px;
}




/* .mail */
#footer .contactBox ul li .mail {
    color: #111;
    border: #111 1px solid;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    padding-left: 20px;
}

#footer .contactBox ul li .mail:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

#footer .contactBox ul li .mail:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f003";
    font-weight: normal;
}


#footer .contactBox ul li .mail:hover {
    color: #fefefe;
    background: #999;
    border: #f0fafe 1px solid;
}

#footer .contactBox ul li .mail:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: 'themify';
    content: "\e649";
    font-weight: normal;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .contactBox ul li .mail:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}

@media only screen and (max-width: 1024px) {

    #footer .contactBox ul li .tel {
        font-size: 25px;
        padding-left: 20px;
    }
}

@media only screen and (max-width: 945px) {
    #footer .contactBox ul li .tel {
        /* font-size: 14px; */
        letter-spacing: 1.5px;
    }

    #footer .contactBox ul li .tel:before {
        left: 10px;
    }

    #footer .contactBox ul li .mail {
        font-size: 12px;
    }

    #footer .contactBox ul li .mail:before {
        left: 10px;
    }
}

@media only screen and (max-width: 800px) {

    /* ----- .inner ----- */
    #footer .inner {
        padding: 50px 0;
        /* margin:0 5%; */
        /* background:#fefefe; */
        background: url(../images/footer_bg-sp.jpg) no-repeat;
        background-position: center;
    }

    /* ----- .infoArea ----- */
    #footer .infoArea {
        font-size: 0;
        z-index: 2;
        position: relative;
    }

    /* ----- .infoBox ----- */
    #footer .infoBox {
        width: 100%;
        padding: 5px 5%;
    }

    #footer .infoBox:last-child {
        width: 100%;
        /* margin-top:25px; */
        padding-top: 25px;
        /* border-top:#ededed 1px solid; */
        padding: 0;
    }

    #footer .infoBox:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 0;
        content: "";
        border-right: #ededed 1px solid;
        z-index: 0;
    }

    #footer .infoBox:nth-child(2):after {
        display: none;
    }

    #footer .aboutBox h1 {
        width: 100%;
        height: 72px;
        /* background: url(../images/logoFooter_sp.png) center center no-repeat; */
        margin-top: -20px;
        background-size: 80px 72px;
    }

    /* .linkArea */
    #footer .accessBox .linkArea .btnGoogle:hover {
        color: #111;
        background: #fefefe;
        border: #111 1px solid;
    }

    /* .contactBox ul */
    #footer .contactBox ul {
        font-size: 0;
        margin: 10px -1% 0;
        text-align: center;
    }

    #footer .contactBox ul li {
        display: inline-block;
        margin: 5px 1% 0;
        width: 60%;
    }

    #footer .contactBox ul li a,
    #footer .contactBox ul li span {
        display: block;
        line-height: 50px;
        position: relative;
        z-index: 2;
    }

    #footer .contactBox ul li .tel {
        color: #fff;
        border: #fff 1px solid;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 2px;
        text-align: center;
        padding: 0 20px;
    }

    #footer .contactBox ul li .tel:before {
        /* position:absolute; */
        /* top:0; */
        left: 40px;
        /* bottom:0; */
        /* width:25px; */
        /* content:""; */
        /* background:url(../images/telIcon.png) left center no-repeat; */
        font-family: 'FontAwesome';
        content: "\f095";
        font-size: 25px;
    }

    /* .mail */
    #footer .contactBox ul li .mail {
        color: #111;
        border: #111 1px solid;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 1px;
    }

    #footer .contactBox ul li .mail:before {
        position: absolute;
        top: 0;
        left: 21px;
        bottom: 0;
        width: 25px;
        font-size: 20px;
        text-align: left;
        font-family: 'themify';
        content: "\e75a";
        font-weight: normal;
    }

    #footer .contactBox ul li .mail:hover {
        color: #111;
        border: #111 1px solid;
        background: none;
    }

    #footer .contactBox ul li .mail:after {
        display: none;
    }
}

@media only screen and (max-width: 738px) {

    /* ----- .inner ----- */
    #footer .inner {
        padding: 20px 0;
        /* margin:0 5%; *;/* background: url(../images/footer_bg.jpg) no-repeat; */
    }

    /* ----- .infoBox ----- */
    #footer .infoBox {
        display: block;
        margin: 0;
        width: 100%;
        padding: 25px 5% 0;
    }

    #footer .infoBox:after {
        position: absolute;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        border-right: none;
        border-bottom: #ededed 1px solid;
    }

    /* .contactBox */
    #footer .contactBox h4 {
        font-size: 12px;
        font-weight: normal;
        line-height: 2.2;
        letter-spacing: 1px;
        margin-top: -0.5em;
        text-align: center;
    }

    #footer .contactBox ul {
        font-size: 0;
        margin: 5px -1% 0;
        text-align: center;
    }

    #footer .contactBox ul li {
        margin: 10px 1% 0;
        min-width: 200px;
        text-align: center;
        padding: 2%;
    }

    #footer .contactBox ul li a,
    #footer .contactBox ul li span {
        line-height: 45px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        border-radius: 0px;
    }

    #footer .contactBox ul li .tel {
        font-size: 14px;
        letter-spacing: 1.5px;
        padding-left: 30px;
    }

    #footer .contactBox ul li .tel:before {
        left: 10px;
        width: 35px;
        /* background:url(../images/telIconSp.png) left center no-repeat; */
        /* background-size:20px 20px; */
        font-family: 'FontAwesome';
        content: "\f0e0";
        font-size: 30px;
        padding-right: 0;
    }

    #footer .contactBox ul li .mail {
        font-size: 12px;
    }

    #footer .contactBox ul li .mail:before {
        left: 10px;
    }
}

@media only screen and (max-width: 414px) {
    #footer .infoBox:first-child {
        padding: 25px 7.5%;
    }

    #footer .accessBox p {
        font-size: 11px;
        margin-top: -0.5em;
        line-height: 1.9;
    }
}


/* ----- .inner2 ----- */
#footer .inner2 {
    padding: 20px 0 40px;
    margin: 0 5%;
    /* border-bottom: #ededed 1px solid; */
    /* background:#fefefe; */
    position: relative;
    z-index: 1;
}

/* ----- .sitemapArea ----- */
#footer .sitemapArea {
    font-size: 0;
}

/* .sitemapBox */
#footer .sitemapBox {
    display: inline-block;
    margin: 0;
    width: 100%;
    position: relative;
    z-index: 0;
    text-align: center;
}

#footer .sitemapBox:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0;
    content: "";
    border-right: #ededed 1px solid;
    z-index: 0;
}

#footer .sitemapBox:last-child:after {
    display: none;
}

/* ul */
#footer .sitemapBox ul {
    padding: 0 1%;
    width: 100%;
    float: left;
}

#footer .sitemapBox ul li {
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: 16px;
    letter-spacing: 1px;
    text-align: left;
    padding-right: 15px;
}

#footer .sitemapBox ul li a {
    display: inline-block;
    position: relative;
    z-index: 1;
    line-height: 30px;
    padding-left: 15px;
    padding-right: 8px;
    color: #fff;
}

#footer .sitemapBox ul li a:before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
    content: "";
    width: 5px;
    height: 1px;
    background: #ddd;
    z-index: 2;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .sitemapBox ul li a:hover {
    color: #000000;
}

#footer .sitemapBox ul li a:after {
    position: absolute;
    top: 5px;
    left: 0;
    bottom: 5px;
    width: 0;
    content: "";
    background: #fefefe;
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#footer .sitemapBox ul li a:hover:after {
    width: 100%;
    background: #fff;
}

/* ----- ul.calendar ----- */
#footer .sitemapBox ul.calendar {
    margin-top: 15px;
}

@media only screen and (max-width: 1050px) {
    #footer .sitemapBox ul li {
        margin: 3px 0;
    }

    #footer .sitemapBox ul li a {
        line-height: 1.6;
    }

    #footer .sitemapBox ul li a:hover {
        color: #472b14;
    }

    #footer .sitemapBox ul li a:after {
        top: 2px;
        bottom: 2px;
    }
}

@media only screen and (max-width: 945px) {
    #footer .sitemapBox {
        width: 100%;
        margin-bottom: 30px;
    }

    #footer .sitemapBox:nth-child(4),
    #footer .sitemapBox:nth-child(5) {
        margin-bottom: 0;
    }

    #footer .sitemapBox:last-child:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 0;
        content: "";
        border-right: #ededed 1px solid;
        z-index: 0;
    }

    #footer .sitemapBox:nth-child(3):after {
        display: none;
    }
}

@media only screen and (max-width: 800px) {
    #footer .sitemapBox ul li a:hover {
        color: #9E9E9E;
    }

    #footer .sitemapBox ul li a:after {
        display: none;
    }
}

@media only screen and (max-width: 800px) {

    /* ----- .inner ----- */
    #footer .inner2 {
        padding: 5px 5% 2px;
        margin: 0 5%;
        /* background:#f5f5f5; */
        /* background:#fefefe; */
        /* border-top:#ededed 1px solid; */
    }

    /* ----- .sitemapArea ----- */
    #footer .sitemapArea {
        font-size: 0;
    }

    /* .sitemapBox */
    #footer .sitemapBox {
        display: block;
        margin: 0;
        width: 100%;
    }

    #footer .sitemapBox:after {
        display: none;
    }

    /* ul */
    #footer .sitemapBox ul {
        margin: 20px 0 0;
        padding: 0;
        font-size: 0;
        text-align: left;
        position: relative;
        width: 100%;
    }

    #footer .sitemapBox ul li {
        display: inline-block;
        margin: 0;
        width: 50%;
        padding: 0;
        border: transparent 1px solid;
        font-size: 10px;
        line-height: 40px;
        text-align: center;
    }

    #footer .sitemapBox ul li a {
        display: inline-block;
        position: relative;
        z-index: 1;
        padding-left: 0;
        letter-spacing: 0.5px;
        line-height: 40px;
        /* background:#ffff; */
        font-size: 16px;
        width: 100%;
        /* float: left; */
    }

    #footer .sitemapBox ul li a:before {
        position: absolute;
        top: 0;
        left: auto;
        right: 8px;
        bottom: 0;
        margin: 0;
        font-family: 'themify';
        content: "\e649";
        font-size: 6px;
        width: auto;
        height: 100%;
        background: none;
        z-index: 1;
    }

    #footer .sitemapBox ul.calendar {
        margin-top: 20px;
    }

    #footer .sitemapBox ul.home li,
    #footer .sitemapBox ul.calendar li,
    #footer .sitemapBox ul.privacy li {
        width: 100%;
    }

    #footer .sitemapBox ul.home:before,
    #footer .sitemapBox ul.photography:before,
    #footer .sitemapBox ul.exhibition:before,
    #footer .sitemapBox ul.collection:before,
    #footer .sitemapBox ul.recommend:before,
    #footer .sitemapBox ul.movie:before,
    #footer .sitemapBox ul.about:before,
    #footer .sitemapBox ul.staff:before,
    #footer .sitemapBox ul.calendar:before,
    #footer .sitemapBox ul.privacy:before {
        display: block;
        margin-bottom: 15px;
        content: "Photography";
        font-size: 12px;
        font-family: 'Catamaran', sans-serif;
        font-weight: 700;
        letter-spacing: 3px;
        line-height: 1;
        text-transform: uppercase;
        text-align: center;
    }

    #footer .sitemapBox ul.home:before {
        content: "Home";
    }

    #footer .sitemapBox ul.exhibition:before {
        content: "exhibition";
    }

    #footer .sitemapBox ul.collection:before {
        content: "collection";
    }

    #footer .sitemapBox ul.photography:before {
        content: "contents";
    }

    #footer .sitemapBox ul.recommend:before {
        content: "recommend";
    }

    #footer .sitemapBox ul.movie:before {
        content: "Movie";
    }

    #footer .sitemapBox ul.about:before {
        content: "About";
    }

    #footer .sitemapBox ul.staff:before {
        content: "recommend";
    }

    #footer .sitemapBox ul.calendar:before {
        content: "Calendar";
    }

    #footer .sitemapBox ul.privacy:before {
        content: "Privacy Policy";
    }
}


@media only screen and (max-width: 500px) {
    #footer .sitemapBox ul li {
        display: inline-block;
        margin: 0 auto;
        width: 100%;
        padding: 0;
        border: transparent 1px solid;
        font-size: 10px;
        line-height: 40px;
        text-align: center;
    }

    #footer .sitemapBox ul li a {
        width: 50%
    }

}




@media only screen and (max-width: 320px) {
    #footer .sitemapBox ul li a {
        letter-spacing: 0;
    }

    #footer .sitemapBox ul li a:before {
        display: none;
    }
}



/* ----- .inner3 ----- */
#footer .inner3 {
    padding: 20px 0;
    margin: 0 5% 10px;
    /* background: #fefefe; */
    /* border-top:#ededed 1px solid; */
    text-align: center;
    position: relative;
    z-index: 1;
}

/* ul.sns */
#footer .inner3 ul.sns {
    font-size: 0;
    text-align: center;
    padding: 0 15%;
}

#footer .inner3 ul.sns li {
    display: inline-block;
    width: 5%;
    position: relative;
    z-index: 2;
    color: #fff;
    line-height: 30px;
}

#footer .inner3 ul.sns li:after {
    position: absolute;
    top: 50%;
    right: -8px;
    content: "";
    width: 1px;
    height: 0;
    /* border-bottom:#ededed 1px solid; */
    z-index: -1;
}

#footer .inner3 ul.sns li:last-child:after {
    display: none;
}

#footer .inner3 ul.sns li a {
    display: block;
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
}

#footer .inner3 ul.sns li a span {
    position: relative;
    z-index: 1;
    line-height: 2.3;
}

#footer .inner3 ul.sns li a i {
    font-size: 13px;
    line-height: 30px;
    padding-right: 5px;
    color: #fff;
}

#footer .inner3 ul.sns li a.youtube i {
    font-size: 18px;
}

#footer .inner3 ul.sns li a:hover {
    color: #036b6e;
}

/*
#footer .inner3 ul.sns li a span:after {position:absolute;bottom:-5px;left: 45%;right: 45%;height:1px;content:"";background: transparent;z-index:-1;-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: all 0.3s ease;}
*/
#footer .inner3 ul.sns li a:hover span:after {
    left: 0;
    right: 0;
    background: #01696c;
}

@media only screen and (max-width: 945px) {
    #footer .inner3 ul.sns {
        padding: 0;
    }
}

@media only screen and (max-width: 800px) {
    #footer .inner3 ul.sns li a {
        letter-spacing: 1.5px;
    }

    #footer .inner3 ul.sns li a:hover {
        color: #111;
    }

    #footer .inner3 ul.sns li a span:after {
        display: none;
    }
}

@media only screen and (max-width: 738px) {
    #footer .inner3 {
        padding: 25px 5% 45px;
        margin: 0 5%;
    }

    /* ul.sns */
    #footer .inner3 ul.sns {
        font-size: 0;
        text-align: center;
        padding: 0;
        margin: -10px -1% 0;
    }

    #footer .inner3 ul.sns li {
        display: inline-block;
        /* width:31.333%; */
        margin: 10px 1% 0;
        position: relative;
        z-index: 2;
        line-height: 1;
    }

    #footer .inner3 ul.sns li:after {
        display: none;
    }

    #footer .inner3 ul.sns li:last-child:after {
        display: none;
    }

    #footer .inner3 ul.sns li a {
        /* background:#f0f0f0; */
        line-height: 40px;
        height: 40px;
        display: block;
        text-align: center;
        font-size: 11px;
        letter-spacing: 0.5px;
        /* -webkit-border-radius: 40px; */
        -moz-border-radius: 40px;
        /* border-radius: 40px; */
    }

    #footer .inner3 ul.sns li a i {
        font-size: 15px;
        line-height: 40px;
        padding-right: 0;
        margin-left: 0;
    }

    #footer .inner3 ul.sns li a.youtube i {
        font-size: 13px;
    }
}

@media only screen and (max-width: 414px) {
    #footer .inner3 ul.sns {
        margin: -5px -1% 0;
    }

    #footer .inner3 ul.sns li {
        /* width: 31%; */
        margin: 5px;
        text-align: center;
    }

    #footer .inner3 ul.sns li a {
        line-height: 35px;
        height: 35px;
        -webkit-border-radius: 35px;
        -moz-border-radius: 35px;
        border-radius: 2px;
    }

    #footer .inner3 ul.sns li a i {
        line-height: 35px;
    }
}

.footer_link {
    margin-top: 10px;
}

.group_hotels {
    display: flex;
    margin-bottom: 30px;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
}

.recruit {
    max-width: 300px;
    transition: all .5s ease-out;
}

.recruit:hover {
    opacity: .7;
}

.recruit img {
    width: 100%;
}

@media only screen and (max-width:768px) {
    .footer_link {
        margin-top: 10px;
    }

    .group_hotels {
        flex-direction: column;
        margin-bottom: 30px;
        row-gap: 20px;
    }

    .recruit {
        max-width: 300px;
    }
}


/* ----- .copyrightArea ----- */
#footer .copyrightArea {
    padding: 30px 5%;
    text-align: center;
    position: relative;
    z-index: 1;
    background: #031d1e;
}

#footer .copyrightArea p {
    font-size: 12px;
    line-height: 2.2;
    letter-spacing: 1px;
}

#footer .copyrightArea p img {
    width: 100px;
}

#footer .copyrightArea p.copyright {
    font-size: 11px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 1.5px;
    color: #fff;
    text-transform: none;
}

#footer .copyrightArea p.copyright span {
    font-size: 13px;
    vertical-align: 0;
    font-family: 'Open Sans';
}

@media only screen and (max-width: 738px) {
    #footer .copyrightArea {
        padding: 5% 35px 30%;
        /* background: url(../images/noise.png) repeat #f0f0f0; */
    }

    #footer .copyrightArea:before {
        position: absolute;
        top: -1px;
        left: 5%;
        right: 5%;
        height: 0;
        content: "";
        /* border-top:#ededed 1px solid; */
        z-index: 2;
    }

    #footer .copyrightArea p.copyright {
        letter-spacing: 1px;
        color: #fff;
        /* padding-top: 5px; */
    }

    #footer .copyrightArea p.copyright span {
        font-size: 12px;
        vertical-align: 0;
        font-family: 'Open Sans';
    }
}




/* --- .shareArea --- */
#footer .shareArea {
    position: absolute;
    top: 40px;
    left: 5%;
}

/* --- .snsBtnArea --- */
#footer .shareArea ul {
    font-size: 0;
    text-align: left;
    margin: 0;
}

#footer .shareArea ul li {
    display: inline-block;
    width: 100px;
    text-align: center;
    margin: 0 5px 0 0;
}

#footer .shareArea ul li a {
    position: relative;
    display: block;
    height: 30px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 30px;
    color: #111;
    background: #fefefe;
    margin: 0 auto;
    padding: 0 0 0 10px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}

#footer .shareArea ul li a:before {
    position: absolute;
    top: 0;
    left: 10px;
    bottom: 0;
    display: block;
    font-size: 13px;
    font-family: 'themify';
    font-weight: normal;
    line-height: 30px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .shareArea ul li a.twitterBtn:before {
    content: "\e74b";
    color: #1da1f2;
}

#footer .shareArea ul li a.twitterBtn:hover {
    color: #fefefe;
    background: url(../images/noise.png) repeat #1da1f2;
}

#footer .shareArea ul li a.twitterBtn:hover:before {
    color: #fefefe;
}

#footer .shareArea ul li a.facebookBtn:before {
    content: "\e741";
    color: #3765a3;
}

#footer .shareArea ul li a.facebookBtn:hover {
    color: #fefefe;
    background: url(../images/noise.png) repeat #3765a3;
}

#footer .shareArea ul li a.facebookBtn:hover:before {
    color: #fefefe;
}

@media only screen and (max-width: 800px) {
    #footer .shareArea {
        position: static;
        margin-bottom: 15px;
    }

    #footer .shareArea ul {
        font-size: 0;
        text-align: center;
        margin: 0;
    }

    #footer .shareArea ul li {
        margin: 0 1%;
    }

    #footer .shareArea ul li a.twitterBtn:hover {
        color: #111;
        background: #fefefe;
    }

    #footer .shareArea ul li a.twitterBtn:hover:before {
        color: #1da1f2;
    }

    #footer .shareArea ul li a.facebookBtn:hover {
        color: #111;
        background: #fefefe;
    }

    #footer .shareArea ul li a.facebookBtn:hover:before {
        color: #3765a3;
    }
}

@media only screen and (max-width: 738px) {
    #footer .shareArea {
        position: static;
        margin-bottom: 15px;
    }

    /* --- .snsBtnArea --- */
    #footer .shareArea ul {
        font-size: 0;
        text-align: center;
        margin: 0;
    }

    #footer .shareArea ul li {
        display: inline-block;
        width: 120px;
        text-align: center;
        margin: 0 1%;
    }

    #footer .shareArea ul li a {
        -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.1);
    }
}


/* -------------------------------- 

Primary style

-------------------------------- */

table.tab01 {
    width: 95%;
    font-size: 1.0rem;
    border-collapse: separate;
    border-spacing: 0px 1px;
    margin: 2%;
    padding: 0 3%;

}

table.tab01 img {
    margin: 0;
}

table.tab01 th {
    font-weight: 500;
    padding: 8px 0;
    padding-left: 5px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #09437c 2px solid;
    /*border-bottom: #999 1px solid;
    color: #fff;*/
}

table.tab01 td {
    padding: 8px 2%;
    text-align: left;
    border-bottom: #472b14 1px dotted;
    line-height: 2;
}

table.tab01 td.r1 {
    width: 20%;
    text-align: left;
    line-height: 2;
}

table.tab01 td.r2 {
    width: 75%;
    text-align: left;
}


table.tab01 td li {
    /* padding: 3px; */
    list-style: none;
}



table.tab02 {
    width: 95%;
    font-size: 1.0rem;
    border-collapse: separate;
    border-spacing: 0px 1px;
    margin: 2%;
    padding: 0 3%;

}

table.tab02 img {
    margin: 0;
}

table.tab02 th {
    font-weight: 500;
    padding: 8px 0;
    padding-left: 5px;
    vertical-align: middle;
    text-align: left;
    border-bottom: #999 1px solid;
    /*border-bottom: #999 1px solid;
    color: #fff;*/
}

table.tab02 td {
    padding: 8px 2%;
    text-align: left;
    border-bottom: #999 1px solid;
}

table.tab02 td.r1 {
    width: 20%;
    text-align: left;
}

table.tab02 td.r2 {
    width: 75%;
    text-align: left;
}


table.tab02 td li {
    /* padding: 3px; */
    list-style: none;
}


@media only screen and (max-width: 500px) {

    table.tab01 td.r1 {
        display: block;
        width: 100%;
        border-bottom: none;
        background: #eee;
        line-height: 1.2;
        font-weight: 600;
        font-size: 16px;
    }

    table.tab01 td.r2 {
        display: block;
        width: 100%;
        border-bottom: none;
        line-height: 1.6;
        margin-bottom: 30px;
        font-size: 15px;
    }


}