@charset "utf-8";
/* CSS Document */

/*------------------------

背景

------------------------*/

html {
    height: 100%;
    overflow: -moz-scrollbars-vertical;
    font-size: 62.5%;
}

body {
    height: 100%;
    background-color: #fff;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.61;
    color: #000;
    letter-spacing: .1em;
    word-wrap: break-word;
}

@media only screen and (max-width: 767px) {
    body {
        font-size: 1.6rem;
    }
}

.wrap {
    width: 94%;
    max-width: 980px;
    height: auto;
    min-height: 100%;
    margin: auto;
    padding: 0;
}

.wrap-1170 {
    width: 94%;
    max-width: 1170px;
    height: auto;
    min-height: 100%;
    margin: auto;
    padding: 0;
}

.wrap-1280 {
    width: 94%;
    max-width: 1280px;
    height: auto;
    min-height: 100%;
    margin: auto;
    padding: 0;
}

.wrap-1440 {
    width: 94%;
    max-width: 1440px;
    height: auto;
    min-height: 100%;
    margin: auto;
    padding: 0;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block;
}

@font-face {
    font-family: "sorts_mill_goudyregular";
    font-weight: normal;
    font-style: normal;

    src: url("../fonts/sortsmillgoudy-regular-webfont.eot");
    src: url("../fonts/sortsmillgoudy-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/sortsmillgoudy-regular-webfont.woff2") format("woff2"), url("../fonts/sortsmillgoudy-regular-webfont.woff") format("woff"), url("../fonts/sortsmillgoudy-regular-webfont.ttf") format("truetype"), url("../fonts/sortsmillgoudy-regular-webfont.svg#sorts_mill_goudyregular") format("svg");
}

/*------------------------

ヘッダー

------------------------*/

header {
    width: 100%;
    height: 68px;
    background-color: rgba(255, 255, 255, .95);
    position: fixed;
    display: block;
    z-index: 9000;
}

.header.fixed .fixbar {
    width: 100%;
    height: 68px;
    background-color: rgba(255, 255, 255, .95);
    position: fixed;
    top: 0;
    display: block;
    z-index: 9000;
}

header .wrap-1440 {
    position: relative;
    display: block;
}

header .navbar.navbar-left {
    padding-top: 8px;
}

header .navbar.navbar-right li.reserve,
header .navbar.navbar-right li {
    margin-left: 0;
}

header .navbar.navbar-right li+li {
    margin-left: 1em;
}

header .navbar.navbar-right li a {
    padding-top: 18px;
    display: block;
    font-size: 1.4rem;
    color: #000;
}

header .navbar.navbar-right .reserve {
    position: absolute;
    top: 0;
    right: 0;
}

header .navbar.navbar-right .reserve02 {
    margin-left: 0;
    position: absolute;
    top: 140px;
    right: 0;
}

header .navbar.navbar-right .reserve02 a {
    padding-top: 0;
}

header.fixed .navbar.navbar-right .reserve02 {
    top: 68px;
}

header .navbar.navbar-right li.drop-down-menu span {
    padding-top: 18px;
    cursor: pointer;
    display: block;
    font-size: 1.4rem;
}

header .navbar.navbar-right li.drop-down-menu span i,
header .navbar.navbar-right li.drop-down-menu span,
header .navbar.navbar-right li.drop-down-menu a i,
header .navbar.navbar-right li.drop-down-menu a,
header .navbar.navbar-right li a:hover {
    color: #009f9f;
    text-decoration: none;
}

header .navbar.navbar-right li.margin {
    width: 360px;
    height: 1px;
    padding-right: 0;
}

li.tel {
    width: 175px;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 175px;
    display: block;
}

header .navbar.navbar-right li.tel a {
    padding-top: 0;
}

header .navbar.navbar-right li.tel span {
    cursor: pointer;
}

li.reserve {
    width: 175px;
    position: absolute;
    top: 0;
    right: 0;
    display: block;
}

li.reserve,
li.reserve02 {
    width: 140px;
}

header .navbar.navbar-right li.reserve a {
    margin: 0;
    padding: 0;
}

.header li.reserve span,
.header li.reserve02 span {
    display: none;
}

.header.fixed .fixbar li.reserve img,
.header.fixed .fixbar li.tel img {
    display: none;
}

.header.fixed .fixbar li.tel a,
.header.fixed .fixbar li.tel span {
    width: 100%;
    max-width: 175px;
    height: 68px;
    background: url(../img/tel-btn-ol.png) no-repeat left center;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    display: block;
}

.header.fixed .fixbar li.reserve a {
    width: 100%;
    max-width: 175px;
    height: 68px;
    background: url(../img/reserve-btn-ol.png) no-repeat left center;
    background-color: #59c1c1;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    display: block;
}

@media only screen and (max-width: 1440px) {
    header .wrap-1440 {
        width: 98%;
    }

    header .navbar.navbar-right li+li {
        margin-left: .65em;
    }

    header .navbar.navbar-right li.margin {
        width: 280px;
        height: 1px;
        padding-right: 0;
    }

    li.tel {
        width: 140px;
        right: 140px;
    }
}

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

    .header.fixed .fixbar li.reserve a,
    .header.fixed .fixbar li.tel span {
        width: auto;
        height: auto;
        background: none;
        display: block;
    }

    li.logo {
        padding-left: 1.45em;
    }

    header .navbar.navbar-right ul {
        padding-top: 60px;
    }

    header .navbar.navbar-right li {
        width: 50%;
        padding: 0 0 .65em;
        border-bottom: 1px solid #e5e3df;
        display: block;
        float: left;
        text-align: center;
    }

    header .navbar.navbar-right .reserve,
    header .navbar.navbar-right .reserve02 {
        border-bottom: 0;
    }

    header .navbar.navbar-right .reserve {
        position: relative;
    }

    header .navbar.navbar-right .reserve02 {
        position: relative;
        top: auto;
        right: auto;
    }

    header.fixed .navbar.navbar-right .reserve02 {
        top: auto;
        bottom: 55px;
        left: 0;
        right: 0;
        margin: auto;
        position: absolute;
    }

    header .navbar.navbar-right li+li {
        margin-left: 0;
    }

    header .navbar.navbar-right li.drop-down-menu span,
    header .navbar.navbar-right li a {
        padding-top: 10px;
    }

    header .navbar.navbar-right li.margin {
        width: 100%;
        height: 0;
        margin: 0;
        padding: 0;
        border-bottom: none;
        display: block;
    }

    header .navbar.navbar-right li.tel {
        width: 100%;
        border-bottom: none;
        position: relative;
        top: 0;
        right: 0;
    }

    .header.fixed .fixbar li.tel img {
        display: none;
    }
}

@media only screen and (min-width: 768px) {
    header .navbar.navbar-right {
        width: 40%;
        min-width: 320px;
    }
}

@media only screen and (min-width: 1000px) {
    header .navbar.navbar-right {
        width: 300px;
    }
}

@media only screen and (min-width: 1210px) {
    header .navbar.navbar-right {
        width: auto;
        min-width: auto;
    }
}

@media only screen and (max-width: 767px) {
    li.logo {
        padding-left: 10px;
    }
}

#loader-bg {
    width: 100%;
    height: 150%;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 8900;
}

#loader {
    width: 32px;
    height: 32px;
    position: fixed;
    top: 50%;
    left: 50%;
    display: none;
    color: #fff;
    text-align: center;
    z-index: 8900;
}

@media only screen and (max-width: 767px) {
    #loader {
        top: 45%;
        left: 45%;
    }
}

/*------------------------

多言語切り替えドロップダウン

------------------------*/

.drop-down-menu {
    position: relative;
}

.drop-down-menu ul {
    margin: 0;
}

.drop-down-menu span,
.drop-down-menu a {
    display: block;
    text-decoration: none;
}

.drop-down-menu ul a:hover {
    color: #077;
}

.drop-down-menu .sub-menu {
    width: 180px;
    margin-left: -90px;
    background: #009f9f;
    position: absolute;
    top: 42px;
    left: 50%;
    display: none;
    z-index: 9999;
}

.drop-down-menu .sub-menu li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #077;
    float: none;
    color: #fff;
}

header .navbar.navbar-right .drop-down-menu .sub-menu li a {
    padding-top: 10px;
    color: #fff;
}

header .navbar.navbar-right li.drop-down-menu .sub-menu li+li {
    margin-left: 0;
}

li.drop-down-menu .sub-menu a {
    width: 100%;
    padding: 10px 15px;
    display: block;
    color: #fff;
    text-decoration: none;
}

li.pc-menu ul li.drop-down-menu .sub-menu a:hover {
    color: #fff;
    text-decoration: none;
}

.drop-down-menu:hover ul,
.drop-down-menu ul.focused,
.drop-down-menu ul.focused:hover {
    display: block;
}

.drop-down-menu li a:hover,
.drop-down-menu li a:focus {
    background-color: #077;
}

.drop-down-menu ul.focused {
    display: block;
}

@media only screen and (max-width: 1210px) {
    header .navbar.navbar-right li.drop-down-menu .sub-menu {
        padding-top: 0;
    }

    header .navbar.navbar-right li.drop-down-menu .sub-menu li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #077;
        float: none;
    }
}

/*------------------------

スクロール表示用

------------------------*/
.inviewfadeIn {
    transition: .8s;
    opacity: 0;
}

.fadeIn {
    opacity: 1.0;
}

.inviewzoomIn {
    transition: .8s;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
}

.zoomIn {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.inviewfadeInUp {
    transition: .8s;
    opacity: 0;
    -webkit-transform: translate(0, 60px);
    transform: translate(0, 60px);
}

.fadeInUp {
    opacity: 1.0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

/*------------------------

メイン

------------------------*/
#main {
    width: 100%;
    height: 75%;
    max-height: 650px;
    border-top: 68px solid #fff;
    border-right: 25px solid #fff;
    border-bottom: 25px solid #fff;
    border-left: 25px solid #fff;
    position: relative;
    display: block;
    overflow: hidden;
}

ul.main-slide>li img {
    display: none;
}

#main .bx-wrapper .bx-viewport,
#main .bx-wrapper,
.main-img-box,
ul.main-slide,
ul.main-slide>li {
    height: 100% !important;
}

.main-img-box,
ul.main-slide {
    width: 100%;
    display: block;
}

ul.main-slide>li {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    display: block;
}

ul.main-slide>li:nth-child(1) {
    background-image: url(../img/main01.png);
    background-size: cover;
}

ul.main-slide>li:nth-child(2) {
    background-image: url(../img/main02.png);
    background-size: cover;
}

ul.main-slide>li:nth-child(3) {
    background-image: url(../img/main03.png);
    background-size: cover;
}

ul.main-slide>li:nth-child(4) {
    background-image: url(../img/main04.png);
    background-size: cover;
}

ul.main-slide>li:nth-child(5) {
    background-image: url(../img/main05.png);
    background-size: cover;
}

.main-title {
    width: 567px;
    margin: 0 auto;
    position: absolute;
    top: 30%;
    right: 0;
    left: 0;
    display: block;
}

@media only screen and (max-width: 767px) {
    #main {
        max-height: 400px;
        border-right: 10px solid #fff;
        border-bottom: 10px solid #fff;
        border-left: 10px solid #fff;
    }

    .main-title {
        width: 90%;
        max-width: 567px;
        top: 35%;
    }
}

/*------------------------

インフォメーション

------------------------*/

.top-info-box {
    max-width: 900px;
    margin: .01em auto 2em;
}

.top-info-box.banner-2 {
    max-width: 1200px;
}

.top-info-box .units-row .unit-30 {
    width: 41.2%;
    margin-left: 2%;
}

.top-info-box .units-row .unit-40 {
    width: 55.8%;
}

.top-info-box.banner-2 .units-row .unit-30 {
    width: 26.9%;
}

.top-info-box.banner-2 .units-row .unit-40 {
    width: 41.2%;
}

/*------------------------

2018.0903

------------------------*/

.top-info-box.banner-2 .units-row .ml150 {
    margin-left: 150px;
}

/*------------------------

2018.0903 end 

------------------------*/

.top-info-box>h2 {
    margin: 0 auto .85em;
    display: block;
    font-family: "sorts_mill_goudyregular", "Times New Roman", serif;
    font-size: 2.8rem;
    font-weight: normal;
    text-align: center;
}

.top-info-box>h2 span {
    margin-top: .25em;
    display: block;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.4rem;
    color: #004c66;
}

.top-info-box>h2:before,
.top-info-box>h2:after {
    width: 100%;
    max-width: 435px;
    height: 5px;
    margin: 0 auto;
    content: "";
    display: block;
}

.top-info-box>h2:before {
    margin-bottom: .4em;
    background: url(../img/dot-line-top.png) no-repeat;
    background-size: auto 5px;
}

.top-info-box>h2:after {
    margin-top: .45em;
    background: url(../img/dot-line-bottom.png) no-repeat;
    background-size: auto 5px;
}

.top-news-slide li {
    /*height: 171px;*/
    height: 196px;
    padding: 1.15em 1.25em;
    border-left: 5px solid #59c1c1;
    background-color: #f2f2f2;
}

.banner-2 .top-news-slide li {
    height: 171px;
}

.top-news-slide li img {
    width: auto !important;
    max-width: 30%;
    max-height: 138px;
    margin-right: 1.25em;
    display: block;
    float: left;
}

.top-news-slide li img+.text {
    max-width: 60%;
    float: left;
}

.top-news-slide li span.time {
    margin: .35em 0 .65em;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    color: #004c66;
}

.top-news-slide li h2 {
    margin-bottom: 1.25em;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.61;
}

.top-news-slide li h2 a {
    display: block;
}

.top-news-slide li h2 a:hover,
.top-news-slide li h2 a {
    color: #000;
}

.top-news-slide li h2 a:after {
    width: 70px;
    margin-top: 15px;
    content: "More　→";
    border-bottom: 2px solid #009f9f;
    position: relative;
    display: block;
    font-family: "sorts_mill_goudyregular", "Times New Roman", serif;
    font-size: 1.4rem;
    color: #009f9f;
}

.top-news-slide li h2 a:hover:after {
    border-bottom: 2px solid #055151;
    color: #055151;
}

.top-news-slide li a.more-btn {
    position: relative;
    font-family: "sorts_mill_goudyregular", "Times New Roman", serif;
    font-size: 1.4rem;
    color: #009f9f;
}

.top-news-slide li a.more-btn:before {
    width: 100%;
    height: 2px;
    content: "";
    background-color: #009f9f;
    position: absolute;
    bottom: -7px;
    left: 0;
    display: block;
}

.top-news-slide li a.more-btn:after {
    margin-left: .35em;
    content: "\f178";
    font-family: FontAwesome;
}

.top-info-box .bx-wrapper .bx-controls-direction a {
    width: 25px;
    height: 25px;
    margin-top: -10px;
    border: 1px solid #59c1c1;
    border-radius: 50%;
    background-color: #f2f2f2;
    font-size: 0;
    color: #59c1c1;
    text-align: center;
    text-indent: inherit;
    z-index: 8800;
}

.top-info-box .bx-wrapper .bx-controls-direction a:hover {
    background-color: #59c1c1;
    color: #fff;
}

.top-info-box .unit-50+.unit-50 .bx-wrapper .bx-controls-direction a {
    background-color: #59c1c1;
    color: #fff;
}

.top-info-box .unit-50+.unit-50 .bx-wrapper .bx-controls-direction a:hover {
    border: 1px solid #004c66;
    background-color: #004c66;
    color: #fff;
}


.top-info-box .bx-wrapper .bx-prev {
    top: auto;
    right: 45px;
    bottom: 11px;
    left: auto;
}

.top-info-box .bx-wrapper .bx-next {
    top: auto;
    right: 14px;
    bottom: 11px;
}

.top-info-box .bx-wrapper .bx-prev:before {
    margin-top: 2px;
    content: "\f0d9";
    display: block;
    font-family: FontAwesome;
    font-size: 1.3rem;
}

.top-info-box .bx-wrapper .bx-next:before {
    margin-top: 2px;
    margin-left: 2px;
    content: "\f0da";
    display: block;
    font-family: FontAwesome;
    font-size: 1.3rem;
}

@media only screen and (max-width: 979px) {
    .top-info-box .units-row {
        margin-right: auto;
        margin-bottom: 0;
        margin-left: auto;
    }

    .top-info-box.banner-2 .units-row .unit-30,
    .top-info-box.banner-2 .units-row .unit-40,
    .top-info-box .units-row .unit-30,
    .top-info-box .units-row .unit-40,
    .top-info-box .unit-50 {
        width: 100%;
        max-width: 475px;
        margin: 0 auto !important;
        float: none;
    }

    .top-info-box.banner-2 .units-row .unit-30,
    .top-info-box .units-row .unit-30,
    .top-info-box .unit-50+.unit-50 {
        margin-top: 1.65em !important;
    }
}

@media only screen and (max-width: 767px) {
    .top-info-box {
        margin: 1em auto 1.65em;
    }

    .top-info-box>h2 {
        margin: 0 auto 1em;
        font-size: 2rem;
    }

    .top-info-box>h2 span {
        font-size: 1.2rem;
    }

    .top-info-box .unit-50+.unit-50 {
        margin-top: .65em !important;
    }

    .top-news-slide li img+.text {
        width: 55%;
    }

    .top-news-slide li {
        height: auto;
        padding: .85em .85em;
    }

    .top-news-slide li:before,
    .top-news-slide li:after {
        height: 0;
        content: ".";
        display: block;
        overflow: hidden;
    }

    .top-news-slide li:after {
        clear: both;
    }

    .top-news-slide li h2 {
        margin-bottom: 1em;
    }

    .top-news-slide li span.time {
        margin: 0 0 .35em;
    }
}


/*------------------------

中面

------------------------*/
article {
    background-color: #fff;
}

.infiniteslide-box {
    width: 100%;
    height: 600px;
    margin-bottom: 25px;
    position: relative;
    display: block;
    overflow: hidden;
}

.infiniteslide-box h1 {
    width: 541px;
    height: 541px;
    margin: 0 auto;
    background: url(../img/circle.png) no-repeat left top;
    position: absolute;
    top: 30px;
    right: 0;
    left: 0;
    display: block;
    text-align: center;
}

.infiniteslide-box h1 img {
    margin: 215px auto 13px;
    display: block;
}

.infiniteslide-box h1 span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}

.infiniteslide1 {
    width: 100%;
    height: 200px;
    position: relative;
    top: 0;
    overflow: hidden;
    z-index: 3;
}

.infiniteslide2 {
    width: 100%;
    height: 200px;
    margin-top: 200px;
    position: relative;
    top: 0;
    overflow: hidden;
    z-index: 2;
}

@media only screen and (max-width: 767px) {
    .infiniteslide-box {
        height: 300px;
        margin-bottom: 15px;
    }

    .infiniteslide1,
    .infiniteslide2 {
        height: 100px !important;
    }

    .infiniteslide2 {
        margin-top: 100px;
    }

    .infiniteslide1 img,
    .infiniteslide2 img {
        width: 150px;
        height: 100px;
    }

    .infiniteslide-box h1 {
        width: 250px;
        height: 250px;
        background: url(../img/circle.png) no-repeat left top;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
        top: 15px;
    }

    .infiniteslide-box h1 img {
        width: 70%;
        margin: 95px auto 7px;
    }

    .infiniteslide-box h1 span {
        font-size: 1.2rem;
    }
}

.slideFrame {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
    overflow-x: auto;
}

.slideGuide {
    width: 150%;
    height: 100%;
}

.slideCell {
    width: 300px;
    height: 200px;
    background: #fff;
    display: block;
    float: left;
    color: #333;
}

/* sample */
.slideCell a {
    width: 100%;
    height: 100%;
    background: skyblue;
    display: block;
}

.slideCell a:hover {
    background: yellow;
}

@media only screen and (max-width: 767px) {
    .slideFrame {
        height: 100px;
    }

    .slideCell {
        width: 150px;
        height: 100px;
    }
}

/*------------------------

中面-おもてなしから下部分

------------------------*/

.topin-box01 {
    width: 100%;
    min-height: 910px;
    padding-bottom: 45px;
    background: url(../img/feature-back.png) no-repeat center top;
    background-size: cover;
    display: block;
}

h1.feature-heading {
    margin-bottom: 30px;
    padding-top: 35px;
    display: block;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 4.8rem;
    color: #fff;
    text-align: center;
}

h1.feature-heading img {
    margin: 0 auto 45px;
    display: block;
}

h1.feature-heading span {
    margin-top: 10px;
    display: block;
    font-family: "sorts_mill_goudyregular", "Times New Roman", serif;
    font-size: 2.4rem;
    font-weight: normal;
}

h1.feature-heading:after {
    width: 100px;
    height: 3px;
    margin: 28px auto 0;
    content: "";
    background-color: #fff;
    display: block;
}

p.feature-text {
    display: block;
    color: #fff;
    text-align: center;
}

.topin-box01 ul.blocks-3>li {
    background-color: #fff;
}

.topin-box01 ul.blocks-3>li img {
    width: 100%;
    display: block;
}

.topin-box01 ul.blocks-3>li h2 {
    margin-bottom: 15px;
    display: block;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 1.8rem;
    line-height: 1.5;
    color: #004c66;
}

.topin-box01 ul.blocks-3>li h2:after {
    width: 70px;
    height: 3px;
    margin: 15px 0 0;
    content: "";
    background-color: #009f9f;
    display: block;
}

.topin-box01 ul.blocks-3>li a p {
    color: #000;
    letter-spacing: normal;
}

.topin-box01-text {
    padding: 25px 16px 0;
}

@media only screen and (max-width: 767px) {
    .topin-box01 {
        min-height: auto;
        padding-bottom: 45px;
    }

    h1.feature-heading {
        font-size: 3rem;
    }

    h1.feature-heading img {
        width: 50%;
        max-width: 210px;
        margin: 0 auto 20px;
    }

    h1.feature-heading span {
        margin-top: 10px;
        font-size: 1.8rem;
    }

    h1.feature-heading:after {
        margin: 28px auto 0;
    }

    .topin-box01-text {
        padding: 20px 16px;
    }

    .topin-box01 a.green-btn {
        margin-top: 0;
    }
}

.topin-box04,
.topin-box03,
.topin-box02 {
    width: 100%;
    min-height: 1200px;
    padding-top: 130px;
    position: relative;
    display: block;
}

.topin-box02 {
    background: url(../img/spa-back.png) no-repeat center top;
}

.topin-box03 {
    background: url(../img/room-back.png) no-repeat center top;
}

.topin-box04 {
    background: url(../img/dish-back.png) no-repeat center top;
    background-size: cover;
}

h1.top-heading01 {
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    text-align: center;
    z-index: 2;
}

ul.photo-slide {
    max-width: 1160px;
    margin: 0 auto;
}

ul.photo-slide>li {
    max-width: 1160px !important;
    border: 10px solid #fff;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(1) a {
    background: url(../img/spa-thumbnail01.png) no-repeat left top;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(2) a {
    background: url(../img/spa-thumbnail02.png) no-repeat left top;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(3) a {
    background: url(../img/spa-thumbnail03.png) no-repeat left top;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(4) a {
    background: url(../img/spa-thumbnail04.png) no-repeat left top;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(5) a {
    background: url(../img/spa-thumbnail05.png) no-repeat left top;
}

.topin-box02 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(6) a {
    background: url(../img/spa-thumbnail06.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(1) a {
    background: url(../img/room-thumbnail01.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(2) a {
    background: url(../img/room-thumbnail02.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(3) a {
    background: url(../img/room-thumbnail03.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(4) a {
    background: url(../img/room-thumbnail04.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(5) a {
    background: url(../img/room-thumbnail05.png) no-repeat left top;
}

.topin-box03 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(6) a {
    background: url(../img/room-thumbnail06.png) no-repeat left top;
}

.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(1) a {
    background: url(../img/dish-thumbnail01.png) no-repeat left top;
}

.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(2) a {
    background: url(../img/dish-thumbnail02.png) no-repeat left top;
}

/*.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(3) a{
	background:url(../img/dish-thumbnail03.png) no-repeat left top;
	}*/

.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(3) a {
    background: url(../img/dish-thumbnail04.png) no-repeat left top;
}

.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(4) a {
    background: url(../img/dish-thumbnail05.png) no-repeat left top;
}

.topin-box04 .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:nth-child(5) a {
    background: url(../img/dish-thumbnail06.png) no-repeat left top;
}

.text-box01 {
    margin-top: 11em;
}

a.allergies-btn {
    color: rgba(255, 255, 255, .8);
}

a.allergies-btn::after {
    margin-left: 1em;
    content: "\f0da";
    font-family: "FontAwesome";
}

a.allergies-btn:hover {
    color: #cb3737;
}

.text-box01 .unit-35 {
    text-align: right;
}

.text-box01 p {
    color: #fff;
}

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

    .topin-box04,
    .topin-box03,
    .topin-box02 {
        min-height: auto;
    }

    .text-box01 {
        margin-top: 9em;
    }

    .text-box01.units-row {
        margin-bottom: 0;
        padding-bottom: 1.65em;
    }
}

@media only screen and (max-width: 767px) {
    ul.photo-slide>li {
        max-width: 100% !important;
        border: 5px solid #fff;
    }

    .text-box01 {
        margin-top: 10%;
    }

    .text-box01 .unit-35 {
        text-align: center;
    }
}

.topin-box05 {
    width: 100%;
    height: 600px;
    background: url(../img/banquet-back.png) no-repeat center top;
    display: block;
}

.topin-box05 .text-box02 {
    width: 300px;
    padding-left: 40px;
    display: block;
    float: right;
}

.topin-box06 {
    width: 100%;
    height: 600px;
    background: url(../img/plan-back.png) no-repeat center top;
    display: block;
}

.topin-box06 .text-box02 {
    width: 290px;
    display: block;
}

.topin-box06 h1,
.topin-box05 h1 {
    padding-top: 70px;
    display: block;
}

@media only screen and (max-width: 1023px) {
    .topin-box05 {
        width: 100%;
        height: auto;
        padding-top: 50%;
        background: url(../img/sp-banquet-back.png) no-repeat center top;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
    }

    .topin-box05 .text-box02 {
        width: 100%;
        margin: 0 0 1.65em 1em;
        padding-left: 0;
        float: none;
    }

    .topin-box06 {
        width: 100%;
        height: auto;
        padding-top: 50%;
        background: url(../img/sp-plan-back.png) no-repeat center top;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
    }

    .topin-box06 .text-box02 {
        width: 100%;
        margin: 0 0 1.65em 1em;
    }

    .topin-box06 h1,
    .topin-box05 h1 {
        padding-top: 1em;
        display: block;
    }
}

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

    .topin-box06 h1,
    .topin-box05 h1 {
        text-align: center;
    }

    .topin-box05 .text-box02,
    .topin-box06 .text-box02 {
        margin: 0 .35em 1.65em;
    }
}

.topin-box07 {
    width: 100%;
    margin-top: 1.65em;
    margin-bottom: 1.65em;
    background: url(../img/bestprice-line.png) no-repeat center top;
    display: block;
}

.topin-box07 .btn-area {
    margin-top: 24px;
}

h1.heading {
    display: block;
    font-family: "sorts_mill_goudyregular", "Times New Roman", serif;
    font-weight: normal;
}

h1.heading span {
    font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 1.4rem;
}

.topin-box07 h1.heading {
    margin-bottom: 1.25em;
    padding-top: .65em;
    font-size: 3rem;
    text-align: center;
}

.topin-box07 h1.heading span {
    margin-top: .35em;
    display: block;
}

.topin-box07 ul.blocks-4>li h2 {
    margin: 1em 0 1em;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;
    color: #2697bd;
    letter-spacing: normal;
}

.topin-box07 ul.blocks-4>li h2 span {
    margin-bottom: .85em;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    color: #666;
}

.topin-box07 ul.blocks-4>li p.price-text {
    margin-bottom: 1.35em;
    padding-bottom: 1.35em;
    border-bottom: 1px solid #e5e3df;
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: right;
}

.topin-box07 a.black-btn {
    margin: auto;
}

.topin-box07 a.green-btn {
    width: 100%;
}

.facebook-box {
    width: 100%;
    height: 320px;
}

@media only screen and (max-width: 1023px) {
    .topin-box07 ul.blocks-4>li {
        width: 47%;
    }
}

@media only screen and (max-width: 767px) {
    .topin-box07 ul.blocks-4>li {
        width: 100%;
    }

    .topin-box07 a.green-btn {
        width: 95%;
    }
}

.topin-box08 {
    width: 100%;
    padding: 1.65em 0;
    display: block;
}

.topin-box08 h1.heading {
    margin: 1.2em 0 .65em;
    font-size: 1.8rem;
}

.topin-box08 h1.heading span {
    margin-left: 1.25em;
    display: inline-block;
    color: #004c66;
}

.topin-box08 h1.heading a {
    display: block;
    float: right;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    font-weight: normal;
    color: #009f9f;
}

.topin-box08 h1.heading a:after {
    margin-left: .35em;
    content: "\f0ca";
    font-family: "FontAwesome";
}

.topin-box08 h1.heading a:hover {
    color: #004c66;
}

ul.news-list {
    height: 700px;
    display: block;
    overflow-x: hidden;
    overflow-y: scroll;
}

ul.news-list>li {
    width: 95%;
    margin-bottom: 2px;
    padding: 2em 1.65em 1em;
    border-left: 5px solid #59c1c1;
    background-color: #f5f5f5;
    display: block;
}

ul.news-list>li:before,
ul.news-list>li:after {
    height: 0;
    content: ".";
    display: block;
    overflow: hidden;
}

ul.news-list>li:after {
    clear: both;
}

ul.news-list>li img {
    width: 190px;
}

ul.news-list>li h2 {
    margin-bottom: .85em;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    color: #004c66;
}

ul.news-list>li p {
    margin-bottom: 1em;
}

@media only screen and (max-width: 767px) {
    .topin-box08 {
        padding: 1em 0;
    }

    .topin-box08 h1.heading a {
        margin-top: .45em;
        display: block;
        float: none;
        text-align: right;
    }

    ul.news-list {
        width: 100%;
        height: 350px;
        display: block;
        overflow: scroll;
    }

    ul.news-list>li {
        width: 100%;
        padding: 1.35em 1.35em 1em;
        display: block;
    }

    ul.news-list>li img {
        margin-bottom: 1.2em;
        display: block;
    }
}

/*------------------------

スピリットオブシーサイドホテル

------------------------*/
.spirit-box .wrap {
    padding: 20px;
    border: 1px solid #59c1c1;
    text-align: center;
}

.spirit-box h1.heading {
    margin: .75em 0 .95em;
    font-size: 3rem;
}

.spirit-box h1.heading span {
    margin-top: .65em;
    display: block;
}

.spirit-box h1.heading img {
    max-width: 300px;
    margin: 0 auto .65em;
    display: block;
}

.spirit-box h1.heading em {
    color: #00adba;
}

.spirit-box p.text-centered {
    margin-bottom: 0;
    line-height: 1.85;
}

.spirit-box-in {
    padding: 10px;
    background-color: #000;
    font-size: 1.2rem;
    color: #fff;
}

.spirit-box-in video {
    width: 100%;
    max-width: 433px;
}

.box_mielive {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 0 0 40px;
}


@media only screen and (max-width: 767px) {
    .spirit-box .wrap {
        padding: 15px 13px;
    }

    .spirit-box h1.heading img {
        /*width: 45px;*/
        width: auto;
    }

    .spirit-box h1.heading {
        font-size: 2.4rem;
    }

    .spirit-box p.text-centered {
        font-size: 1.4rem;
        letter-spacing: normal;
    }

    .spirit-box h1.heading span {
        font-size: 1.2rem;
        letter-spacing: normal;
    }
}

/*------------------------

トロピカルフルーツフェア

------------------------*/
.fruit-box .wrap {
    padding: 26px;
    border: 1px solid #f7a023;
    background: url(../img/fruitfair/img_tfback.png) no-repeat;
    background-size: 100% 100%;
}

.fruit-box h1.heading {
    /*margin: .75em 0 .95em;*/
    margin-bottom: 5px;
    font-size: 3rem;
}

.fruit-box h1.heading span {
    margin-top: .65em;
    display: block;
}

.fruit-box p.text-centered {
    margin-bottom: 0;
    line-height: 1.5;
    text-align: left;
}

.fruit-box .font {
    font-weight: bold;
}

.fruit-box-in {
    padding: 10px;
    background-color: #000;
    font-size: 1.2rem;
    color: #fff;
}

.fruit-box-in video {
    width: 100%;
    max-width: 433px;
}

.video_container {
    height: 0;
    padding-bottom: 55.8%;
    position: relative;
    overflow: hidden;
}

.viewer {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    text-align: left;
}

.viewer iframe {
    position: absolute;
    top: 0;
    right: 0;
}

@media only screen and (max-width: 767px) {
    .fruit-box .wrap {
        padding: 15px 13px;
        background: url(../img/fruitfair/img_tfback.png) no-repeat;
        background-size: 100% 100%;
    }

    .fruit-box h1.heading img {
        width: 90%;
    }

    .fruit-box h1.heading {
        margin: .75em 0 .95em;
        font-size: 3rem;
    }

    .fruit-box p.text-centered {
        font-size: 1.4rem;
        letter-spacing: normal;
    }

    .fruit-box h1.heading span {
        font-size: 1.2rem;
        letter-spacing: normal;
    }
}

/*------------------------

ページトップへ戻る

------------------------*/

#linebtn {
    margin-bottom: 0;
    position: fixed;
    right: 0;
    bottom: 225px;
    z-index: 99999;
}

#facebookbtn {
    margin-bottom: 0;
    position: fixed;
    right: 0;
    bottom: 185px;
    z-index: 99999;
}

#page-top {
    margin-bottom: 0;
    position: fixed;
    right: 0;
    bottom: 120px;
    z-index: 99999;
}

#page-top a {
    width: 45px;
    height: 60px;
    padding: 18px 0 0 2px;
    cursor: pointer;
    -webkit-border-radius: 5px 0 0 5px;
    -moz-border-radius: 5px 0 0 5px;
    border-radius: 5px 0 0 5px;
    background-color: #009f9f;
    display: block;
    font-size: 1.4rem;
    text-align: center;
}

#page-top a i {
    color: #fff;
}

#page-top a:hover {
    background: #004c66;
    text-decoration: none;
}

@media only screen and (max-width: 1023px) {
    #linebtn {
        bottom: 123px;
    }

    #facebookbtn {
        bottom: 80px;
    }

    #page-top {
        right: 0;
        bottom: 13px;
    }
}

@media only screen and (max-width: 767px) {
    #page-top {
        right: 0;
        bottom: 70px;
    }

    #page-top a {
        height: 45px;
        padding: 10px 0 0 2px;
    }

    #linebtn {
        bottom: 162px;
    }

    #facebookbtn {
        bottom: 120px;
    }
}

/*------------------------

フッター

------------------------*/

footer {
    padding-top: 1.65em;
    padding-bottom: 80px !important;
    background-color: #fff;
}

#global-nav {
    width: 100%;
    padding: .6em 0;
    background-color: rgba(0, 0, 0, .9);
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    color: #fff;
    z-index: 99998;
}

#global-nav .wrap-1440 {
    max-width: 1290px;
}

.text_search {
    margin-left: 1.25em;
    padding-top: .4em;
    display: block;
    float: left;
}

.text_search span {
    margin-right: .65em;
    padding: .15em .35em;
    border: 1px solid #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
}

.btn_search {
    max-width: 965px;
    margin: .65em auto -1.25em;
    display: block;
}

.text_search_box {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.btn_search input.btn {
    border: 0;
    outline: 0;
    background-color: #cb3737;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #fff;
}

.btn_search input.btn:hover {
    background-color: #9c2828;
}

.btn_search a.white-btn {
    width: 130px;
    margin-left: 3px;
    padding: .57em 0;
    border: 0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: #009f9f;
    display: inline-block;
    color: #fff;
    text-align: center;
}

.btn_search a.white-btn.long {
    width: 230px;
    background-color: #33a5d1;
}

.btn_search a.white-btn:after {
    display: none;
}

.btn_search a.white-btn:hover {
    background-color: #005e5e;
    color: #fff;
}

.btn_search a.white-btn.long:hover {
    background-color: #1a6380;
}

.access-box {
    width: 100%;
    height: 547px;
    padding: 0 0 1.65em;
    background: url(../img/access-back.png) no-repeat center top;
    display: block;
}

.access-box h1.heading {
    margin-bottom: 1.25em;
    padding-top: .65em;
    font-size: 3rem;
    text-align: center;
}

.access-box h1.heading span {
    margin-top: .35em;
    display: block;
}

.text-box03 {
    margin-top: 5em;
    display: block;
}

.text-box03 h2 {
    width: 305px;
    margin-bottom: .85em;
    padding-bottom: .65em;
    border-bottom: 1px solid #e5e3df;
    font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1.8;
    color: #009f9f;
}

@media only screen and (max-width: 1023px) {
    footer {
        padding-bottom: 120px !important;
    }

    .text-box03 p br {
        display: block;
    }

    .btn_search {
        padding-left: 1.2em;
    }
}

@media only screen and (max-width: 767px) {
    footer {
        padding-bottom: 120px !important;
    }

    .text_search {
        display: none;
    }

    .btn_search {
        margin: 0 auto;
        padding-left: 0;
        display: block;
        float: none;
        text-align: center;
    }

    .btn_search input.btn,
    .btn_search a.white-btn {
        width: 25%;
    }

    .btn_search a.white-btn.long {
        width: 40%;
        letter-spacing: 0;
    }

    .btn_search input.btn,
    .btn_search a.white-btn,
    .btn_search a.white-btn.long {
        margin-left: 0;
        padding: .85em 0;
        font-size: 1.2rem;
    }

    #global-nav form {
        margin-bottom: 0;
    }

    .access-box {
        height: auto;
        padding: 0 0 1em;
        background: url(../img/sp-access-back.png) no-repeat center top;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
        display: block;
    }

    .text-box03 {
        margin-top: 40%;
    }

    .access-box h1.heading {
        font-size: 2.6rem;
    }

    .text-box03 h2 {
        width: 100%;
        text-align: center;
    }

    .text-box03 p {
        margin-bottom: .65em;
    }

    .text-box03 p br {
        display: none;
    }

    .access-box a.black-btn {
        margin: auto;
    }
}

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

    .btn_search input.btn,
    .btn_search a.white-btn {
        width: 22%;
    }

    .btn_search a.white-btn.long {
        width: 46%;
        letter-spacing: -.1em;
    }

    .btn_search input.btn,
    .btn_search a.white-btn,
    .btn_search a.white-btn.long {
        font-size: 1.1rem;
    }
}

.foot-logo {
    width: 285px;
    margin: 0 auto .65em;
    display: block;
    ;
}

p.foot-text {
    font-size: 1.4rem;
    color: #575757;
    text-align: center;
}

ul.sitemap {
    padding-left: 0;
    list-style-type: none;
    text-align: center;
}

ul.sitemap>li {
    padding: 0;
    display: inline;
}

ul.sitemap>li a {
    display: inline-block;
    font-size: 1.4rem;
    color: #575757;
}

ul.sitemap>li a:hover {
    color: #000;
    text-decoration: underline;
}

ul.sitemap>li+li:before {
    margin: 0 10px;
    content: "/";
}

@media only screen and (max-width: 767px) {
    ul.sitemap {
        padding-left: 0;
        list-style-type: none;
        text-align: center;
    }

    ul.sitemap>li {
        width: 100%;
        padding: .45em;
        border-bottom: 1px solid #e5e3df;
        display: block;
    }

    ul.sitemap>li+li:before {
        margin: 0;
        display: none;
    }
}

.copy {
    padding: 1.65em 0;
    font-size: 1.4rem;
    color: #575757;
    text-align: center;
}

/*------------------------

ボタン

------------------------*/

a.green-btn {
    width: 50%;
    margin: 1em auto;
    padding: 1em 0;
    background-color: #009f9f;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

a.green-btn:after {
    margin-left: 1.65em;
    content: "\f0da";
    font-family: "FontAwesome";
}

a.green-btn:hover {
    background-color: #005e5e;
}

a.pink-btn03 {
    width: 100%;
    margin: 1em auto;
    padding: 1em 0;
    background-color: #ff94a0;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

a.pink-btn03:after {
    margin-left: 1.65em;
    content: "\f0da";
    font-family: "FontAwesome";
}

a.pink-btn03:hover {
    background-color: #ffbbc1;
}

a.white-btn {
    width: 200px;
    padding: 1em 1.65em;
    border: 1px solid #fff;
    display: block;
    color: #fff;
}

a.pink-btn02:after,
a.green-btn02:after,
a.pink-btn:after,
a.black-btn:after,
a.white-btn:after {
    content: "\f178";
    display: block;
    float: right;
    font-family: "FontAwesome";
}

a.white-btn:hover {
    background-color: #fff;
    color: #000;
}

a.black-btn {
    width: 200px;
    padding: 1em 1.65em;
    border: 1px solid #000;
    display: block;
    color: #000;
}

input.black-btn {
    width: 100px;
    padding: 1em 1.65em;
    border: 1px solid #000;
    background-color: #fff;
    display: inline-block;
    color: #000;
}

input.black-btn:hover,
a.black-btn:hover {
    background-color: #000;
    color: #fff;
}

a.pink-btn {
    width: 200px;
    padding: 1em 1.65em;
    border: 1px solid #cd3365;
    display: block;
    color: #cd3365;
}

input.pink-btn {
    width: 200px;
    margin-right: 1.35em;
    padding: 1em 1.65em;
    border: 1px solid #cd3365;
    background-color: #fff;
    display: inline-block;
    color: #cd3365;
}

input.pink-btn:hover,
a.pink-btn:hover {
    background-color: #cd3365;
    color: #fff;
}

a.green-btn02 {
    width: 200px;
    padding: 1em 1.65em;
    border: 1px solid #009f9f;
    background-color: #009f9f;
    display: block;
    color: #fff;
}

a.green-btn02:hover {
    background-color: #fff;
    color: #009f9f;
}

a.pink-btn02 {
    width: 200px;
    padding: 1em 1.65em;
    border: 1px solid #cd3365;
    background-color: #cd3365;
    display: block;
    color: #fff;
}

a.pink-btn02:hover {
    background-color: #fff;
    color: #cd3365;
}

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

    a.pink-btn02,
    a.green-btn02,
    input.black-btn,
    input.pink-btn,
    a.pink-btn,
    a.green-btn,
    a.white-btn,
    a.black-btn {
        width: 95%;
        display: block;
    }

    input.pink-btn {
        margin-right: 0;
        margin-bottom: 1em;
    }
}

/*------------------------

テーブル

------------------------*/

table td {
    word-break: break-all;
}

@media (max-width: 767px) {

    th,
    td {
        width: 100%;
        display: block;
    }

    th {
        width: 100%;
        background-color: #eee;
        display: block;
    }

    table .width-90,
    table .width-80,
    table .width-75,
    table .width-70,
    table .width-66,
    table .width-65,
    table .width-60,
    table .width-50,
    table .width-40,
    table .width-35,
    table .width-33,
    table .width-30,
    table .width-25,
    table .width-20,
    table .width-10 {
        width: 100%;
    }
}

/*------------------------

フォーム

------------------------*/

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="phone"],
input[type="tel"],
input[type="number"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="color"],
input[type="time"],
input[type="search"],
input[type="datetime-local"] {
    padding: .7em .5em;
    border: 1px solid #ddd;
    border-radius: 3px;
}

label,
select {
    cursor: pointer;
}

input[type="submit"],
input[type="reset"],
input[type="button"] {
    font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Lucida Sans Unicode", "ＭＳ Ｐゴシック", Arial, Verdana, "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-appearance: button;
}

.form {
    width: 100%;
    margin-bottom: 3em;
    border: 2px solid #e6e6e6;
    background-color: #fff;
}

.label.label-red {
    padding: 0;
    background-color: transparent;
    display: inline;
    font-weight: bold;
    color: #cd3365;
}

@media only screen and (max-width: 767px) {
    .form {
        margin-bottom: 1.65em;
    }
}

.form tr+tr th,
.form tr+tr td {
    border-top: 1px solid #e6e6e6;
}

.form td {
    padding: 1em;
    text-align: left;
}

.form th {
    width: 200px;
    padding: 1em;
    background-color: #f2f2f2;
    text-align: center;
    vertical-align: middle;
}

.form th.red {
    background-color: #ffe1e4;
    color: #000;
}

.form td.red {
    background-color: #fff4f5;
}

@media (max-width: 767px) {

    .form th,
    .form td {
        width: 100%;
        margin-top: -1px;
        display: block;
    }

    .form td input[type="text"] {
        width: 100%;
    }

    .form td input[type="text"].width-20 {
        width: 40%;
    }
}

.form ul,
.form li {
    margin-bottom: 0;
}

.form ul.blocks-3>li {
    width: 20%;
    margin-top: .5em;
    margin-bottom: .5em;
}

.btn-area {
    margin: 0 auto;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .form ul.blocks-3>li {
        width: 50%;
        float: left;
    }

    .btn-area .btn {
        width: 100%;
        margin-bottom: 1em;
        display: block;
    }
}

/*------------
radio
------------*/

[type="radio"]:checked,
[type="radio"]:not(:checked) {
    visibility: hidden;
}

[type="radio"]:checked+label,
[type="radio"]:not(:checked)+label {
    padding-left: 28px;
    cursor: pointer;
    position: relative;
    display: inline-block;
    line-height: 20px;
    color: #666;
}

[type="radio"]:checked+label:before,
[type="radio"]:not(:checked)+label:before {
    width: 18px;
    height: 18px;
    content: "";
    border: 1px solid #ddd;
    border-radius: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

[type="radio"]:checked+label:after,
[type="radio"]:not(:checked)+label:after {
    width: 12px;
    height: 12px;
    content: "";
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    border-radius: 100%;
    background: #59c1c1;
    position: absolute;
    top: 4px;
    left: 4px;
}

[type="radio"]:not(:checked)+label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}

[type="radio"]:checked+label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

/*------------------------

リスト

------------------------*/

.list-flat {
    margin-bottom: 0;
}

.list-flat li {
    margin-bottom: 1em;
}

.list-flat li:last-child {
    margin-bottom: 0;
}

.list-left li {
    margin-right: 1em;
    float: left;
}

.list-left li:last-child {
    margin-right: 0;
}

.link {
    margin: 0;
}

.link li {
    list-style: none;
    line-height: 1.35;
}

.link li a {
    margin-left: 1em;
    display: block;
    text-decoration: none;
    text-indent: -1em;
}

.link li a:before {
    margin-right: .5em;
    content: "\f0da";
    font: normal normal normal 14px/1 FontAwesome;
    color: #e60013;
}

@media only screen and (max-width: 767px) {
    .link li {
        margin-bottom: 1.65em;
        float: none;
    }

    .link li a {
        display: block;
    }
}

.list-center {
    display: inline-block;
    zoom: 1;
}

.list-before li {
    padding-left: 1em;
    display: block;
}

.list-before li:before {
    width: 1em;
    margin-left: -1em;
    padding: .5em 0;
    content: "?";
    display: block;
    float: left;
    font-family: "FontAwesome";
    color: #007f2d;
    text-align: center;
}

.list-before li.second:before {
    width: 1em;
    margin-left: 0;
    padding: .5em 0;
    content: "?";
    display: block;
    float: left;
    font-family: "FontAwesome";
    color: #007f2d;
    text-align: center;
}

.list-after li {
    padding-right: 15px;
    position: relative;
}

.list-after li:after {
    margin-top: -12px;
    content: "?";
    position: absolute;
    top: 50%;
    right: 10px;
    font-family: "FontAwesome";
    color: #007f2d;
}

.list-centered {
    text-align: center;
}

.list-centered ul {
    display: inline-block;
    zoom: 1;
}

/*------------------------

画像

------------------------*/

a:hover img {
    -moz-opacity: .6;
    opacity: .6;
    filter: alpha(opacity=60);
}

img.left {
    margin-right: 1em;
}

img.right {
    margin-left: 1em;
}

/*------------------------

レイアウト

------------------------*/

.v-bottom {
    position: absolute !important;
    right: 0;
    bottom: 0;
}

.v-center {
    width: 100%;
    display: table;
}

.v-center p,
.v-center>div,
.v-center img {
    padding: 0 .5em;
    display: table-cell;
    vertical-align: middle;
}

@media only screen and (max-width: 1024px) {
    .v-center img {
        min-width: 150px;
        margin: 0;
        padding: 0 10px;
    }
}

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

    .v-center p,
    .v-center div {
        width: 100%;
        margin: 0 0 1.6em;
        padding: 0;
        display: block;
        text-align: left;
    }

    .v-center img {
        margin: 0 0 1.6em;
        padding: 0;
        display: block;
    }
}

img {
    vertical-align: bottom;
}

.img-centered img {
    margin: 0 auto;
    display: block;
}

.btn-centered {
    text-align: center;
}

/*------------------------

Typography

------------------------*/

i {
    margin: 0 .5em;
    color: #005eae;
}

em,
i {
    font-style: normal;
}

.red {
    color: #c3000f;
}

/*------------------------

余白

------------------------*/

.mt-05 {
    margin-top: -5px;
}

.mt05 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt70 {
    margin-top: 70px;
}

.mt100 {
    margin-top: 100px;
}

.mt_20 {
    margin-top: -20px;
}

.mtb05 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.mtb10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.mtb15 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.mtb20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.mtb30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.mb05 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.ml05 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px;
}

.mr05 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.pt40 {
    padding-top: 40px;
}

/*------------------------

表示・非表示

------------------------*/

br.sp_only {
    display: none;
}

@media only screen and (max-width: 960px) {
    br {
        display: none;
    }

    br.both {
        display: block;
    }

    br.sp_only {
        display: block;
    }
}

.hidden {
    display: none;
    visibility: hidden;
}

.visible-phone {
    display: none !important;
}

.visible-tablet {
    display: none !important;
}

.hidden-desktop {
    display: none !important;
}

.visible-desktop {
    display: inline-block !important;
}

@media (min-width: 768px) and (max-width: 979px) {
    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }

    .visible-tablet {
        display: inherit !important;
    }

    .hidden-tablet {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }

    .visible-phone {
        display: inherit !important;
    }

    .hidden-phone {
        display: none !important;
    }
}

/*------------------------

clearfix

------------------------*/

.clearfix:before,
.clearfix:after {
    height: 0;
    content: ".";
    display: block;
    overflow: hidden;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    zoom: 1;
}

/* IE < 8 */