@charset "utf-8";
/*
theme Name: kitazume shoji
Description: 北詰商事のテーマです
version： 1.0
*/

/*----------------------------------------
	all
----------------------------------------*/

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "MS P明朝", "MS Mincho", serif;
    font-size: 62.5%;
    color: #000;
    -webkit-text-size-adjust: 100%;
    line-height: 1;
    font-weight: 400;
    scroll-behavior: smooth;
}

body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: 1.8rem;
}

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

img {
    vertical-align: bottom;
    height: auto;
}

ul {
    list-style-type: none;
}

#container {
    overflow-x: hidden;
}

.bold {
    font-weight: bold;
}

@font-face {
    font-family: 'Austin Pen';
    src: url('fonts/Austin Pen.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@media screen and (max-width:768px) {
    body {
        font-size: 1.6rem;
    }
}

/*----------------------------------------
	common
----------------------------------------*/

.c-inner1200 {
    width: 1200px;
    margin: auto;
}

.c-text {
    font-size: 1.8rem;
    line-height: 1.75;
}

.c-btnOnline {
    position: fixed;
    right: 0;
    bottom: 188px;
    z-index: 100;
    background-color: #9B8356;
    color: #fff;
    text-decoration: none;
    width: 70px;
    height: 250px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: 0.1em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease, background-color 0.3s ease;
}

.c-btnOnline:hover {
    opacity: 0.8;
    background-color: #8a734a;
}

.c-button {
    width: 200px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    background-color: #9B8356;
    color: #fff;
    transition: all 0.3s;
    position: relative;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 auto;
}

.c-button:hover {
    background-color: transparent;
    color: #9B8356;
    outline: 1px solid #9B8356;
}

.color {
    color: #006FB9;
}

.op {
    transition: .3s;
}

.op:hover {
    opacity: 0.7;
}

.lookforward-close-btn {
    display: none;
}

/*----------- pagenation -----------*/

.pagenavi {
    text-align: center;
    font-family: sans-serif;
}

.wp-pagenavi {
    margin: 30px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wp-pagenavi .pages {
    margin-right: 10px;
    color: #666;
    font-size: 14px;
}

.wp-pagenavi a.page,
.wp-pagenavi a.nextpostslink {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    transition: all 0.3s;
}

.wp-pagenavi a.page:hover,
.wp-pagenavi a.nextpostslink:hover {
    background-color: #808080;
    color: #fff;
    border-color: #808080;
}

.wp-pagenavi .current {
    display: inline-block;
    padding: 6px 12px;
    background-color: #808080;
    color: #fff;
    border-radius: 4px;
    font-weight: bold;
    pointer-events: none;
    font-size: 14px;
}

.wp-pagenavi .nextpostslink {
    font-weight: bold;
}

.wp-pagenavi a.page,
.wp-pagenavi .current,
.wp-pagenavi a.nextpostslink {
    padding: 4px 8px;
    font-size: 12px;
}

@media screen and (max-width:1250px) {
    .c-inner1200 {
        width: 100%;
        padding: 0 4.5%;
    }
}

@media screen and (max-width:768px) {
    .c-text {
        font-size: 1.4rem;
    }

    .c-inner1200 {
        width: 100%;
        padding: 0 3.5%;
    }

    .c-button {
        width: 100%;
        font-size: 1.4rem;
    }
}


@media screen and (max-width:590px) {
    .c-btnOnline {
        width: 100%;
        height: 55px;
        top: auto;
        bottom: 0;
        left: 0;
        transform: none;
        writing-mode: horizontal-tb;
        font-size: 1.6rem;
        letter-spacing: 0.2em;
    }
}

/*----------------------------------------
	animation
----------------------------------------*/

.js-fadeUp {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
    will-change: opacity, transform;
}

.is-show {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.delay-200 {
    transition-delay: 0.2s;
}

.delay-400 {
    transition-delay: 0.4s;
}

.delay-600 {
    transition-delay: 0.6s;
}

.delay-800 {
    transition-delay: 0.8s;
}

/*----------------------------------------
	l-header
----------------------------------------*/

.l-header {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: all 0.4s ease;
    background-image: url(images/header_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.l-header__inner {
    width: 100%;
    height: 100%;
    padding: 0 0 0 43px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 9999;
}

.l-header__gnav {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin: 0 50px 0 0;
}

.l-header__gnavLists {
    display: flex;
    align-items: center;
}

.l-header__gnavList a {
    position: relative;
    font-size: 2rem;
    letter-spacing: 0.02em;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    overflow: hidden;
}

.l-header__gnavList:not(:last-child) {
    margin: 0 47px 0 0;
}

.input-hidden {
    display: none;
}

.hamburger-demo-cover {
    display: none;
}

.logo a {
    display: block;
}

.l-header__gnavSp {
    display: none;
}

.l-header__gnavList .en {
    display: block;
    transition: transform 0.3s ease;
    text-transform: uppercase;
}

.l-header__gnavList .jp {
    display: block;
    font-size: 1.6rem;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
}

@media screen and (min-width: 821px) {
    .l-header__gnavList a {
        height: 1.5em;
    }

    .l-header__gnavList .jp {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        transition: top 0.3s ease;
        white-space: nowrap;
    }

    .l-header__gnavList a:hover .en {
        transform: translateY(-150%);
    }

    .l-header__gnavList a:hover .jp {
        top: 0;
    }
}

@media screen and (max-width:1500px) {
    .l-header__gnavList:not(:last-child) {
        margin: 0px 35px 0 0;
    }

    .l-header__gnavList a {
        font-size: 1vw;
    }

    .l-header__gnavList .jp {
        font-size: 1vw;
    }

    .logo a {
        width: 275px;
    }

    .logo img {
        width: 100%;
    }
}

@media screen and (max-width:1300px) {
    .logo a {
        width: 220px;
    }

    .l-header__inner {
        padding: 0 0 0 30px;
    }
}

@media screen and (max-width:1024px) {
    .l-header__gnavSp {
        display: flex;
    }

    .l-header__right {
        display: none;
    }

    #l-header {
        height: 70px;
    }

    .l-header__inner {
        padding: 0 0 0 35px;
    }

    .l-header__gnavLists {
        flex-direction: column;
    }

    .l-header__gnavList {
        width: 100%;
        height: auto;
    }


    .l-header__gnavList:not(:last-child) {
        margin: 0;
    }

    .l-header__gnavLists li > a {
        display: flex;
        flex-direction: column;
    }

    .l-header__gnavList a {
        font-size: 1.7rem;
    }

    .l-header__gnavLists li.has-child > a {
        position: relative;
    }

    .l-header__gnavLists li.has-child > a:after {
        content: '';
        position: absolute;
        right: 40px;
        width: 12px;
        height: 12px;
        border-top: 2px solid #222;
        border-right: 2px solid #222;
        transform: rotate(135deg) translateY(-50%);
    }

    .l-header__gnavLists li.has-child.active > a:after {
        transform: rotate(-45deg);
    }

    nav ul li a {
        padding: 10px 20px;
        border-bottom: 1px dashed #ccc;
    }

    .nav ul li:last-child a {
        border-bottom: none;
    }

    nav ul li:first-child a {
        border-top: 1px dashed #ccc;
    }

    nav ul li li a {
        padding: 0;
    }

    .input-hidden {
        display: none;
    }

    .hamburger-demo-switch {
        cursor: pointer;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 9999;
        width: 70px;
        height: 70px;
        background-color: transparent;
    }

    .hamburger-switch-line1,
    .hamburger-switch-line1-before,
    .hamburger-switch-line1-after {
        width: 25px;
        height: 3px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transition: .3s;
        border-radius: 100px;
        content: "";
    }

    .hamburger-switch-line1 {
        transform: translate(-50%, -50%);
    }

    .hamburger-switch-line1-before {
        transform: translate(-50%, -300%);
    }

    .hamburger-switch-line1-after {
        transform: translate(-50%, 200%);
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1 {
        width: 0;
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1-before {
        background-color: #333;
        transform: rotate(45deg) translate(-40%, 325%);
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1-after {
        background-color: #333;
        transform: rotate(-45deg) translate(-40%, -325%);
    }

    .l-header__gnav {
        position: fixed;
        height: 100vh;
        background: #fafafa;
        padding: 5em 3% 2em;
        z-index: 9998;
        transition: .3s;
        overflow-y: scroll;
        justify-content: flex-start;
        align-items: center;
        top: 0;
        left: 100%;
        width: 80%;
    }

    .l-header__gnavLists {
        width: 100%;
        margin-right: 3%;
        padding-left: 5% !important;
        list-style: none;
        margin-bottom: 40px;
    }

    .l-header__gnavLists li a {
        text-decoration: none;
        color: #000000;
        padding: 1.6em 0;
    }

    #hamburger-demo1:checked ~ .l-header__gnav {
        left: 20%;
    }

    #hamburger-demo1:checked ~ .hamburger-demo-cover {
        position: fixed;
        width: 100%;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 9997;
        background: rgba(3, 3, 3, .5);
        display: block;
    }

    .l-header__gnavList > a {
        height: auto;
    }

    .l-header__gnavLists li a {
        padding: 1.5em 0;
    }

    .logo a {
        width: 155px;
    }

    .l-header__gnavLists {
        flex-direction: column;
    }

    .l-header__gnavList a {
        padding: 10px 0;
    }

    .l-header__gnavList .en {
        font-size: 1.2rem;
        line-height: 1;
        margin-bottom: 4px;
        opacity: 0.5;
    }

    .l-header__gnavList .jp {
        font-size: 1.4rem;
        color: #000;
    }
}

@media screen and (max-width:590px) {

    #l-header {
        height: 55px;
    }

    .hamburger-demo-switch {
        width: 55px;
        height: 55px;
    }

    .l-header__gnav {
        padding: 4em 3% 2em;
    }

    .l-header__gnavList a {
        font-size: 1.5rem;
    }

    .l-header__inner {
        padding: 0 15px;
    }

    .l-header__gnavList {
        width: 100%;
    }

    .l-header__gnavList_en {
        font-size: 1.3rem;
        margin: 0 0 5px 0;
    }

    .l-header__gnavList_jp {
        font-size: 1.5rem;
    }

    .l-header__gnavLists li.has-child > a:after {
        right: 8px;
        width: 8px;
        height: 8px;
    }

    .logo a {
        width: 128px;
    }

    .l-header__gnavLists li a {
        padding: 0.9em 0;
    }

    .l-header__gnavWrap {
        flex-direction: column;
    }
}

/*----------------------------------------
	footer
----------------------------------------*/

.l-footer {
    padding: 44px 0 28px;
    background-image: url(images/footer_bg.jpg);
    background-size: cover;
    background-position: center;
}

.l-footerNav {
    display: flex;
    justify-content: center;
    gap: 47px;
    margin: 0 0 58px;
}

.l-footerNav li a {
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.l-footerLogo {
    text-align: center;
    display: block;
    margin: 0 auto 48px;
}

.l-footerAdd {
    text-align: center;
    color: #fff;
    margin: 0 0 11px;
}

.l-footerInfo {
    display: flex;
    justify-content: center;
    text-align: center;
    color: #fff;
    margin: 0 0 52px;
    gap: 25px;
}

.l-footerLicense {
    color: #fff;
    text-align: center;
    margin: 0 0 52px;
}

.l-footerName {
    font-size: 2.8rem;
    color: #fff;
    margin: 0 0 4px;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.563;
}

.l-footerName span {
    font-size: 3.2rem;
}

.l-footerCopyright {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 1300px) {
    .l-footer {
        padding: 60px 0 40px;
    }

    .l-footerNav {
        gap: 30px;
    }
}

@media screen and (max-width: 820px) {

    .l-footerNav {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px 30px;
        max-width: 600px;
        margin: 0 auto 40px;
    }

    .l-footerInfo {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 40px;
    }

    .l-footerName {
        font-size: 2.4rem;
    }

    .l-footerName span {
        font-size: 2.8rem;
    }
}

@media screen and (max-width: 590px) {
    .l-footer {
        padding: 50px 0 30px;
    }

    .l-footerNav {
        display: block;
        margin: 0 0 40px;
        padding: 0 20px;
    }

    .l-footerNav li {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }

    .l-footerNav li:last-child {
        border-bottom: none;
    }

    .l-footerNav li a {
        display: block;
        padding: 15px 0;
        text-align: center;
        font-size: 1.5rem;
    }

    .l-footerLogo img {
        width: 180px;
    }

    .l-footerAdd,
    .l-footerLicense {
        font-size: 1.4rem;
        line-height: 1.6;
    }

    .l-footerName {
        font-size: 2rem;
    }

    .l-footerName span {
        font-size: 2.2rem;
    }

    .l-footerCopyright {
        font-size: 1.2rem;
    }
}

/*----------------------------------------
	topMv
----------------------------------------*/

.p-topMv {
    width: 100%;
    height: 83.33vh;
    background-image: url(images/mv.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    animation: blurFade 2.5s ease-out forwards;
}

.p-topMv__catch {
    text-align: center;
    width: 100%;
    position: absolute;
    top: 30.7%;
    left: 50%;
    transform: translateX(-50%);
}

.p-topMv__catch h2 {
    display: block;
    font-size: 7.4rem;
    letter-spacing: 0.1em;
    line-height: 1.392;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 49px;
    opacity: 0;
    animation: fadeInUp 1.5s ease-out forwards;
    animation-delay: 0.5s;
}

.p-topMv__catch p {
    display: block;
    font-size: 2.9rem;
    letter-spacing: 0.15em;
    line-height: 1.448;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    opacity: 0;
    animation: fadeInUp 1.5s ease-out forwards;
    animation-delay: 1.2s;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes blurFade {
    0% {
        filter: blur(10px);
        opacity: 0;
    }

    100% {
        filter: blur(0);
        opacity: 1;
    }
}

@media screen and (max-width: 1300px) {
    .p-topMv__catch h2 {
        font-size: 6rem;
        margin-bottom: 30px;
    }

    .p-topMv__catch p {
        font-size: 2.4rem;
    }
}

@media screen and (max-width: 820px) {
    .p-topMv {
        height: 70vh;
        background-image: url(images/mv_sp.jpg);
    }

    .p-topMv__catch {
        top: 35%;
        width: 90%;
    }

    .p-topMv__catch h2 {
        font-size: 4.2rem;
        letter-spacing: 0.05em;
    }

    .p-topMv__catch p {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 590px) {
    .p-topMv {
        height: 60vh;
    }

    .p-topMv__catch {
        top: 30%;
    }

    .p-topMv__catch h2 {
        font-size: 2.8rem;
        margin-bottom: 20px;
        line-height: 1.5;
    }

    .p-topMv__catch p {
        font-size: 1.4rem;
        letter-spacing: 0.1em;
    }
}

/*----------------------------------------
	topPhilosophy
----------------------------------------*/

.p-topPhilosophy {
    width: 100%;
    background-image: url(images/top_philosophy_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    margin: 0 0 17px;
    padding: 125px 0 279px;
}

.p-topPhilosophy__title {
    margin: 0 0 42px;
}

.p-topPhilosophy__title span {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    display: block;
    margin: 0 0 40px;
    text-align: center;
    color: #fff;
}

.p-topPhilosophy__title img {
    display: block;
    margin: 0 auto;
}

.p-topPhilosophy__intro {
    margin: 0 0 86px;
}

.p-topPhilosophy__passionIntroTitle {
    margin: 0 0 36px;
    text-align: center;
}

.p-topPhilosophy__passionIntroTitle h2 {
    font-size: 2rem;
    letter-spacing: 0.02em;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.p-topPhilosophy__passionIntroTitle span {
    display: block;
    margin: 0 0 9px;
}

.p-topPhilosophy__passion ul {
    padding: 0 42px 0 67px;
}

.p-topPhilosophy__passion ul li:nth-of-type(1) {
    margin: 0 0 25px;
}

.p-topPhilosophy__passion ul li:nth-of-type(2) {
    margin: 0 0 51px;
}

.p-topPhilosophy__passion ul li {
    display: flex;
    align-items: center;
}

.p-topPhilosophy__passion ul li:after {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-size: 100%;
}

.p-topPhilosophy__passion ul li:nth-of-type(1):after {
    width: 115px;
    height: 172px;
    background-image: url(images/top_philosophy_encounter_icon.svg);
}

.p-topPhilosophy__passion ul li:nth-of-type(2):after {
    width: 152px;
    height: 149px;
    background-image: url(images/top_philosophy_nurture_icon.svg);
}

.p-topPhilosophy__passion ul li:nth-of-type(3):after {
    width: 115px;
    height: 152px;
    background-image: url(images/top_philosophy_connect_icon.svg);
}

.p-topPhilosophy__passionText {
    width: 59%;
    margin: 0 30px 0 0;
    padding: 20px 0 0;
}

.p-topPhilosophy__passion ul li:nth-of-type(2) .p-topPhilosophy__passionText {
    margin: 0 11px 0 0;
}

.p-topPhilosophy__passionText h3 {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    margin: 0 0 15px;
}

.p-topPhilosophy__passionTitle {
    width: 229px;
    margin: 0 52px 0 0;
}

.p-topPhilosophy__passionTitle h3 {
    font-size: 2rem;
    letter-spacing: 0.02em;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    width: 100%;
    height: 40px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-topPhilosophy__passionNumber {
    font-size: 3rem;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.p-topPhilosophy__passionNumber span {
    font-size: 6.6rem;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin: 0 13px 0 0;
}

@media screen and (min-width:1921px) {
    .p-topPhilosophy {
        background-position: center bottom;
    }
}

@media screen and (max-width: 1300px) {
    .p-topPhilosophy {
        padding: 100px 0 150px;
    }

    .p-topPhilosophy__passion ul {
        padding: 0 20px;
    }

    .p-topPhilosophy__passionText {
        width: 50%;
    }
}

@media screen and (max-width: 820px) {
    .p-topPhilosophy {
        padding: 80px 0 100px;
        background-position: center center;
    }

    .p-topPhilosophy__intro {
        margin-bottom: 50px;
    }

    .p-topPhilosophy__passion ul li {
        flex-direction: column;
        text-align: center;
        margin-bottom: 60px !important;
    }

    .p-topPhilosophy__passionTitle {
        margin: 0 0 20px 0;
    }

    .p-topPhilosophy__passionText {
        width: 100%;
        margin: 0 !important;
        padding: 0;
    }

    .p-topPhilosophy__passion ul li:after {
        margin-top: 20px;
        transform: scale(0.8);
    }

    .p-topPhilosophy__passion ul li:nth-of-type(1):after {
        width: 180px;
        height: 270px;
    }

    .p-topPhilosophy__passion ul li:nth-of-type(2):after {
        width: 230px;
        height: 225px;
    }

    .p-topPhilosophy__passion ul li:nth-of-type(3):after {
        width: 180px;
        height: 240px;
    }

    .p-topPhilosophy__passionText h3 {
        line-height: 1.3;
    }

    .p-topPhilosophy {
        background-image: url(images/top_philosophy_bg_sp.png);
    }
}

@media screen and (max-width: 590px) {
    .p-topPhilosophy {
        padding: 60px 0 130px;
        margin: 0 0 -40px;
    }

    .p-topPhilosophy__passion ul li {
        margin-bottom: 0 !important;
    }

    .p-topPhilosophy__title span {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .p-topPhilosophy__title img {
        width: 80%;
    }

    .p-topPhilosophy__passionIntroTitle h2 {
        font-size: 1.6rem;
    }

    .p-topPhilosophy__passionText h3 {
        font-size: 2.2rem;
        line-height: 1.3;
    }

    .p-topPhilosophy__passionNumber span {
        font-size: 4.5rem;
    }

    .p-topPhilosophy__passionNumber {
        font-size: 2.4rem;
    }

    .p-topPhilosophy__passion ul li:after {
        transform: scale(0.6);
        margin-top: -18px;
    }
}

/*----------------------------------------
	topArchive
----------------------------------------*/

.p-topArchive {
    margin: 0 0 104px;
}

.p-topArchive__title {
    text-align: center;
    margin: 0 0 72px;
}

.p-topArchive__title span {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    display: block;
    text-align: center;
    color: #9B8356;
    margin: 0px 0px 44px;
}

.p-topArchive__title h2 {
    font-size: 6rem;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.p-topArchive ul {
    display: flex;
    justify-content: space-between;
    margin: 0 0 68px;
}

.p-topArchive ul li {
    width: 30.8333%;
}

.p-topArchive ul li img {
    width: 100%;
}

.p-topArchive ul li figcaption {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    margin: 26px 0 0;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    text-align: center;
}

.p-topArchive ul li figcaption span {
    font-size: 1.6rem;
    letter-spacing: 0.16em;
    display: block;
    margin: 0 0 6px;
    line-height: 1.5;
}

.p-topArchive .c-button {
    width: 500px;
    height: 70px;
}

@media screen and (max-width: 1300px) {
    .p-topArchive {
        margin-bottom: 80px;
    }

    .p-topArchive__title h2 {
        font-size: 5rem;
    }

    .p-topArchive .c-button {
        width: 90%;
        max-width: 500px;
    }
}

@media screen and (max-width: 820px) {
    .p-topArchive__title {
        margin-bottom: 40px;
    }

    .p-topArchive__title span {
        font-size: 2rem;
        margin-bottom: 20px;
    }

    .p-topArchive__title h2 {
        font-size: 4rem;
    }

    .p-topArchive ul {
        justify-content: center;
        gap: 40px 4%;
    }

    .p-topArchive ul li figcaption {
        font-size: 2rem;
        margin-top: 15px;
    }
}

@media screen and (max-width: 590px) {
    .p-topArchive {
        margin-bottom: 60px;
    }

    .p-topArchive__title h2 {
        font-size: 3.2rem;
    }

    .p-topArchive ul {
        flex-wrap: wrap;
        margin: 0px 0px 40px;
    }

    .p-topArchive ul li {
        width: 80%;
        max-width: 400px;
    }

    .p-topArchive ul li figcaption {
        font-size: 1.8rem;
    }

    .p-topArchive ul li figcaption span {
        font-size: 1.4rem;
    }

    .p-topArchive .c-button {
        width: 100%;
        height: 60px;
    }
}

/*----------------------------------------
	topShop
----------------------------------------*/

.p-topShop {
    margin: 0 0 68px;
}

.p-topShopBg {
    width: 100%;
    height: 450px;
    background-image: url(images/top_shop_bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-topShopBg.is-show {
    opacity: 1;
    transform: scale(1);
}

.p-topShopBg h2 {
    font-size: 6rem;
    color: #fff;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s ease-out 0.8s;
}

.p-topShopBg.is-show h2 {
    opacity: 1;
    transform: translateY(0);
}

.p-topShop__wrap {
    background-color: #9B8356;
    padding: 73px 0 79px;
}

.p-topShop__ImgWrap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 50px;
}

.p-topShop__img {
    width: 47.9%;
}

.p-topShop__introText {
    margin: 0 0 80px;
}

.p-topShop__introText .c-text {
    text-align: center;
    color: #fff;
}

.p-topShop__accessImg {
    width: 100%;
    height: 540px;
    background-image: url(images/top_shop_access.jpg);
    background-size: cover;
    background-position: center;
    margin: 0 0 57px;
}

.p-topShop__accessTitle {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 0 0 58px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
}

.p-topShop__accessMap {
    position: relative;
    height: 500px;
    overflow: hidden;
    margin: 0 0 48px;
}

.p-topShop__accessMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.p-topShop_contact ul {
    display: flex;
    justify-content: center;
    gap: 35px;
}

.p-topShop_contact ul li a {
    display: block;
    text-align: center;
}

.p-topShop_contact ul li a span {
    font-size: 1.8rem;
    display: block;
    color: #fff;
    margin: 10px 0 0;
    letter-spacing: 0.04em;
}

.p-topShop__accessAdress {
    margin: 0 0 50px;
}

.p-topShop__accessAdress .c-text {
    color: #fff;
    text-align: center;
}

.p-topShop_attention {
    text-align: center;
    margin: 0 0 50px;
}

.p-topShop_attention h3 {
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    width: 321px;
    height: 50px;
    margin: 0 auto 30px;
    background-color: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.p-topShop_attention .c-text {
    color: #fff;
}

.p-topShop_contact ul li a:hover .p-topShop_contactIcon {
    transform: translateY(-5px);
    opacity: 0.7;
}

.p-topShop_contact ul li a:hover span {
    opacity: 0.7;
}

.p-topShop_contactIcon {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.p-topShop_contact ul li a span {
    transition: opacity 0.3s ease;
}

@media screen and (max-width: 1300px) {
    .p-topShopBg h2 {
        font-size: 5rem;
    }

    .p-topShop__accessImg {
        height: 400px;
    }
}

@media screen and (max-width: 820px) {
    .p-topShopBg {
        height: 300px;
    }

    .p-topShopBg h2 {
        font-size: 4rem;
    }

    .p-topShop__wrap {
        padding: 50px 0;
    }

    .p-topShop__ImgWrap {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    .p-topShop__img {
        width: 100%;
        max-width: 600px;
    }

    .p-topShop__introText {
        margin-bottom: 50px;
    }

    .p-topShop__accessImg {
        height: 300px;
        margin-bottom: 40px;
    }

    .p-topShop__accessMap {
        height: 350px;
    }

    .p-topShop_contactIcon img {
        width: 100%;
    }
}

@media screen and (max-width: 590px) {
    .p-topShopBg {
        height: 200px;
    }

    .p-topShopBg h2 {
        font-size: 3.2rem;
    }

    .p-topShop__introText {
        margin-bottom: 40px;
    }

    .p-topShop__accessTitle {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .p-topShop__accessMap {
        height: 300px;
    }

    .p-topShop_contact ul {
        flex-wrap: wrap;
        gap: 20px;
    }

    .p-topShop_contact ul li {
        width: 40%;
    }

    .p-topShop_contact ul li a span {
        font-size: 1.4rem;
    }

    .p-topShop_attention h3 {
        width: 100%;
        max-width: 280px;
        font-size: 1.6rem;
    }

    .p-topShop__img {
        width: 80%;
    }
}

/*----------------------------------------
	topJournal
----------------------------------------*/

.p-topJournal {
    margin: 0 0 90px;
}

.p-topJournal__archiveWrap {
    display: flex;
    gap: 6.35%;
    margin: 0 0 70px;
}

.p-topJournal__archiveArticle {
    width: 29.1%;
}

.p-topJournal__archiveArticle a {
    position: relative;
}

.p-topJournal__archiveArticle img {
    width: 100%;
}

.p-topJournal__archiveImg {
    margin: 0 0 14px;
}

.p-topJournal__archiveCategory {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 29px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    z-index: 1;
    background-color: #9B8356;
    color: #fff;
}

.p-topJournal__archiveTime {
    font-size: 1.6rem;
    margin: 0 0 4px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-topJournal__archiveTime span {
    color: #9B8356;
}

.p-topJournal__archiveTitle {
    font-size: 2rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.45;
}

@media screen and (max-width: 1300px) {
    .p-topJournal {
        margin-bottom: 70px;
    }

    .p-topJournal__archiveWrap {
        gap: 4%;
    }

    .p-topJournal__archiveArticle {
        width: 30.6%;
    }
}

@media screen and (max-width: 820px) {
    .p-topJournal__archiveWrap {
        display: flex;
        flex-wrap: wrap;
        gap: 30px 4%;
    }

    .p-topJournal__archiveArticle:nth-child(1) {
        width: 100%;
        margin-bottom: 10px;
    }

    .p-topJournal__archiveArticle:nth-child(1) .p-topJournal__archiveTitle {
        font-size: 2.2rem;
        margin-top: 10px;
    }

    .p-topJournal__archiveArticle:not(:first-child) {
        width: 48%;
    }

    .p-topJournal__archiveTime {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 590px) {
    .p-topJournal__archiveArticle:nth-child(1) .p-topJournal__archiveTitle {
        font-size: 1.8rem;
    }

    .p-topJournal__archiveArticle:not(:first-child) .p-topJournal__archiveTitle {
        font-size: 1.5rem;
    }

    .p-topJournal__archiveWrap {
        gap: 20px 4%;
    }
}

/*----------------------------------------
	page_common
----------------------------------------*/

.p-catch {
    width: 100%;
    height: 440px;
    position: relative;
    margin: 0 0 155px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.p-catch__textWrap {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.p-catch__en {
    display: block;
    font-size: 5rem;
    letter-spacing: 0.06em;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    text-transform: uppercase;
}

.c-pageTitle {
    margin: 0 0 47px;
}

.c-pageTitle span {
    font-size: 6rem;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.517;
}

.c-pageTitle h2 {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    margin-top: -9px;
    font-weight: 400;
}

.c-pageTitle02 {
    text-align: center;
    margin: 0 0 73px;
}

.c-pageTitle02 h2 {
    font-size: 1.8rem;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.06em;
}

.c-pageTitle02 span {
    display: block;
    font-size: 3rem;
    letter-spacing: 0.06em;
    line-height: 1.467;
    margin: 0 0 10px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    color: #9B8356;
}

@media screen and (max-width: 1500px) {
    .p-catch__en {
        font-size: 4.5rem;
    }

    .c-pageTitle span {
        font-size: 5.5rem;
    }
}

@media screen and (max-width: 1200px) {
    .p-catch {
        height: 380px;
        margin-bottom: 100px;
    }

    .p-catch__en {
        font-size: 3.8rem;
    }

    .c-pageTitle span {
        font-size: 4.5rem;
    }

    .c-pageTitle02 span {
        font-size: 2.6rem;
    }
}

@media screen and (max-width: 820px) {
    .p-catch {
        height: 300px;
        margin-bottom: 80px;
    }

    .p-catch__en {
        font-size: 3rem;
        letter-spacing: 0.04em;
    }

    .c-pageTitle {
        margin-bottom: 30px;
    }

    .c-pageTitle span {
        font-size: 3.5rem;
    }

    .c-pageTitle h2 {
        font-size: 1.5rem;
    }

    .c-pageTitle02 {
        margin-bottom: 50px;
    }

    .c-pageTitle02 span {
        font-size: 2.2rem;
    }

    .c-pageTitle02 h2 {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 590px) {
    .p-catch {
        height: 150px;
        margin-bottom: 60px;
    }

    .p-catch__en {
        font-size: 2.5rem;
    }

    .c-pageTitle span {
        font-size: 2.8rem;
    }

    .c-pageTitle h2 {
        font-size: 1.6rem;
        margin-top: 5px;
    }

    .c-pageTitle02 {
        margin-bottom: 40px;
    }

    .c-pageTitle02 span {
        font-size: 1.8rem;
        margin-bottom: 5px;
    }

    .c-pageTitle02 h2 {
        font-size: 1.2rem;
    }
}

/*----------------------------------------
	philosophy
----------------------------------------*/

.p-philosophy {
    margin: 0 0 178px;
}

.p-philosophyIntro {
    display: flex;
    align-items: center;
    margin: 0 0 186px;
}

.p-philosophyIntro__img {
    width: 44.4%;
    height: 483px;
    background-size: cover;
    background-image: url(images/philosophy_intro.jpg);
}

.p-philosophyIntro__text {
    width: 38.6%;
    display: flex;
    align-items: center;
    margin: 0 0 0 78px;
}

.p-philosophyIntro__text h2 {
    margin: 0 78px 0 0;
}

.p-philosophyIntro__textWrap .c-text:not(:last-child) {
    margin: 0 0 56px;
}

.p-philosophyAesthetics {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.p-philosophyAesthetics {
    margin: 0 0 220px;
}

.p-philosophyAesthetics__img {
    width: 40.8%;
    height: 541px;
    background-size: cover;
    background-image: url(images/philosophy_aesthetics.jpg);
}

.p-philosophyAesthetics__text {
    margin: 0 73px 0 0;
}

.p-philosophyAesthetics__textWrap .c-text:not(:last-child) {
    margin: 0 0 56px;
}

.p-philosophyAesthetics__text h3 {
    font-size: 2.4rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    margin: 0 0 53px;
}

.p-philosophyStandard {
    background-color: #222;
    margin: 0 0 95px;
    padding: 70px 0 108px;
}

.p-philosophyStandard__title {
    text-align: center;
    margin: 0 0 54px;
}

.p-philosophyStandard__title h2 {
    font-size: 1.8rem;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.06em;
}

.p-philosophyStandard__title span {
    display: block;
    font-size: 3rem;
    letter-spacing: 0.06em;
    line-height: 1.467;
    margin: 0 0 10px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    color: #9B8356;
}

.p-philosophyStandard__intro {
    color: #fff;
    margin: 0 0 54px;
    text-align: center;
}

.p-philosophyStandard ul {
    display: flex;
    justify-content: space-between;
}

.p-philosophyStandard ul li {
    width: 30.8%;
}

.p-philosophyStandard h3 {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    text-align: center;
    margin: 0 0 20px;
}

.p-philosophyStandard__img {
    width: 100%;
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 34px;
}

.p-philosophyStandard ul li:nth-of-type(1) .p-philosophyStandard__img {
    background-image: url(images/philosophy_standard01.jpg);
}

.p-philosophyStandard ul li:nth-of-type(2) .p-philosophyStandard__img {
    background-image: url(images/philosophy_standard02.jpg);
}

.p-philosophyStandard ul li:nth-of-type(3) .p-philosophyStandard__img {
    background-image: url(images/philosophy_standard03.jpg);
}

.p-philosophyStandard ul li h4 {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
}

.p-philosophyStandard ul li h4 span {
    font-size: 2.3rem;
    line-height: 2;
}

.p-philosophyStandard ul li .c-text {
    color: #fff;
}

.p-philosophyPassion__wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.p-philosophyPassion__text {
    width: 29.9%;
    padding: 0 0 30px;
}

.p-philosophyPassion__text h3 {
    font-size: 2.4rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    margin: 0 0 45px;
}

.p-philosophyPassion__title {
    margin: 0 0 45px;
}

.p-philosophyPassion__title span {
    font-size: 3rem;
    letter-spacing: 0.06em;
    display: block;
    color: #9B8356;
    margin: 0 0 10px;
}

.p-philosophyPassion__title h2 {
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.06em;
}

.p-philosophyPassion__img {
    margin: 0 96px 0 0;
}

@media screen and (max-width: 1300px) {
    .p-philosophy {
        margin-bottom: 120px;
    }

    .p-philosophyIntro,
    .p-philosophyAesthetics {
        margin-bottom: 120px;
    }

    .p-philosophyIntro__text,
    .p-philosophyAesthetics__text {
        margin-left: 40px;
        margin-right: 40px;
    }

    .p-philosophyIntro__text h2 {
        margin-right: 40px;
    }

    .p-philosophyStandard ul li {
        width: 31%;
    }

    .p-philosophyPassion__img {
        margin-right: 50px;
        width: 45%;
    }

    .p-philosophyPassion__img img {
        width: 100%;
    }

    .p-philosophyPassion__text {
        width: 45%;
    }
}

@media screen and (max-width: 820px) {

    .p-philosophyIntro {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .p-philosophyAesthetics {
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
    }

    .p-philosophyIntro__img,
    .p-philosophyAesthetics__img {
        width: 100%;
        height: 350px;
        margin-bottom: 40px;
    }

    .p-philosophyIntro__text,
    .p-philosophyAesthetics__text {
        width: 90%;
        margin: 0;
    }

    .p-philosophyIntro__text {
        flex-direction: column;
    }

    .p-philosophyIntro__text h2 {
        margin: 0 0 30px 0;
    }

    .p-philosophyIntro__text h2 img {
        width: 40px;
    }

    .p-philosophyStandard ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 40px;
    }

    .p-philosophyStandard ul li {
        width: 45%;
    }

    .p-philosophyStandard h3 {
        font-size: 2rem;
    }

    .p-philosophyPassion__wrap {
        flex-direction: column-reverse;
        align-items: center;
    }

    .p-philosophyPassion__img {
        width: 80%;
        margin: 40px 0 0;
    }

    .p-philosophyPassion__text {
        width: 90%;
        text-align: center;
    }

    .p-philosophyAesthetics__textWrap .c-text:not(:last-child) {
        margin: 0px 0px 20px;
    }

    .p-philosophyIntro__textWrap .c-text:not(:last-child) {
        margin: 0px 0px 20px;
    }

    .p-philosophyPassion__title {
        margin: 0px 0px 30px;
    }

    .p-philosophyStandard {
        margin: 0px 0px 60px;
    }
}

@media screen and (max-width: 590px) {
    .p-philosophy {
        margin-bottom: 60px;
    }

    .p-philosophyStandard__intro {
        margin: 0 0 30px;
    }

    .p-philosophyStandard {
        padding: 40px 0 60px;
    }

    .p-philosophyIntro__text h2 img {
        width: 25px;
    }

    .p-philosophyIntro,
    .p-philosophyAesthetics {
        margin-bottom: 60px;
    }

    .p-philosophyIntro__img,
    .p-philosophyAesthetics__img {
        height: 250px;
    }

    .p-philosophyAesthetics__text h3,
    .p-philosophyStandard h3,
    .p-philosophyPassion__text h3 {
        font-size: 2rem;
        line-height: 1.5;
        margin-bottom: 15px;
    }

    .p-philosophyStandard ul li {
        width: 100%;
    }

    .p-philosophyStandard__title span {
        font-size: 2.2rem;
    }

    .p-philosophyStandard__img {
        margin: 0 0 20px;
    }

    .p-philosophyPassion__title span {
        font-size: 2.2rem;
    }

    .p-philosophyStandard__title {
        margin: 0 0 35px;
    }

    .p-philosophyPassion__img {
        width: 88%;
    }

    .p-philosophyPassion__text {
        padding: 0;
    }
}

/*----------------------------------------
	archive
----------------------------------------*/

.p-archive {
    margin: 0 0 406px;
}

.page-id-669 .p-catch {
    margin: 0 0 190px;
}

.p-archive .c-pageTitle {
    text-align: center;
}

.p-archiveIntro .c-text {
    text-align: center;
}

.p-archiveIntro {
    margin: 0 0 276px;
}

.p-archiveList h2 {
    font-size: 4rem;
    letter-spacing: 0.06em;
    line-height: 1.45;
    margin: 0 0 55px;
    text-align: center;
}

.p-archiveList__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-archiveList__text {
    width: 45%;
}

.p-archiveList__img {
    width: 46.1%;
}

.p-archiveList__img img {
    width: 100%;
}

.p-archiveList__info {
    margin: 0 0 44px;
    padding: 0 0 40px;
    border-bottom: 1px solid #000000;
}

.p-archiveList__info dl {
    display: flex;
    align-items: center;
    line-height: 2;
}

.p-archiveList__info h3 {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2;
}

.p-archiveList__info .c-text {
    margin: 0 0 47px;
    line-height: 1.444;
}

.p-archiveList__brand {
    line-height: 1.3;
    margin: 0 0 36px;
}

.p-archiveList:not(:last-child) {
    margin: 0 0 295px;
}

@media screen and (max-width: 1300px) {
    .p-archive {
        margin-bottom: 200px;
    }

    .p-archiveIntro {
        margin-bottom: 150px;
    }

    .page-id-669 .p-catch {
        margin-bottom: 120px;
    }

    .p-archiveList:not(:last-child) {
        margin-bottom: 150px;
    }

    .p-archiveList h2 {
        font-size: 3.2rem;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 820px) {
    .page-id-669 .p-catch {
        margin-bottom: 70px;
    }

    .p-archive {
        margin-bottom: 120px;
    }

    .p-archiveIntro {
        margin-bottom: 80px;
    }

    .p-archiveList__wrap {
        display: block;
    }

    .p-archiveList__img {
        width: 100%;
        margin-bottom: 30px;
    }

    .p-archiveList__text {
        width: 100%;
    }

    .p-archiveList h2 {
        font-size: 2.6rem;
    }

    .p-archiveList:not(:last-child) {
        margin-bottom: 100px;
    }

    .p-archiveList__info {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .p-archiveList__info .c-text {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 590px) {
    .page-id-669 .p-catch {
        margin-bottom: 50px;
    }

    .p-archive {
        margin-bottom: 60px;
    }

    .p-archiveIntro {
        margin-bottom: 60px;
    }

    .p-archiveList h2 {
        font-size: 2.2rem;
        margin-bottom: 25px;
    }

    .p-archiveList:not(:last-child) {
        margin-bottom: 80px;
    }

    .p-archiveList__info h3 {
        font-size: 1.6rem;
    }

    .p-archiveList__info dl {
        display: block;
    }

    .p-archiveList__brand {
        margin-bottom: 25px;
    }
}

/*----------------------------------------
	service
----------------------------------------*/

.p-service {
    margin: 0 0 120px;
}

.page-id-671 .p-catch {
    margin: 0 0 202px;
}

.p-serviceIntro {
    margin: 0 0 202px;
}

.p-serviceIntro .c-pageTitle {
    text-align: center;
}

.p-serviceIntro .c-text {
    text-align: center;
}

.p-serviceBg {
    width: 100%;
    height: 450px;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 60px;
}

.p-serviceBox__purchase .p-serviceBg {
    background-image: url(images/service_purchase_bg.jpg);
}

.p-serviceBox__sales .p-serviceBg {
    background-image: url(images/service_sales_bg.jpg);
}

.p-serviceBg h2 {
    font-size: 6rem;
    text-align: center;
    color: #fff;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.p-serviceBox__intro {
    text-align: center;
    margin: 0 0 70px;
}

.p-serviceList h3 {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    width: 350px;
    height: 80px;
    background-image: url(images/service_title_deco.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    margin: 0 25px 0 0;
}

.p-serviceList .c-text {
    width: 66.9%;
}

.p-serviceLists {
    margin: 0 0 70px;
}

.p-serviceBox__sales .p-serviceLists {
    margin: 0 0 94px;
}

.p-serviceList {
    display: flex;
    align-items: center;
    padding: 0 33px;
}

.p-serviceList:not(:last-child) {
    margin: 0 0 36px;
}

.p-serviceBox .c-button {
    width: 500px;
    height: 70px;
    margin: 0 auto 100px;
}

.p-serviceSale {
    margin: 0 0 124px;
}

.p-serviceSale__wrap {
    display: flex;
}

.p-serviceSale__wrap:last-child {
    flex-direction: row-reverse;
}

.p-serviceSale__wrap:nth-of-type(1) {
    justify-content: flex-end;
    margin: 0 0 57px;
}

.p-serviceSale__wrap:nth-of-type(2) {
    justify-content: center;
}

.p-serviceSale__wrap:nth-of-type(1) .p-serviceSale__text {
    width: 60.1%;
}

.p-serviceSale__wrap:nth-of-type(2) .p-serviceSale__text {
    width: 49.4%;
}

.p-serviceSale__text .c-text:not(:last-child) {
    margin: 0 0 55px;
}

.p-serviceSale__text h2 {
    font-size: 3.9rem;
    letter-spacing: 0.02em;
    line-height: 1.436;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    margin: 0 0 60px;
}

.p-serviceSale__img {
    width: 281px;
    height: 568px;
    background-size: cover;
}

.p-serviceSale__wrap:nth-of-type(1) .p-serviceSale__img {
    background-image: url(images/service_sales01.jpg);
    margin: 0 80px 0 0;
}

.p-serviceSale__wrap:nth-of-type(2) .p-serviceSale__img {
    background-image: url(images/service_sales02.jpg);
    margin: 0 0 0 80px;
}

.p-serviceStrength {
    background-color: #222;
    margin: 0 0 95px;
    padding: 70px 0 112px;
}

.p-serviceStrength ul {
    display: flex;
    justify-content: space-between;
}

.p-serviceStrength ul li {
    width: 30.8%;
}

.p-serviceStrength__img {
    margin: 0 0 34px;
}

.p-serviceStrength ul li .c-text {
    width: 102%;
    color: #fff;
}

.p-serviceStrength ul li h3 {
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    margin: 0 0 22px;
    color: #fff;
    text-align: center;
}

.p-serviceStrength__number {
    font-size: 3rem;
    margin: 0 0 12px;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #fff;
    text-align: center;
}

.p-serviceContact .c-pageTitle02 h2 {
    color: #000000;
}

.p-serviceContact ul {
    display: flex;
    justify-content: center;
    gap: 60px;
}

.p-serviceContact ul li a:hover {
    transform: translateY(-5px);
    opacity: 0.7;
}

.p-serviceContact ulli a:hover span {
    opacity: 0.7;
}

@media screen and (max-width: 1300px) {
    .page-id-671 .p-catch {
        margin-bottom: 120px;
    }

    .p-serviceIntro {
        margin-bottom: 120px;
    }

    .p-serviceList {
        padding: 0;
    }

    .p-serviceList .c-text {
        width: 70%;
    }

    .p-serviceSale__wrap:nth-of-type(1) .p-serviceSale__text,
    .p-serviceSale__wrap:nth-of-type(2) .p-serviceSale__text {
        width: 55%;
    }

    .p-serviceSale__img {
        margin: 0 40px !important;
    }
}

@media screen and (max-width: 820px) {
    .page-id-671 .p-catch {
        margin-bottom: 60px;
    }

    .p-serviceIntro {
        margin-bottom: 60px;
    }

    .p-serviceBg {
        height: 300px;
    }

    .p-serviceBg h2 {
        font-size: 4.5rem;
    }

    .p-serviceList {
        flex-direction: column;
        text-align: center;
    }

    .p-serviceList h3 {
        margin: 0 0 20px 0;
        width: 300px;
        height: 70px;
        font-size: 2rem;
    }

    .p-serviceList .c-text {
        width: 100%;
    }

    .p-serviceBox .c-button {
        width: 90%;
        max-width: 500px;
    }

    .p-serviceSale__wrap,
    .p-serviceSale__wrap:last-child {
        flex-direction: column !important;
        align-items: center;
    }

    .p-serviceSale__text {
        width: 100% !important;
        text-align: center;
        margin-bottom: 40px;
    }

    .p-serviceSale__text h2 {
        font-size: 2.8rem;
        margin-bottom: 30px;
    }

    .p-serviceSale__img {
        width: 100%;
        max-width: 281px;
        height: 400px;
        margin: 0 auto !important;
    }

    .p-serviceStrength ul {
        flex-direction: column;
        align-items: center;
    }

    .p-serviceStrength ul li {
        width: 80%;
        margin-bottom: 50px;
    }

    .p-serviceStrength ul li:last-child {
        margin-bottom: 0;
    }

    .p-serviceSale {
        margin: 0px 0px 80px;
    }

    .p-serviceSale__text {
        margin-bottom: 0;
    }

    .p-serviceContact ul {
        gap: 20px;
    }
}

@media screen and (max-width: 590px) {
    .p-service {
        margin-bottom: 60px;
    }

    .p-serviceBg {
        height: 200px;
    }

    .p-serviceBg h2 {
        font-size: 3.5rem;
    }

    .p-serviceBox__intro {
        margin-bottom: 40px;
    }

    .p-serviceList h3 {
        width: 260px;
        height: 60px;
        font-size: 1.8rem;
    }

    .p-serviceSale__text h2 {
        font-size: 2.2rem;
    }

    .p-serviceSale__text .c-text:not(:last-child) {
        margin-bottom: 30px;
    }

    .p-serviceStrength {
        padding: 50px 0 60px;
    }

    .p-serviceStrength ul li {
        width: 100%;
    }

    .p-serviceContact ul {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .p-serviceBox .c-button {
        font-size: 1.4rem;
        width: 100%;
        height: 55px;
        margin: 0 auto 60px;
    }

    .p-serviceBox__sales .p-serviceLists {
        margin: 0 0 55px;
    }

    .p-serviceLists {
        margin: 0 0 30px;
    }

    .p-serviceBox__sales .p-serviceLists {
        margin: 0 0 60px;
    }

    .p-serviceSale__img {
        max-width: 255px;
        height: 350px;
        margin: 0 auto 30px !important;
    }

    .p-serviceBox__sales .p-serviceLists. {
        margin: 0 0 50px;
    }

    .p-serviceSale__text .c-text:not(:last-child) {
        margin-bottom: 20px;
    }

    .p-serviceSale__wrap:nth-of-type(1) {
        margin: 0px 0px 20px;
    }

    .p-serviceSale {
        margin: 0px 0px 60px;
    }

    .p-serviceStrength {
        margin: 0 0 50px;
    }

    .p-serviceContact ul li {
        width: 165px;
    }

    .p-serviceContact ul li img {
        width: 100%;
    }
}

/*----------------------------------------
	company
----------------------------------------*/

.p-company {
    margin: 0 0 200px;
}

.p-companyMessage {
    display: flex;
    align-items: flex-end;
    margin: 0 0 160px;
    padding: 0 0 0 72px;
}

.p-companyMessage__text h3 {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    margin: 0 0 74px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
}

.p-companyMessage .c-pageTitle {
    margin: 0 0 68px 93px;
}

.p-companyMessage .c-pageTitle h2 {
    margin: 0 0 0 39px;
}

.p-companyMessage__img {
    width: 29.9%;
    margin: 0 105px 0 0;
    padding: 0 0 56px;
}

.p-companyMessage__img img {
    width: 100%;
}

.p-companyMessage__text {
    width: 42%;
    position: relative;
}

.p-companyMessage__text:before {
    content: "";
    width: 664px;
    height: 612px;
    background-image: url(images/company_message_deco.svg);
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    bottom: 86px;
    left: -143px;
}

.p-companyMessage__text .c-text:not(:last-child) {
    margin: 0 0 55px;
}

.p-companyOutline {
    background-color: #EFEFEF;
    margin: 0 0 170px;
    padding: 80px 0 128px;
}

.table01 {
    display: block;
    width: 800px;
    margin: auto;
    font-size: 1.8rem;
    margin: 0 auto;
}

.table01 tbody {
    display: block;
    width: 100%;
}

.table01 tr {
    display: flex;
    justify-content: space-between;
}

.table01 tr:last-child {
    border-bottom: none;
}

.table01 tr:not(:last-child) {
    margin: 0 0 36px;
}

.table01 th {
    width: 15.8%;
    padding: 8px 10px;
    border-bottom: 2px solid #9B8356;
    font-weight: normal;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: 0.12em;
}

.table01 td {
    padding: 8px 46px;
    width: 84.2%;
    vertical-align: middle;
    border-bottom: 1px solid #B9B9B9;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.04em;
}

.p-companyGallery h2 {
    font-size: 6rem;
    font-family: "austin-pen", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
    margin: 0 0 80px;
}

.p-companyGallery__imgWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-companyGallery__img {
    margin: 60px 0 0;
    width: 47.3%;
}

.p-companyGallery__img img {
    width: 100%;
}

.p-companyGallery__shop {
    width: 100%;
    height: 540px;
    background-image: url(images/company_shop.jpg);
    background-size: cover;
    background-position: center;
}

@media screen and (max-width: 1300px) {
    .p-company {
        margin-bottom: 120px;
    }

    .p-companyMessage {
        padding-left: 0;
        justify-content: center;
    }

    .p-companyMessage__img {
        margin-right: 50px;
    }

    .p-companyMessage__text:before {
        width: 450px;
        height: 415px;
        left: -100px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .table01 {
        width: 90%;
    }
}

@media screen and (max-width: 820px) {

    .p-companyMessage {
        flex-direction: column;
        align-items: center;
        margin-bottom: 100px;
    }

    .p-companyMessage__img {
        width: 60%;
        margin-right: 0;
        margin-bottom: 40px;
        padding-bottom: 0;
    }

    .p-companyMessage__text {
        width: 90%;
    }

    .p-companyMessage__text:before {
        width: 300px;
        height: 276px;
        left: 50%;
        transform: translateX(-50%);
        top: 50px;
        z-index: -1;
    }

    .p-companyMessage .c-pageTitle {
        margin: 0 0 40px 0;
        text-align: center;
    }

    .p-companyMessage .c-pageTitle h2 {
        margin-left: 0;
    }

    .table01 th {
        width: 25%;
    }

    .table01 td {
        width: 75%;
        padding: 8px 20px;
        line-height: 1.3;
    }

    .p-companyGallery h2 {
        font-size: 4.5rem;
        margin-bottom: 40px;
    }

    .p-companyGallery__shop {
        height: 350px;
    }
}

@media screen and (max-width: 590px) {
    .p-company {
        margin-bottom: 60px;
    }

    .p-companyMessage {
        margin-bottom: 60px;
    }

    .p-companyMessage__text h3 {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .p-companyMessage__text .c-text:not(:last-child) {
        margin-bottom: 20px;
    }

    .p-companyMessage__text:before {
        width: 200px;
        height: 184px;
    }

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

    .p-companyOutline {
        padding: 50px 0 60px;
        margin-bottom: 60px;
    }

    .table01 tr {
        flex-direction: column;
    }

    .table01 th,
    .table01 td {
        width: 100%;
        border-bottom: 1px solid #B9B9B9;
    }

    .table01 th {
        font-size: 1.6rem;
        border-bottom: 2px solid #9B8356;
        padding-left: 0;
    }

    .table01 td {
        font-size: 1.5rem;
        padding: 15px 0;
    }

    .table01 tr:not(:last-child) {
        margin-bottom: 25px;
    }

    .p-companyGallery__img {
        width: 100%;
        margin-top: 20px;
    }

    .p-companyGallery h2 {
        font-size: 3rem;
        margin-bottom: 30px;
    }

    .p-companyGallery__shop {
        height: 250px;
    }
}

/*----------------------------------------
	access
----------------------------------------*/

.p-access {
    margin: 0 0 200px;
}

.p-access .c-pageTitle {
    margin: 0 0 73px;
}

.page-id-686 .p-catch {
    margin: 0 0 190px;
}

.p-accessIntro {
    margin: 0 0 187px;
}

.p-accessIntro .c-pageTitle {
    width: 446px;
    margin: 0 auto 65px;
}

.p-accessIntro .c-text {
    text-align: center;
}

.p-accessMap__title {
    margin: 0 0 62px;
    text-align: center;
}

.p-accessMap__title h2 {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
}

.p-accessMap__title span {
    display: block;
    font-size: 2.4rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    color: #9B8356;
    margin: 0 0 10px;
    letter-spacing: 0.06em;
}

.p-accessMap__wrap {
    position: relative;
    height: 500px;
    overflow: hidden;
    margin: 0 0 48px;
}

.p-accessMap__wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.p-accessAddress {
    margin: 0 0 50px;
}

.p-accessAddress .c-text {
    text-align: center;
}

.p-accessTraffic {
    margin: 0 auto 95px;
    max-width: 926px;
}

.p-accessTraffic dl {
    display: flex;
    align-items: center;
}

.p-accessTraffic dl:not(:last-child) {
    margin: 0 0 34px;
}

.p-accessTraffic dl dt {
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    color: #fff;
    width: 347px;
    height: 49px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    margin: 0 30px 0 0;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
}

.p-accessAttention {
    text-align: center;
    margin: 0 0 50px;
}

.p-accessAttention h3 {
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    width: 321px;
    height: 50px;
    margin: 0 auto 30px;
    background-color: #9B8356;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.p-accessContact ul {
    display: flex;
    justify-content: center;
    gap: 35px;
}

.p-accessContact ul li a {
    display: block;
    text-align: center;
}

.p-accessContact ul li a span {
    font-size: 1.8rem;
    display: block;
    margin: 10px 0 0;
    letter-spacing: 0.04em;
}

.p-accessContact ul li a:hover .p-accessContact__icon {
    transform: translateY(-5px);
    opacity: 0.7;
}

.p-accessContact ul li a:hover span {
    opacity: 0.7;
}

.p-accessContact__icon {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.p-accessContact ul li a span {
    transition: opacity 0.3s ease;
}

@media screen and (max-width: 1300px) {
    .p-access {
        margin-bottom: 120px;
    }

    .p-accessIntro {
        margin-bottom: 100px;
    }

    .page-id-686 .p-catch {
        margin-bottom: 120px;
    }

    .p-accessMap__title {
        margin: 0px 0px 25px;
    }
}

@media screen and (max-width: 820px) {
    .p-access {
        margin-bottom: 80px;
    }

    .p-accessIntro .c-pageTitle {
        text-align: center;
    }

    p-accessIntro .c-pageTitle h2 {
        margin: 6px 0 0;
    }

    .page-id-686 .p-catch {
        margin-bottom: 70px;
    }

    .p-accessIntro {
        margin-bottom: 60px;
    }

    .p-accessIntro .c-pageTitle {
        width: 100%;
        max-width: 446px;
    }

    .p-accessMap__wrap {
        height: 400px;
        margin-bottom: 30px;
    }

    .p-accessTraffic dl dt {
        width: 240px;
        font-size: 1.6rem;
        margin-right: 20px;
    }

    .p-accessContact ul {
        gap: 20px;
    }

    .p-accessContact__icon img {
        width: 100%;
    }
}

@media screen and (max-width: 590px) {
    .p-access {
        margin-bottom: 60px;
    }

    .page-id-686 .p-catch {
        margin-bottom: 50px;
    }

    .p-accessIntro {
        margin-bottom: 50px;
    }

    .p-accessIntro .c-pageTitle {
        margin-bottom: 40px;
    }

    .p-accessMap__title span {
        font-size: 2rem;
    }

    .p-accessMap__title h2 {
        font-size: 1.5rem;
    }

    .p-accessMap__wrap {
        height: 300px;
    }

    .p-accessTraffic {
        margin: 0px auto 50px;
    }

    .p-accessTraffic dl {
        display: block;
        margin-bottom: 40px;
    }

    .p-accessTraffic dl dt {
        width: 100%;
        height: 40px;
        margin: 0 0 15px;
        font-size: 1.5rem;
    }

    .p-accessTraffic dl dd {
        text-align: center;
        line-height: 1.4;
    }

    .p-accessAttention h3 {
        width: 100%;
        max-width: 321px;
        font-size: 1.6rem;
        margin: 0px auto 20px;
    }

    .p-accessContact ul {
        flex-wrap: wrap;
        align-items: center;
        gap: 30px;
    }

    .p-accessContact ul li a span {
        font-size: 1.5rem;
    }

    .p-accessContact ul li {
        width: 40%;
    }

    .p-accessContact__icon {
        width: 100%;
    }
}

/*----------------------------------------
	journal
----------------------------------------*/

.p-catchJournal {
    background-image: url(images/journal_catch.jpg);
}

.p-journalArchive {
    margin: 0 0 230px;
}

.p-journalArchive__wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6.35%;
    margin: 0 0 70px;
}

.p-journalArchive__article:nth-child(n+4) {
    margin-top: 70px;
}

.p-journalArchive__article {
    width: 29.1%;
}

.p-journalArchive__article a {
    position: relative;
}

.p-journalArchive__article img {
    width: 100%;
}

.p-journalArchive__img {
    margin: 0 0 14px;
}

.p-journalArchive__category {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 29px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    z-index: 1;
    background-color: #9B8356;
    color: #fff;
}

.p-journalArchive__time {
    font-size: 1.6rem;
    margin: 0 0 4px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-journalArchive__time span {
    color: #9B8356;
}

.p-journalArchive__title {
    font-size: 2rem;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.45;
}

@media screen and (max-width: 1300px) {
    .p-journalArchive {
        margin-bottom: 150px;
    }

    .p-journalArchive__wrap {
        gap: 4%;
    }

    .p-journalArchive__article {
        width: 30.6%;
    }
}

@media screen and (max-width: 820px) {
    .p-journalArchive {
        margin-bottom: 100px;
    }

    .p-journalArchive__wrap {
        gap: 20px 4%;
        margin-bottom: 0;
    }

    .p-journalArchive__article {
        width: 48%;
    }

    .p-journalArchive__article:nth-child(n+4) {
        margin-top: 0;
    }

    .p-journalArchive__article:nth-child(n+3) {
        margin-top: 30px;
    }

    .p-journalArchive__title {
        font-size: 1.8rem;
    }

    .p-journalArchive__category {
        width: 80px;
        height: 26px;
        font-size: 1.4rem;
    }

    .p-journalArchive__time {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 590px) {
    .p-journalArchive {
        margin-bottom: 80px;
    }

    .p-journalArchive__wrap {
        gap: 15px 4%;
    }

    .p-journalArchive__article {
        width: 48%;
    }

    .p-journalArchive__article:nth-child(n+3) {
        margin-top: 20px;
    }

    .p-journalArchive__title {
        font-size: 1.5rem;
    }

    .p-journalArchive__time {
        align-items: flex-start;
        gap: 2px;
    }
}

.p-singleJournal {
    padding: 150px 0 100px;
    background-color: #EFEFEF;
}

.p-singleJournal__info {
    display: flex;
    align-items: center;
    margin: 0 0 28px;
}

.p-singleJournal__time {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: rgba(0, 0, 0, 0.53);
    margin: 0 20px 0 0;
}

.p-singleJournal__category a {
    font-size: 1.5rem;
    display: inline-block;
    padding: 4px 14px;
    background-color: #9B8356;
    letter-spacing: 0.08em;
    color: #fff;
    font-weight: 700;
    font-family: "Shippori Mincho B1", serif;
}

.p-singleJournal h1 {
    font-size: 3.4rem;
    line-height: 1.486;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin: 6px 0 50px;
    padding-bottom: 25px;
    border-bottom: 1px solid #7070704D;
}

.p-singleJournal__wrap {
    display: flex;
    justify-content: space-between;
}

.p-singleJournal article {
    width: 68%;
    background-color: #fff;
    padding: 40px 60px;
}

.p-singleJournal .aside {
    width: 23.4%;
}

.p-singleJournal .p-sidebar__archive {
    width: 100%;
}

.p-singleJournal__thumbnail img {
    width: 100%;
}

.p-singleJournal__text {
    margin: 70px 0;
}

.post_link_wrap {
    padding: 34px 0;
    border-top: 1px solid rgba(112, 112, 112, 0.5);
    border-bottom: 1px solid rgba(112, 112, 112, 0.5);
    display: flex;
    justify-content: space-between;
    margin: 0;
}

.post_link_wrap a {
    display: flex;
    align-items: center;
}

.post-info {
    width: 75%;
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.45;
}

a.prev_post:before {
    content: "";
    display: inline-block;
    width: 31px;
    height: 31px;
    background-image: url(images/post_arrow_left.svg);
    background-repeat: no-repeat;
    margin: 0 15px 0 0;
}

a.next_post:after {
    content: "";
    display: inline-block;
    width: 31px;
    height: 31px;
    background-image: url(images/post_arrow_right.svg);
    background-repeat: no-repeat;
    margin: 0 0 0 15px;
}

.next_post,
.prev_post {
    width: 30%;
    display: flex;
    align-items: center;
}

.next_post {
    justify-content: flex-end;
}

.post_link_all {
    letter-spacing: 0.08em;
    font-size: 2rem;
    font-weight: 700;
}

.p-singleJournal__related > h3 {
    font-size: 3.5rem;
    text-align: center;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin: 0 auto 70px;
    text-align: center;
}

.p-singleJournal__related > h3 span {
    display: inline-block;
    padding: 0 0 24px;
    border-bottom: 3px solid #333333;
}

.p-singleJournal__related .c-text {
    width: 100%;
}

.p-singleJournal aside {
    width: 28%;
}

.p-sidebarNews__list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-sidebarNews__listText {
    width: 56%;
}

.p-sidebarNews__listText h2 {
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

.p-sidebarNews__listInfo {
    margin: 0 0 14px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
}

.p-sidebarNews__listInfo .p-blogCategory {
    font-size: 1.2rem;
}

.p-sidebarNews__listInfo .p-sidebarNews__listTime {
    font-size: 1.2rem;
    font-weight: 700;
    font-family: "Shippori Mincho B1", serif;
}

.p-sidebarNews__lists {
    margin: 73px 0 0;
}

.p-sidebarNews__listImg {
    width: 38.8%;
}

.p-sidebarNews__listImg img {
    width: 100%;
}

.p-sidebarNews__list:not(:last-child) {
    margin: 0 0 35px;
}

.p-singleJournal__text > h2 {
    font-size: 2.8rem;
    border-bottom: 4px solid #9B8356;
    margin-top: 80px;
    font-weight: bold;
    padding-bottom: 10px;
    position: relative;
    line-height: 1.4;
}

.p-singleJournal__text > h3 {
    font-size: 2.4rem;
    border-left: 4px solid #9B8356;
    margin-top: 70px;
    padding: 8px 16px;
    background: #F3F0EB;
    line-height: 1.4;
}

.p-singleJournal__text > h4 {
    font-size: 2rem;
    margin-top: 70px;
    color: #9B8356;
}

.p-singleJournal__text > p {
    font-size: 1.8rem;
    margin-top: 30px;
    line-height: 2;
    padding: 0 8px;
}

@media screen and (max-width: 1300px) {
    .p-singleJournal {
        padding: 100px 0 80px;
    }

    .p-singleJournal article {
        padding: 30px 40px;
    }

    .p-sidebarNews__listText {
        width: 50%;
    }

    .p-sidebarNews__listImg {
        width: 45%;
    }
}

@media screen and (max-width: 820px) {
    .p-singleJournal {
        padding: 60px 0;
    }

    .p-singleJournal__wrap {
        display: block;
    }

    .p-singleJournal article {
        width: 100%;
        padding: 30px 20px;
        margin-bottom: 60px;
    }

    .p-singleJournal aside {
        width: 100%;
    }

    .p-singleJournal h1 {
        font-size: 2.6rem;
        margin-bottom: 30px;
    }

    .p-singleJournal__text > h2 {
        font-size: 2.2rem;
        margin-top: 50px;
    }

    .p-singleJournal__text > h3 {
        font-size: 1.8rem;
        margin-top: 40px;
    }

    .post_link_wrap {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .next_post,
    .prev_post {
        width: 100%;
        justify-content: center;
    }

    .post_link_all {
        order: -1;
        margin-bottom: 10px;
    }

    .p-sidebarNews__listImg img {
        object-fit: cover;
        height: 125px;
    }

}

@media screen and (max-width: 590px) {
    .p-singleJournal {
        padding: 40px 0;
    }

    .p-singleJournal h1 {
        font-size: 2.2rem;
    }

    .p-singleJournal__text {
        margin: 40px 0;
    }

    .p-singleJournal__text > p {
        font-size: 1.4rem;
        line-height: 1.8;
        padding: 0;
    }

    .p-singleJournal__related > h3 {
        font-size: 2.4rem;
        margin-bottom: 40px;
    }

    .p-sidebarNews__list a {
        align-items: flex-start;
    }

    .p-sidebarNews__listText h2 {
        font-size: 1.4rem;
    }

    a.prev_post:before,
    a.next_post:after {
        width: 20px;
        height: 20px;
        background-size: contain;
    }
}

/*----------------------------------------
	sidebar
----------------------------------------*/

.p-sidebar__archive {
    background-color: #fff;
    padding: 40px 26px;
}

.p-sidebar__archiveTitle {
    position: relative;
    color: #9B8356;
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 35px;
    padding: 0 0 8px;
    font-size: 2.6rem;
    letter-spacing: 0.08em;
    border-bottom: 2px solid #9B8356;
    text-transform: uppercase;
    font-family: "Shippori Mincho B1", serif;
}

.p-sidebar__archiveLists li {
    padding: 20px 0;
    border-bottom: 1px solid rgba(112, 112, 112, 0.3);
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    text-align: center;
}

.p-sidebar__archiveLists li:first-child {
    border-top: 1px solid rgba(112, 112, 112, 0.3);
}

@media screen and (max-width:768px) {
    .p-sidebar__archiveTitle {
        font-size: 1.8rem;
        margin: 0 0 20px;
    }

    .p-sidebar__archiveLists li {
        font-size: 1.8rem;
        padding: 15px 0;
    }

    .p-sidebar__archive {
        padding: 30px 12px;
    }

    .p-sidebar__archive {
        width: 100%;
    }
}

/*----------------------------------------
	contact
----------------------------------------*/

.p-contactIntro {
    margin: 0 0 220px;
}

.p-contactIntro .c-pageTitle {
    text-align: center;
}

.p-contactFaq {
    background-color: #9B8356;
    margin: 0 0 100px;
    padding: 58px 0 112px;
}

.p-contactFaq .c-pageTitle02 span {
    color: #fff;
}

.p-contactFaq__subTitle {
    font-size: 2.4rem;
    margin: 0 0 38px;
    text-align: center;
    color: #fff;
}

.p-contactFaq__lists {
    max-width: 1000px;
    margin: 0 auto;
}

.p-contactFaq__listsTitle {
    font-size: 1.8rem;
}

.p-qaList {
    background-color: #fff;
}

.p-qaList:not(:last-child) {
    margin: 0 0 30px;
}

.p-qaLists__title {
    padding: 20px 27px 20px 50px;
    background-color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    transition: all .5s ease;
    line-height: 1.444;
}

.p-qaLists__title span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #29ABE3;
    border-radius: 50%;
    font-size: 2.5rem;
    letter-spacing: 0.2em;
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    width: 60px;
    height: 60px;
    color: #fff;
    margin: 0 20px 0 0;
}

.p-qaLists__box {
    padding: 26px 0 33px;
    width: 90%;
    border-top: 1px dashed #2E2E2E;
    display: none;
    position: relative;
    margin: 0 auto;
}

.p-qaLists__box p {
    line-height: 1.667;
    letter-spacing: 0.08em;
}

.p-qaLists__title::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 8.5px 0 8.5px;
    border-color: #000000 transparent transparent transparent;
    right: 27px;
    top: 50%;
    transform: translateY(-50%);
    transform: rotate(0deg) translateY(-50%);
}

.p-qaLists__title.close::before {
    transform: rotate(0deg) translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8.5px 15px 8.5px;
    border-color: transparent transparent #B3B3B3 transparent;
}

.p-qaLists__text {
    display: inline-block;
    width: 85%;
}

.p-contactForm {
    background-color: #EFEFEF;
    margin: 0 0 220px;
    padding: 85px 0 137px;
}

.p-contactForm h2 {
    font-size: 3.6rem;
    letter-spacing: 0.02em;
    text-align: center;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    margin: 0 0 83px;
}

.p-contactPurchase {
    margin: 0 0 170px;
}

.p-contactPurchase__bg {
    width: 100%;
    height: 450px;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 80px;
    background-image: url(images/contact_purchase_bg.jpg);
}

.p-contactPurchase__bg h2 {
    font-size: 3.6rem;
    letter-spacing: 0.02em;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 600;
    font-style: normal;
    color: #fff;
}

.p-contactPurchase .c-button {
    width: 500px;
    height: 70px;
    margin: 0 auto 20px;
}

.p-contactPurchase h3 {
    font-size: 3.6rem;
    letter-spacing: 0.02em;
    line-height: 1.444;
    text-align: center;
    margin: 0 0 20px;
}

.p-contactPurchase .c-text {
    text-align: center;
    margin: 0 0 80px;
}

.table_contact {
    width: 100%;
}

.table_contact_wrap {
    background-color: #fff;
    padding: 102px 100px 118px;
    display: block;
    width: 100%;
    margin: auto;
}

.p-contactPurchase .table_contact_wrap {
    background-color: #EFEFEF;
}

.table_contact th {
    color: #333333;
    width: 33.2%;
    padding: 20px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 400;
}

.table_contact th .small {
    font-size: 1.2rem;
}

.table_contact th label {
    display: flex;
    align-items: baseline;
}

.contact_address_wrap div:first-child {
    margin: 0 0 20px;
}

.table_contact tbody {
    display: block;
}

.table_contact td {
    padding: 20px;
    width: 75.5%;
    vertical-align: middle;
}

.table_contact td input.text {
    width: 100%;
    border: none;
    height: 40px;
    padding: 0 0 0 10px;
    background-color: #F8F8F8;
    font-size: 1.6rem;
}

.table_contact td input.text.zip {
    width: 54%;
}

.table_contact td span {
    margin: 0 20px 0 0;
}

.table_contact td textarea {
    width: 100%;
    height: 241px;
    background-color: #F8F8F8;
    border: none;
    padding: 20px 0 0 20px;
    font-size: 1.6rem;
}

.table_contact tr {
    display: flex;
    border-bottom: 1px solid #DDDDDD;
    width: 100%;
}

.table_contact tr:first-child th,
.table_contact tr:first-child td {
    padding-top: 0;
}

.required {
    display: inline-block;
    background-color: #9B8356;
    color: #fff;
    margin-left: 20px;
    padding: 5px 6px;
    font-weight: normal;
    letter-spacing: 0.06em;
    font-size: 1.4rem;
}

.optional {
    display: inline-block;
    background-color: #A5A5A5;
    color: #fff;
    margin-left: 20px;
    padding: 5px 6px;
    font-weight: normal;
    letter-spacing: 0.06em;
    font-size: 1.4rem;
}

.contact_button {
    width: 500px;
    height: 70px;
    margin: 62px auto 0;
    position: relative;
}

.contact_button input {
    background: none;
    border: none !important;
    background-color: #9B8356 !important;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #fff;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
}

.table_radio_wrap {
    display: flex;
}

.mwform-radio-field:last-child {
    margin: 0;
}

.agree_check {
    margin-bottom: 60px;
    color: #2B3A3F;
}

.agree_check a {
    color: #5BA560;
}

.mwform-checkbox-field {
    margin: 0 40px 0 0;
}

.agree_check .mwform-checkbox-field {
    margin: 0;
}

.mw_wp_form_confirm {
    margin: 0 0 120px;
}

.mw_wp_form_confirm .required,
.mw_wp_form_confirm .optional,
.mw_wp_form_confirm .agree_check {
    display: none;
}

.selectbox {
    height: 40px;
    background-color: #EDEDED;
    border: 1px solid #DDDDDD;
    padding: 0 20px;
}

input {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ ゴシック', sans-serif;
}

input::placeholder {
    color: #A0A0A0;
}

input[type="text"] {
    border: none;
}

input[type="text"]:focus {
    border: 1px solid #004DA0;
    outline: 0;
}

input::placeholder {
    color: #CECDCD;
}

.table_radio_wrap {
    display: flex;
    flex-direction: column;
}

.table_radio_wrap span:not(:last-child) {
    margin: 0 0 15px;
}

.p-contact__tel {
    background-color: #404040;
    width: 403px;
    height: 225px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #E6ECF8;
    position: relative;
}

.p-contact__tel:before {
    content: "";
    background-image: url(images/contact_tel_triangle.svg);
    background-repeat: no-repeat;
    background-position: left;
    position: absolute;
    width: 68px;
    height: 100%;
    right: -68px;
}

.p-contact__tel h2 {
    font-size: 2.4rem;
    letter-spacing: 0.03em;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.486;
    color: #000000;
    margin: 0 0 30px;
}

.p-contact__telTitle {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin: 0 97px 0 0;
}

.p-contact__telTitle p {
    font-size: 2.5rem;
    letter-spacing: 0.06em;
    font-weight: 800;
    font-weight: 800;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #2AAAA4;
}

.p-contact__telNumber {
    font-size: 4rem;
    letter-spacing: 0.06em;
    font-weight: 800;
    font-family: 'Manrope', sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-contact__telNumber span {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
}

.p-contact__telNumber a {
    font-size: 4rem;
    letter-spacing: 0.06em;
    color: #006FB9;
    font-weight: 800;
    font-family: 'Manrope', sans-serif;
    margin: 0 0 18px;
}

.p-contact__telNumber a:before {
    content: "";
    display: inline-block;
    background-image: url(images/contact_tel_icon.svg);
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    margin-right: 9px;
}

.table_contact_privacy {
    color: #006FB9;
    display: block;
    text-align: center;
    margin: 45px auto 55px;
    padding: 0 0 8px;
    font-weight: bold;
}

.table_contact_privacy span {
    border-bottom: 1px solid #006FB9;
    padding: 0 0 8px;
}

.table_contact td select {
    width: 230px;
    border: none;
    height: 40px;
    padding: 0 0 0 10px;
    background-color: #fff;
    font-size: 1.6rem;
    border: 1px solid rgba(112, 112, 112, 0.3);
    border-radius: 3px;
}

#schedule::placeholder,
#schedule2::placeholder {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500;
    font-style: normal;
}

.table_calendar {
    margin: 0 0 10px;
}

.table_time_wrap span {
    display: block;
    margin: 0 0 8px !important;
}

.table_time:first-child {
    margin: 0 0 30px;
}

.table_contact_uploads_box {
    position: relative;
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 60px 20px;
    text-align: center;
    background-color: #fff;
    transition: background-color 0.3s ease;
}

.table_contact_uploads_box:hover {
    background-color: #f9f9f9;
    border-color: #999;
}

.upload-icon::before {
    content: '';
    background-image: url(images/uploads_icon.svg);
    width: 71px;
    height: 63px;
    display: block;
    margin: 0 auto 26px;
}

.upload-text {
    font-size: 1.8rem;
    color: #999999;
}

.table_contact_uploads_box .input-file {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.hidden-inputs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    z-index: 10;
}

.hidden-inputs input {
    cursor: pointer;
    height: 100%;
    width: 100%;
}

.hidden-inputs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.input-file.main-input {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer;
}

#file_list {
    margin-top: 10px;
    list-style: none;
    padding: 0;
    font-size: 13px;
    color: #555;
    text-align: left;
}

#file_list li {
    background: #f0f0f0;
    margin-bottom: 4px;
    padding: 5px 10px;
    border-radius: 4px;
}

.table_contact_box h3 {
    font-size: 2.4rem;
    margin: 0 0 53px;
}

.table_contact_box .table_radio_wrap {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
}

.table_contact_box .upload-limit {
    margin: 0 0 18px;
    line-height: 1.444;
}

.table_contact_box_uploads h3 {
    margin: 0 0 34px;
}

.table_radio_wrap_brand .mwform-checkbox-field:nth-of-type(5),
.table_radio_wrap_cat .mwform-checkbox-field:nth-of-type(5) {
    width: 14.5%;
}

.table_radio_wrap_brand .mwform-checkbox-field:nth-of-type(5) span,
.table_radio_wrap_cat .mwform-checkbox-field:nth-of-type(5) span {
    margin: 0;
}

.table_radio_wrap_cat .mwform-checkbox-field:nth-of-type(4) {
    width: 41.7%;
}

.table_contact_box .table_radio_wrap input.text {
    width: 85.5%;
}

.table_contact_box:not(:last-child) {
    margin: 0 0 88px;
}

.table_contact_box .attention {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.table_contact_box .attention span {
    display: flex;
    flex-direction: column;
    font-size: 1.4rem;
    margin: 11px 0 0;
}

.p-contactMeans {
    margin: 0 0 124px;
}

.p-contactMeans .c-text {
    text-align: center;
    margin: 0 0 48px;
}

.p-contactMeans ul {
    display: flex;
    justify-content: center;
    gap: 35px;
}

.p-contactMeans ul li a {
    display: block;
    text-align: center;
}

.p-contactMeans ul li a span {
    font-size: 1.8rem;
    display: block;
    margin: 10px 0 0;
    letter-spacing: 0.04em;
}

.p-contactMeans ul li a:hover .p-accessContact__icon {
    transform: translateY(-5px);
    opacity: 0.7;
}

.p-contactMeans ul li a:hover span {
    opacity: 0.7;
}

.p-accessContact__icon {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.p-contactMeans ul li a span {
    transition: opacity 0.3s ease;
}

.confirm-only-message {
    display: none;
}

.mw_wp_form_confirm .confirm-only-message {
    display: block !important;
}

.mw_wp_form_confirm .upload-limit,
.mw_wp_form_confirm .table_contact_uploads_box {
    display: none;
}

@media screen and (max-width: 1300px) {

    .p-contactIntro,
    .p-contactForm {
        margin-bottom: 120px;
    }

    .table_contact_wrap {
        padding: 60px 50px;
    }

    .p-contact__tel {
        width: 350px;
    }

    .p-contact__tel:before {
        right: -50px;
        width: 50px;
        background-size: contain;
    }
}

@media screen and (max-width: 820px) {
    .p-contactIntro {
        margin-bottom: 80px;
    }

    .p-contactFaq {
        padding: 40px 0 60px;
    }

    .p-qaLists__title {
        padding-left: 15px;
        font-size: 1.6rem;
    }

    .p-qaLists__title span:first-child {
        width: 45px;
        height: 45px;
        font-size: 1.8rem;
        margin-right: 15px;
    }

    .table_contact tr {
        flex-direction: column;
        border-bottom: none;
        margin-bottom: 10px;
    }

    .table_contact th,
    .table_contact td {
        font-size: 1.4rem;
        width: 100% !important;
        padding: 10px 0 !important;
    }

    .table_contact th {
        border-bottom: 1px solid #9B8356;
    }

    .table_contact_wrap {
        padding: 40px 20px;
    }

    .table_contact_box h3 {
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .table_contact_box:not(:last-child) {
        margin-bottom: 50px;
    }

    .p-contact__tel {
        width: 100%;
        height: auto;
        padding: 40px 20px;
    }

    .p-contact__tel:before {
        display: none;
    }

    .p-contact__telNumber a {
        font-size: 3rem;
    }

    .contact_button,
    .p-contactPurchase .c-button {
        font-size: 1.4rem;
        width: 100%;
        height: 55px;
        max-width: 400px;
    }

    .p-contactPurchase .c-text {
        margin: 0 0 40px;
    }

    .table_contact_box .table_radio_wrap input.text {
        width: 100%;
    }

    .p-contactPurchase {
        margin: 0 0 100px;
    }

    .p-contactForm h2 {
        margin: 0 0 40px;
    }

    .p-contactForm {
        padding: 50px 0 70px;
    }

    .p-contactIntro,
    .p-contactForm {
        margin-bottom: 70px;
    }

    .mw_wp_form_confirm {
        margin: 0 0 60px;
    }

    .contact_button {
        margin: 20px auto 0;
    }

    .mw_wp_form_confirm .table_contact_wrap {
        padding: 0;
    }
}

@media screen and (max-width: 590px) {
    .p-contactIntro {
        margin-bottom: 60px;
    }

    .p-contactFaq__subTitle {
        font-size: 1.6rem;
        line-height: 2;
    }

    .p-qaLists__title {
        font-size: 1.5rem;
    }

    .p-qaLists__text {
        width: 80%;
    }

    .p-contactForm h2,
    .p-contactPurchase__bg h2,
    .p-contactPurchase h3 {
        font-size: 1.8rem;
    }

    .p-contactPurchase__bg {
        height: 250px;
        margin-bottom: 40px;
    }

    .table_contact td input.text.zip {
        width: 100%;
    }

    .table_contact td select {
        width: 100%;
    }

    .table_contact_box .table_radio_wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .mwform-checkbox-field {
        margin: 0 0 10px 0;
        width: 100% !important;
    }

    .table_contact_uploads_box {
        padding: 40px 10px;
    }

    .upload-text {
        font-size: 1.4rem;
    }

    .p-contactPurchase {
        margin: 0 0 70px;
    }

    .p-qaLists__title::before {
        border-width: 12px 7.5px 0 7.5px;
        right: 6px;
    }

    .p-qaLists__title.close::before {
        border-width: 0 7.5px 12px 7.5px;
        right: 6px;
    }

    .p-contactFaq {
        margin: 0 0 50px;
    }

    .p-contactMeans {
        margin: 0px 0px 60px;
    }

    .p-contactMeans ul {
        flex-wrap: wrap;
        align-items: center;
        gap: 30px;
    }

    .p-contactMeans ul li a span {
        font-size: 1.5rem;
    }

    .p-contactMeans ul li {
        width: 40%;
    }
    
    .mw_wp_form_confirm .confirm-only-message {
        font-size: 1.3rem;
    }
}

/*----------------------------------------
	privacy policy
----------------------------------------*/

.privacy_title {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 0.5em;
    background-color: rgba(196, 221, 180, 0.09);
    border-left: 4px solid #006FB9;
    margin: 0 0 15px;
}

.privacy_title02 {
    font-size: 2.2rem;
    line-height: 1.4;
    padding: 0.5em;
    color: #fff;
    background-color: #006FB9;
    margin: 0 auto 30px;
    width: 500px;
    text-align: center;
}

.privacy_policy .text {
    margin: 0 0 30px;
}

.privacy_policy_list {
    font-weight: bold;
    color: #93C572;
    margin: 0 0 20px;
    line-height: 1.3;
}

.privacy_policy_lists li {
    line-height: 1.75;
}

.privacy_policy_list > ul {
    margin: 10px 0 0;
    color: #000;
    line-height: 1.7;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    .privacy_title {
        font-size: 1.6rem;
    }

    .privacy_title02 {
        font-size: 1.8rem;
    }

    .privacy_policy_list {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 590px) {
    .privacy_title02 {
        width: 100%;
        margin: 0 auto 20px;
    }
}

/*----------------------------------------
	404 not found
----------------------------------------*/

.p-catch404 {
    background-image: url(images/journal_catch.jpg);
}

.error404 .c-button {
    margin: auto;
}

/*----------------------------------------
    shop
----------------------------------------*/

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    /* スマホでも見やすい幅 */
    gap: 50px 30px;
    /* 上下の余白を広めに取ると高級感が出ます */
    margin: 40px 0;
}

/* 個別商品カード */
.product-item {
    text-decoration: none;
    color: #333;
    transition: opacity 0.3s ease;
}

.product-item:hover {
    opacity: 0.7;
}

/* 画像エリア */
.product-image {
    aspect-ratio: 1 / 1;
    /* 正方形で統一。ヴィンテージ品は形がバラバラなので重要 */
    background: #fdfdfd;
    /* わずかにグレーの白にすると上品 */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 15px;
    border: 1px solid #eee;
    /* 薄い枠線を入れるとギャラリー風に */
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* 画像を切り取らずに収める */
    padding: 10px;
    /* 余白を少し作るとゆとりが出ます */
}

/* テキスト情報 */
.product-info {
    text-align: center;
}

.product-name {
    display: block;
    font-size: 16px;
    font-family: serif;
    /* 明朝体で高級感を演出 */
    margin-bottom: 5px;
    line-height: 1.4;
}

.product-price {
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #888;
}
