@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
PC用CSS
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}



/*--- PC版表示CSS ---*/
html {
    font-size: 62.5%;
    /* 10px */
}

body {
    color: #333;
    background: #fff;
    font-size: 16px;
    line-height: 1.25em;
    position: relative;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Arial, Meiryo, sans-serif
}



/*--- 共通css ---*/

* {
    box-sizing: border-box;
}

.clear {
    clear: left;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

img {
    vertical-align: bottom;
    width: 100%;
}

a {
    color: #ea5514;
    text-decoration: none;
}

a:hover {
    color: #ea5514;
}

a img:hover {
    transition: all 0.5s;
    opacity: 0.9;
}

a img {
    border-width: 0px;
    border-style: none;
    border-color: #fff;
    background: transparent;
}

button {
    cursor: pointer;
}

section {
    width: 100%;
    position: relative;
}

.contents {
    position: relative;
    width: 85%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 0;
}

.contents100 {
    position: relative;
    width: 100%;
}

.contents100_grn {
    position: relative;
    width: 100%;
    background: #f1cda0;
}

.header_top {
    padding-top: 126px;
}


/*--- ディスプレイ切り替え ---*/
.sp_none {
    display: block;
}

.pc_none {
    display: none;
}


/*--- コンテンツ ---*/
/*--- reservation - index ---*/
.flow_list {
    display: flex;
    justify-content: space-between;
}

.flow_list li {
    position: relative;
    width: 18%;
    font-size: 14px;
    text-align: center;
    border: 1px solid #798486;
    padding: 1px 0;

}

.flow_list li::before {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "＞";
}

.flow_list li:last-child:before {
    position: inherit;
    content: "";
}

.flow_list_current {
    background: #f1cda0;
}

.time_select {
    display: flex;
}

.time_select p {
    margin: 0 10px;
}

.arrow {
    position: relative;
    display: inline-block;
}

.arrow::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -8px; /* 要素の右からの距離 */
    width: 10px;
    height: 10px;
    border-top: 2px solid #798486;
    border-right: 2px solid #798486;
    transform: rotate(45deg); /* 角度調整 */
}

.arrow::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -10px; /* 要素の右からの距離 */
    width: 18px;
    height: 2px;
    background: #798486;
}

.selectbox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #798486;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox select {
    appearance: none;
    min-width: 130px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: #fff;
    color: #798486;
    font-size: 1em;
    cursor: pointer;
}

.status_list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.status_list li {
    width: 48%;
}

.status_list img {
    width: 18px;
    padding-bottom: 7px;
}

.blue {
    color: #4682b4;
}

.orange {
    color: #f90;
}

.calendar-container {
    width: 320px;
    margin: 0 auto;
    border-radius: 5px;
    color: #798486;
    border: 1px solid #ccc;
    text-align: center;
}

.year_month {
    position: relative;
    display: flex;
    justify-content: space-between;
    text-align: center;
    font-size: 18px;
    padding: 20px 15px 15px;
}

.year_month img {
    width: 20px;
    height: 20px;
}

.days_of_week {
    width: 294px;
    margin: 0 auto;
    display: flex;
}

.days_of_week div {
    width: 42px;
    font-size: 18px;
    padding: 4px 0;
    margin: 0;
    text-align: center;
}

.days_of_week *:first-child {
    color: #ff838b;
}

.days_of_week *:last-child {
    color: #4682b4;
}

.calender_wrap img {
    width: 18px;
}

.week {
    width: 294px;
    margin: 0 auto 20px;
    display: flex;
    flex-flow: row wrap;
}

.week a {
    color: #798486 !important;
    display: block;
}

.week a:hover {
    color: #798486;
    background: #ddeeff;
}

.week div {
    width: 42px;
    font-size: 18px;
    line-height: 1.9rem;
    padding: 8px 0;
    margin: 0;
    text-align: center;
}

.selected {
    background: #fff3ca;
}







.data_set_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 60px;
}

.data_set {
    display: flex;
    align-items: center;
    margin: 0 0 20px 0;
}

.d_date {
    padding: 0 10px 0 20px;
}

.d_start,
.d_end {
    padding: 0 2px;
}

.d_price {
    padding: 0 20px;
    font-weight: bold;
}

/*.d_price::before {
    content: "¥";
}*/

.btn_reserve {
    color: #fff !important;
    background: #ea5514;
    width: 200px;
    height: 48px;
    font-size: 16px !important;
    line-height: 48px;
    border: 0;
    border-radius: 3px;
    text-align: center;
    display: block;
}

.btn_reserve:hover {
    opacity: 0.8;
}



/*--- reservation - facility ---*/
.m_form {
    width: 640px;
    margin: 0 auto;
    line-height: 2.0em;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: flex-start;
}

.m_form dt, .m_form dd {
    position: relative;
}

.m_form dt {
    width: 26%;
    margin-right: 2%;
    padding: 20px 0 30px;
}

.m_form dd {
    width: 72%;
    padding: 20px 0 30px;
}

.m_form dd.p_btm {
    padding: 20px 0;
}

.m_form dt:last-child {
    width: 0;
    margin-right: 0;
}

.m_form dd:last-child {
    width: 100%;
}

.m_form input,
.m_form textarea {
    margin-top: -8px;
}

.long {
    background: #eee;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    width: 100%;
    padding: 15px 10px;
    font-size: 16px;
}

.middle {
    background: #eee;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    width: 60%;
    padding: 15px 10px;
    font-size: 16px;
}

.short {
    background: #eee;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    width: 30%;
    padding: 15px 10px;
    font-size: 16px;
}

textarea {
    background: #eee;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 15px 10px;
    font-size: 16px;
}

.m_form dd p.error {
    color: #ea5514;
    font-size: 14px;
}

.m_form dd p.error + input,
.m_form dd p.error + textarea,
.m_form dd p.error + p > input,
.m_form dd p.error + p > textarea,
.m_form dd input.error,
textarea.error {
    background: #facc99;
    border-top: 1px solid #ea5514;
    border-left: 1px solid #ea5514;
    border-right: 1px solid #f90;
    border-bottom: 1px solid #f90;
}

.btn_login, .btn_signin a {
    color: #fff !important;
    background: #ea5514;
    width: 200px;
    height: 48px;
    font-size: 16px !important;
    line-height: 48px;
    margin: 0 auto;
    border: 0;
    border-radius: 3px;
    text-align: center;
    display: block;
}

.btn_login:hover, .btn_signin a:hover {
    opacity: 0.8;
}

.must::after {
    content: "*";
    color: #ea5514;
}

.btn_mulch_wrap {
    display: flex;
    justify-content: center;
}

.btn_mulch_wrap div {
    margin: 0 20px;
}

.btn_mulch {
    color: #fff;
    background-color: #ea5514;
    width: 200px;
    height: 48px;
    font-size: 13px;
    line-height: 48px;
    border: 0;
    border-radius: 3px;
    text-align: center;
}

.btn_mulch:hover {
    opacity: 0.8;
}

.align-top {
    position: absolute;
    top: -6.5em;
}

.align-top2 {
    position: absolute;
    top: -4.6em;
}

.align-top3 {
    position: absolute;
    top: -2.7em;
}

.align-top4 {
    position: absolute;
    top: -7.5em;
}

.m_btm {
    margin-bottom: 10px;
}

.m_btm2 {
    margin-bottom: 20px;
}


/*--- reservation - schedule ---*/
.schedule {
    width: 100%;
}

.schedule tr:nth-child(2n-1) {
    background: #eee;
}

.schedule tr:first-child {
    background: #fff;
}

.schedule th,
.schedule td {
    border: 1px solid #798486;
    text-align: center;
    vertical-align: middle;
    padding: 20px 0;
    font-size: 18px;
}

.schedule td:nth-child(3n),
.schedule td:nth-child(4n) {
    text-align: right;
    padding-right: 2.0em;
}

.btn_schedule {
    color: #ea5514;
    border: 0;
    background: none;
    text-decoration: underline;
    margin: 0 1.0em;
}

.btn_schedule:hover {
    opacity: 0.7;
}



/*--- reservation - notes ---*/
.notes {
    line-height: 2.0em;
}

.cancel {
    width: auto;
    margin: 0 0 2em;
}

.cancel tr,
.cancel td {
    padding: 5px 10px;
    border: 1px solid #798486;
}

.cancel th {
    background: #eee;
}

.txt_b {
    font-size: 18px;
    font-weight: bold;
}

.mgn_btm {
    margin-bottom: 1.5em;
}

.cancel_txt {
    color: #ea5514;
    font-weight: bold;
    background: #f1cda0;
}

.agreement dt:nth-of-type(1) {
    width: 0;
    margin: 0;
}

.agreement dd:nth-of-type(1) {
    width: 100%;
    color: #000;
    background: #f1cda0;
    padding: 20px 0;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}



/*--- mypage - index ---*/
.history {
    width: 100%;
}

.history th,
.history tr,
.history td {
    border: 1px solid #798486;
    text-align: center;
    vertical-align: middle;
    padding: 20px 0;
    font-size: 18px;
}

.btn_history {
    color: #ea5514;
    border: 0;
    background: none;
    text-decoration: underline;
    margin: 0 1.0em;
}

.page_navi {
    width: 200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.page_navi li {
    color: #798486;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #798486;
    text-align: center;

}

.page_current {
    background-color: #fff3ca;
}



/*--- mypage - detail ---*/
.detail1 {
    width: 560px;
    margin: 40px auto;
    font-size: 18px;
}

.detail1 tr,
.detail1 td {
    padding: 20px 0;
}

.btn_detail {
    color: #ea5514;
    border: 0;
    background: none;
    text-decoration: underline;
    font-size: 18px;
    margin-right: 1.0em;
}

.btn_detail:hover {
    opacity: .7;
}

.detail2 {
    width: 100%;
    margin: 40px auto;
    font-size: 18px;
}

.detail2 th,
.detail2 td {
    padding: 20px 1em;
    border: 1px solid #798486;
}

.detail2 tr:first-child {
    text-align: left;
    background: #eee;
}

.detail2 th {
    width: 25%;
}





.w30percent {
    width: calc((100% - 4%) / 3);
    margin: 0 0 8% 0;
}

.w30percent:nth-child(3n) {
    padding: 0;
}


.custom-content__inner {
    position: relative;
    max-width: 1140px;
    padding: 30px 10px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width:768px){
    .custom-content__inner {
        padding:2rem 25px;
    }
}

.status_center {
    width: 350px;
    margin: 0 auto;
}


/*--- End ---*/