@charset "utf-8";

html {}

body {
    position: relative;
    width: 100%;
    /* min-width: 1130px; */
    background-color: #fff;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0px;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    body {
        min-width: initial;
        min-width: auto;
    }
}

/* for print ---*/

@media print {
    body {
        zoom: 0.8;
    }
}



/* img */

img {
    /*vertical-align: middle;*/
}

/* a */

a {
    color: #2660ac;
}

a:hover {
    color: #1dade5;
}

a:hover img {
    opacity: 0.75;
}

a[href^="tel"] {
    color: #1a1a1a !important;
    text-decoration: none !important;
    cursor: default !important;
}

a[href^="tel"]:hover img {
    opacity: 1 !important;
}

/*table*/

table {
    border-collapse: collapse;
    table-layout: fixed;
    box-sizing: border-box;
}

th,
td {
    position: relative;
}

/* clearfix */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/*---------------------------
Page Top
---------------------------*/

#btn-pagetop {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 200;
}

#btn-pagetop a {
    display: block;
    width: 60px;
    height: 60px;
    background: url(/villa/images/btn_pagetop.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    white-space: nowrap;
    font-size: 0px;
    text-indent: 110%;
}

#btn-pagetop a:hover {
    opacity: 0.9;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    #btn-pagetop {
        bottom: 5px;
        right: 5px;
    }
    #btn-pagetop a {
        width: 50px;
        height: 50px;
    }
}

/* for print ---*/

@media print {
    #btn-pagetop {
        display: none;
    }
}

/*---------------------------
HEADER
---------------------------*/

#header {
    clear: both;
    width: 100%;
    z-index: 100;
    box-sizing: border-box;
}

.header_body {
    position: relative;
    width: 1070px;
    margin: 0 auto;
    box-sizing: border-box;
}

.header_logo {
    width: 200px;
    text-align: left;
    padding-top: 10px;
}

#header.header-simple {
    width: 100%;
    background-color: #fff;
    height: 90px;
}

#header.header-simple img {
    width: 100%;
    height: auto;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    .header_body {
        width: auto;
        margin: 0 5%;
    }
    #header.header-simple {
        height: 80px;
    }
    .header_logo {
        width: 150px;
    }
}

/*---------------------------
NAV
---------------------------*/

/**/

.fixed {
    position: fixed !important;
    left: 0;
    z-index: 100;
}

@media print {
    .fixed {
        position: inherit !important;
    }
}

/*---------------------------
FOOTER
---------------------------*/

#footer {
    clear: both;
    width: 100%;
    box-sizing: border-box;
}

.footer_copyright {
    clear: both;
    font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif;
    font-size: 12px;
    color: #333;
    font-feature-settings: "palt" 1;
    font-kerning: auto;
    line-height: 1.75;
    background: #e9dfc4;
    overflow: hidden;
    box-sizing: border-box;

    border-top: 1px solid #cdc5ad;
    text-align: center;
    padding: 10px 0;
}

#header img {
    max-width: 100%;
    height: auto;
}

/*---------------------------
contents
---------------------------*/

#contents {
    clear: both;
    position: relative;
    /*overflow: hidden;*/
}

/* for print ---*/

@media print {
    #contents {
        padding-top: 0;
        overflow: visible;
    }
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    #contents {
        overflow: hidden;
    }
}

.content_header-wide {
    width: 100%;
    min-height: 100px;
    background: url(/villa/images/ct_reserve.png) center no-repeat;
}

.content_header-wide h1 {
    margin: 0px;
    padding: 0px;
    display: none;
}

.content_header_inner {
    max-width: 1070px;
    margin: 0 auto;
    box-sizing: border-box;
}

.content_header_inner p:last-child {
    margin-bottom: 0;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    .content_header {
        margin: 40px auto 30px;
    }
    .content_header_inner {
        margin: 0 5%;
    }
    .content_header_inner h1 {
        font-size: 20px;
    }

    .content_header-wide {
        min-height: initial;
    }
    .content_header-wide h1 {
        font-size: 20px;
    }
    .content_header_inner {
        overflow: hidden;
    }
}

/*-- contents_body ---*/

#contents .contents_body {
    max-width: 1070px;
    margin: auto;
    font-size: 15px;
    box-sizing: border-box;
}

#contents .contents_body-wide {
    max-width: 1400px;
    margin: auto;
    box-sizing: border-box;
    overflow: hidden;
}

#contents .contents_body img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    #contents .contents_body {
        margin: 0 5%;
        font-size: 13px;
    }
}

/*color*/

.font-c-BLK {
    color: #000;
}

.font-c-darkGRY {
    color: #333;
}

.font-c-RED {
    color: #f00
}

.font-c-ORG {
    color: #d56834;
}

.font-c-GRN {
    color: #018080;
}

/*size*/

.font-s-XL {
    font-size: 22px;
    font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.font-s-L {
    font-size: 20px;
    font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.font-s-M {
    font-size: 18px;
}

.font-s-S {
    font-size: 14px;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    .font-s-XL {
        font-size: 20px;
    }
    .font-s-L {
        font-size: 18px;
    }
    .font-s-M {
        font-size: 16px;
    }
    .font-s-S {
        font-size: 12px;
    }
}

span.asterisk {
    color: #e56655;
    font-size: 0.8em;
}

.tbg-YEL {
    background-color: #ffd261;
    padding: 2px;
}

/*text-align*/

.talign-L {
    text-align: left;
}

.talign-C {
    text-align: center;
}

.talign-R {
    text-align: right;
}

/*vertical-align*/

.valign-T {
    vertical-align: top;
}

.valign-M {
    vertical-align: middle;
}

.errorbox {
    display: table;
    position: relative;
    max-width: 800px;
    margin: 100px auto;
    padding: 20px 40px 20px 100px;
    border: 1px solid #f00;
    color: #f00;
    font-size: 0.85em;
    box-sizing: border-box;
}

.errorbox:after {
    content: "";
    display: block;
    position: absolute;
    width: 43px;
    height: 43px;
    margin: auto 0;
    top: 15px;
    left: 35px;
    background: url(/images/form/icon_exclamation_2.png) no-repeat 0 0;
    background-size: contain;
}

.errorbox ul {
    font-style: oblique;
    padding-left: 20px;
}

.errorbox p:first-child {
    margin-top: 0;
}

.errorbox p:last-child,
.errorbox ul:last-child,
.errorbox li:last-child {
    margin-bottom: 0;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    .errorbox {
        margin: 40px auto;
        padding: 20px 40px 20px 55px;
    }
    .errorbox:after {
        width: 30px;
        height: 30px;
        top: 15px;
        left: 15px;
    }
}

.for-pc {
    display: inherit;
}

.for-sp {
    display: none;
}

/* for sp ---*/

@media screen and (max-width: 767px) {
    .for-pc {
        display: none;
    }
    .for-sp {
        display: inherit;
    }
}

.mb20 {
    margin-bottom: 10px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb110 {
    margin-bottom: 110px !important;
}

@media print {
    #close,
    #btn-pagetop {
        display: none;
    }
}

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

.input-group-inl.peo_num input {
    margin-left: 5px!important;
}

.input-group-inl.peo_num .peo_lab label {
    display: flex;
    align-items: center
}

.input-group-inl.peo_num .peo_lab label:nth-child(1) {
    margin-bottom: 10px;
}

.input-group-inl.peo_num .peo_lab label:nth-child(1) input {
    margin-left: calc(1em + 5px)!important;
}

@media screen and (max-width: 767px) {
    .input-group-inl.peo_num input {
        width: 150px
    }
}
