@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

body {
font-family: 'Lato', 'Zen Kaku Gothic New', sans-serif;
font-weight: 400;
font-size:16px;
}
a {
cursor: pointer;
}
img {
vertical-align: top;
}
.sp {
display:none;
}
.fs-p-heading--lv2 {
    border-bottom: 1px solid currentColor;
    color: #34403d;
    font-size: 20px;
    text-align: center;
    padding: 0 0 32px;
    width: fit-content;
    margin: 0 auto 56px;
    font-weight: 300;
    letter-spacing: 4px;
}
.fs-c-breadcrumb__list {
    box-sizing: border-box;
    list-style: none;
    max-width: 1280px;
    margin: 8px auto 0;
    background: #eee;
    padding: 4px 16px;
    font-size: 14px;
    width: 98%;
}


a.link_btn {
    color: #fff;
    border: solid 1px #fff;
    padding: 4px;
    display: block;
    width: 160px;
    border-radius: 2em;
    text-align: center;
    position:relative;
}
a.link_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 8px;
    height: 8px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg) translateY(-80%);
}

/* ヘッダー */
h1#header_h1 {
    padding: 4px 0;
    font-size: 14px;
    border-bottom: solid 1px #f1f1f1;
    max-width: 1280px;
    margin: 0 auto;
    font-weight: normal;
}
.fs-p-logo__image {
    max-height: 48px;
    min-height: 1px;
}

.fs-l-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(255,255,255,0.8);
    padding: 0;
}
#header_top_bar {
    background: #34403d;
    text-align: center;
    padding: 4px 0;
}
#header_top_bar a {
color:#fff;
}

#o_header {
    width:98%;
max-width:1280px;
    margin: 0 auto;
}
.o_header_top {
    display: grid;
    grid-template-columns: 240px 1fr auto 50px 50px 50px;
    align-items: center;
}
.o_header_iconbox {
    text-align: center;
    position: relative;
}
.o_header_category {
    padding-right: 4px;
}
.fs-p-cartItemNumber {
    top: -8px;
    right: 0;
    font-size: 12px;
    width: 1.4em;
    line-height: 1.4em;
    padding:0;
}
.o_header_iconbox a {
        color: #555;
    font-size: 26px;
    vertical-align: top;
}
.o_header_bottom {
    border-top: solid 1px #727e74;
    padding: 6px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
nav.fs-p-headerUtilityMenu {
    margin-right: 20px;
}
a.fs-pt-menu__link.fs-pt-menu__link--lv1 {
    font-size: 14px;
}



.fs-p-inputGroup {
    border: 1px solid #727e74;
    background: #727e74;
}
.fs-p-headerNavBar {
    background: none;
    border: none;
    margin-left: 12px;
}
.fs-p-inputGroup {
    border: none;
    background: none;
}
.fs-p-inputGroup__button {
    background: none;
    color:#555;
}
.fs-p-searchForm {
    width: 300px;
    display: inline-block;
}
.fs-p-searchForm__input {
    border-radius: 2em;
    padding: 4px 16px;
    font-size: 12px;
    border:solid 1px #727e74;
    background: transparent;
}
.fs-p-searchForm__button::before {
    font-size: 24px;
}





.fs-l-sideArea {
    width: 240px;
}
.menu {
    position: relative;
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: auto auto auto auto auto auto;
    width: 100%;
    margin: 0 0 0 auto;
}
.menu .menu_list {
font-size:16px;
}
.menu .menu_list > a {
    display: block;
    text-align: center;
    transition: .3s;
    padding: 0 12px;
    color: #222;
    letter-spacing: 1px;
}
.menu .menu_list > a:hover {

}
.menu_contents {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
    background: rgba(250,230,200,0.9);
    border-radius: 4px;
}
.menu_contents ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 24px;
    padding: 24px;
}
.menu_contents li {
    width: 100%;
    border-left: solid 2px #555;
    padding-left: 1em;
}
.menu_contents li a {
  color: #222;
}





/* フリーページ */
.h1_wrap {
    text-align:center;
}
h1.fs-c-heading.fs-c-heading--page {
    color: #222;
    display: block;
    font-weight: 500;
    padding: 24px;
    border-bottom: solid 1px;
    letter-spacing: 2px;
    width: fit-content;
    margin: 0 auto 64px;
}











/* フッター */
#o_footer_wrap {
    background: #34403d;
    text-align: center;
    padding: 56px calc(50% - 608px);
    display:grid;
    grid-template-columns:repeat(4,auto);
}
.o_footer_box {
    padding: 0 42px;
    color: #fff;
    text-align: left;
}
.o_footer_box h4 {
    margin: 0 0 10px;
}
.o_footer_box {
border-right:solid 1px #cbcbbf;
}
.o_footer_box:last-child {
border:none;
}
.footer_logo {
    width: 256px;
    margin-bottom: 12px;
}
.footer_sns_icon a img {
    margin: 0 0 8px;
    border-radius: 4px;
    max-width: 200px;
    display: block;
}

.footer_text {
    margin: 0 auto 24px;
    text-align: justify;
    color: #fff;
}
img.o_footer_box_shop_img {
    margin-bottom:12px;
    max-width: 200px;
}

ul.fs-p-footerUtilityMenu__list {
    display: block;
    text-align: left;
color:#fff;
}
.fs-p-footerUtilityMenu__list > li + li {
    margin: 0;
}
.fs-l-footer__utility .fs-p-footerUtilityMenu {
    margin-top: 0;
}
.fs-l-footer__utility {
    margin: 0;
}