@charset "UTF-8";


body {
}

/* フェード */
p,
h2,
.fadein {
	opacity: 0;
	transform: translateY(5px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}
p.is-active,
h2.is-active,
.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}


/* フォント 和文 */
body,
.zen-old-mincho-regular,
.wp-embed
{
  font-family: "EB Garamond", "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* フォント 欧文 セリフ */
.en,
h1,
h1.title,
.meta.bottom p,
.meta.bottom p.tags,
.site-footer p,
.site-nav .menus > ul li a,
.alt-nav li a
{
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
}

.entry-content p.en {
    font-size: 0.9em;
    line-height: 1.5em;
    letter-spacing: 0.02em;
}
/* フォント 欧文 スラブ */
.en_slab,
.meta em,
label,
input[type="button"], input[type="reset"], input[type="submit"]
{
  font-family: "Rokkitt", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

br.sp {
    display: none;
}

@media screen and (max-width: 480px) {
    br.sp {
    display: block;
    }  
}
a.wp-embed-more,
span.screen-reader-text {
    display: block;
}

/* index page */
.index_main_logo_box {
    width: 100%;
}
.index_main_logo_box img {
    text-align: center;
    width: 100px;
    margin: 0 auto 100px;
}
@media screen and (max-width: 480px) {
    .index_main_logo_box img {
        width: 75px;
        margin: 100px auto 200px;
    }
}


.top_msg {
    font-size: 1.1rem;
    line-height: 2.2em;
    margin: 0 auto 4em;
}
@media screen and (max-width: 480px) {
    .top_imgnav.is-active,
    .top_msg.is-active {
        width: 100%;
        padding: 0 30px;
    }
}

/* カテゴリーページでリードコピー非表示に */
.category .top_msg {
    display: none;
}

.category h1.title {
    margin: 3em 0;
}




/* オープニングにロゴ */
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 100000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 160px;
}
@media screen and (max-width: 480px) {
    .start p {
        width: 100px;
    }
}


/* メニュー */
.site-nav .menus > ul {
    float: none;
    width:100%;
    padding-top: 5em;
}
.site-nav .menus > ul li{
    text-align: center;
}
.site-nav .menus > ul li a{
    border-bottom: 4px solid rgba(0,0,0,0.2);
    letter-spacing: 0.1em;
    font-size: 1.3rem;
}
.site-nav.active footer {
    display: none;
}

@media (max-width: 400px) {}
@media (max-width: 620px) {}
@media (max-width: 1000px) {}


/*  ヘッダー */
.site-header {
    padding-top: 10px;
    padding-bottom: 100px;
}
header.page-header {
    padding: 0;
    margin-bottom: 100px;
}

@media screen and (max-width: 1000px) {
    header.page-header {
        padding: 0;
        margin-bottom: 0px;
    }
    .site-header {
        margin: 0 5% 0 5%;
        padding: 0 0 30px;
        width: 90%;
    }
    .section-inner.site-header {
        position: fixed;
        top: 0;
        left:0;
    }
    body {
        /* padding-top: 160px;　*/
    }
}


@media screen and (max-width: 480px) {
    body.home {
        padding-top: 80px;
    }
}

    
.site-header {
    padding-left: 5px;
    padding-right: 5px;
}
.alt-nav li a {
    text-decoration: none;
    border-bottom: 2px solid rgba(0,0,0,.2);
    font-size: 0.8rem;
}
.alt-nav li a:hover {
    border-color: rgba(0,0,0,1);
}


.site-header .site-title {
    font-size: 1.2rem;
    font-weight: 500;
    margin: 0;
    margin-top: 10px;
    text-align: center;
}
@media (max-width: 400px) {
    .site-header .site-title {
        margin-top: 20px;
    }
}

h1.title {
    font-size: 1.25rem;
}
body.category h1.title.sub {
    font-size: 1.15rem;
    margin-top: 6em;
}

.page-header {
    min-height: 20px;
}

.meta {
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    color: rgba(0, 0, 0, .90);
    margin: 0 auto 3em;
}
.meta a {
    border-color: rgba(0,0,0,0.2);
}
.meta em {
    font-style: normal;
    font-size: 0.7rem;
}
@media (max-width: 400px) {
    .page-header > div {
        padding: 5em 0 3em;
    }
}

/* メニューサムネイル デフォルト */
.preview-image {
    background-color: rgba(255,255,255,1.0);
}

.post-preview header {
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: start;
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
    top: 40px;
    text-align: left;
}
.two-columns-grid .post-preview h2,
.three-columns-grid .post-preview h2,
.related-posts .post-preview h2,
.post-preview h2,
.category.category-tsutsumi h1.title {
    color: #000;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    line-height: 1em;
    background-color: rgba(255,255,255,1.0);
    display:inline;
    text-align:center;
    width: auto;
    width: 1.2em;
    padding: 0.2em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-orientation: mixed;
    line-height: 1em;
}

.category.category-tsutsumi h1.title{
    text-align: center;
    margin: 3em auto;
    background-color: transparent;
}

@media screen and (max-width: 480px) {
    
    .post-preview header {
        bottom: 10px;
        left: 10px;
        right: 10px;
        top: 10px;
    }
    
    .two-columns-grid .post-preview h2,
    .three-columns-grid .post-preview h2,
    .related-posts .post-preview h2,
    .post-preview h2 {
        font-size: 1.2rem;
    }
    .three-columns-grid .post-preview h2 {
        font-size: 0.95rem; /* スマホサムネイル上の縦書きタイトル */
        overflow: hidden;
    }
    .post-preview header {
        bottom: 5px;
        left: 15px;
        right: 5px;
        top: 15px;
    }
}

/* メニューサムネイル ホバー */
.preview-image:after {
    background: rgba(0, 0, 0, 0.1);
}
.two-columns-grid .post-preview:hover h2,
.three-columns-grid .post-preview:hover h2,
.related-posts .post-preview:hover h2,
.post-preview:hover h2 {
    color: rgba(0, 0, 0, 1.0);
}

.post-preview header {
    opacity: 100;
    transform: translateY(2px);
}

/* メニューサイズ調整 */
.post-preview.fallback-image .preview-image:before {
    padding-bottom: 72%;
}







/* ポスト関係 */
.wp-block-image img {
    width: 100%;
}

.meta.bottom p,
.meta.bottom p.tags {
    font-size: 0.8rem;
}
.meta.bottom {
    display: block;
}

/* カテゴリー見出し */
.archive-description p{
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    line-height: 2.2em;
    margin-top: 50px;
    margin-bottom: 50px !important;
    text-align: left;
}

/* カテゴリー　リード文（折形のため） */
.archive-description p.category_lead{
    margin-bottom: 1em;
    text-align: left;
}
.archive-description p.category_lead + p.category_lead{
    margin-top: 0;
}

@media screen and (max-width: 480px) {
    .archive-description p{
        letter-spacing: 0.05em;
        text-align: left;
        margin-bottom: -50px;
    }
    .page-header .archive-description p:last-child {
        margin-bottom: 0px;
    }
    .archive-description p br{
        display:none;
    }

}

/* 本文 */
.entry-content h2 {
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4em;
    letter-spacing: 0.2em;
    margin: 80px 0 50px;
    margin: 80px 0 50px;
}
.entry-content h2 strong {
    font-weight: normal;
}
.entry-content h2 small.sub {
    font-size: 0.8em;
    letter-spacing: 0.05em;
}
.entry-content p {
    font-size: 1.1rem;
    line-height: 2.5em;
    letter-spacing: -0.02em;
    margin-bottom: 3em;
    text-align: justify;
    text-justify: inter-ideograph;
}
@media screen and (max-width: 480px) {
    .entry-content p {
        font-size: 1.0rem;
        line-height: 2.5em;
        letter-spacing: -0.05em;
    }
}


.entry-content.section-inner.thin figure,
.entry-content.section-inner.thin p,
.entry-content.section-inner.thin ul,
div.bottom.thin{
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}


.entry-content.section-inner.thin figure.image_wide {
    max-width: 100%;
    margin-bottom: 50px;
}

/* Modula関係の設定 */
.modula-items{
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.modula-items {
    margin-bottom: 50px;
}



/* ホーム */
body.home .site-header {
    padding-bottom: 0;
}
body.home header {
    display: none;
}

body.home .top_imgnav a {
    display: block;
    text-align: left;
    width: 100%;
    border-bottom: 1px solid rgba(0,0,0,0.15);
    padding: 0px 0 30px 5px;
    margin-bottom: 30px;
    text-decoration: none;
    max-width: 560px;
    font-size: 1.2rem;
    line-height: 1.8em;
    letter-spacing: 0.1em;
}
body.home .top_imgnav a:first-child {
    border-top: 1px solid rgba(0,0,0,0.15);
    padding-top: 30px;
}

body.home .top_imgnav a:hover {
    border-bottom: 1px solid rgba(0,0,0,0.35);
}

body.home .top_imgnav a small {
    font-size: 0.75em;
    letter-spacing: 0.05em;
    display: block;
}





/* 本文 データボックス */
.entry-content p.databox {
    margin: 6em 0;
    font-family: sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    padding: 3em;
    line-height: 1.8em;
    /* border: 1px solid rgba(0,0,0,0.15); */
    background-color: rgba(255,255,255,1.0);
}
/* 本文 参考文献 */
.entry-content p.references {
    margin: 6em 0;
    font-family: sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    padding: 0.5em 0 0.5em 2em;
    line-height: 1.8em;
    border-left: 1px solid rgba(0,0,0,0.15);
}
.entry-content p.references em {
    font-style: normal;
    font-weight:bold;
}

/* 埋め込みコンテンツ ＊iframe内の指定はadd_mitegura_embed.css */

/* Display Posts のリストアイテム全体をリンクにする */
.mitegura-post-item {
    position: relative; /* 子要素のaタグのposition: absoluteの基準にする */
    display: inline;
}

.mitegura-post-item a {
    text-decoration: none; /* デフォルトのリンク下線を消す (任意) */
    color: inherit; /* リンクの文字色を親要素から継承する (任意) */
    cursor: pointer; /* マウスオーバー時にカーソルを指マークにする */
}

/* リストアイテム全体を覆うようにaタグを広げる */
.mitegura-post-item a.image,
.mitegura-post-item a.title {
    position: static; /* デフォルトのpositionをstaticに戻す */
    display: block; /* ブロック要素にして縦幅いっぱいに広げる */
}

/* ここがポイント：li要素全体を覆う透明なaタグを疑似的に作成 */
.mitegura-post-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* 他のコンテンツの上に表示 */
}
/* ホバー効果を全体にかける場合 (任意) */
.mitegura-post-item:hover {
    /* background-color: #f0f0f0; ホバーで背景色を変える例 */
    /* transition: background-color 0.3s ease; */ /* スムーズな変化 (任意) */
}
ul.mitegura-post-item {
    margin: 0 0 50px;
}

ul.mitegura-post-item li {
    display: block;
    padding: 35px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #8c8f94;
    background: #fff;
    border: 1px solid #dcdcde;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    border-color: rgba(0,0,0,0.05);
    overflow: auto;
    zoom: 1;
    max-width: 560px;
    margin: 0 auto 50px;
}
ul.mitegura-post-item .image {
    width: 25%;
    float: right;
    margin: 0 0 0 5%;
}
ul.mitegura-post-item .title {
    font-size: 1.35rem;
    letter-spacing: 0.05em;
    margin-bottom: 1em;
}
ul.mitegura-post-item .excerpt {
    font-size: 0.85rem;
    line-height: 1.8em;
}

@media screen and (max-width: 480px) {
    
    ul.mitegura-post-item .image {
        width: 40%;
        float: right;
        margin: 0 0 5% 5%;
    }
    ul.mitegura-post-item .title {
        font-size: 1.55rem;
        margin-bottom: 0.5em;
    }
    ul.mitegura-post-item .excerpt {
        line-height: 1.6em;
    }
}


/* WordPress標準ライトボックスの画像実寸表示化 */
.lightbox-image-container .wp-lightbox-image {
    max-width: none !important;  /* 幅の最大値を解除 */
    max-height: none !important; /* 高さの最大値を解除 */
    width: auto !important;      /* 幅を自動調整 */
    height: auto !important;     /* 高さを自動調整 */
}

/* （任意）ブラウザのスクロールバーを表示させるための調整 */
/* ライトボックスの背景をオーバーレイの高さに合わせる */
.wp-lightbox-overlay {
    overflow: auto !important; /* オーバーレイ自体にスクロールバーを付ける */
}
/* コンテンツコンテナが画面中央に固定されるのを調整 (必要であれば) */
.wp-lightbox-container {
    /* min-width: 100%; */ /* 必要に応じて最小幅を設定 */
    /* min-height: 100%; */ /* 必要に応じて最小高さを設定 */
    /* top: 0 !important; */ /* 上部固定が必要であれば */
    /* left: 0 !important; */ /* 左部固定が必要であれば */
    /* transform: none !important; */ /* 中央寄せのtransformを解除する必要がある場合 */
}



/* dm紙イメージ */
.dmimg img {
    box-shadow: 0px 4px 20px rgba(0,0,0,0.1);
}

figure.wp-block-image + h2.wp-block-heading {
    margin-top: 160px;
}

/* キャプション */
.gallery-caption, .wp-caption-text, :root figcaption,
.wp-element-caption {
    text-align: center;
    font-size: 0.75rem;
    margin: 5px 0 15px;
}


/* フォーム */
label,
button, .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"] {
    font-size: 0.8rem;
    letter-spacing: 0.05em;
}
input[type="button"], input[type="reset"], input[type="submit"] {
    width: 100%;
    text-align: center;
    line-height: 1em;
    padding: 1em;
}
label {
    display: block;
    text-align: center;
}
label em {
    font-size: 0.8rem;
    font-style: normal;
    margin-left: 0.5em;
    letter-spacing: 0.1em;
}

input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], textarea {
    
    background: rgba(255,255,255,1.0);
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    font-size: 0.9rem;
    margin: 0 0 5px 0;
    padding: 20px;
}


/* ホームギャラリー */


/* フッター */
.site-footer p {
    font-size: 0.8rem;
    line-height: 2.5em;
}

@media screen and (max-width: 480px) {
    .site-footer p {
        text-align: left;
        padding-left: 30px;
    }
}