@charset "UTF-8";

/* =======================================
　フォント
======================================= */

/*------- 共通フォント -------*/
body,
p,
table,
td {
    margin: 0;
    padding: 0;
    /* color: #000 !important; */
    font-size: 16px !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    line-height: 1;
}

@media screen and (max-width:599px) {
    body,
    p,
    table,
    td {
        font-size: 14px !important;
    }
}

p>a {
    cursor: pointer;
    color: #D9A746 !important;
    text-decoration: underline;
}

p>a:hover {
    color: #6E6450 !important;
    text-decoration: underline;
}

.red {
    color: #C9604D;
}

.blue {
    color: #429493;
}


/* =======================================
　見出し
======================================= */

/* 見出し */

header h1 {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 2px;
    color: #6E6450 !important;
}

@media screen and (max-width:1024px) {
    header h1 {
        font-size: 9px !important;
        text-align: center;
    }
}

@media screen and (max-width:599px) {
    header h1 {
        text-align: left;
    }
}

#content h1 {
    margin: 0 0 70px;
    text-align: center;
    letter-spacing: 4px;
    font-size: 26px;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #333 !important;
    line-height: 1.5;
    font-weight: 500;
    position: relative;
    text-indent: -4px;
    z-index: 10;
}

#content h1::before {
    position: absolute;
    content: '';
    bottom: -24px;
    left: 50%;
    width: 50px;
    height: 5px;
    transform: translate(-50%);
    background-color: #D9A746;
}

#content h2 {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 28px !important;
    font-weight: 500;
    line-height: 1.3 !important;
    color: #D9A746 !important;
    letter-spacing: 0.1em;
}

#content h3 {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
    color: #D9A746;
    margin-bottom: 15px;
}

@media screen and (max-width:599px) {
    #content h1 {
        font-size: 22px;
    }

    #content h2 {
        font-size: 22px !important;
    }

    #content h3 {
        font-size: 14px;
    }
}


/* =======================================
　本文
======================================= */

main p {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400;
    line-height: 2;
}

main p.wide {
    line-height: 2.4;
}


/* =======================================
　ボタン
======================================= */

/*------- ボタン共通 -------*/
.j-calltoaction-link {
    text-align: inherit !important;
}
  
.button {
    display: block !important;
}


/*------- ボタン1 -------*/
a.j-calltoaction-link.j-calltoaction-link-style-1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 32px;
    padding: 0;
    border: 1px solid #D9A746;
    border-radius: 20px;
    background-color: #D9A746;
    color: #FFF !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500 !important;
    letter-spacing: 0.07em;
    position: relative;
    transition: .2s;
}

a.j-calltoaction-link.j-calltoaction-link-style-1:hover {
    background-color: transparent;
    color: #D9A746 !important;
    text-decoration: none !important;
}

.material-symbols-rounded {
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 48
}

a.j-calltoaction-link.j-calltoaction-link-style-1::after {
    font-family: "Material Symbols Rounded";
    content: '\e5cc';
    font-size: 24px;
    padding-top: 2px;
    padding-left: 6px;
}

a.j-calltoaction-link.j-calltoaction-link-style-1.newopen::after {
    font-family: "Material Symbols Rounded";
    content: '\e89e';
    font-size: 18px;
    padding-top: 2px;
    padding-left: 10px;
}

/* グローバルナビ用に変更 */
#global-header-button a.j-calltoaction-link.j-calltoaction-link-style-1::after {
    position: absolute;
    right: 0;
    padding-left: 0;
    padding-right: 12px;
}

@media screen and (max-width:1024px) {
    /* グローバルナビ用に変更 */
    #global-header-button a.j-calltoaction-link.j-calltoaction-link-style-1::after {
        padding-right: 24px;
    }

    a.j-calltoaction-link.j-calltoaction-link-style-1 {
        height: 40px;
        font-size: 14px;
    }
}


/*------- ボタン2 -------*/
a.j-calltoaction-link.j-calltoaction-link-style-2 {
    display: block;
    margin: 0 auto;
    padding: 10px 30px;
    width: 100%;
    border: 1px solid #FFF;
    border-radius: 50em;
    background: inherit;
    color: #FFF !important;
    text-align: center !important;
    text-decoration: none !important;
    font-weight: 500;
    font-size: 16px;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    transition: .4s;
}

a.j-calltoaction-link.j-calltoaction-link-style-2:hover {
    /* border: 1px solid #FFF; */
    background: #FFF;
    color: #6E6450 !important;
}

/* フッターボタン用*/
#address-box a.j-calltoaction-link.j-calltoaction-link-style-2 {
    max-width: 230px;
    margin: 0 0 20px 0;
}

@media screen and (max-width:1024px) {
    #address-box a.j-calltoaction-link.j-calltoaction-link-style-2 {
        max-width: 230px;
        margin: 0 auto 20px;
    }
}


/*------- ボタン3 -------*/
a.j-calltoaction-link.j-calltoaction-link-style-3 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #D9A746 !important;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.1em;
    background: inherit;
    border: 1px solid #D9A746;
    padding: 14px 50px;
    border-radius: 50em;
    box-sizing: border-box;
    transition: .2s;
    line-height: 1;
}

a.j-calltoaction-link.j-calltoaction-link-style-3::after {
    font-family: "Material Symbols Rounded";
    content: '\e5cc';
    font-size: 24px;
    padding-top: 2px;
    padding-left: 10px;
}

a:hover.j-calltoaction-link.j-calltoaction-link-style-3 {
    color: #FFF !important;
    background: #D9A746;
}

@media screen and (max-width:599px) {
    a.j-calltoaction-link.j-calltoaction-link-style-3 {
        font-size: 15px;
        padding: 12px 40px;
    }
}


/* =======================================
　全体レイアウト
======================================= */

/*------ コンテンツエリア全体 ------*/

/* JIMDOデフォルトの値をリセット */
.n {
    padding: 0 !important;
}

#container {
    background: #F7F3EE;
}


/* =======================================
　ヘッダーエリアレイアウト
======================================= */

/* ヘッダー全体 */
header {
    background: #F7F3EE;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: flex !important;
    flex-wrap: wrap;
}

/* メインスライドエリア */
#main-slide {
    display: none;
}

.cc-indexpage #main-slide {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.cc-indexpage #main-slide .copy {
    position: absolute;
    top: 36%;
    left: 7%;
    width: 46%;
    height: auto;
    z-index: 100;
    filter: drop-shadow(1px 1px 5px #6E6450);
}

/* ロゴとナビエリア */
header #global-header {
    width: 100%;
    height: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4.7%;
    box-sizing: border-box;
}

header #global-header-navbox {
    width: 72%;
    display: flex;
    justify-content: right;
    align-items: center;
}

/* ロゴエリア */
header #global-header-logo {
    width: 28%;
    max-width: 310px;
    margin-right: auto;
}
  
header #global-header-logo img {
    width: 100%;
    padding-top: 14px;
}

/* ボタンエリア */
#global-header-button {
    width: 40%;
    max-width: 220px;
    padding-left: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ナビ用ロゴ非表示 */
#logo-nav {
    display: none;
}

/* SNSエリア非表示 */
#sns-nav {
    display: none;
}


@media screen and (max-width:1024px) {
    /* ヘッダー全体 */
    header {
        flex-direction: column-reverse;
        justify-content: flex-end;
    }

    /* TOPページのみスライドに合わせたデザインに */
    .cc-indexpage header {
        padding-bottom: 50px;
    }

    /* メインビジュアルエリア */
    .cc-indexpage #main-slide .copy {
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 60%;
    }

    /* ロゴとナビエリア */
    header #global-header{
        height: 100px;
        padding: 0 30px;
    }

    header #global-header-navbox {
        width: 100%;
        height: 100%;
        display: block;
    }

    /* ロゴエリア */
    header #global-header-logo {
        width: 100%;
        max-width: 220px;
        margin-left: auto;
    }

    header #global-header-logo img {
        padding-top: 10px;
    }

    /* ボタンエリア */
    #global-header-button{
        width: 100%;
        max-width: none;
        padding: 32px 40px;
        gap: 14px;
    }

    /* ナビ用ロゴ表示 */
    #logo-nav {
        width: 100%;
        height: 90px;
        position: relative;
        display: block;
    }

    #logo-nav a img {
        position: absolute;
        width: 210px;
        height: auto;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    /* SNSエリア表示 */
    #sns-nav {
        display: flex;
        background: #e3dfda;
        height: 70px;
    }

    .sns-link {
        display: flex;
        justify-content: center;
        width: 50%;
    }

    .sns-link:first-child {
        border-right: 2px solid #F7F3EE;
    }

    .sns-link a {
        width: 100%;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        color: #6E6450 !important;
        text-decoration: none !important;
        letter-spacing: 0.1em;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .sns-link a.googlemap img {
        width: 25px;
        height: 30px;
        display: inline-block;
        margin-right: 12px;
    }

    .sns-link a.instagram img {
        width: 30px;
        height: 30px;
        display: inline-block;
        margin-right: 12px;
    }
}


@media screen and (max-width:599px) {
    /* ヘッダー全体 */
    .cc-indexpage header {
        padding-bottom: 0;
    }

    /* メインビジュアルエリア */
    .cc-indexpage #main-slide .copy {
        height: 50%;
        top: auto;
        bottom: 45px;
        left: auto;
        right: 36px;
        margin: auto;
        width: auto;
    }

    /* ロゴとナビエリア */
    header #global-header-navbox {
        height: auto;
    }

    /* ロゴエリア */
    header #global-header-logo {
        margin-left: 0;
    }

    /* ナビ用ロゴ表示 */
    #logo-nav img {
        width: 50%;
    }
}


/* =======================================
　コンテンツエリアレイアウト
======================================= */

/*------ メインエリアレイアウト ------*/

#content {
   overflow: hidden;
}

main {
    background: #FFF;
    box-sizing: border-box;
    border-left: 20px solid #F7F3EE;
    border-right: 20px solid #F7F3EE;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 100px;
}

@media screen and (max-width:1024px) {
    .cc-indexpage main {
        border-left: 0;
        border-right: 0;
        padding: 0 50px;
    }

    main {
        border-left: 0;
        border-right: 0;
        padding: 0 80px;
    }
}

@media screen and (max-width:599px) {
    .cc-indexpage main, main {
        padding: 0 24px;
    }
}

/*------ サイドエリアレイアウト ------*/

aside {
    width: 100%;
    background: #F7F3EE;
    margin: 0 auto;
    padding: 70px 60px 0;
    position: relative;
    box-sizing: border-box;
}

aside::before {
    content: '';
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/bg-contact-box.png?t=1663164656);
    background-repeat: repeat-x;
    background-position: center;
    width: 100%;
    height: 30px;
    position: absolute;
    top: -30px;
    left: 0;
}

aside p {
    max-width: 600px;
    margin: 0 auto 60px;
    font-size: 16px;
    line-height: 2;
}

#contact_button_box {
    width: 100%;
    max-width: 950px;
    margin: 0 auto 100px;
    display: flex;
    justify-content: space-between;
}

#contact_button_box .contact_button {
    width: 100%;
    max-width: 450px;
    margin: 0 20px;
}

#contact_button_box .contact_button a {
    color: #D9A746;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.1em;
    text-align: center;
    text-decoration: none;
    width: 100%;
    height: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: inherit;
    border: 1px solid #D9A746;
    padding: 32px 50px;
    border-radius: 50em;
    box-sizing: border-box;
    transition: .2s;
}

#contact_button_box .contact_button.mail a::before {
    font-family: "Material Symbols Rounded";
    content: '\e158';
    font-size: 28px;
    padding-top: 2px; /* 目視で真ん中に調整 */
    padding-right: 18px;
    
}

#contact_button_box .contact_button.tel a::before {
    font-family: "Material Symbols Rounded";
    content: '\e0b0';
    font-size: 28px;
    padding-top: 2px; /* 目視で真ん中に調整 */
    padding-right: 18px;
}

#contact_button_box .contact_button a:hover {
    color: #FFF;
    background: #D9A746;
}

/* オンラインショップ用バナー */
a#sidebar-onlineshop:link, a#sidebar-onlineshop:visited {
    text-decoration: none !important;
}

#sidebar-onlineshop>div {
    width: min(100vw, 1440px);
    margin-left: calc(50% - min(50vw, 720px));
    aspect-ratio: 4 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    position: relative;
    background:
        url("https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/online-sidebar-pc.jpg?t=1774838481");
    background-size: cover;
    background-position: center;
    overflow-x: hidden;
}

#sidebar-onlineshop>div::before {  /* overlay */
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(110,100,80,.7);
    transition: opacity .3s ease;
    z-index: 0;
}

@media (hover: hover) {
    #sidebar-onlineshop>div:hover::before {
        opacity: .6;
    }
}

#sidebar-onlineshop>div::after { /* 枠線 */
    position: absolute;
    content: '';
    border: 4px solid #FFF;
    inset: 30px;
    border-radius: 16px;
    z-index: 1;
}

#sidebar-onlineshop>div img.onlineshop-open {
    z-index: 1;
    position: absolute;
    background-color: #FFF;
    width: clamp(160px, .16vw, 200px);
    height: auto;
    top: 30px;
    border-radius: 0 0 16px 16px;
    aspect-ratio: 1 / 0.33;
}

#sidebar-onlineshop>div p {
    color: #FFF;
    font-family: 'Zen Maru Gothic', sans-serif !important;
    line-height: 1.2;
    margin: 0;
    z-index: 1;
    text-align: center;
}

#sidebar-onlineshop>div p.banner-caption {
    font-size: clamp(22px, 2.8vw, 32px) !important;
    letter-spacing: .2em;
    margin-top: 40px;
}

#sidebar-onlineshop>div p.banner-title {
    font-size: clamp(36px, 3.6vw, 48px) !important;
    letter-spacing: .1em;
}

#sidebar-onlineshop>div p.banner-title::after { /* アイコン */
    font-family: "Material Symbols Rounded";
    content: '\f591';
    color: #FFF;
    position: absolute;
    font-size: 56px;
    top: 50%;
    transform: translateY(-50%);
    right: 48px;
}

#sidebar-onlineshop>div p.banner-caption>span { /* 下線 */
    position: relative;
    display: inline-block;
    z-index: 1;
}

#sidebar-onlineshop>div p.banner-caption>span::after { /* 下線 */
    content: "";
    position: absolute;
    left: -6px;
    right: 2px;
    bottom: -0.1em;
    height: 10px;
    background: #D9A746;
    border-radius: 10px;
    z-index: -1;
}

@media screen and (max-width:1024px) {
    #contact_button_box {
        display: block;
    }

    #contact_button_box .contact_button {
        margin: 0 auto;
    }

    #contact_button_box .contact_button:first-child {
        margin-bottom: 50px;
    }

    #sidebar-onlineshop>div {
        aspect-ratio: 3 / 1;
        gap: 12px;
        background:
            url("https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/online-sidebar-tb.jpg?t=1774838494");
        background-size: cover;
        background-position: center;
    }

    #sidebar-onlineshop>div::after { /* 枠線 */
        inset: 24px;
    }

    #sidebar-onlineshop>div img.onlineshop-open {
        width: 140px;
        top: 24px;
    }

    #sidebar-onlineshop>div p.banner-title::after { /* アイコン */
        font-size: 48px;
    }

    #sidebar-onlineshop>div:hover::before {
        opacity: none;
    }
}

@media screen and (max-width:599px) {
    aside {
        padding: 70px 30px 0;
    }

    #contact_button_box .contact_button a {
        font-size: 18px;
        padding: 24px 30px;
    }

    #contact_button_box .contact_button.mail a::before, #contact_button_box .contact_button.tel a::before {
        font-size: 22px;
        padding-right: 12px;
    }

    #sidebar-onlineshop>div {
        aspect-ratio: 1 / 0.85;
        background:
            url("https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/online-sidebar-sp.jpg?t=1774838488");
        background-size: cover;
        background-position: center;
    }

    #sidebar-onlineshop>div::after { /* 枠線 */
        border: 2px solid #FFF;
        inset: 16px;
    }

    #sidebar-onlineshop>div img.onlineshop-open {
        top: 16px;
    }

    #sidebar-onlineshop>div p.banner-caption {
        margin-top: 0;
    }

    #sidebar-onlineshop>div p.banner-title>span { /* 改行のため-Jimdoのシステムでbrだと空白ができる */
        display: block;
    }

    #sidebar-onlineshop>div p.banner-title::after { /* アイコン */
        font-size: 36px;
        top: calc(100% - 72px);
        transform: translateX(50%);
        right: 50%;
    }
}


/* =======================================
　フッターエリアレイアウト
======================================= */

/* フッターエリアレイアウト共通 */
footer {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    background-color: #6E6450;
    display: flex !important;
    padding: 100px 90px;
    box-sizing: border-box;
    width: 100%;
}

/* フッター_アドレスエリア */
#address-box {
    width: 30%;
    margin-top: 8px; /* ナビのボックスと高さを合わせる */
    margin-right: 6%;
}

#address-box a.logo {
    width: 100%;
    max-width: 240px;
    height: auto;
    margin-bottom: 35px;
    display: inline-block;
    transition: 0.2s;
}

#address-box p.tel {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700;
    color: #FFF;
    letter-spacing: 0.07em;
    margin-bottom: 10px;
}

#address-box p.tel a {
    color: #FFF !important;
    text-decoration: none;
}

#address-box p.address {
    font-size: 12px !important;
    color: #FFF;
    margin-bottom: 20px !important;
}

#address-box a.instagram {
    width: 32px;
    max-width: none;
    height: auto;
    display: inline-block;
    transition: 0.2s;
    margin-bottom: 16px;
}

#address-box a.logo:hover, #address-box a.instagram:hover {
    opacity: 0.7;
}

/* JIMDOの仕様に合わせてコピーライトを編集 */
#contentfooter .leftrow {
    font-size: 12px;
    color: #FFF;
}

/* フッター_ナビゲーションエリア */
footer nav#footer-nav {
    width: 64%;
}
  
footer nav#footer-nav ul.cc-nav-level-0 {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0;
}

footer nav#footer-nav ul {
    padding: 0;
    margin: 0;
    line-height: 2;
}

.footer_nav_3and4 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* TOP非表示 */
#footer-nav ul.cc-nav-level-0>li:first-child {
    display: none;
}

/* フッター_ナビゲーションエリア_テキストデザイン */
footer ul li {
    list-style: none;
}

#footer-nav ul li a {
    font-size: 12px;
    color: #FFF;
    text-decoration: none;
}

#footer-nav ul.cc-nav-level-0>li>a, .footer_nav_3and4>li>a {
    font-weight: 500;
    letter-spacing: 0.05em;
    cursor: default;
    pointer-events: none; /* 親メニューのリンクを無効化 */
}

#footer-nav ul.cc-nav-level-0>li>ul>li>a, .footer_nav_3and4>li>ul>li>a {
    font-weight: 400;
    position: relative;
    padding-left: 26px;
}

/* 子メニューに-マーク */
#footer-nav ul.cc-nav-level-0>li>ul>li>a::before, .footer_nav_3and4>li>ul>li>a::before {
    font-family: "Material Symbols Rounded";
    content: '\f88a';
    position: absolute;
    bottom: auto;
    font-size: 16px;
    left: 5px;
    transition: .1s;
    padding-top: 2px; /* 目視で真ん中に調整 */
}

#footer-nav ul.cc-nav-level-0>li>ul>li>a:hover::before, .footer_nav_3and4>li>ul>li>a:hover::before {
    left: 0;
}


@media screen and (max-width:1024px) {
    footer {
        padding: 100px 30px;
    }
    
    /* フッター_アドレスエリア */
    #address-box {
        width: 100%;
        text-align: center;
        margin-top: 0;
        margin-right: 0;
    }

    #address-box img.logo {
        margin: 0 auto 35px;
    }

    #address-box a.instagram:hover {
        opacity: unset;
    }

    /* JIMDOの仕様に合わせてコピーライトを編集 */
    #contentfooter .leftrow, #contentfooter .rightrow {
        float: none !important;
        text-align: inherit !important;
        width: 100% !important;
    }

    /* フッター_ナビゲーションエリア */
    footer nav#footer-nav {
        display: none;
    }
}




/* =======================================
コンテンツ - トップページ
======================================= */

/*------ NEWSエリア ------*/
.news-wrap table {
    padding: 30px 40px !important;
    width: 100%;
    background: #F7F3EE;
    border-collapse: separate;
    border-spacing: 20px;
}

.news-wrap table tr td:first-child {
    border-right: 2px solid #D9A746;
    width: 110px;
}

.news-wrap table tr td:last-child {
    padding-left: 10px;
}

.news-wrap table a {
    cursor: pointer;
    color: #333;
    text-decoration: underline;
}

.news-wrap table a:hover {
    color: #D9A746;
}

@media screen and (max-width:599px) {
    .news-wrap table {
        padding: 15px 0 30px !important;
        border-spacing: 20px;
    }

    .news-wrap table tr td:first-child {
        display: block;
        border-right: 0;
        width: 100%;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .news-wrap table tr td:last-child {
        display: block;
        width: 100%;
        padding-left: 0;
        padding-bottom: 25px;
        border-bottom: 1px solid #D9A746;
    }

    .news-wrap table td, .news-wrap table a {
        font-size: 14px !important;
    }
}

/*------ CONCEPTエリア ------*/

#concept-wrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    padding: 0 0 100px;
    position: relative;
    z-index: 1;
}

#concept-wrap::before {
    content: '';
    background: #F7F3EE;
    width: 70%;
    height: 130%;
    position: absolute;
    right: calc(50% - 50vw);;
    top: -200px;
    border-radius: 30px 0 0 30px;
    z-index: -1;
}

#concept-wrap img {
    margin-left: calc(50% - 50vw);
    width: 65%;
    display: block;
    height: auto;
    object-fit: cover;
    border-radius: 0 30px 30px 0;
}

#concept-wrap>div {
    width: 50%;
    padding-left: 70px;
    box-sizing: border-box;
}

#concept-wrap h3 {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 30px;
    line-height: 2em;
    letter-spacing: 0.1em;
    color: #D9A746;
    margin-bottom: 50px;
    text-align: left;
}

@media screen and (max-width:1024px) {
    #concept-wrap {
        display: block;
        padding: 0 0 20px;
    }

    #concept-wrap::before {
        width: 90%;
        height: 100%;
    }

    #concept-wrap img {
        width: 105%;
    }

    #concept-wrap>div {
        width: 100%;
        padding: 0 30px;
        box-sizing: border-box;
    }

    #concept-wrap h3 {
        font-size: 28px;
        margin-bottom: 40px;
        text-align: center;
    }

    #concept-wrap>div p {
        margin-bottom: 50px;
    }
}

@media screen and (max-width:599px) {
    #concept-wrap img {
        width: 110%;
    }

    #concept-wrap>div {
        padding: 0;
    }

    #concept-wrap h3 {
        font-size: 24px;
    }
}

/*------ WORKSエリア ------*/
#content h1#cc-m-header-10241597450::after {
    content: '';
    background: #F7F3EE;
    position: absolute;
    width: 240px;
    height: 240px;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    z-index: -10;
}

.works-wrap {
    display: flex;
    background: #F7F3EE;
    margin: 0 -100%;
    padding: 50px 100%;
    z-index: 1;
}

.works-wrap:nth-child(odd) {
    flex-direction: row-reverse;
}

.works-wrap:nth-child(even) {
    flex-direction: row;
}

.works-wrap img{
    width: 70%;
    display: block;
    height: auto;
    object-fit: cover;
    z-index: 10;
}

.works-wrap:nth-child(odd) img {
    margin-right: calc(50% - 50vw);
    border-radius: 30px 0 0 30px;
}

.works-wrap:nth-child(even) img {
    margin-left: calc(50% - 50vw);
    border-radius: 0 30px 30px 0;
}

.works-wrap .works {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    width: 50%;
    box-sizing: border-box;
}

.works-wrap:nth-child(odd) .works {
    padding-right: 70px;
}

.works-wrap:nth-child(even) .works {
    padding-left: 70px;
}

.works-wrap h2 {
    margin-bottom: 40px;
}

.works-wrap p {
    margin-bottom: 50px;
}

@media screen and (max-width:1024px) {
    .works-wrap {
        display: block;
        position: relative;
        z-index: 10;
    }

    .works-wrap img{
        width: 100%;
    }
    
    .works-wrap:nth-child(odd) img {
        margin-right: 0;
        border-radius: 30px;
    }
    
    .works-wrap:nth-child(even) img {
        margin-left: 0;
        border-radius: 30px;
    }

    .works-wrap .works {
        display: block;
        width: calc(100% - 40px);
        background: #FFF;
        margin: -30px auto 0;
        position: relative;
        z-index: 20;
    }
    
    .works-wrap:nth-child(odd) .works {
        padding: 40px;
    }
    
    .works-wrap:nth-child(even) .works {
        padding: 40px;
    }
    
    .works-wrap h2 {
        text-align: center;
        margin-bottom: 30px;
    }

    .works-wrap .j-calltoaction-align-1, form.cc-m-form .cc-m-form-submit {
        text-align: center;
    }
}

@media screen and (max-width:599px) {
    .works-wrap {
        padding: 35px 100%;
    }

    .works-wrap img{
        width: 100vw;
    }

    .works-wrap:nth-child(odd) img, .works-wrap:nth-child(even) img {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        border-radius: 0;
    }

    .works-wrap .works {
        width: 100%;
        border-radius: 10px;
    }

    .works-wrap:nth-child(odd) .works, .works-wrap:nth-child(even) .works {
        padding: 40px 20px;
    }

    .works-wrap p {
        margin-bottom: 40px;
    }
}


/* =======================================
全ページ共通
======================================= */

.width800 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.width800>img {
    width: 100%;
    max-width: 800px;
    margin-bottom: 15px;
}

/* メインビジュアル */
#main-visual {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

#main-visual img {
    width: 100%;
    max-width: 1400px;
    height: auto;
    object-fit: cover;
    margin: 0 auto;
}

/*------- 2カラムレイアウト -------*/
.align-items-center {
    align-items: center;
}

.furigana {
    font-size: 16px;
    padding-left: 20px;
}

@media screen and (max-width:1024px) {
    .column-reverse-1024 {
        flex-direction: column-reverse;
    }
}

/* 40%(432px) - 53%(578%) */
.twocolumn-40-bg {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background: #F7F3EE;
    margin: 0 -100%;
    padding: 50px 100%;
}

.twocolumn-40 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 50px 0;
}

.twocolumn-40-bg:nth-child(even) {
    flex-direction: row-reverse;
}

.column40 {
    width: 40%;
}

.column53 {
    width: 53%;
}

.column53 img {
    width: 100%;
    border-radius: 20px;
}

.column40 h2 {
    margin-bottom: 30px;
}

.column40 a.j-calltoaction-link-style-3 {
    margin-top: 40px;
}

@media screen and (max-width:1024px) {
    .column40 {
        width: 100%;
        margin-bottom: 40px;
    }

    .column53 {
        width: 100%;
    }

    .column40 h2 {
        text-align: center;
    }

    .twocolumn-40-bg.ehon {
        flex-direction: column-reverse;
    }

    .twocolumn-40-bg.ehon .column40 {
        margin-bottom: 0;
    }

    .twocolumn-40-bg.ehon .column53 {
        margin-bottom: 30px;
    }
}

@media screen and (max-width:599px) {
    /* クラスの紹介部分 */
    .twocolumn-40:first-child {
        padding: 0 0 50px;
    }

    .column40 {
        margin-bottom: 25px;
    }

    .column53 img {
        border-radius: 10px;
    }

    .column40 a.j-calltoaction-link-style-3 {
        margin-top: 20px;
    }
}

/* 46%(500px) - 46%(500px) */
/* 48%(520px) - 46%(500px) */
.twocolumn-46 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.twocolumn-48 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.column46 {
    width: 46%;
}

.column48 {
    width: 48%;
}

.column46 img {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 30px;
}

.column48 img {
    width: 100%;
    border-radius: 10px;
}

.column46 h2, .column48 h2 {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 20px;
}

@media screen and (max-width:1024px) {
    .twocolumn-48 {
        display: block;
    }

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

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

    .column46:first-child {
        margin-bottom: 60px;
    }

    #page-1689966550 .column46:first-child { /* 積木についてページ用 */
        margin-bottom: 20px;
    }

    .column48 img {
        margin-bottom: 30px;
    }
}

@media screen and (max-width:599px) {
    .column46 {
        width: 100%;
    }

    .column48 {
        width: 100%;
    }
}

/* ナンバー（#）画像 */
img.no {
    width: 55px;
    height: auto;
    margin-bottom: 20px;
}

@media screen and (max-width:1024px) {
    img.no {
        margin: 0 auto 30px;
    }
}

/* 文中下線 */
.underline {
    background:linear-gradient(transparent 70%, #FFFF00 0%);
}

/* ボーダー付き写真（童具白抜きetc.） */
.photo-border {
    border: 1px solid #E3DFDA;
    box-sizing: border-box;
    border-radius: 0 !important;
}

/* グーグルマップ */
.cc-map-wrapper {
    height:500px !important;
}

.cc-map-wrapper iframe {
    height:500px;
    border-radius: 10px;
}

/* 説明欄 */
#content dl {
    width: 100%;
    margin: 30px auto;
    display: flex;
    flex-wrap: wrap;
}

#content dl dt {
    width: 25%;
    font-weight: 700;
    line-height: 2.4;
    letter-spacing: 0.05em;
    color: #6E6450;
    padding: 20px 0;
    border-bottom: 1px solid #E3DFDA;
    display: inline-flex;
    align-items: center;
}

#content dl dt:first-of-type, #content dl dd:first-of-type {
    border-top: 1px solid #E3DFDA;
}

#content dl dd {
    width: 75%;
    margin: 0;
    line-height: 2.4;
    letter-spacing: 0.05em;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

#content dl dt a, #content dl dd a {
    color: #D9A746;
    text-decoration: underline;
}

#content dl dt a:hover, #content dl dd a:hover {
    color: #6E6450;
    text-decoration: underline;
}

@media screen and (max-width:599px) {
    #content dl {
        margin: 30px auto 20px;
    }

    #content dl dt {
        font-size: 14px;
        width: 100%;
        padding: 25px 0 8px;
        border-bottom: 1px solid #ccc;
    }

    #content dl dt:first-child {
        padding-top: 0;
    }

    #content dl dt::before {
        content: '◆';
        margin-right: 8px;
    }

    #content dl dd {
        font-size: 14px;
        width: 100%;
        padding: 8px 0;
        border-bottom: none;
    }

    #content dl dt:first-of-type, #content dl dd:first-of-type  {
        border-top: none;
    }
}

/*------- フォーム欄 -------*/
.form-wrap {
    background: #F7F3EE;
    border-radius: 10px;
    padding: 50px;
    box-sizing: border-box;
}

.form-wrap h2 {
    text-align: center;
    margin: 50px 0 25px;
}

#content .form-wrap h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 60px;
    color: #6E6450;
    background: #E3DFDA;
    width: 100%;
    height: 60px;
    max-width: 340px;
    margin: 0 auto;
    border-radius: 30px;
    margin-bottom: 35px;
}

p.form-caption {
    font-size: 14px !important;
    text-align: center;
}

.form-wrap .tel-number {
    font-size: 46px !important;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #6E6450;
    text-align: center;
    line-height: 1;
    margin-bottom: 25px;
}

.form-wrap .tel-number .tel {
    font-size: 26px;
    padding-right: 18px;
}

.form-wrap .hr { /* JIMDOの基本操作でのhr用 */
    width: 100%;
    border: 0;
    border-top: 1px solid #E3DFDA;
    margin: 50px 0;
}

.form-wrap hr {
    width: 100%;
    border: 0;
    border-top: 1px solid #E3DFDA;
    margin: 60px 0;
}

/* フォームパーツ */
.form-wrap input[type="text"], .form-wrap input[type="email"] {
    padding: 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.form-wrap textarea {
    padding: 10px !important;
}

.form-wrap label {
    letter-spacing: 0.05em;
    margin: 20px 0 15px;
}

/* セレクトボックス */
.form-wrap select {
    font-size: 16px;
    padding: 12px;
    border: 1px solid #CCC;
    letter-spacing: 0.05em;
    height: 46px;
    color: #000;
    background: #FFF;
}

/* プライバシーポリシーに関するテキスト */
.cc-m-form-view-input-wrapper>div>label {
    display: block;
    padding: 30px 40px;
    line-height: 2em;
    background: #FFF;
    border-radius: 10px;
}

.form-wrap label a {
    color: #D9A746;
}

.form-wrap label a:hover {
    color: #6E6450;
}

.form-wrap input[type="submit"] {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    width: 220px;
    height: 50px;
    border-radius: 25px;
    border: 1px solid #D9A746;
    background: inherit;
    color: #D9A746;
    display: block;
    margin: 50px auto 30px;
    letter-spacing: 0.05em;
    cursor: pointer;
}

.form-wrap p.cc-m-form-note {
    font-size: 14px !important;
}

.form-wrap p.cc-m-form-note strong {
    display: none;
}

/*　イベントページ - 区切りタイトル */
div.cc-m-form-subheading>label>div {
    font-size: 16px !important;
    font-weight: 400 !important;
    text-align: center;
    border-top: 1px solid #CCC;
    padding-top: 30px;
    margin-top: 50px !important;
}

@media screen and (max-width:599px) {
    .form-wrap {
        padding: 35px 20px;
    }

    #content .form-wrap h3 {
        font-size: 16px;
        line-height: 50px;
        height: 50px;
    }

    p.form-caption {
        text-align: left;
    }

    .form-wrap .tel-number {
        font-size: 28px !important;
    }
    
    .form-wrap .tel-number .tel {
        font-size: 18px;
        padding-right: 10px;
    }

    .cc-m-form-view-input-wrapper>div>label {
        padding: 20px;
    }
}

/*　送信のお礼 */

.cc-m-confirmationtext {
    background: #FFF;
    padding: 30px;
    border-radius: 8px;
    margin-top: 20px;
}

@media screen and (max-width:599px) {
    .cc-m-confirmationtext {
        padding: 20px;
    }
}


/*------- トピック欄（お店で触れる童具） -------*/

.topic-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.topic-column42 {
    width: 42%;
}

.topic-column42 p {
    margin-bottom: 40px;
}

.topic-column52 {
    width: 52%;
}

.topic-column52 img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

@media screen and (max-width:1024px) {
    .topic-wrap {
        display: block;
    }

    .topic-column42 {
        width: 100%;
        margin-bottom: 40px;
    }
    
    .topic-column52 {
        width: 100%;
    }
}


/* =======================================
トップへ戻るボタン
======================================= */

.back-top {
    position: fixed;
    bottom: 3%;
    right: 0;
    display: none;
    width: 80px;
    height: 60px;
    background-color: #FFF;
    border-radius: 30px 0 0 30px;
    z-index: 10;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .3);
}

.back-top::before {
    content: '';
    position: absolute;
    background-color: #6E6450;
    width: 50px;
    height: 50px;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    border-radius: 50%;
    transition: .2s;
}

.back-top:hover::before {
    background-color: #D9A746;
}

.back-top::after {
    font-family: "Material Symbols Rounded";
    content: '\e5d8';
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    font-size: 30px;
    color: #FFF;
    transition: .2s;
}

.back-top:hover::after {
    top: 40%;
}

@media screen and (max-width:1024px) {
    .back-top:hover::before {
        background-color: #6E6450;
    }
    .back-top:hover::after {
        top: 50%;
    }
}

@media screen and (max-width:599px) {
    .back-top {
        bottom: 5%; /*下からの位置*/
        width: 70px;
        height: 50px;
        border-radius: 25px 0 0 25px;
    }
    
    .back-top::before {
        width: 40px;
        height: 40px;
    }

    .back-top::after {
        left: 12px;
        font-size: 26px;
    }
}


/* =======================================
inview.js
======================================= */

.fadeIn_up {
    opacity: 0;
    transform: translate(0, 80px);
    transition: .5s;
}

.fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1;
}

.fadeIn_left {
    opacity: 0;
    transform: translate(-80px, 0);
    transition: .5s;
}

.fadeIn_left.is-show {
    transform: translate(0, 0);
    opacity: 1;
}

.fadeIn_right {
    opacity: 0;
    transform: translate(80px, 0);
    transition: .5s;
}

.fadeIn_right.is-show {
    transform: translate(0, 0);
    opacity: 1;
}

.delay_1{
    transition-delay: .5s;
}


/* =======================================
アトリエとは
======================================= */

.atelier-what {
    display: flex;
    align-items: center;
}

.atelier-what img {
    width: 100%;
    max-width: 390px;
    height: auto;
    padding-right: 80px;
}

img.curriculum {
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;
}

@media screen and (max-width:1024px) {
    .atelier-what {
        display: block;
    }

    .atelier-what img {
        width: 80%;
        padding-right: 0;
        padding-bottom: 40px;
        margin: 0 auto;
    }

}


/* =======================================
クラスとスケジュール
======================================= */

table.weekly {
    border-collapse: collapse;
    width: 100%;
    white-space: nowrap;
}

table.weekly th {
    width: 25%;
    padding: 15px;
    border: 1px solid #707070;
    background: #968C78;
    color: #FFF;
    letter-spacing: 0.05em;
}

table.weekly td {
    padding: 15px;
    border: 1px solid #707070;
    background: #F7F3EE;
    color: #6E6450;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
}

table.weekly td::first-line {
    font-weight: 700;
}

.gcalendar iframe {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: block;
}

@media screen and (max-width:599px) {
    .gcalendar iframe {
        height: 500px;
    }
}


/* =======================================
体験参加とご入会
======================================= */

.join-steps p {
    font-weight: 700;
    line-height: 2.4;
    letter-spacing: 0.05em;
    color: #6E6450;
    text-align: center;
    margin-bottom: 20px;
}

.join-steps img {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

@media screen and (max-width:599px) {
    .join-steps img {
        width: 90%;
        max-width: 300px;
    }
}


/* =======================================
イベント
======================================= */

.event-wrap {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.event-wrap table {
    width: 100%;
    border-top: 1px solid #E3DFDA;
    margin-top: 50px;
}

.event-wrap td {
    width: 78%;
    margin: 0;
    line-height: 2.4;
    letter-spacing: 0.05em;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}

.event-wrap td:first-of-type {
    width: 22%;
    font-weight: 700;
    color: #6E6450;
}

.event-wrap td p {
    line-height: 2.4;
    letter-spacing: 0.05em;
}

.event-wrap div.hr {
    width:90px;
    height: 10px;
    border: none;
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/blog-hr.png?t=1663164831);
    background-size: cover;
    margin: 120px auto;
}

@media screen and (max-width:599px) {
    .event-wrap table {
        border-top: none;
        margin-top: 20px;
    }

    .event-wrap td {
        font-size: 14px !important;
        display: block;
        width: 100%;
        border-bottom: none;
        padding: 10px 0;
    }

    .event-wrap td:first-of-type {
        width: 100%;
        border-bottom: 1px solid #ccc;
        padding-top: 30px;
    }

    .event-wrap td:first-of-type::before {
        content: '◆';
        margin-right: 6px;
    }
}


/* =======================================
よくあるご質問
======================================= */

#faq-menu {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#faq-menu .faq-menu-title a {
    color: #6E6450;
    text-decoration: none;
    padding-bottom: 8px;
    padding-right: 30px;
    border-bottom: 2px solid #E3DFDA;
    position: relative;
    display: block;
    margin: 30px auto 0;
    box-sizing: border-box;
}

#faq-menu .faq-menu-title a::after {
    font-family: "Material Symbols Rounded";
    content: '\e5cf';
    position: absolute;
    bottom: 5px;
    right: 0;
    font-size: 24px;
    color: #6E6450;
}

#faq-menu .faq-menu-title a:hover {
    opacity: .8;
}

.faq-wrap h2 {
    text-align: center;
    margin-top: 100px;
    margin-bottom: 60px;
}

@media screen and (max-width:1024px) {
    #faq-menu {
        display: block;
    }

    #faq-menu .faq-menu-title a {
        width: 100%;
        max-width: 500px;
    }
}


/* =======================================
保護者のお声
======================================= */

.letter-wrap {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 50px 110px;
    background: #FAF8F7;
    box-sizing: border-box;
}

.letter-wrap h2 {
    text-align: center;
}

.letter-wrap img {
    margin: 30px auto;
}

p.letter-name {
    font-size: 15px !important;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 50px;
}

.letter-wrap>div.letter p {
    font-size: 15px !important;
    text-indent: 1em;
    letter-spacing: 0.05em;
    line-height: 3em;
    background-image:  linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97%, #E3DFDA 100%);
    background-size: 100% 3em;
    background-position-y: -3px;
}

@media screen and (max-width:599px) {
    .letter-wrap {
        padding: 60px 20px 110px;
    }

    p.letter-name {
        font-size: 13px !important;
    }

    .letter-wrap>div.letter p {
        font-size: 13px !important;
    }
}


/* =======================================
金沢プレイルームの実績
======================================= */

#page-1689966250 h2 {
    text-align: center;
}


/* =======================================
ブログ_金沢プレイルーム日記
======================================= */

/*------- 一覧ページ -------*/
#page-1682872850 main {
    padding-bottom: 100px;
}

#page-1682872850 #content main h1 {
    padding-top: 80px;
}

#page-1682872850 .j-blog.n.clearover.j-blogarticle {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#page-1682872850 div#cc-matrix- {
    width: 30%;
    height: auto;
    border-bottom: 1px solid #E3DFDA;
    margin-bottom: 40px;
}

#page-1682872850 .cc-imagewrapper img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    overflow: hidden;
    border-radius: 8px;
}

#page-1682872850 .j-blog a {
    text-decoration: none;
}

#page-1682872850 .j-blog a>h2 {
    font-size: 20px !important;
    margin: 6px 0 10px 0;
}

#page-1682872850 #cc-m-1 {
    font-size: 15px;
    line-height: 2em;
}

#page-1682872850 #cc-matrix- a:hover {
    opacity: .8;
}

@media screen and (max-width:1024px) {
    #page-1682872850 #content main h1 {
        padding-top: 60px;
    }

    #page-1682872850 div#cc-matrix- {
        width: 46%;
    }
}

@media screen and (max-width:599px) {
    #page-1682872850 div#cc-matrix- {
        width: 100%;
    }

    #page-1682872850 .cc-imagewrapper img {
        height: 230px;
    }
}

/*------- 記事ページ -------*/

body.cc-page-blog div#content_area {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding-top: 80px;
}

body.cc-page-blog .j-blog-post--date {
    font-size: 14px;
    display: block;
    margin: 0 auto 20px;
    text-align: center;
}

body.cc-page-blog #content h2 {
    font-size: 22px !important;
    color: #968C78 !important;
    border-bottom: 2px solid #968C78;
    padding-bottom: 8px;
    margin-bottom: 25px;
}

body.cc-page-blog .cc-imagewrapper img {
    width: 87.5%;
    max-width: 700px;
    height: auto;
    display: block;
    margin: 50px auto;
}

body.cc-page-blog main p {
    line-height: 2.2;
    text-indent: 1em;
}

body.cc-page-blog div.hr {
    width:90px;
    height: 10px;
    border: none;
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/blog-hr.png?t=1663164831);
    background-size: cover;
    margin: 80px auto;
}

@media screen and (max-width:1024px) {
    body.cc-page-blog div#content_area {
        padding-top: 60px;
    }
}

@media screen and (max-width:599px) {
    body.cc-page-blog .cc-imagewrapper img {
        width: 100%;
    }
}


/* =======================================
絵本館ホップツリーについて
======================================= */

@media screen and (max-width:1024px) {
    #page-1689966350 .j-calltoaction-align-1 {
        text-align: center;
    }
}


/* =======================================
積木について
======================================= */
#cc-matrix-2389642350 .cc-imagewrapper img {
    width: 100%;
}

.buying-benefits {
    width: 100%;
    background: #FFF;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 50px;
    box-sizing: border-box;
}

.buying-benefits h4 {
    font-size: 20px;
    color: #6E6450;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #6E6450;
    padding-bottom: 8px;
    white-space: nowrap;
    margin: 5px 50px 0 40px;
}

.buying-benefits img.icon {
    width: 40px;
    height: auto;
}

@media screen and (max-width:1024px) {
    .buying-benefits {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .buying-benefits h4 {
        margin: 8px 0 0 30px;
    }

    .buying-benefits p {
        margin-top: 30px;
    }
}

@media screen and (max-width:599px) {
    .buying-benefits {
        padding: 25px;
    }

    .buying-benefits h4 {
        font-size: 18px;
    }

    .buying-benefits p {
        margin-top: 20px;
    }
}

/* お試し */

#page-1689966550 .j-hgrid .cc-imagewrapper img {
    border: 1px solid #E3DFDA;
    box-sizing: border-box;
}

#page-1689966550 .j-hgrid .cc-m-hgrid-column:first-of-type {
    padding: 0 8% 0 0;
}

#page-1689966550 .j-hgrid .cc-m-hgrid-column.last {
    width: 46.96% !important;
}

@media screen and (max-width:1024px) {
    #page-1689966550 .j-hgrid .cc-m-hgrid-column {
        width: 100% !important;
    }

    #page-1689966550 .j-hgrid .cc-m-hgrid-column.last {
        width: 100% !important;
        margin-top: 30px;
    }

    #page-1689966550 .j-hgrid .cc-m-hgrid-column:first-of-type {
        padding: 0;
    }

    #page-1689966550 .j-hgrid .cc-imagewrapper img {
        display: block;
        width: 80%;
        margin: 0 auto;
    }
}

@media screen and (max-width:599px) {
    #page-1689966550 .j-hgrid .cc-imagewrapper img {
        width: 100%;
    }
}


/* =======================================
絵本について
======================================= */

#page-1689966650 .j-header h2 {
    text-align: center;
}

#page-1689966650 .cc-m-gallery-slider ul img {
    border: 1px solid #E3DFDA;
    box-sizing: border-box;
}

#page-1689966650 .cc-m-hgrid-column:first-of-type {
    padding: 0 8% 0 0;
}

#page-1689966650 .cc-m-hgrid-column.last {
    width: 46.98% !important;
}

#cc-m-10241790250, #cc-m-10241791050, 
#cc-m-10241797050, #cc-m-10241798050 {
    background: #F7F3EE;
    margin: 0 -100%;
    padding: 60px 100% 30px !important;
}

@media screen and (max-width:1024px) {
    #page-1689966650 .cc-m-hgrid-column {
        width: 100% !important;
    }

    #page-1689966650 .cc-m-hgrid-column.last {
        width: 100% !important;
        margin-top: 30px;
    }

    #page-1689966650 .cc-m-hgrid-column:first-of-type {
        padding: 0;
    }

    #page-1689966650 .cc-imagewrapper img {
        display: block;
        width: 80%;
        margin: 0 auto;
    }
}

@media screen and (max-width:599px) {
    #page-1689966650 .cc-imagewrapper img {
        width: 100%;
    }
}


/* =======================================
お店のミニ講座
======================================= */

#page-1689966750 .j-header h2 {
    text-align: center;
}


/* =======================================
お問い合わせページ
======================================= */

.form-wrap.contact-wrap {
    background: #FFF;
    border-radius: 0;
    padding: 20px 0 0;
    box-sizing: border-box;
}

#page-1689967050 aside {
    display: none;
}


/* =======================================
プライバシーポリシー
======================================= */

.cc-privacy {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

#content .cc-privacy h2 {
    font-size: 22px !important;
    color: #6E6450 !important;
    background: #F7F3EE;
    padding: 15px 30px !important;
    margin: 60px 0 30px;
    box-sizing: border-box;
    display: block !important; /* サイトマップページのh2と競合するため */
}

.cc-privacy ul {
    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 50px;
}

.cc-privacy ul li {
    line-height: 2em;
}

.cc-privacy p {
    padding: 0 30px !important;
}

.cc-privacy ol {
    list-style: none;
    padding: 30px 50px;
    line-height: 2.2em;
    border: 1px solid #E3DFDA;
    border-radius: 10px;
    margin-top: 60px;
}

.cc-privacy ol li:first-child {
    font-weight: 700;
    color: #D9A746;
}

@media screen and (max-width:599px) {
    #content .cc-privacy h2 {
        font-size: 20px !important;
        padding: 15px 20px !important;
        margin: 50px 0 20px;
    }

    .cc-privacy ul {
        font-size: 14px;
        padding-left: 30px;
        padding-right: 10px;
    }

    .cc-privacy p {
        padding: 0 10px !important;
    }

    .cc-privacy ol {
        padding: 20px 30px;
    }
}


/* =======================================
サイトマップ
======================================= */

#page-1579554250 #content_area { /* サイトマップ-プライバシーポリシー-404-共通 */
    padding-top: 80px;
    padding-bottom: 130px
}

.j-static-page>ul.sitemap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    column-gap: 7%;
    row-gap: 50px;
}

.j-static-page>ul.sitemap>div {
    width: 28.6%;
}

.j-static-page>ul.sitemap,
.j-static-page>ul.sitemap ul.sitemap {
    margin: 0;
}

.j-static-page>ul.sitemap li a {
    color: #D9A746;
    text-decoration: none;
    background: none;
    padding: 0;
    margin: 8px 0;
    letter-spacing: 0.05em;
}

.j-static-page>ul.sitemap>div>li>ul.sitemap>li>a {
    position:relative;
    padding-left: 26px;
}

.j-static-page>ul.sitemap>div>li>ul.sitemap>li>a::before {
    font-family: "Material Symbols Rounded";
    content: '\e5cc';
    position: absolute;
    bottom: auto;
    font-size: 20px;
    left: 0px;
    transition: .1s;
    padding-top: 1px; /* 目視で真ん中に調整 */
}

.j-static-page>ul.sitemap>div>li>ul.sitemap>li>a:hover::before {
    left: 5px;
}

.sitemap-atelier>li>a:first-child,
.sitemap-shop>li>a:first-child,
.sitemap-school>li>a:first-child,
.sitemap-others>li>a:first-child {
    pointer-events: none;
    color: #6E6450 !important;
    text-align: center;
}

/* 画像を表示 */
.sitemap-atelier>li:first-child::after,
.sitemap-shop>li:first-child::after,
.sitemap-school>li:first-child::after,
.sitemap-others>li:first-child::after {
    content: '';
    background-size: cover;
    width:100%;
    height: 120px;
    display: block;
    margin: 20px 0;
}

.sitemap-atelier>li:first-child::after {
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/sitemap-01-2x.jpg?t=1663165572);
}

.sitemap-shop>li:first-child::after {
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/sitemap-02-2x.jpg?t=1663165579);
}

.sitemap-school>li:first-child::after {
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/sitemap-03-2x.jpg?t=1663165584);
}

.sitemap-others>li:first-child::after {
    background-image: url(https://u.jimcdn.com/cms/o/s5efc079c0d478e43/userlayout/img/sitemap-04-2x.jpg?t=1663165590);
}

/* ブログ部分を非表示 */
.j-static-page h2 {
    display: none;
}

.j-static-page>ul:nth-of-type(2) {
    display: none;
}

/* TOPを非表示 */
.j-static-page>ul.sitemap>li:first-child {
    display: none;
}

@media screen and (max-width:1024px) {
    .j-static-page>ul.sitemap>div {
        width: 46.5%;
    }
}

@media screen and (max-width:599px) {
    #page-1579554250 #content_area { /* サイトマップ-プライバシーポリシー-404-共通 */
        padding-top: 60px;
    }

    .j-static-page>ul.sitemap>div {
        width: 100%;
    }
}