@charset "utf-8";

/*================================
Layout
================================*/
body {
    position: relative;
    overflow-x: hidden;
}

html.nonScroll,
body.nonScroll {
    overflow: hidden;
}

.pcNone{
    display: none;
}

.wrapper {
    position: relative;
}

.inner {
    margin-inline: auto;
}

.w1180 {
    width: 100%;
    max-width: 1220px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w932 {
    width: 100%;
    max-width: 972px;
    margin-inline: auto;
    padding-inline: 20px;
}

.w840 {
    width: 100%;
    max-width: 880px;
    margin-inline: auto;
    padding-inline: 20px;
}

.contents_2col {
    display: grid;
    grid-template-columns: 1fr 300px;
    column-gap: 44px;
    padding-bottom: 100px;
}

.contents_2col .contents_box.w840 {
    padding-inline: 0;
}

/*================================
Common
================================*/
.icon_ext:before {
    content: "";
    background: url("../img/common/icon_external@2x.webp") no-repeat center center;
    background-size: cover;
}
.icon_cart:before {
    content: "";
    background: url("../img/common/icon_cart_white@2x.webp") no-repeat center center;
    background-size: cover;
}
.icon_cart_gray:before {
    content: "";
    background: url("../img/common/icon_cart_gray@2x.webp") no-repeat center center;
    background-size: cover;
}
.icon_tel_black:before {
    content: "";
    background: url("../img/common/icon_tel_black@2x.webp") no-repeat center center;
    background-size: cover;
}
.icon_home_white:before {
    content: "";
    background: url("../img/common/icon_home_white@2x.webp") no-repeat center center;
    background-size: cover;
}

a[href^="tel:"] {
	pointer-events: none;
}

/*================================
Header
================================*/
.header .header_logo .logo a {
    color: #3B4043;
}

.header .header_logo .logo a img {
    height: 70px;
}

@media all and (min-width:769px) {
    .header {
        padding: 50px 20px 20px;
    }
    .header .header_upper {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .header .header_logo .logo {
        font-size: 20px;
        font-weight: 700;
        color: #3B4043;
        line-height: 1.5;
    }
    .header .header_logo .logo span {
        display: block;
        font-size: 12px;
        font-weight: 300;
    }
    .header .header_sub {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        column-gap: 35px;
    }
    .header .header_sub .header_tel {
        height: 40px;
        padding-left: 49px;
        background: url("../img/common/icon_tel_large@2x.webp") no-repeat left center;
        background-size: contain;
        font-size: 20px;
        font-family: "Noto Serif JP",serif;
        color: #3B4043;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header .header_sub .header_tel a {
        /* display: contents; */
        color: #000;
    }
    .header .header_sub .header_tel span {
        display: block;
        margin-top: 0.5em;
        font-size: 12px;
    }
    .header .header_sub .header_shop {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        column-gap: 14px;
    }
    .header .header_sub .header_shop a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 8px;
        height: 35px;
        padding: 0 24px 0 24px;
        background: #FFA622;
        font-size: 12px;
        color: #FFF;
        border-radius: 18px;
    }
    .header .header_sub .header_shop .shopping .icon_ext:before {
        width: 15px;
        height: 15px;
        background-size: cover;
    }
    .header .header_sub .header_shop .cart .icon_cart:before {
        width: 18px;
        height: 15px;
        background-size: cover;
    }

    .header_lower {
        margin-top: 47px;
    }
    .gnav {
        display: flex;
        justify-content: space-evenly;
        border-right: 1px solid #C2BBBB;
    }
    .gnav .item {
        width: 100%;
    }
    .gnav a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 39px;
        font-size: 12px;
        font-family: 'Noto Serif JP',serif;
        letter-spacing: 0.05em;
        border-left: 1px solid #C2BBBB;
        color: #3B4043;
    }
    .breadcrumb {
        background: #C3A27B;
        margin-top: 10px;
        padding: 15px 0;
    }
    .breadcrumb_list {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .breadcrumb_list li {
        display: flex;
        align-items: center;
        column-gap: 15px;
        font-size: 14px;
        color: #FFF;
    }
    .breadcrumb_list li a {
        color: #FFF;
    }
    .breadcrumb_home img {
        width: 18px;
        height: 16px;
    }
    .breadcrumb_list li:before {
        content: "＞";
        font-size: 12px;
        font-weight: 700;
        color: #FFF;
        margin-left: 15px;
    }
    .breadcrumb_list li:first-of-type:before {
        display: none;
    }
    .hamburger {
        display: none;
    }
}

/*================================
Contents Common
================================*/
.section_inner {
    padding-block: 130px;
}
.section_header {
    text-align: center;
}
.section_header .section_title {
    color: #3B4043;
    font-size: 36px;
    font-family: 'Noto Serif JP',serif;
    font-weight: 400;
    line-height: 1.38;
    letter-spacing: 0.05em;
}

.section_header .lead {
    margin-top: 72px;
}

.section_header .lead p {
    font-size: 16px;
    font-family: 'Noto Serif JP',serif;
    line-height: 2.5;
    letter-spacing: 0.05em;
}

.section_header .lead p:nth-of-type(n+2) {
    margin-top: 40px;
}

.section_contents {
    margin-top: 68px;
}
.btn_list {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 6vw;
}
.btn_list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    font-size: 12px;
    font-family: 'Noto Serif JP',serif;
    letter-spacing: 0.05em;
    border: 1px solid #3B4043;
    color: #3B4043;
    background: #FFF;
}
.btn_list.btn_list_3col li a {
    width: calc(100vw / 3 - 12vw);
}
.works_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0 47px;
}
.works_list .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 20px 0;
    margin-bottom: 60px;
    cursor: pointer;
}
.works_list .img {
    aspect-ratio: 1.01;
    overflow: hidden;
}
.works_list .img img {
    object-fit: contain;
	width: 100%;
	height: 100%;
}
.works_list .item .category a,
.works_list .item .category span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    width: fit-content;
    height: 31px;
    padding: 0 38px;
    background: #FFA622;
    font-size: 14px;
    color: #FFF;
}
.works_list .item .title{
    color: #3B4043;
}
.content_more {
    display: flex;
    align-items: center;
    justify-content: center;
}
.content_more a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 282px;
    min-height: 60px;
    margin-top: 60px;
    font-size: 12px;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.05em;
    border: 1px solid #3B4043;
    color: #3B4043;
    background: #FFF;
}
.item_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 39px 22px;
}
.item_list .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 20px 0;
    cursor: pointer;
    padding: 14px 14px 25px 14px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    transition: all 0.3s ease;
}
.item_list .item:hover {
    box-shadow: 0 3px 6px rgba(0,0,0,0.4);
}
.item_list .item .img {
    width: 100%;
    height: 168px;
    overflow: hidden;
}
.item_list .item .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.item_list .item .name {
    font-family: 'Noto Serif JP',serif;
    font-size: 16px;
    text-align: center;
}
.item_list .item .price {
    font-size: 12px;
    text-align: right;
    font-family: 'Noto Serif JP',serif;
    color: #98A6B5;
}
.item_list .item .cart a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    width: fit-content;
    height: 35px;
    margin-inline: auto;
    padding: 0 24px 0 24px;
    background: #F7F5F0;
    font-size: 12px;
    color: #7D7D7D;
    border: 1px solid #C2BBBB;
    z-index: 1;
}
.item_list .item .cart .icon_cart_gray:before {
    width: 18px;
    height: 15px;
    background-size: cover;
}
.item_list + .content_more {
    margin-top: 60px;
}
.item_category {
    position: relative;
    padding: 80px 0;
    background: #f7f5f0;
    z-index: 0;
}
.item_category .inner {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 120px;
}
.item_category .cat_box .title {
    position: relative;
    font-family: 'Noto Serif JP',serif;
    font-size: 24px;
    font-weight: 300;
    text-align: center;
    background: #f7f5f0;
}
.item_category .cat_box .title span {
    position: relative;
    display: block;
    width: fit-content;
    margin-inline: auto;
    padding: 0 1em;
    background: #f7f5f0;
    z-index: 1;
}
.item_category .cat_box .title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #707070;
    z-index: 0;
}
.item_category .item_category_list {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
}
.item_category .item_category_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    font-size: 12px;
    font-family: 'Noto Serif JP',serif;
    letter-spacing: 0.05em;
    border: 1px solid #3B4043;
    border-radius: 9999px;
    color: #3B4043;
    background: #FFF;
}
.monthly_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px 40px;
}
.monthly_list .item {
    display: grid;
    grid-template-columns: 260px 1fr;
    column-gap: 34px;
}
.monthly_list .item .img {
    width: 260px;
    height: 260px;
    overflow: hidden;
}
.monthly_list .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.monthly_list .item .title {
    padding: 20px 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.monthly_list .item .summary {
    font-size: 12px;
    line-height: 2.5;
    letter-spacing: 0.01em;
}
.info_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 46px;
}
.info_list a {
    color: #3B4043;
}
.info_list .item {
    display: grid;
    grid-template-columns: 200px 1fr;
    column-gap: 28px;
}
.info_list .item .img {
    width: 200px;
    height: 150px;
    overflow: hidden;
}
.info_list .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.info_list .date {
    font-family: 'Noto Serif JP',serif;
    font-size: 14px;
    line-height: 1.7;
}
.info_list .title {
    margin-top: 10px;
    font-size: 24px;
    font-weight: 700;
}
.info_list .summary {
    margin-top: 16px;
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0.01em;
}
.home_info .fb-page {
    margin-top: 30px;
}
.info_list2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 95px;
}
.info_list2 a {
    color: #3B4043;
}
.info_list2 .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    grid-template-columns: 1fr;
    row-gap: 0;
    margin-bottom: 120px;
}
.info_list2 .item .img {
    width: 371px;
    height: 250px;
    overflow: hidden;
}
.info_list2 .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.info_list2 .date {
    margin-top: 10px;
    font-family: 'Noto Serif JP',serif;
    font-size: 14px;
    line-height: 1.7;
}
.info_list2 .title {
    margin-top: 15px;
    font-size: 24px;
    font-weight: 700;
}
.info_list2 .summary {
    margin-top: 15px;
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0.01em;
}
.main_header {
    margin-top: 100px;
}
.main_header .title {
    font-size: 36px;
    font-family: 'Noto Serif JP',serif;
    letter-spacing: 0.05em;
}
.main_header + .contents_box > .section_contents {
    margin-top: 100px;
}
.pager {
    margin: -20px 0 100px;
}
.pager .pager_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 12px;
}
.pager .pager_inner ol {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    column-gap: 12px;
}
.pager .pager_inner ol li

 {
    border: 1px solid #707070;
    text-align: center;
}
.pager .pager_inner ol li a,
.pager .pager_inner .next a,
.pager .pager_inner ol li span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 61px;
    font-size: 16px;
    color: #3B4043;
    text-decoration: none;
    text-align: center;
}
.pager .pager_inner ol li.current span {
    background: #3B4043;
    color: #FFF;
}
.info_dl_title{
    margin-bottom: 16px;
}
.info_dl dl {
    display: grid;
    grid-template-columns: 200px 1fr;
    border-top: 1px solid #CDD6DD;
}
.info_dl dt,
.info_dl dd {
    padding: 20px 50px;
    border-bottom: 1px solid #CDD6DD;
}
.info_dl dt {
    background: #E9E4D6;
    color: #707F89;
}
.title_underline {
    position: relative;
}
.title_underline::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #E9E4D6;
}
h2.title_underline {
    font-family: 'Noto Serif JP',serif;
    font-size: 30px;
    font-weight: normal;
}
h2.title_underline::after {
    margin-top: 40px;
}
.title_underline + p {
    margin-top: 40px;
}
.title_large {
    font-size: 36px;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.05em;
}
.title_medium {
    margin-bottom: 20px;
    font-size: 25px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 300;
    letter-spacing: 0.05em;
}
.page_nav {
    display: flex;
    column-gap: 40px;
    width: 100%;
    margin-top: 45px;
    padding-bottom: 27px;
    border-bottom: 4px solid #F0F3F5;
}
.page_nav a {
    color: #3B4043;
}

/*================================
Home
================================*/
.home .mv {
    width: 100%;
    height: 652px;
    overflow: hidden;
}
.home .mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home .mv iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}
.home .home_about .btn_list {
    margin-top: 130px;
}
.home .home_pr .section_inner {
    padding: 280px 30px;
    background: url("../img/home/bg_pr@2x.webp") no-repeat center center;
    background-size: cover;
}
.home .home_pr p {
    font-size: 25px;
    font-family: 'Noto Serif JP',serif;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #FFF;
    font-weight: 100;
    text-align: center;
}
.home .home_works {
    background: #f7f5f0;
}
.home .home_item .section_inner {
    padding-bottom: 0;
}
.home .item_category {
    margin-top: 130px;
}
.home_banner {
    background: #f7f5f0;
}
.home_banner .banner {
    width: fit-content;
    margin-inline: auto;
}
.banner_text{
    margin-top: 16px;
}
.home_info .section_inner {
    padding-top: 47px;
    padding-bottom: 60px;
}
.home_info .section_inner.col2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 108px;
}
.home_info .section_inner.col2 .section_title {
    display: flex;
    align-items: flex-end;
    padding-bottom: 10px;
    border-bottom: 3px solid #E9E4D6;
    line-height: 1;
}
.home_info .section_inner.col2 .section_title span {
    display: inline-block;
    margin-left: 0.25em;
    margin-bottom: 0.25em;
    font-size: 16px;
    font-family: 'Noto Sans JP',serif;
}
.home_info .section_inner.col2 .section_contents {
    margin-top: 30px;
}
.home .footer_contact .section_inner {
    padding-top: 0;
}

/*================================
Aside
================================*/
.aside_inner {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 46px;
    padding-top: 100px;
}
.aside_page_list {
    padding: 0 20px;
}
.aside_page_list li {
    margin-top: 20px;
    padding: 20px 20px 0;
    border-top: 1px dotted #E9E4D6;
    font-size: 16px;
}
.aside_page_list li:first-of-type {
    margin-top: 0;
    padding: 0 20px 0;
    border-top: none;
}
.aside_page_list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    color: #3B4043;
}
.aside_page_list li > .year_label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.aside_page_list li a:after{
    display: block;
    content: "";
    width: 7px;
    height: 13px;
    margin-left: 0.5em;
    background: url("../img/common/icon_arrow_aside@2x.webp") no-repeat left center;
    background-size: contain;
}
.aside_banner {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 46px;
}

.aside_banner a {
    display: block;
    position: relative;
}

.aside_banner a.banner_aside_works .count {
    position: absolute;
    bottom: 25px;
    left: 12px;
    font-size: 24px;
    font-weight: 300;
    color: #FFF;
    letter-spacing: 0;
}

/*================================
Blog/News
================================*/
.info_header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 22px;
    margin-bottom: 20px;
}
.info_header .info_category span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    width: fit-content;
    height: 31px;
    padding: 0 38px;
    background: #FFA622;
    font-size: 12px;
    color: #FFF;
}
.info_header .info_date {
    font-family: 'Noto Serif JP',serif;
    font-size: 14px;
}
.info_contents img {
    width: 100%;
    height: auto;
    margin-bottom: 2em;
}
.info_contents p {
    margin-bottom: 2em;
}
.info_contents h2 {
    margin-bottom: 2em;
}
.info_contents h3 {
    margin-bottom: 2em;
}
.info_contents h4 {
    margin-bottom: 2em;
}
.info_contents + .content_more a {
    background: #F7F5F0;
}

/*================================
About
================================*/
.title_noline {
    font-family: 'Noto Serif JP',serif;
    font-size: 30px;
    font-weight: 300;
    color: #3B4043;
    margin-top: 100px;
}

.page-id-8 .section_contents p {
    margin-top: 1.6em;
}

.page-id-8 .section_contents img {
    margin-top: 33px;
}

.page-id-8 .aside_inner {
    padding-top: 100px;
}

/*================================
Growth
================================*/
.growth_lead img + p {
    margin-top: 30px;
}
.growth_box {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 70px;
    margin-top: 70px;
}
.growth_box .item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    row-gap: 70px;
    column-gap: 23px;
}
.growth_box .item .img {
    width: 343px;
    height: 229px;
    overflow: hidden;
}
.growth_box .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.growth_box .item .text {
    flex: 1;
}
.growth_box .item:nth-of-type(even) {
    flex-direction: row-reverse;
}
.growth_wrap {
    margin-top: 160px;
}

.growth_box .item:after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%);
    width:0;
    height:0;
    border-style:solid;
    border-width: 25px 36px 0 36px;
    border-color: #E9E4D6 transparent transparent transparent;
    border-radius: 6px;
}

.growth_box .item:last-of-type:after {
    display: none;
}

/*================================
Works
================================*/
.work .main_header .lead {
    margin-top: 50px;
}

.work .main_header .lead p {
    font-size: 16px;
    letter-spacing: 0.05em;
}

.work .main_header + .contents_box > .section_contents,
.single-work .main_header + .contents_box > .section_contents
 {
    margin-top: 50px;
}

.work .works_list {
    grid-template-columns: 1fr 1fr;
    column-gap: 76px;
}

.work .works_list + .pager {
    margin-top: 60px;
}

.works_contents .works_main_image img {
    width: 100%;
    height: auto;
}



.works_contents .works_sub_image {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px 20px;
    margin-top: 20px;
}

.works_contents .works_sub_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works_contents .works_info {
    margin-top: 37px;
    /* padding: 0 58px; */
}

.works_contents .works_info dl {
    display: grid;
    grid-template-columns: 200px 1fr;
    border-top: 1px solid #CDD6DD;
}

.works_contents .works_info dt,
.works_contents .works_info dd {
    padding: 20px 50px;
    border-bottom: 1px solid #CDD6DD;
}

.works_contents .works_info dt {
    background: #E9E4D6;
    color: #707F89;
}

.works_others_list > .title {
    font-family: 'Noto Serif JP',serif;
    font-size: 25px;
    font-weight: 300;
    text-align: center;
    color: #3B4043;
    margin-top: 100px;
}

.works_others_list .works_list {
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 30px;
}

.post-type-archive-work .btn_orange{
    padding: 15px 0;
    background-color: #FFA622;
    text-align: center;
    color: #FFF;
    display: block;
    width: 300px;
    margin: 0 auto;

}

.aside_inner {
    padding-top: 100px;
}

.aside_yearly {
    padding: 28px 0;
    background: #E9E4D6;
}

.aside_yearly .title {
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    color: #C3A27B;
}


.aside_yearly .aside_page_list {
    margin-top: 30px;
    padding: 0 20px;
}

.aside_yearly .aside_page_list li {
    margin-top: 0;
    padding-bottom: 20px;
    border-bottom: 1px dotted #FFF;
    line-height: 2;
}


.aside_yearly .aside_page_list li > span {
    width: 100%;
    cursor: pointer;
    padding-right: 20px;
}

.aside_yearly .aside_page_list li > .year_label:after {
    display: block;
    content: "";
    justify-self: flex-end;
    width: 7px;
    height: 13px;
    background: url("../img/common/icon_arrow_aside@2x.webp") no-repeat left center;
    background-size: contain;
    transform: rotate(90deg);
    transition: transform 0.2s ease;
}

.aside_yearly .aside_page_list li > .year_label.open:after {
    transform: rotate(270deg);
}

.aside_yearly .aside_page_list li a {
    line-height: 2;
    margin-top: 5px;
}

.aside_yearly .aside_page_list .yearly_submenu {
    display: none;
}

.aside_yearly .aside_page_list .yearly_submenu.open {
    display: block;
}

.aside_category {
    padding: 28px 0;
    background: #E9E4D6;
}

.aside_page_list li a {
    justify-content: flex-start;
}

.aside_yearly .aside_page_list li a:after {
    margin-left: auto;
}

.aside_work_list .aside_page_list{
    margin-top: 30px;
}
.aside_work_list .aside_page_list li{
    margin-top: 0;
    padding: 0 20px;
}
.aside_work_list .aside_page_list li a{
    margin-bottom: 5px;
}
.aside_work_list p{
    text-align: center;
    margin-top: 20px;
}
.aside_work_list p a{
    color: #3B4043;
}

.aside_category .title {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    color: #C3A27B;
}

.aside_category .aside_page_list {
    margin-top: 30px;
    padding: 0 20px;
}

.aside_category .aside_page_list li {
    margin-top: 0;
    padding-bottom: 20px;
    border-bottom: 1px dotted #FFF;
}

.aside_category .aside_page_list li:first-of-type {
    border-top: 1px dotted #FFF;
    padding-top: 20px;
}

/*================================
Work Other
================================*/
.page-id-1553 .year_title{
    margin-bottom: 10px;
}
/*================================
word-other
================================*/
.table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-scroll table {
    white-space: nowrap;
    min-width: 600px;
  }

/*================================
Company
================================*/
.page-id-12 .section_contents {
    margin-top: 100px;
}

.page-id-12 #greeting .greeting_president img {
    float: left;
    width: 300px;
    margin: 0 20px 20px 0;
}

.page-id-12 .company_title {
    margin-top: 50px;
    font-family: 'Noto Serif JP',serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    color: #707F89;
}

.page-id-12 .section_contents p {
    margin-top: 1.9em;
    font-weight: 400;
    line-height: 1.8;
    color: #3B4043;
}

.page-id-12 #philosophy img {
    margin-top: 70px;
}

.page-id-12 #outline .info_dl {
    margin-top: 50px;
}

.page-id-12 .aside_inner {
    padding-top: 100px;
}

/*================================
Shop
================================*/
.tax-shopping-cat  .lead ,
.post-type-archive-shopping  .lead

 {
    margin-top: 40px;
}
.shopping .flow_bath {
    margin-top: 30px;
}
.shopping .flow_bath .flow_title {
    font-size: 26px;
    margin-bottom: 20px;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;

}
.flow_item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 36px 2%;
}
.flow_li_title {
    font-size: 16px;
    line-height: 1.5;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;
    height: 45px;
}
.flow_li_txt {
    font-size: 16px;
    margin-bottom: 8px;
    margin-top: 8px;
}
.flow_li {
    width: 32%;
}
.flow_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.shopping .item_list,
.single-shopping .item_list {
    grid-template-columns: 1fr 1fr 1fr;
}
.shopping .main_header + .contents_box > .section_contents,
.single-shopping .main_header + .contents_box > .section_contents {
    margin-top: 60px;
}
.shopping .pager {
    margin-top: 200px;
}
.shopping .aside_inner {
    padding-top: 100px;
}
.item_info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 37px;
}

.item_info .buy,
.item_info .description {
    padding-left: 24px;
}

.item_info .img .thumbnail_main {
    width: 100%;
    height: 246px;
    overflow: hidden;
    border: 1px solid #E9E4D6;
}

.item_info .img .thumbnail_main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.item_info .img .thumbnail_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 23px;
    margin-top: 18px;
}

.item_info .img .thumbnail_list .item {
    position: relative;
    height: 82px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #E9E4D6;
}

.item_info .img .thumbnail_list .item img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.item_info .img .thumbnail_list .item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: all 0.2s ease;
    opacity: 0;
    border: 5px solid rgba(240,240,240,0.8);
}

.item_info .img .thumbnail_list .item.current:after,
.item_info .img .thumbnail_list .item:hover:after {
    opacity: 1;
}

.item_info .buy .item_categories {
    display: flex;
    align-items: center;
}

.item_info .buy .item_categories li {
    display: flex;
    align-items: center;
}

.item_info .buy .item_categories a {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #707070;
}

.item_info .buy .item_categories li:nth-of-type(n+2)::before {
    content: "＞";
    font-size: 12px;
    padding: 0 1em;
}

.item_info .buy .item_title {
    margin-top: 30px;
    font-family: 'Noto Serif JP',serif;
    font-size: 25px;
    font-weight: 400;
}

.item_info .buy .item_price {
    display: flex;
    align-items: flex-end;
    margin-top: 37px;
    font-size: 35px;
    letter-spacing: 0.05em;
}

.item_info .buy .item_price span {
    font-size: 16px;
    line-height: 2.3;
}

.item_info .buy .item_amount {
    display: flex;
    align-items: flex-end;
    column-gap: 8px;
    margin-top: 41px;
}

.item_info .buy .item_amount input[type="number"] {
    width: 5em;
    height: 48px;
    padding: 0.5em 1em;
    border: 1px solid #707070;
    border-radius: 6px;
    font-size: 20px;
}

.item_info .buy .item_cart {
    margin-top: 40px;
}

.item_info .buy .item_cart a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    height: 57px;
    padding: 0 24px 0 24px;
    background: #FFA622;
    font-size: 20px;
    color: #FFF;
    z-index: 1;
}
.item_info .buy .item_cart a.icon_cart:before {
    width: 25px;
    height: 21px;
    background-size: cover;
}

.item_info .summary .info_dl dl {
    grid-template-columns: 8em 1fr;
}


.item_info .summary .info_dl dt, .item_info .summary .info_dl dd {
    padding: 15px 30px;
    border-bottom: 1px solid #CDD6DD;
}

#item_related {
    margin-top: 100px;
}

#item_additional {
    margin-top: 100px;
}

#item_additional a {
    display: block;
    text-align: center;
}

#item_additional a img {
    max-width: 460px;
    height: auto;
}

.shopping .title_medium,
.single-shopping .title_medium {
    margin-bottom: 0;
}

#item_additional .title_medium {
    margin-bottom: 68px;
}

/*================================
Recruit
================================*/
.page-id-14 .title_underline {
    margin-top: 100px;
}
.page-id-14 .title_underline + .info_dl {
    margin-top: 50px;
}

.page-id-14 .aside_inner {
    padding-top: 100px;
}


/*================================
Contact
================================*/
.form_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 40px;
    margin-top: 40px;
}
.form_list input[type="text"],
.form_list input[type="tel"],
.form_list input[type="email"],
.form_list textarea {
    margin-top: 10px;
    width: 100%;
    padding: 0.5em 0.5em;
    border: 1px solid #707070;
    line-height: 1.8;
}
.form_list input[type="text"],
.form_list input[type="tel"],
.form_list input[type="email"] {
    max-width: 590px;
}
.form_list textarea {
    max-width: 700px;
    height: 12em;
}
.form_list input[type="checkbox"] {
    margin-top: 4px;
    transform: scale(1.6);
}
.form_list .confirm label {
    display: flex;
    align-items: center;
    column-gap: 0.5em;
    font-size: 24px;
}
.form_list .submit {
    max-width: 700px;
}
.form_list .submit input[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 386px;
    height: 80px;
    margin-top: 60px;
    margin-bottom: 180px;
    margin-inline: auto;
    background: #FFA622;
    color: #FFF;
    font-size: 24px;
    text-align: center;
}
.contact .aside_inner {
    padding-top: 100px;
}
.note{
	color:red;
}


/*================================
Footer
================================*/
.footer {
    padding-bottom: 210px;
}
.footer_contact {
    background: #f7f5f0;
}
.footer_contact .section_inner {
    padding: 100px 0;
}
.footer_contact .footer_contact_detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 74px;
    padding: 50px 95px;
    background: #FFF;
}
.footer_contact .footer_contact_detail .text {
    flex: 1;
    font-family: 'Noto Serif JP',serif;
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: 0.05em;
}
.footer_contact .footer_contact_detail .detail {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 15px;
    width: 418px;
}

.footer_contact .footer_contact_detail .detail .item {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    align-content: center;
    width: 418px;
    text-align: center;
    height: 90px;
    background: #f7f5f0;
}
.footer_contact .footer_contact_detail .detail .item:first-of-type {
    pointer-events: none;
}
.footer_contact .footer_contact_detail .detail .item .title {
    font-family: 'Noto Serif JP',serif;
    font-size: 12px;
    letter-spacing: 0.05em;
}
.footer_contact .footer_contact_detail .detail .item .tel {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 7px;
    font-family: 'Noto Serif JP',serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.footer_contact .footer_contact_detail .detail .item .tel:before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 26px;
    margin-top: 1px;
}
.footer_contact .footer_contact_detail .detail .item .mail {
    margin-top: 6px;
    font-family: 'Noto Serif JP',serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.footer_contact .footer_contact_detail .detail a.item {
    color: #3B4043;
}
.footer_main .section_inner {
    display: flex;
    column-gap: 12vw;
}
.footer_main .footer_company .footer_logo {

}
.footer_main .footer_company .footer_logo a {
    font-size: 20px;
    font-weight: 700;
    color: #3B4043;
    line-height: 1.5;
}
.footer_main .footer_company .footer_logo span {
    display: block;
    font-size: 12px;
    font-weight: 300;
}
.footer_main .footer_company .footer_logo a img {
    height: 46px;
}
.footer_main .footer_company .footer_company_info {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 24px;
    margin-top: 24px;
}
.footer_main .footer_company .footer_company_info .item {
    font-family: 'Noto Serif JP',serif;
    font-size: 14px;
}
.footer_main .footer_nav .fnav_top {
    width: 100%;
}
.footer_main .footer_nav .fnav_top a {
    font-family: 'Noto Serif JP',serif;
    font-size: 16px;
    font-weight: 700;
    color: #3B4043;
}
.footer_main .footer_nav .fnav {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /* grid-auto-flow: column;
    grid-template-rows: repeat(3, auto); */
    gap: 30px 10vw;
    margin-top: 30px;
}
.footer_main .footer_nav .fnav .item a {
    font-family: 'Noto Serif JP',serif;
    font-size: 16px;
    color: #3B4043;
}
.footer_main .footer_nav .fnav .item span {
    display: block;
    font-family: 'Noto Serif JP',serif;
    font-size: 12px;
    line-height: 2.1;
    color: #C3A27B;
}
.footer_bottom {
    text-align: center;
    font-family: 'Noto Serif JP',serif;
    font-size: 14px;
    color: #9D9FA1;
}
