@charset "utf-8";

/*================================
Layout
================================*/
@media all and (max-width:769px) {
    .w1180 {
        max-width: 100%;
        padding-inline: 4vw;
    }

    .w932 {
        max-width: 100%;
        padding-inline: 4vw;
    }

    .w840 {
        max-width: 100%;
        padding-inline: 4vw;
    }

    .contents_2col {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 0;
        padding-bottom: 4vw;
    }

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


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


/*================================
Header
================================*/
@media all and (max-width:769px) {
    .header {
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        padding: 0 4vw 0;
        height: 17.6vw;
        background: rgba(255,255,255,0.9);
        z-index: 99;
    }
    .header .header_upper {
    }
    .header .header_logo .logo {
        font-size: 4.8vw;
        font-weight: 700;
        color: #3B4043;
        line-height: 1.5;
    }
    .header .header_logo .logo span {
        display: block;
        font-size: 2.667vw;
        font-weight: 300;
    }
    .header .header_logo .logo a img {
        height: 9.333vw;
    }
    .header_lower {
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0;
        width: 100%;
        height: 100vh;
        margin-top: 0;
        padding: 21.333vw 0 21.333vw 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        background: #FFF;
        z-index: 100;
    }
    .gnav {
        overflow: auto;
    }
    .gnav .item a {
        display: block;
        padding: 4vw;
        font-size: 4.267vw;
        text-align: center;
        font-family: 'Noto Serif JP',serif;
        letter-spacing: 0.05em;
        color: #3B4043;
    }
    .hamburger {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 4vw;
        right: 3.664vw;
        z-index: 100;
    }
    .hamburger .hamburger_icon {
        position: relative;
        width: 9.867vw;
        height: 9.867vw;
        background: #FFF;
        border: 1px solid #999;
        transition: all 0.3s ease;
    }
    .hamburger span {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 6.4vw;
        height: 0.267vw;
        background: #999;
        border-radius: 9999px;
        transition: all 0.3s ease;
    }
    .hamburger span:nth-of-type(1) {
        top: 2.4vw;
    }
    .hamburger span:nth-of-type(2) {
        top: 4.8vw;
    }
    .hamburger span:nth-of-type(3) {
        top: 7.2vw;
    }

    /* menu open */
    .nonScroll .header .header_right {
        opacity: 1;
        pointer-events: all;
    }
    .nonScroll .hamburger {
        position: fixed;
        width: 9.867vw;
        height: 9.867vw;
        background: #FFF;
        border: 1px solid #999;
        z-index: 101;
    }
    .nonScroll .hamburger .hamburger_icon {
        position: relative;
        width: 9.867vw;
        height: 9.867vw;
        background: #FFF;
        border: 1px solid #999;
        transition: all 0.3s ease;
    }
    .nonScroll .hamburger span {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 6.4vw;
        height: 0.267vw;
        background: #999;
        border-radius: 9999px;
        transition: all 0.3s ease;
    }
    .nonScroll .hamburger span:nth-of-type(1) {
        top: 4.8vw;
        transform: translateX(-50%) rotate(45deg);
    }
    .nonScroll .hamburger span:nth-of-type(2) {
        top: 4.8vw;
        opacity: 0;
    }
    .nonScroll .hamburger span:nth-of-type(3) {
        top: 4.8vw;
        transform: translateX(-50%) rotate(-45deg);
    }
    .nonScroll .header_lower {
        opacity: 1;
        pointer-events: all;
    }
    .header .header_sub {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 35px;
    }
    .header .header_sub .header_tel {
        width: fit-content;
        height: 40px;
        margin-top: 8vw;
        margin-inline: auto;
        padding-left: 49px;
        background: url("../img/common/icon_tel_large@2x.webp") no-repeat left center;
        background-size: contain;
        font-size: 6.667vw;
        font-family: "Noto Serif JP",serif;
        color: #3B4043;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header .header_sub .header_tel a {
        color: #000;
    }
    .header .header_sub .header_tel span {
        display: block;
        margin-top: 0.5em;
        font-size: 3.2vw;
    }
    .header .header_sub .header_shop {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 14px;
        margin-top: 8vw;
        position: absolute;
        top: -20px;
        right: 70px;
    }
    .header .header_sub .header_shop a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 4.267vw;
        height: 10.667vw;
        padding: 0 14px 0 10px;
        background: #FFA622;
        font-size: 4.267vw;
        color: #FFF;
        border-radius: 9999px;
    }
    .header .header_sub .txt{
        display: none;
    }
    .header .header_sub .header_shop .shopping .icon_ext:before {
        width: 4.267vw;
        height: 4.267vw;
        background-size: cover;
    }
    .header .header_sub .header_shop .cart .icon_cart:before {
        width: 27px;
        height: 22px;
        background-size: cover;
    }
}


/*================================
Contents Common
================================*/
@media all and (max-width:769px) {
    .breadcrumb {
        margin-top: 17.6vw;
    }
    .section_inner {
        padding-block: 10.667vw;
    }
    .section_header {
        text-align: center;
        padding-inline: 4vw;
    }
    .section_header .section_title {
        color: #3B4043;
        font-size: 6.2vw;
        font-family: 'Noto Serif JP',serif;
        font-weight: 400;
        line-height: 1.38;
        letter-spacing: 0.05em;
    }

    .section_header .lead {
        margin-top: 9.5vw;
    }

    .section_header .lead p {
        font-size: 3.733vw;
        font-family: 'Noto Serif JP',serif;
        line-height: 2;
        letter-spacing: 0.05em;
        text-align: left;
    }

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

    .section_contents {
        margin-top: 8vw;
    }
    .btn_list {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        justify-content: center;
        column-gap: 6vw;
        row-gap: 5.333vw;
    }
    .btn_list li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 60px;
        font-size: 3.733vw;
        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: 100%;
    }
    .works_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 5.333vw;
    }
    .works_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        gap: 4vw 0;
        margin-bottom: 8vw;
        cursor: pointer;
    }
    .works_list .img {
        aspect-ratio: 1.01;
        overflow: hidden;
    }
    .works_list .img img {
        object-fit: cover;
    }
    .works_list .item .category a,
	.works_list .item .category span {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 8px;
        width: 100%;
        height: 8vw;
        padding: 0 1.333vw;
        background: #FFA622;
        font-size: 12px;
        color: #FFF;
    }
    .works_list .title {
        font-size: 3.733vw;
    }
    .content_more {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .content_more a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - 8vw);
        min-height: 13.333vw;
        margin-top: 8vw;
        font-size: 3vw;
        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;
        gap: 8vw 5.333vw;
    }
    .item_list .item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        gap: 4vw 0;
        cursor: pointer;
        padding: 0 0 4vw;
        box-shadow: 0 0.8vw 1.6vw rgba(0,0,0,0.16);
    }
    .item_list .item .img {
        width: 100%;
        height: 29.333vw;
        overflow: hidden;
    }
    .item_list .item .img img {
        object-fit: cover;
    }
    .item_list .item .name {
        font-family: 'Noto Serif JP',serif;
        font-size: 3.733vw;
        text-align: center;
        padding: 0 4vw;
    }
    .item_list .item .price {
        font-size: 3.2vw;
        text-align: center;
        font-family: 'Noto Serif JP',serif;
        color: #98A6B5;
        padding: 0 4vw;
    }
    .item_list .item .cart {
        padding: 0 4vw;
    }
    .item_list .item .cart a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 8px;
        width: 100%;
        height: 9.333vw;
        margin-inline: auto;
        padding: 0 1.333vw 0 1.333vw;
        background: #F7F5F0;
        font-size: 12px;
        color: #7D7D7D;
        border: 1px solid #C2BBBB;
    }
    .item_list .item .cart .icon_cart_gray:before {
        width: 4.8vw;
        height: 4vw;
        background-size: cover;
    }
    .item_list + .content_more {
        margin-top: 10.667vw;
    }
    .item_category {
        position: relative;
        padding: 13.333vw 0;
        background: #f7f5f0;
        z-index: 0;
    }
    .item_category .inner {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 13.333vw;
    }
    .item_category .cat_box .title {
        position: relative;
        font-family: 'Noto Serif JP',serif;
        font-size: 5.333vw;
        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;
        gap: 5.333vw;
        margin-top: 10.667vw;
    }
    .item_category .item_category_list a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 13.333vw;
        font-size: 3.733vw;
        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;
        gap: 13.333vw 0;
    }
    .monthly_list .item {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .monthly_list .item .img {
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    .monthly_list .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .monthly_list .item .title {
        padding: 5.333vw 0;
        font-size: 4.8vw;
        font-weight: 700;
        letter-spacing: 0.1em;
    }
    .monthly_list .item .summary {
        font-size: 3.733vw;
        line-height: 2;
        letter-spacing: 0.01em;
    }
    .info_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 10.667vw;
    }
    .info_list a {
        color: #3B4043;
    }
    .info_list .item {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 28px;
    }
    .info_list .item .img {
        width: 100%;
        height: 42.133vw;
        overflow: hidden;
    }
    .info_list .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .info_list .date {
        margin-top: 2.667vw;
        font-family: 'Noto Serif JP',serif;
        font-size: 3.733vw;
        line-height: 1.7;
    }
    .info_list .title {
        margin-top: 4vw;
        font-size: 4.8vw;
        font-weight: 700;
    }
    .info_list .summary {
        margin-top: 4vw;
        font-size: 3.733vw;
        line-height: 2;
        letter-spacing: 0.01em;
    }
    .home_info .fb-page {
        margin-top: 30px;
    }
    .info_list2 {
        display: grid;
        grid-template-columns: 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: 10.667vw;
    }
    .info_list2 .item .img {
        width: 100%;
        height: 42.133vw;
        overflow: hidden;
    }
    .info_list2 .item .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .info_list2 .date {
        margin-top: 2.667vw;
        font-family: 'Noto Serif JP',serif;
        font-size: 3.733vw;
        line-height: 1.7;
    }
    .info_list2 .title {
        margin-top: 4vw;
        font-size: 4.8vw;
        font-weight: 700;
    }
    .info_list2 .summary {
        margin-top: 4vw;
        font-size: 3.733vw;
        line-height: 2;
        letter-spacing: 0.01em;
    }
    .main_header {
        margin-top: 10.667vw;
    }
    .main_header .title {
        font-size: 7.467vw;
        font-family: 'Noto Serif JP',serif;
        letter-spacing: 0.05em;
    }
    .main_header + .contents_box > .section_contents {
        margin-top: 8vw;
    }
    .pager {
        margin: 0 0 13.333vw;
    }
    .pager .pager_inner {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 3.2vw;
    }
    .pager .pager_inner ol {
        display: flex;
        align-items: center;
        justify-content: center;
        list-style: none;
        column-gap: 3.2vw;
    }
    .pager .pager_inner ol li {
        border: 1px solid #707070;
    }
    .pager .pager_inner .next,
    .pager .pager_inner .prev {
        text-align: center;
    }
    .pager .pager_inner ol li a,
    .pager .pager_inner ol li span,
    .pager .pager_inner .next a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 7.467vw;
        height: 9.6vw;
        font-size: 3.2vw;
        color: #3B4043;
        text-decoration: none;
        text-align: center;
    }
    .pager .pager_inner ol li.current a {
        background: #3B4043;
        color: #FFF;
    }
    .info_dl dl {
        display: grid;
        grid-template-columns: 1fr;
        border-top: 1px solid #CDD6DD;
    }
    .info_dl dt,
    .info_dl dd {
        padding: 5.333vw 4vw;
        border-bottom: 1px solid #CDD6DD;
    }
    .info_dl dt {
        background: #E9E4D6;
        color: #707F89;
        font-weight: 600;
    }
    .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: 6.4vw;
        font-weight: normal;
    }
    h2.title_underline::after {
        margin-top: 5.333vw;
    }
    .title_underline + p {
        margin-top: 5.333vw;
    }
    .title_large {
        font-size: 7.467vw;
        font-family: 'Noto Serif JP', serif;
        letter-spacing: 0.05em;
    }
    .title_medium {
        margin-bottom: 5.333vw;
        font-size: 6.4vw;
        font-family: 'Noto Serif JP', serif;
        font-weight: 300;
        letter-spacing: 0.05em;
    }
    .page_nav {
        display: flex;
        column-gap: 5.333vw;
        width: 100%;
        margin-top: 10.667vw;
        padding-bottom: 5.333vw;
        border-bottom: 4px solid #F0F3F5;
    }
    .page_nav a {
        color: #3B4043;
    }
    .breadcrumb {
        height: 1.333vw;
        background: #C3A27B;
    }
    .breadcrumb_list {
        display: none;
    }
}





/*================================
Home
================================*/
@media all and (max-width:769px) {
    .home .mv {
        margin-top: 17.6vw;
        height: auto;
    }
    .home .home_about .btn_list {
        margin-top: 10.667vw;
        padding-inline: 4vw;
    }
    .home .home_pr .section_inner {
        padding: 10.667vw 4vw;
        background: url("../img/home/bg_pr@2x.webp") no-repeat center center;
        background-size: cover;
    }
    .home .home_pr p {
        font-size: 5.333vw;
        font-family: 'Noto Serif JP',serif;
        letter-spacing: 0.05em;
        line-height: 2;
        color: #FFF;
        font-weight: 100;
        text-align: left;
    }
    .home .home_works {
        background: #f7f5f0;
    }
    .home .home_item .section_inner {
        padding-bottom: 0;
    }
    .home .item_category {
        margin-top: 10.667vw;
    }
    .home_banner {
        background: #f7f5f0;
    }
    .home_banner .banner {
        width: fit-content;
        margin-inline: auto;
    }
    .home_info .section_inner {
        padding-top: 10.667vw;
        padding-bottom: 10.667vw;
    }
    .home_info .section_inner.col2 {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 108px;
        row-gap: 13.333vw;
        padding-inline: 0;
    }
    .home_info .section_inner.col2 .section_title {
        display: flex;
        align-items: flex-end;
        padding-bottom: 2.667vw;
        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;
        padding: 0 4vw;
    }
    .home .footer_contact .section_inner {
        padding-top: 0;
    }
}

/*================================
Aside
================================*/
@media all and (max-width:769px) {
    .aside_inner {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 8vw;
        padding-top: 13.333vw;
        margin-bottom: 13.333vw;
    }
    .aside_page_list {
        padding: 0 4vw;
    }
    .aside_page_list li {
        margin-top: 4vw;
        padding: 4vw 0 0;
        border-top: 1px dotted #E9E4D6;
        font-size: 3.733vw;
    }
    .aside_page_list li:first-of-type {
        padding-inline: 0;
    }
    .aside_page_list li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 4vw;
        color: #3B4043;
    }
    .aside_page_list li a:after {
        content: "";
        width: 1.867vw;
        height: 3.467vw;
        background: url("/hinoki-html/assets/img/common/icon_arrow_aside@2x.webp") no-repeat left center;
        background-size: contain;
    }
    .aside_banner {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 8vw;
    }

    .aside_banner a {
        display: block;
        position: relative;
    }
    .aside_banner a img {
        width: 100%;
        height: auto;
    }

    .aside_banner a.banner_aside_works .count {
        position: absolute;
        bottom: 7.2vw;
        left: 3.733vw;
        font-size: 5.6vw;
        font-weight: 300;
        color: #FFF;
        letter-spacing: 0;
    }
    .aside_yearly {
        padding: 5.333vw 0;
        background: #E9E4D6;
    }

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

    .aside_yearly .aside_page_list {
        margin-top: 5.333vw;
        padding: 0 4vw;
    }

    .aside_yearly .aside_page_list li {
        margin-top: 0;
        padding-bottom: 4vw;
        border-bottom: 1px dotted #FFF;
    }

    .aside_work_list .aside_page_list li{
        padding-bottom: 0;
    }

    .aside_category {
        padding: 5.333vw 0;
        background: #E9E4D6;
    }

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

    .aside_category .aside_page_list {
        margin-top: 5.333vw;
        padding: 0 4vw;
    }

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

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


/*================================
About
================================*/
@media all and (max-width:769px) {
    .title_noline {
        font-family: 'Noto Serif JP',serif;
        font-size: 5.6vw;
        font-weight: 300;
        color: #3B4043;
        margin-top: 10.667vw;
    }

    .about .section_contents p {
        margin-top: 1.6em;
    }

    .about .section_contents img {
        margin-top: 8vw;
    }

    .about .aside_inner {
        padding-top: 13.333vw;
    }
}

/*================================
Growth
================================*/
@media all and (max-width:769px) {
    .growth_lead img + p {
        margin-top: 8vw;
    }
    .growth_box {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 18.667vw;
        margin-top: 8vw;
    }
    .growth_box .item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        row-gap: 8vw;
        column-gap: 0;
    }
    .growth_box .item .img {
        width: 100%;
        height: 61.067vw;
        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: column;
    }
    .growth_wrap {
        margin-top: 13.333vw;
    }

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

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

/*================================
Works
================================*/
@media all and (max-width:769px) {
    .work .main_header .lead {
        margin-top: 8vw;
    }

    .work .main_header + .contents_box > .section_contents {
        margin-top: 10.667vw;
    }

    .work .works_list {
        grid-template-columns: 1fr 1fr;
        column-gap: 5.333vw;
        padding-inline: 0;
    }

    .works_list + .pager {
        margin-top: 13.333vw;
    }

    .works_contents .works_sub_image {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4vw 4vw;
        margin-top: 4vw;
    }

    .works_contents .works_info {
        margin-top: 8vw;
        padding: 0 0;
    }

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

    .works_contents .works_info dt,
    .works_contents .works_info dd {
        padding: 5.333vw 4vw;
        border-bottom: 1px solid #CDD6DD;
    }

    .works_contents .works_info dt {
        background: #E9E4D6;
        color: #707F89;
        font-weight: 600;
    }

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

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

    .work .aside_inner {
        padding-top: 13.333vw;
    }
}

/*================================
Company
================================*/
@media all and (max-width:769px) {

    .company #greeting .greeting_president img {
        display: block;
        margin-top: 8vw;
        margin-bottom: 4vw;
        float: none;
        margin-inline: auto;
    }

    .company .company_title {
        margin-top: 8vw;
        font-family: 'Noto Serif JP',serif;
        font-size: 4.8vw;
        line-height: 1.4;
        color: #000;
    }

    .company .section_contents p {
        margin-top: 1.9em;
        font-size: 3.733vw;
        font-weight: 400;
        line-height: 1.8;
        color: #3B4043;
    }

    .company #philosophy img {
        margin-top: 70px;
    }

    .company #outline .info_dl {
        margin-top: 50px;
    }

    .company .aside_inner {
        padding-top: 100px;
    }
}


/*================================
Shop
================================*/
@media all and (max-width:769px) {
    .shopping .title + .lead {
        margin-top: 10.667vw;
    }
    .shopping .item_list {
        grid-template-columns: 1fr 1fr;
    }
    .shopping .main_header + .contents_box > .section_contents {
        margin-top: 10.667vw;
    }
    .shopping .pager {
        margin-top: 13.333vw;
    }
    .shopping .aside_inner {
        padding-top: 13.333vw;
    }
    .item_info {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 37px;
    }

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

    .item_info .img .thumbnail_main {
        width: 100%;
        height: 65.6vw;
        overflow: hidden;
    }

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

    .item_info .img .thumbnail_list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 4vw;
        margin-top: 4vw;
    }

    .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: 3.2vw;
        color: #707070;
    }

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

    .item_info .buy .item_title {
        margin-top: 5.333vw;
        font-family: 'Noto Serif JP',serif;
        font-size: 6.4vw;
        font-weight: 400;
    }

    .item_info .buy .item_price {
        display: flex;
        align-items: flex-end;
        margin-top: 5.333vw;
        font-size: 6.4vw;
        letter-spacing: 0.05em;
    }

    .item_info .buy .item_price span {
        font-size: 4.267vw;
        line-height: 1.7;
    }

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

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

    .item_info .buy .item_cart {
        margin-top: 8vw;
    }

    .item_info .buy .item_cart a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 8px;
        height: 13.333vw;
        padding: 0 4vw 0 4vw;
        background: #FFA622;
        font-size: 4.8vw;
        color: #FFF;
    }
    .item_info .buy .item_cart a.icon_cart:before {
        width: 6.667vw;
        height: 5.6vw;
        background-size: cover;
    }

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

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

    #item_related {
        margin-top: 13.333vw;
    }

    #item_additional {
        margin-top: 13.333vw;
    }

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

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

    .shopping .title_medium {
        margin-bottom: 0;
    }
    .flow_li {
        width: 100%;
    }
    .flow_item {
        gap: 16px 0;
    }
    .flow_li_title{
        font-size: 15px;
        height: 36px;
        font-weight: bold;

    }
    .flow_li_txt{
        font-size: 14px;
    }
}

/*================================
Recruit
================================*/
@media all and (max-width:769px) {
    .recruit .title_underline {
        margin-top: 13.333vw;
    }
    .recruit .title_underline + .info_dl {
        margin-top: 8vw;
    }
}

/*================================
Contact
================================*/
@media all and (max-width:769px) {
    .form_list {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 8vw;
        margin-top: 8vw;
    }
    .form_list input[type="text"],
    .form_list textarea {
        margin-top: 4vw;
        width: 100%;
        padding: 0.5em 0.5em;
        border: 1px solid #707070;
        line-height: 1.8;
    }
    .form_list input[type="text"] {
        max-width: 100%;
    }
    .form_list textarea {
        max-width: 100%;
        height: 12em;
    }
    .form_list input[type="checkbox"] {
        margin-top: 0;
        transform: scale(2);
    }
    .form_list .confirm label {
        display: flex;
        align-items: center;
        column-gap: 1em;
        font-size: 4.267vw;
    }
    .form_list .confirm {
        width: fit-content;
        margin-inline: auto;
    }
    .form_list .submit {
        max-width: 100%;
    }
    .form_list .submit input[type="submit"] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 16vw;
        margin-top: 0;
        margin-bottom: 0;
        margin-inline: auto;
        background: #FFA622;
        color: #FFF;
        font-size: 6.4vw;
        text-align: center;
    }
    .contact .aside_inner {
        padding-top: 24vw;
    }
}

/*================================
Footer
================================*/
@media all and (max-width:769px) {
    .footer {
        padding-bottom: 8vw;
    }
    .footer_contact {
        background: #f7f5f0;
    }
    .footer_contact .section_inner {
        padding: 10.667vw 4vw;
    }
    .footer_contact .footer_contact_detail {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        justify-content: space-between;
        column-gap: 0;
        row-gap: 5.333vw;
        padding: 5.333vw 4vw;
        background: #FFF;
    }
    .footer_contact .footer_contact_detail .text {
        flex: 1;
        font-family: 'Noto Serif JP',serif;
        font-size: 3.733vw;
        line-height: 1.8;
        letter-spacing: 0.05em;
    }
    .footer_contact .footer_contact_detail .detail {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 4vw;
        width: 100%;
    }

    .footer_contact .footer_contact_detail .detail .item {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: center;
        align-content: center;
        width: 100%;
        text-align: center;
        height: 24vw;
        background: #f7f5f0;
        row-gap: 1.333vw;
    }
    .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: 3.2vw;
        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: 5.333vw;
        font-weight: 700;
        letter-spacing: 0.05em;
    }
    .footer_contact .footer_contact_detail .detail .item .tel:before {
        content: "";
        display: inline-block;
        width: 6.4vw;
        height: 6.4vw;
        margin-top: 1px;
    }
    .footer_contact .footer_contact_detail .detail .item .mail {
        margin-top: 6px;
        font-family: 'Noto Serif JP',serif;
        font-size: 4.8vw;
        font-weight: 700;
        letter-spacing: 0.05em;
    }
    .footer_contact .footer_contact_detail .detail a.item {
        color: #3B4043;
    }
    .footer_main .section_inner {
        display: flex;
        flex-direction: column-reverse;
        justify-content: center;
        row-gap: 8vw;
        column-gap: 12vw;
    }
    .footer_main .footer_company {
        padding-top: 8vw;
        border-top: 1px solid #CCC;
    }
    .footer_main .footer_company .footer_logo {
        width: fit-content;
        margin-inline: auto;
    }
    .footer_main .footer_company .footer_logo a {
        font-size: 4.8vw;
        font-weight: 700;
        color: #3B4043;
        line-height: 1.5;
    }
    .footer_main .footer_company .footer_logo span {
        display: block;
        font-size: 2.667vw;
        font-weight: 300;
    }
    .footer_main .footer_company .footer_logo a img {
        height: 9.333vw;
    }
    .footer_main .footer_company .footer_company_info {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 4vw;
        margin-top: 4vw;
        text-align: center;
    }
    .footer_main .footer_company .footer_company_info .item {
        font-family: 'Noto Serif JP',serif;
        font-size: 3.2vw;
    }
    .footer_main .footer_nav .fnav_top {
        width: 100%;
        text-align: center;
    }
    .footer_main .footer_nav .fnav_top a {
        font-family: 'Noto Serif JP',serif;
        font-size: 4.267vw;
        font-weight: 700;
        color: #3B4043;
    }
    .footer_main .footer_nav .fnav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4vw 4vw;
        margin-top: 8vw;
        text-align: center;
    }
    .footer_main .footer_nav .fnav .item a {
        font-family: 'Noto Serif JP',serif;
        font-size: 4.267vw;
        color: #3B4043;
        text-align: center;
    }
    .footer_main .footer_nav .fnav .item span {
        display: block;
        font-family: 'Noto Serif JP',serif;
        font-size: 3.2vw;
        line-height: 2.1;
        color: #C3A27B;
    }
    .footer_bottom {
        text-align: center;
        font-family: 'Noto Serif JP',serif;
        font-size: 3.2vw;
        color: #9D9FA1;
    }
    .pcNone{
        display: block;
    }
    .spNone{
        display: none;
    }
}


@media all and (min-width:769px) and (max-width:1023px){
    .home_pr .is-pc{
        display: none!important;
    }
}
