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

/************************************************
PCスタイル設定
************************************************ */


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

/*-----------------------------------
ヘッダー
-----------------------------------*/
/* 1st view */
#header_wrap_black {
    height: 120px;
}

#header_wrap_menu {
    height: 60px;
    padding: 5px 0;
}

.header_innner {
    width: 980px;
    margin: 0 auto;
    position: relative;
    top: 10px;
}

.header_logo {}

.header_logo a {
    background: url("./assets/images/common/logo_bk.webp") no-repeat top;
    width: 140px;
    height: 95px;
    background-size: 100% auto;
}

.header_info {
    display: block;
    float: right;
    width: 275px;
}

.header_info_innner {
    display: block;
    /* color: #4b3928; */
    position: relative;
    top: 5px;
}

.hd_info_add {
    font-size: 12px;
}

.hd_info_tel {}

.hd_info_tel span {
    font-size: 19px;
    font-weight: bolder;
    display: inline-block;
    margin-right: 5px;
}

.hd_info_tel span:before {
    content: url("./assets/images/common/icon_tel_bk.png");
    display: inline-block;
    margin-right: 5px;
}

.hd_info_tel small {
    font-size: 10px;
}

.hd_info_bt_reserve {
    margin-top: 10px;
}

.hd_info_bt_reserve a {
    /* background: url("./assets/images/parts/hd_bt_webreserve.png") no-repeat top;
    width: 274px;
    height: 35px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    display: block; */
    font-size: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(45deg, #e0c26d 0%, #ffe294 30%, #ffe294 70%, #e0c26d 100%);
    border: 1px solid #d5b884;
    padding: .6rem 2rem;
    border-radius: 0.25rem;
    color: #222;
    line-height: 1;
    text-decoration: none;
    font-weight: 700;
}

.menu_list li {
    width: calc(100% / 7);
    float: left;
    text-align: center;
}


#header_small .menu_list li {
    width: calc(100% / 7);
}

.menu_list li a {
    position: relative;
    top: 3px;
}

.menu_list li span {
    display: block;
    padding: 0;
    margin: 0;
    position: relative;
    top: 5px;
}

.menu_list li span.hpb {
    left: -5px;
}

/* スマホ表示 */
.header_sp_menu {
    display: none;
    visibility: hidden;
}

/* small */
#header_small {
    /* background: url(./assets/images/common/bg.webp) no-repeat top; */
    background: rgba(255, 255, 255, 0.95);
    /* background: rgba(0, 0, 0, 0.85); */
    height: 60px;
    padding: 5px 0;
}

.header_logo_s a {
    background: url("./assets/images/common/logo_bk.webp") no-repeat top;
    background-size: contain;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    width: 74px;
    height: 50px;
    display: block;
    float: left;
    margin: 0 20px 0 0;
}

#header_small .menu_list {
    width: 830px;
    margin: 0 auto 0;
    float: left;
}

#header_small .menu_list li {
    font-size: 13px;
}

#header_small .menu_list li a {
    /* color: #fff; */
}

#header_small .menu_list li span {
    /* color: #fff; */
}

.header_small_sns {
    float: left;
    margin: 15px auto 0;
}

.header_small_sns p {
    display: inline-block;
    float: left;
    height: 32px;
    width: 32px;
    padding-left: 5px;
}

#header_small .header_s_reserved {
    float: right;
    height: 50px;
    width: 39px;
}

/*-----------------------------------
フッター
-----------------------------------*/
#footer_wrap {
    background-size: 100% auto;
    padding: 2rem 0 0;
    color: #222;
    background: url("./assets/images/common/bg.webp") no-repeat top;
}

#footer {
    width: 980px;
    margin: 0 auto;
}

.footer_logo a {
    background: url("./assets/images/common/logo_bk.png") no-repeat top;
    width: 140px;
    height: 95px;
}

.ft_info_bt_reserve a {
    /* background: url("./assets/images/parts/ft_bt_webreserve.png") no-repeat top;
    width: 253px;
    height: 50px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    display: block; */
    font-size: 14px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(45deg, #e0c26d 0%, #ffe294 30%, #ffe294 70%, #e0c26d 100%);
    width: 250px;
    height: 40px;
    border: 1px solid #d5b884;
    border-radius: 0.25rem;
    color: #222;
    line-height: 1;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    font-weight: 700;
    text-decoration: none;
}

.footer01 {
    width: 140px;
    float: left;
    margin-right: 1rem;
}

.footer02 {
    width: 320px;
    float: left;
}

.footer03 {
    width: 260px;
    float: right;
    position: relative;
    top: 25px;
}

.ft_add {
    font-size: 0.875rem;
}

.ft_tel span {
    font-size: 19px;
    font-weight: bolder;
    display: inline-block;
    margin-right: 5px;
}

.ft_tel span:before {
    content: url("./assets/images/common/icon_tel_bk.png");
    display: inline-block;
    margin-right: 5px;
}

.ft_tel small {
    font-size: 0.75rem;
}

.ft_sns {
    display: block;
    margin: 14px 0 0;
}

/*-----------------------------------
メイン部分
-----------------------------------*/
#main_wrap {
    margin: 0 auto;
    min-height: 200px;
}

/*-----------------------------------
コンテンツ部分　共通
-----------------------------------*/
/* 求人 */
#recruit_block {
    margin: 0 auto 0;
}

/*-----------------------------------
トップページ
-----------------------------------*/
.top_media {
    width: 60%;
    margin: 0 auto 30px;
}

.top_media:last-child {
    margin: 0 auto 0;
}

.top_media .flbox p {
    text-align: left;
}

.top_media .flbox,
.top_media .frbox {
    display: block;
    width: 48%;
}

.top_media .flbox h5 {
    text-align: left;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
}

.top_media .flbox p {
    text-align: left;
    margin: 0;
    padding: 0;
}

.top_media .flbox {
    float: left;
}

.top_media .frbox {
    float: right;
}

.top_staff {
    width: 95%;
    margin: 0 auto 30px;
}

.top_staff:last-child {
    margin: 0 auto 0;
}

.top_staff img {
    max-width: 100%;
}

.top_staff01 {
    width: 25%;
    float: left;
}

.top_staff02 {
    width: 50%;
    float: left;
    margin: 0;
}

.top_staff02 h5 {
    text-align: left;
    margin: 0;
    padding: 0;
    font-size: 20px;
}

.top_staff02 h5 span {
    font-size: 18px;
}

.top_staff02 p.top_staff02_text01 {
    text-align: left;
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 15px;
}

.top_staff02 p.top_staff02_text02 {
    text-align: left;
    margin: 30px 0 0;
    padding: 0;
}

.top_staff02 p.top_staff02_text03 {
    text-align: left;
    margin: 0 0 30px;
    padding: 0;
}

.top_staff02 p.top_staff02_text04 {
    text-align: left;
    margin: 0;
    padding: 0;
}

.top_staff03 {
    width: 25%;
    float: right;
}

.top_storeinfo {
    width: 80%;
    margin: 0 auto;
}

.top_storeinfo .flbox,
.top_storeinfo .frbox {
    display: block;
    width: 49%;
}

.top_storeinfo .flbox {
    float: left;
    text-align: left;
}

.top_storeinfo .frbox {
    float: right;
}

.top_storeinfo h5 {
    font-size: 25px;
    margin: 0 0 5px;
    font-weight: 500;
}

.top_storeinfo p.top_storeinfo_add {
    margin: 0 0 30px;
    padding: 0;
    text-align: left;
}

.top_storeinfo dl {
    display: block;
    margin-bottom: 10px;
}

.top_storeinfo dt {
    display: block;
    width: 20%;
    float: left;
}

.top_storeinfo dd {
    display: block;
    width: 78%;
    float: right;
}

.top_storeinfo dd strong {
    font-size: 25px;
    font-weight: 500;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1;
}

.top_storeinfo dt.top_storeinfo_add_tel {
    font-size: 20px;
}

.top_storeinfo .top_storeinfo_access {
    font-size: 12px;
    line-height: 15px;
    margin: 0;
    text-align: left;
}

.top_widget_text .page_categorylist_in {
    width: 80%;
}

/*-----------------------------------
固定PAGE
-----------------------------------*/

/*-----------------------------------
ブログ
-----------------------------------*/
.archive-info h2.archive-title {
    height: 70px;
    overflow: hidden;
}

#blog_mainblock {
    float: right;
    width: 760px;
}

#sidebar {
    float: left;
    width: 200px;
    margin-right: 20px;
}

#single #blog_mainblock {
    float: none;
    clear: both;
    width: 100%;
}

#single .single_ct {
    float: right;
    width: 760px;
    overflow: hidden;
}

#single .single_ct img {
    max-width: 100% !important;
}

#single .single_ct_innner {
    margin: 0 5px;
}

/*-----------------------------------
お問い合わせ
-----------------------------------*/
.contact_form h2 {
    margin-bottom: 30px;
}

.contact_form p {
    margin-bottom: 10px;
}

.contact_form p input,
.contact_form p textarea {
    width: 100%;
}

.contact_form p input,
.contact_form p select {
    min-height: 36px;
}

.contact_formt p input,
.contact_form p textarea {
    padding: 3px 10px 0;
}

.contact_form p select {
    padding: 6px 10px 0;
}

.contact_form p input.wpcf7-submit {
    width: 120px;
    text-align: center;
    border-radius: 10px;
    border: #333 solid 1px;
    background: -moz-linear-gradient(top, #efefef 0%, #a9a9a9);
    background: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#a9a9a9));
}

.contact_info .story div {
    min-height: 68px;
}

.contact_tel {
    float: left;
    width: 48%;
    text-align: left;
}

.contact_mail {
    float: right;
    width: 48%;
    text-align: left;
}

.contact_tel small {
    display: block;
    width: 39%;
    float: right;
    font-weight: normal;
    font-size: 13px;
    line-height: 13px;
    position: relative;
    top: -2px;
}


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

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

.header_s_reserved a {
    font-size: 14px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(45deg, #e0c26d 0%, #ffe294 30%, #ffe294 70%, #e0c26d 100%);
    width: 40px;
    height: 40px;
    border: 1px solid #d5b884;
    border-radius: 0.25rem;
    color: #222;
    line-height: 1;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    font-weight: 700;
    position: relative;
}

.header_s_reserved a:hover {
    opacity: 1 !important;
    filter: none !important;
}

.header_s_reserved a::before {
    content: "WEBでのご予約はこちら";
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #ccc;
    color: #222;
    font-size: 13px;
    white-space: nowrap;
    border-radius: 0.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.header_s_reserved a::after {
    content: "";
    position: absolute;
    top: calc(100% + 5px);
    right: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #fff transparent;
    z-index: 1001;
    filter: drop-shadow(0 -1px 0 #ccc);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.header_s_reserved a:hover::before,
.header_s_reserved a:hover::after {
    opacity: 1;
    visibility: visible;
}

.header_s_reserved a img {
    height: 20px;
    width: 20px;
}