@charset 'UTF-8';
@page {
    size:A4 portrait;
    /* A4縦 */
    margin:15mm;
    /* 余白の調整 */
}
html {
    font-size:80%;
    /* 全体の文字サイズを小さく */
}

body {
    zoom:0.85;
    /* ブラウザによっては zoom も使える */
}

body {
    width:100%;
    /* 画面幅をA4に合わせる */
    max-width:210mm;
    /* A4の幅 */
    font-size:10px !important;
    -webkit-print-color-adjust:exact;
}

/*　List
---------------------------------------- */
.nolist {
    list-style:none;
    padding:0;
    margin:0;
}

.brSp {
    display:none;
}

@media only screen and (max-width: 580px) {
    br.brPc {
        display:none;
    }
    .brSp {
        display:block;
    }
}
.site-main {
    margin-top:70px;
}
@media only screen and (max-width: 980px) {
    .site-main {
        margin-top:0;
    }
}

.entry-header {
    background-color:#f3f0ed;
    background-image:url(../images/common/headBk.svg);
    background-position:top left;
    background-repeat:no-repeat;
    background-size:cover;
    height:250px;
    display:flex;
    align-items:center;
    border-radius:0 0 50px 50px;
}
@media only screen and (max-width: 980px) {
    .entry-header {
        background-size:contain;
        height:150px !important;
    }
}
@media only screen and (max-width: 768px) {
    .entry-header {
        border-radius:0 0 20px 20px;
        height:120px !important;
    }
}
.entry-header .entry-title {
    margin:0;
    font-family:'Zen Old Mincho', serif;
    font-weight:400;
    font-style:normal;
    position:relative;
    padding-left:60px;
    font-size:clamp(2.2rem, 4vw, 4rem);
}
.entry-header .entry-title::before {
    content:'';
    position:absolute;
    left:0;
    top:55%;
    width:50px;
    height:1px;
    background:#f18eac;
    transform:translateY(-50%);
}
@media only screen and (max-width: 480px) {
    .entry-header .entry-title {
        margin-top:0.5em;
        margin-bottom:0;
    }
}
.entry-header .pageSlug {
    font-family:'Noto Serif JP', serif;
    font-optical-sizing:auto;
    font-weight:600;
    font-style:normal;
    font-size:50px;
    color:#bdb4b3;
    font-size:clamp(1.4rem, 8vw, 8rem);
    margin:0;
}
@media only screen and (max-width: 480px) {
    .entry-header {
        display:block;
    }
    .entry-header .pageSlug {
        width:100%;
        text-align:right;
    }
}

.searchList {
    border-bottom:1px dashed #f18eac;
    padding:1em 0;
}
.searchList a {
    text-decoration:none;
    color:#333333;
    display:block;
    transition:0.15s all;
}
.searchList a:hover {
    color:#f18eac;
}

.pager {
    margin:40px 0;
}
.pager .flexContainer {
    display:flex;
    border-top:1px solid #cccccc;
    border-bottom:1px solid #cccccc;
}
.pager .flexContainer > div {
    width:33.333%;
    text-align:center;
}
.pager .flexContainer > div a {
    display:block;
    width:100%;
    height:100%;
    padding:20px;
    text-decoration:none;
    color:#333333;
    font-weight:bold;
    transition:all 0.3s ease;
}
.pager .flexContainer > div a:hover {
    background-color:#f18eac;
    color:#ffffff;
}
.pager .flexContainer .prev,
.pager .flexContainer .back {
    border-right:1px solid #cccccc;
}

.singleDate {
    margin-bottom:40px;
}
.singleDate span {
    font-size:1.4rem;
    color:#ffffff;
    font-weight:bold;
    background:#f18eac;
    display:inline-block;
    padding:2px 15px;
    border-radius:3px;
}

.postList {
    list-style:none;
    margin:0;
}
.postList li {
    border-bottom:1px dotted #cccccc;
    padding:1em 0;
    margin:0.5em 0;
}
.postList li a {
    display:block;
}
.postList li a .listDate {
    display:inline-block;
    width:100px;
    font-weight:bold;
    font-size:1.4rem;
}
@media only screen and (max-width: 768px) {
    .postList li a .listDate {
        display:block;
    }
}

.site-header {
    /*background-color: rgba(243, 240, 237, 0.6);*/
    background:#f3f0ed !important;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:#ffffff;
    transition:transform 0.3s ease;
    will-change:transform;
    height:70px;
}
.site-header.hide-header {
    transform:translateY(-100%);
}
.site-header.show-header {
    transform:translateY(0%);
}

@media only screen and (max-width: 980px) {
    .site-header {
        background-color:rgba(243, 240, 237, 0.6);
        position:static;
        padding-left:5px;
    }
}
.head__layout1 {
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}
.head__layout1 h1.site-title {
    margin:0;
    padding:5px;
}
.head__layout1 h1.site-title img {
    max-width:160px;
}
.head__layout1 .branding__nav {
    margin-right:240px;
    font-family:'Zen Old Mincho', serif;
    font-weight:400;
    font-style:normal;
}
.head__layout1 .btnMenu {
    position:absolute;
    line-height:1.2;
}
.head__layout1 .btnMenu a {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    width:70px;
    height:70px;
    background:#cccccc;
    color:#ffffff;
    text-decoration:none;
}
.head__layout1 .btnMenu a i {
    font-size:3rem;
}
.head__layout1 .btnMenu a span {
    margin-top:5px;
    display:block;
    font-size:1rem;
}
.head__layout1 .btnMenu1 {
    top:0;
    right:140px;
}
.head__layout1 .btnMenu1 a {
    background:#573731;
}
.head__layout1 .btnMenu2 {
    top:0;
    right:70px;
}
.head__layout1 .btnMenu2 a {
    background:#bdb4b3;
}
.head__layout1 .btnMenu3 {
    top:0;
    right:0;
}
.head__layout1 .btnMenu3 a {
    background:#f18eac;
}
@media only screen and (max-width: 980px) {
    .head__layout1 nav.glNaviPc {
        display:none;
    }
    .head__layout1 .branding__nav {
        display:none;
    }
}
@media only screen and (max-width: 980px) {
    .head__layout1 .btnMenu1 {
        top:0;
        right:210px;
    }
    .head__layout1 .btnMenu1 a {
        background:#573731;
    }
    .head__layout1 .btnMenu2 {
        top:0;
        right:140px;
    }
    .head__layout1 .btnMenu2 a {
        background:#bdb4b3;
    }
    .head__layout1 .btnMenu3 {
        top:0;
        right:70px;
    }
    .head__layout1 .btnMenu3 a {
        background:#f18eac;
    }
}
@media only screen and (max-width: 560px) {
    .head__layout1 .btnMenu {
        display:none;
    }
}

.site-gnav {
    list-style:none;
    margin:0 0 0 0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:500;
}
.site-gnav li a {
    text-decoration:none;
    color:#f18eac;
}

/*==ナビゲーション全体の設定*/
nav.glNaviPc {
    color:#f18eac;
    text-align:left;
}
nav.glNaviPc ul.site-gnav {
    list-style:none;
    margin:px 0 0 0;
    padding:0;
    display:flex;
    align-items:flex-end;
    gap:15px;
}
nav.glNaviPc ul.site-gnav li a {
    display:inline-block;
    text-decoration:none;
    color:#573731;
    font-size:1rem;
}
nav.glNaviPc ul.site-gnav li.has-mega {
    position:relative;
}
nav.glNaviPc ul.site-gnav li.has-mega > a {
    position:relative;
    padding-right:1.6em;
}
nav.glNaviPc ul.site-gnav li.has-mega > a::before,
nav.glNaviPc ul.site-gnav li.has-mega > a::after {
    content:'';
    position:absolute;
    top:50%;
    right:0.4em;
    width:8px;
    height:2px;
    background-color:#573731;
    transform-origin:center;
    transition:transform 0.3s ease;
}
nav.glNaviPc ul.site-gnav li.has-mega > a::before {
    transform:translateY(-50%) rotate(45deg);
}
nav.glNaviPc ul.site-gnav li.has-mega > a::after {
    transform:translateY(-50%) rotate(-45deg);
    right:0.1em;
}
nav.glNaviPc ul.site-gnav li.has-mega.active > a::before {
    transform:translateY(-50%) rotate(-45deg);
}
nav.glNaviPc ul.site-gnav li.has-mega.active > a::after {
    transform:translateY(-50%) rotate(45deg);
}

/* ── メガメニュー本体 ───────────────────────── */
.mega-menu {
    /* 非表示時 = 少し上に隠れている */
    opacity:0;
    transform:translateY(-30px);
    /* ← 上方へオフセット（縮小はしない） */
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.4s ease, transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
    /* 表示時 */
    /* 以降はレイアウトなど前回と同じ ---------------------- */
    position:fixed;
    left:0;
    width:100vw;
    top:0;
    top:69px;
    /* JS でヘッダー高を上書き */
    z-index:998;
    background:#573731;
    padding:30px 0;
}
.mega-menu.active {
    opacity:1;
    transform:translateY(0);
    /* 0 まで滑らかに下りてくる */
    visibility:visible;
    pointer-events:auto;
}
.mega-menu .mega-inner {
    max-width:1300px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(210px, 210px));
    gap:15px;
    justify-content:center;
    align-items:center;
    justify-items:center;
    /* 子リンクの遅延フェード */
}
.mega-menu .mega-inner a {
    font-size:1.4rem;
    background:#ffffff;
    display:block;
    text-decoration:none;
    color:#222222;
    opacity:0;
    transform:translateY(10px);
    animation:fadeUp 0.45s forwards;
    border-radius:30px;
    padding:10px;
    width:100%;
    /* カード幅を揃えたい場合は指定 */
    text-align:center;
    transition:0.15s all;
    /* 文字列を中央揃え             */
}
.mega-menu .mega-inner a:nth-child(1) {
    animation-delay:0.05s;
}
.mega-menu .mega-inner a:nth-child(2) {
    animation-delay:0.1s;
}
.mega-menu .mega-inner a:nth-child(3) {
    animation-delay:0.15s;
}
.mega-menu .mega-inner a:nth-child(4) {
    animation-delay:0.2s;
}
.mega-menu .mega-inner a:nth-child(5) {
    animation-delay:0.25s;
}
.mega-menu .mega-inner a:nth-child(6) {
    animation-delay:0.3s;
}
.mega-menu .mega-inner a:nth-child(7) {
    animation-delay:0.35s;
}
.mega-menu .mega-inner a:nth-child(8) {
    animation-delay:0.4s;
}
.mega-menu .mega-inner a:nth-child(9) {
    animation-delay:0.45s;
}
.mega-menu .mega-inner a:nth-child(10) {
    animation-delay:0.5s;
}
.mega-menu .mega-inner a:nth-child(11) {
    animation-delay:0.55s;
}
.mega-menu .mega-inner a:nth-child(12) {
    animation-delay:0.6s;
}
.mega-menu .mega-inner a:nth-child(13) {
    animation-delay:0.65s;
}
.mega-menu .mega-inner a:nth-child(14) {
    animation-delay:0.7s;
}
.mega-menu .mega-inner a:nth-child(15) {
    animation-delay:0.75s;
}
.mega-menu .mega-inner a:nth-child(16) {
    animation-delay:0.8s;
}
.mega-menu .mega-inner a:nth-child(17) {
    animation-delay:0.85s;
}
.mega-menu .mega-inner a:nth-child(18) {
    animation-delay:0.9s;
}
.mega-menu .mega-inner a:nth-child(19) {
    animation-delay:0.95s;
}
.mega-menu .mega-inner a:nth-child(20) {
    animation-delay:1s;
}
.mega-menu .mega-inner a img {
    width:100%;
}
.mega-menu .mega-inner a span {
    display:block;
    margin:4px auto;
}
.mega-menu .mega-inner a:hover {
    transform:translateY(-4px);
    background:#bdb4b3;
}

/* 子リンクのフェードアップ */
@keyframes fadeUp {
    to {
        opacity:1;
        transform:translateY(0);
    }
}
/* キーフレーム -------------------------- */
@keyframes fadeUp {
    to {
        opacity:1;
        transform:translateY(0);
    }
}
/* 開いている見出しリンクの色変化（任意） */
.site-gnav .has-mega.active > a {
    color:#bdb4b3;
}

/* ── サイトナビ（クリック時に色変化させたい時）────── */
.site-gnav .has-mega.active > a {
    color:#bdb4b3;
    /* お好みで */
}

.openbtn5,
#g-nav5 {
    display:none;
}

@media only screen and (max-width: 980px) {
    /*　#g-nav5.openbtn5
  =============================================================== */
    #g-nav5 {
        display:block;
        /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
        position:fixed;
        z-index:-1;
        opacity:0;
        top:0;
        width:100%;
        height:100vh;
        transition:all 0.3s;
    }
    /*アクティブクラスがついたら透過なしにして最前面へ*/
    #g-nav5.panelactive {
        opacity:1;
        z-index:999;
    }
    /*ナビゲーションの縦スクロール*/
    #g-nav5.panelactive #g-nav-list {
        /*ナビの数が増えた場合縦スクロール*/
        position:fixed;
        z-index:999;
        width:100%;
        height:100vh;
        /*表示する高さ*/
        overflow:auto;
        -webkit-overflow-scrolling:touch;
    }
    .site-gnavSp-container {
        justify-content:center;
        align-items:start;
        height:100vh;
        background-color:#ece7de;
        padding:60px 0;
        text-align:center;
    }
    .site-gnavSp {
        margin:2em auto;
        padding:0;
        list-style:none;
        padding:0;
        width:96%;
        background-color:#f8f8f8;
        border-radius:8px;
        box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);
        max-width:480px;
    }
    .site-gnavSp li {
        border-bottom:1px solid #dddddd;
        position:relative;
    }
    .site-gnavSp li:last-child {
        border-bottom:none;
    }
    .site-gnavSp li a,
    .site-gnavSp li label {
        display:block;
        padding:12px 16px;
        color:#573731;
        text-decoration:none;
        font-size:16px;
        transition:background 0.3s;
        cursor:pointer;
    }
    .site-gnavSp li a:hover,
    .site-gnavSp li label:hover {
        background:#bdb4b3;
        color:#ffffff;
    }
    .site-gnavSp li ul {
        list-style:none;
        padding:0;
        margin:0;
        background:#ffffff;
        max-height:0;
        overflow:hidden;
        transition:max-height 0.3s ease-in-out;
    }
    .site-gnavSp li ul li {
        border-bottom:none;
    }
    .site-gnavSp li ul li a {
        padding-left:24px;
        font-size:1rem;
        color:#666666;
    }
    .site-gnavSp li input[type=checkbox] {
        display:none;
    }
    .site-gnavSp li input[type=checkbox]:checked ~ ul {
        max-height:500px;
    }
    .site-gnavSp li label {
        position:relative;
        padding-right:40px;
    }
    .site-gnavSp li label::after {
        content:'▼';
        position:absolute;
        right:16px;
        top:50%;
        transform:translateY(-50%);
        font-size:12px;
        transition:transform 0.3s;
        color:#573731;
    }
    .site-gnavSp li input[type=checkbox]:checked + label::after {
        transform:translateY(-50%) rotate(180deg);
    }
    /*========= ボタンのためのCSS ===============*/
    .openbtn5 {
        display:block;
        position:fixed;
        z-index:9999;
        /*ボタンを最前面に*/
        top:0;
        right:0;
        cursor:pointer;
        width:70px;
        height:70px;
        background:none;
    }
    .openbtn5 div.inTxt {
        position:absolute;
        display:inline-block;
        color:#573731;
        font-size:1.2rem;
        bottom:10px;
        left:20px;
    }
    /*×に変化*/
    .openbtn5 span {
        display:inline-block;
        transition:all 0.4s;
        position:absolute;
        left:20px;
        height:3px;
        border-radius:2px;
        background-color:#573731;
        width:45%;
    }
    .openbtn5 span:nth-of-type(1) {
        top:18px;
    }
    .openbtn5 span:nth-of-type(2) {
        top:26px;
    }
    .openbtn5 span:nth-of-type(3) {
        top:34px;
    }
    .openbtn5.active span:nth-of-type(1) {
        top:24px;
        left:26px;
        transform:translateY(6px) rotate(-45deg);
        width:30%;
    }
    .openbtn5.active span:nth-of-type(2) {
        opacity:0;
    }
    .openbtn5.active span:nth-of-type(3) {
        top:36px;
        left:26px;
        transform:translateY(-6px) rotate(45deg);
        width:30%;
    }
}
.site-info {
    background:#ece7de;
    padding:30px 10px;
    margin:30px auto 0;
    width:100%;
    border-radius:30px 30px 0 0;
}

.copy {
    background:#573731;
    color:#ffffff;
    text-align:center;
    font-size:1rem;
    padding:0.1em 0;
}

.footerFlex {
    display:flex;
    gap:20px;
}
.footerFlex .flex__itemL {
    width:calc(30% - 20px);
}
.footerFlex .flex__itemL img {
    width:160px;
}
.footerFlex .flex__itemR {
    width:calc(70% - 20px);
}
@media only screen and (max-width: 980px) {
    .footerFlex {
        flex-direction:column;
        gap:0;
    }
    .footerFlex .flex__itemL {
        width:100%;
        order:2;
        text-align:center;
        margin-top:30px;
    }
    .footerFlex .flex__itemR {
        width:100%;
        order:1;
    }
}
@media only screen and (max-width: 680px) {
    .footerFlex .flex__itemL {
        margin-top:10px;
    }
    .footerFlex .flex__itemR {
        display:none;
    }
}

.innerFlex {
    display:flex;
    gap:20px;
    font-size:1rem;
    font-family:'Zen Old Mincho', serif;
    font-weight:400;
    font-style:normal;
}
.innerFlex h3 {
    margin-bottom:0.5em;
}
.innerFlex ul {
    list-style:none;
    margin-left:5px;
    padding:0;
}
.innerFlex ul li {
    margin-bottom:0.5em;
}
.innerFlex .flex__item {
    width:calc(25% - 20px);
}
.innerFlex .flex__item a {
    text-decoration:none;
    color:#333333;
    transition:0.15s all;
}
.innerFlex .flex__item a:hover {
    color:#f18eac;
}

.footerBtn {
    display:flex;
    gap:20px;
    align-items:center;
    justify-content:center;
}
.footerBtn .flex__item {
    font-size:1rem;
}
.footerBtn .flex__item a {
    display:block;
    background:#bdb4b3;
    color:#ffffff;
    padding:3px 20px;
    border-radius:20px;
    text-decoration:none;
}
.footerBtn .flex__item a:hover {
    opacity:0.8;
}
.footerBtn .flex__item2 a {
    background:#f18eac;
}

/* mainV
========================================================================== */
.mainV {
    position:relative;
    overflow:hidden;
}
.mainV .waveBk {
    position:absolute;
    bottom:0;
    width:100%;
}
.mainV .main_catch2,
.mainV .main_catch1 {
    display:inline-block;
    position:absolute;
    z-index:10;
    background-color:rgba(255, 255, 255, 0.9);
    padding:15px 35px;
    font-family:'Zen Old Mincho', serif;
    font-weight:500;
    font-style:normal;
    font-size:clamp(1.6rem, 2.2vw, 2.2rem);
}
.mainV .main_catch1 {
    top:45%;
    left:5%;
}
.mainV .main_catch2 {
    top:60%;
    left:10%;
}
@media only screen and (max-width: 768px) {
    .mainV .main_catch2,
    .mainV .main_catch1 {
        padding:10px 35px;
    }
    .mainV .main_catch1 {
        top:130px;
        left:5%;
    }
    .mainV .main_catch2 {
        top:200px;
        left:10%;
    }
}
@media only screen and (max-width: 600px) {
    .mainV .main_catch2,
    .mainV .main_catch1 {
        padding:10px 20px;
    }
    .mainV .main_catch1 {
        top:20%;
        left:2%;
    }
    .mainV .main_catch2 {
        top:45%;
        left:6%;
    }
}
@media only screen and (max-width: 480px) {
    .mainV {
        padding-bottom:80px;
    }
    .mainV .main_catch2,
    .mainV .main_catch1 {
        position:static;
        padding:0 20px;
        background:none !important;
    }
    .mainV .main_catch {
        position:absolute;
        border-radius:15px;
        padding:10px 0;
        background-color:rgba(255, 255, 255, 0.9);
        z-index:10;
        width:96%;
        margin:0 auto 0;
        left:50%;
                transform:translateX(-50%);
        -webkit-transform:translateX(-50%);
            -ms-transform:translateX(-50%);
        text-align:center !important;
    }
}

.newsFlex {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:start;
    margin-top:2em;
    gap:20px;
}
@media only screen and (max-width: 768px) {
    .newsFlex {
        display:block;
    }
}
@media only screen and (max-width: 480px) {
    .newsFlex {
        margin-top:0;
    }
}
.newsFlex .newsAll_pc {
    font-family:'Zen Old Mincho', serif;
    font-weight:400;
    font-style:normal;
}
.newsFlex .newsAll_pc a {
    border-radius:20px;
    display:inline-block;
    background:#573731;
    color:#ffffff;
    text-decoration:none;
    padding:5px 35px;
    transition:0.15s all;
}
.newsFlex .newsAll_pc a:hover {
    background:#bdb4b3;
}
.newsFlex .newsAll_sp {
    display:none;
}
@media only screen and (max-width: 480px) {
    .newsFlex .newsAll_pc {
        display:none;
    }
    .newsFlex .newsAll_sp {
        display:block;
        font-family:'Zen Old Mincho', serif;
        font-weight:400;
        font-style:normal;
    }
    .newsFlex .newsAll_sp a {
        border-radius:20px;
        display:inline-block;
        background:#573731;
        color:#ffffff;
        text-decoration:none;
        padding:5px 35px;
        transition:0.15s all;
    }
    .newsFlex .newsAll_sp a:hover {
        background:#bdb4b3;
    }
}
.newsFlex .news__item1 {
    width:180px;
}
.newsFlex .news__item1 h2 {
    font-size:clamp(1.8rem, 2.6vw, 2.6rem);
    color:#573731;
    font-family:'Zen Old Mincho', serif;
    font-weight:400;
    font-style:normal;
}
.newsFlex .news__item1 h2 .ja {
    display:block;
    font-size:1.4rem;
}
.newsFlex .news__item1 h2 .eng {
    display:block;
    font-size:1.4rem;
    color:#573731;
}
.newsFlex .news__item1 h2 .eng::before {
    content:'●';
    color:#f18eac;
}
.newsFlex .news__item2 {
    width:calc(100% - 200px);
}
.newsFlex .news__item2 dl {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:start;
    margin-bottom:30px;
    border-bottom:1px dashed #cccccc;
    padding:0.5em 0 1em;
}
.newsFlex .news__item2 dl dt {
    width:200px;
}
.newsFlex .news__item2 dl dt .newsCat {
    font-size:1.4rem;
    background:#bdb4b3;
    color:#ffffff;
    display:inline-block;
    border-radius:15px;
    padding:1px 15px;
    margin:0 4px;
}
.newsFlex .news__item2 dl dd {
    width:calc(100% - 200px);
    margin:0;
}
.newsFlex .news__item2 dl dd a {
    text-decoration:none;
    line-height:1.5;
    color:#333333;
    transition:0.15s all;
}
.newsFlex .news__item2 dl dd a:hover {
    color:#ece7de;
}
@media only screen and (max-width: 768px) {
    .newsFlex {
        display:block;
    }
    .newsFlex .news__item1 {
        width:100%;
    }
    .newsFlex .news__item2 {
        width:100%;
    }
    .newsFlex .news__item2 dl {
        display:block;
    }
    .newsFlex .news__item2 dl dd,
    .newsFlex .news__item2 dl dt {
        width:100%;
    }
}
