/*  Typo
----------------------------------------------- */
html {
    scroll-behavior: smooth;
    background-image: url(https://u.jimcdn.com/cms/o/s1ffe5b1dd385e5db/userlayout/img/bg002.jpg?t=1763188760);
    overflow-x: hidden;
}

a:link,
a:visited {
    text-decoration: underline;
    color: #000;
}

a:active {
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}


h1 {
    font: bold 18px/140%;
}

h2 {
    font: bold 14px/140%;
    border-bottom: solid 2px #dad0c9;
}

p {
    font: 16px/160%;
    font-family: "Noto Serif JP", serif !important;
}

.sp {
    display: none;
}

/*  Layout
----------------------------------------------- */

body {
    padding: 0;
    margin: 0;
    font: 11px/140%;
}

#container {
    margin: 0 auto;
    width: 1200px;
    /* position: relative;
    z-index: 0; */
}

#header {
    padding: 0;
}

#header h1 {
    padding: 0;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-family: 'Times New Roman', Times, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    text-decoration: none;
    line-height: 1.3em;
    color: #fff;
}

#header h1 a {
    color: #fff;
    text-decoration: none;
}

#header a:hover {
    opacity: 0.8;
}

#header p.site-slogan {
    display: none;
}

#navigation {}

.sticky-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(0, 0, 0, 0.5);
    width: 100vw;
    position: fixed;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 10px 20px;
    /* z-index: 2147483647 !important; */
    z-index: 100;
}

#sidebar {
    width: 1200px;
    margin: 100px auto 0;
    padding: 20px 0;
}

#content {
    padding: 100px 0 0 0;
}


#footer {
    width: 100vw;
    clear: both;
    margin-top: 10px;
    background-color: rgba(0, 0, 0, 0.9);
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

#footer p,
#footer a {
    color: #fff;
}

#footer .gutter {
    height: 30px;
    padding: 35px 15px 0 90px;
}

/* トップへ戻るボタン（Jimdoの基本設定のボタンは非表示にすること） */
.pagetop {
    background-color: rgba(0, 0, 0, 0.8);
    border-radius: 30%;
    text-align: center;
    line-height: 0.8;
    padding: 15px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
    z-index: 99;
}

.pagetop a {
    color: #fff !important;
    text-decoration: none !important;
}

/* ゆっくり表示 */
.pagetop.show {
    opacity: 1;
    pointer-events: auto;
}

/* タブレットはPC版で見てね、のアラート */
.tab-alert {
    display: none;
}



/*  Navigation の詳細設定
----------------------------------------------- */

ul.mainNav1,
ul.mainNav2 {
    margin: 0;
    padding-right: 10%;
    display: flex;
    justify-content: flex-end;
}


ul.mainNav1 li,
ul.mainNav2 li {
    display: inline;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}


ul.mainNav1 li a,
ul.mainNav2 li a {
    /* font-family: "Noto Serif JP", serif; */
    font-family: 'Times New Roman', Times, serif;
    text-decoration: none;
    display: block;
    color: #fff;
    font-size: 1.25rem;
}

ul.mainNav1 li a {
    padding: 10px 20px;
}

ul.mainNav2 li a {
    padding: 4px 4px 4px 14px;
}

ul.mainNav3 li a {
    padding: 4px 4px 4px 24px;
}

ul.mainNav1 a:hover {
    background: #000;
}

ul.mainNav1 a.current {
    font-weight: bold;
}


/*///////////////// HOMEページ /////////////////*/

/* メインビジュアル */
.cc-page-index #header {
    display: flex;
    height: 100vh;
    background-image: url(https://u.jimcdn.com/cms/o/s1ffe5b1dd385e5db/userlayout/img/header-img01.jpg?t=1763097434);
    background-position: center;
    background-size: cover;
    position: relative;
    opacity: 0;
    /* 最初は透明 */
    animation: fadeInBg 8s ease forwards;
    /* ふわっと */
}

@keyframes fadeInBg {
    to {
        opacity: 1;
    }
}

/* サイトメッセージｰ最初は非表示 */
.site-message {
    position: absolute;
    top: 40%;
    left: 20%;
    color: #fff;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 3s ease, transform 2s ease;
}

.site-message span {
    font-size: 1rem;
    line-height: 1.5%;
}

/* サイトメッセージ-ゆっくり表示 */
.site-message.show {
    opacity: 1;
    transform: translateY(0);
}

/* スクロールボタン */
.scroll-btn {
    cursor: pointer;
    position: absolute;
    bottom: 20px;
    left: 20px;
}

.scroll-btn:hover {
    transform: translateY(5px);
}

/* 画像がスティッキーナビの上になるのを戻す */
.cc-page-index figure.cc-imagewrapper {
  position: static !important;
  z-index: auto !important;
  transform: none !important;
  opacity: 1 !important;
}
.cc-page-index figure.cc-imagewrapper img {
  z-index: auto !important;
  position: static !important;
  transform: none !important;
}




/* ========== トップページにブログ記事をカード式で表示 ==========*/
#my_blog_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 100px;
}

.my_blog_item {
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.7);
    overflow: hidden;
    padding: 10px;
    box-shadow: 2px 2px 4px -2px gray;
}

.my_blog_list_category_date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 10px;
}

.my_blog_category {
    border: solid 1px #ccc;
    border-radius: 4px;
    /* background: #ccc; */
    /* margin-left: 10px; */
    padding: 3px 5px;
}

.my_blog_date {
    display: inline-block;
    font-size: 0.9em;
    color: #666;
}

.my_blog_thumb {
    width: 100%;
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

.my_blog_list_link {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 10px;
}

a.my_blog_list_link span {
    color: #000;
}

.my_blog_list_title {
    display: block;
    font-weight: bold;
    margin-top: 5px;
    font-family: "Noto Serif JP", serif;
    text-decoration: none;
}

.my_blog_list_excerpt {
    padding-left: 10px;
}

/*===== 春夏秋冬の枠 =====*/
#cc-m-12493304397,
#cc-m-12494405497,
#cc-m-12494406097,
#cc-m-12494406297 {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
}

/* 文字の調整 */
#cc-m-12493304397 p,
#cc-m-12494405497 p,
#cc-m-12494406097 p,
#cc-m-12494406297 p {
    font-size: 1.125rem;
    line-height: 2rem;
}

/* 春とご祈祷のみテキスト右寄せ */
#cc-m-12494405497 p,
#cc-m-12494406297 p {
    text-align: right;
}

/* 写真のサイズ調整 */
#cc-m-12493304397 img,
#cc-m-12494405497 img,
#cc-m-12494406097 img,
#cc-m-12494406297 img {
    width: 100%;
    /* aspect-ratio: 4 / 3; */
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

/* 写真を角丸に */
#cc-m-12493304397 img,
#cc-m-12494406097 img {
    border-radius: 10px 0 0 10px;
}

#cc-m-12494405497 img,
#cc-m-12494406297 img {
    border-radius: 0 10px 10px 0;
}


/* イメージアイコン */
.top_img-ico {
    background-color: #dad0c9;
    /* border: #dad7d4 solid 2px; */
    border-radius: 50%;
    width: 150px;
    height: 150px;
    text-align: center;
}

/* イメージアイコンの位置 */
#cc-m-12493304397 .top_img-ico,
#cc-m-12494406097 .top_img-ico {
    font-size: 2rem;
    line-height: 150px;
    /* margin-left: -80px; */
}

#cc-m-12494405497 .top_img-ico,
#cc-m-12494406297 .top_img-ico {
    font-size: 2rem;
    line-height: 150px;
    margin-left: auto;
    /* margin-right: -80px; */
}

/* googleMapの大きさ */
#cc-matrix-3410575797 iframe {
    width: 100%;
}


/*///////////////// 神明大神宮について /////////////////*/
.tb-enkaku th {
    border-top: solid 1px #ccc;
    padding: 10px;
    text-align: left;
    vertical-align: top;
    width: 300px;
}

.tb-enkaku th p {
    font-weight: normal;
    position: relative;
}

.tb-enkaku td {
    border-top: dotted 1px #ccc;
    padding: 10px 30px 50px;
}

/*///////////////// 年間行事 /////////////////*/
.tb-schedule th {
    background-color: #ededed;
    padding: 10px 20px;
    border-bottom: solid 2px #fff;
}

.tb-schedule td {
    padding: 10px 20px;
    background-color: rgba(255, 255, 255, 0.5);
}



/*///////////////// 御守のページ /////////////////*/
/* ラインアップのテーブル */
.tb_lineup td{
        /* font-family: "Noto Serif JP", serif; */
        font-family: 'Times New Roman', Times, serif;
        padding: 10px 20px;
        border-bottom: dotted 1px #ccc;
}


/*///////////////// ブログページ /////////////////*/

/* 一覧ページのアイキャッチ画像サイズの調整 */
.j-blog .cc-imagewrapper img {
    width: 100%;
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

.j-blog a{
    text-decoration: none !important;
}

/* ブログ各記事の設定 */
.j-blog-header
{
    margin-bottom: 50px;
}


.j-sa-sidebar-is-open .sticky-nav,
.j-sa-content-is-open-in-meta-mode  .sticky-nav{
    display: none;
}




/*///////////////// 共通 /////////////////*/

/* トリビアの枠 */
.trivia {
    border: solid 2px #ccc;
    border-radius: 6px;
    padding: 20px;
    margin-top: 30px;
    background-color: rgba(255, 255, 255, 0.5);
}

.trivia p {
    font-size: 0.875rem;
    font-family: 'Courier New', Courier, monospace !important;
}

/* 豆知識のアイコン */
.ico_mame {
    display: block;
    width: fit-content;
    border: double 4px #ccc;
    border-radius: 6px;
    background-color: rgba(255, 255, 255, 1);
    line-height: 30px;
    padding: 3px 10px;
    margin-bottom: 10px;
    margin-top: -40px;
}

/* メモ */
.memo {
    border-radius: 6px;
    padding: 20px;
    background-color: rgba(255, 255, 255, 1);
}

/* 余白 */
.spacing {
    height: 100px;
}

/* 行間を広く */
.lh_180 p {
    line-height: 180%;
}

/* 文字 */
.txt_s{
    font-size: small;
}









/*////////// タブレット用調整 //////////*/
@media (min-width: 768px) and (max-width: 1200px) {

    .cc-page-index #header {
        width: calc(100% + 40px);
    }

    #container {
        width: 100%;
    }

    .sticky-nav {
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    ul.mainNav1 li a,
    ul.mainNav2 li a {
        padding-right: 50px;
    }

    #sidebar {
        width: 100%;
    }

    #content {
        padding: 0 5%;
    }

    #footer {
        padding: 0 20px;
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }


    /*===== 春夏秋冬の枠 =====*/

    /* 写真のサイズ調整 */
    #cc-m-12493304397 img,
    #cc-m-12494405497 img,
    #cc-m-12494406097 img,
    #cc-m-12494406297 img {
        width: 100%;
        aspect-ratio: 4 / 3;
        /* aspect-ratio: 1.618 / 1; */
        object-fit: cover;
    }

    /* イメージアイコン */
    .top_img-ico {
        width: 100px;
        height: 100px;
    }

    /* イメージアイコンの位置 */
    #cc-m-12493304397 .top_img-ico,
    #cc-m-12494406097 .top_img-ico {
        font-size: 1.5rem;
        line-height: 100px;
        /* margin-left: -80px; */
    }

    #cc-m-12494405497 .top_img-ico,
    #cc-m-12494406297 .top_img-ico {
        font-size: 1.5rem;
        line-height: 100px;
        margin-left: auto;
        /* margin-right: -80px; */
    }

    /*===== ブログページ の上部余白=====*/
    .cc-page-blog #container {
        padding-top: 100px;
    }



}