/* リセット */
    * { margin: 0; padding: 0; box-sizing: border-box; }

    html {
        overflow-x: hidden;
    }
/*color*/
:root{
    --color-accent: #8b7746;
    --color-accent-light:#b19c43;
    --color-text: #333;
    --color-border: #ddd;
    --color-bg: #faf8f3;
    --color-bg-table:#f8f6f2;
}


body, html {
        margin: 0;
        padding: 0;
        font-family: "Noto Serif JP", serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
        font-size: 15px;
        line-height:1.8;
        letter-spacing: 1px;
        color:var(--color-text);
        overflow-x: clip;
}
/*ページ内をスムーズにスクロールする*/
html {
  scroll-behavior: smooth;
}

a {
    transition: all 0.3s ease;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

section {
    padding-top: 20px;
    padding-bottom: 20px;
}

ul {
    list-style: none;
}

.pc-only{display:block}
.sp-only{display:none}

.clear{clear: both;}

@media (max-width: 789px) {
.pc-only{display:none}
.sp-only{display:block}
}

/*トップページ*/
/*front view*/
.fv {
    position: relative;
    overflow: hidden;
}

.swiper {
  width: 100%;
  height: 100vh;
  /*aspect-ratio: 16 / 9;*/
}
.heroSwiper {
    position: relative;
    z-index: 1;
}
.swiper-slide {
    width:100%;
    height: 100vh;
}
.swiper-slide picture {
    display: block;
    width: 100%;
    height: 100%;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display:block;
    object-position: center center;
}

.fv-logo,
.fv-copy {
    position: absolute;
    z-index: 10;
}
.fv-logo{
    position:absolute;
    left:5%;
    top:20%;
    transform:translateY(-20%);
}
.fv-logo h1::before{
    display: none;
}

.fv-copy{
    position:absolute;
    right:5%;
    top:50%;
    transform:translateY(-50%);
    display:flex;
}
@media (max-width: 768px) {
    .fv-logo{
    position:absolute;
    left:50%;
    top:1em;
    transform:translateX(-50%);
    }
    .fv-logo img{
        width:60px;
    }
    .fv-copy{
        display: none;
    }
    .fv-copy-sp{
        width:100%;
        display: flex;
        justify-content: center;
        flex-direction: row-reverse;
        padding:1em;
    }
    .fv-copy-sp .catch{
        font-size:2.6em;
        padding-left:1em;
    }
    .fv-copy-sp p{
        font-size:1.4em;
        writing-mode: vertical-rl;
    }

}
@media (max-width: 540px) {
    .swiper {
        height: auto;
        aspect-ratio: 4 / 5;
    }
    .swiper-slide img {
    object-fit: contain;
    object-position: center top;
}

    .fv-logo{
    position:absolute;
    left:50%;
    top:1em;
    transform:translateX(-50%);
}
    .fv-logo img{
        width:50px;
    }
    .fv-copy{
        display: none;
    }
    .fv-copy-sp{
        width:100%;
        display: flex;
        justify-content: flex-start;
        flex-direction: row-reverse;
        padding:1em;
    }
    .fv-copy-sp .catch{
        font-size:1.6em;
        padding-left:1em;
    }
    .fv-copy-sp p{
        writing-mode: vertical-rl;
    }
    .fv-copy-sp p {
        font-size: 1em;
    }
}

/*グローバルナビ*/


.g-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4rem;
    padding:1.5rem 3rem;
}

.g-nav__logo{
    flex-shrink:0;
    width: 170px;
}
.g-nav__logo img{
    width:100%;
    display: block;
}

.g-nav__list{
    display:flex;
    align-items:center;
    gap:2.5rem;
    flex-wrap: nowrap;
    margin:0;
    padding:0;
    list-style:none;
}

.g-nav__list a{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#444;
    text-decoration:none;
    text-align: center;
    padding-bottom:0.5em;
    border-bottom:thin solid #fff;
}
.g-nav__list a:hover{
    color:var(--color-accent);
    border-bottom:thin solid var(--color-accent);
}

.g-nav__list .ja{
    font-size:1rem;
    line-height:1.4;
}

.g-nav__list .en{
    font-size:.75rem;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.7;
}
@media (max-width: 1399px) {
    .g-nav__list {
        gap: 1rem;
        flex-wrap: wrap;
    }

    .g-nav__list li {
        flex: 0 0 20%; /* 4列×2段の例 */
    }
}


/*english 中文　SNS*/
.sub-nav{
    padding: .8rem 0 1rem;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1.2rem;
}

.lang-nav, .sns-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1.2rem;

    margin:0;
    padding:0;
    list-style:none;
}

.lang-nav li, .sns-nav li{
    display:flex;
    align-items:center;
}

.lang-nav a, .sns-nav a{
    display:block;
    color:#333;
    font-size:1rem;
    text-decoration:none;
    transition:.3s;
}
.lang-nav, .sns-nav a i{
    font-size:1.2rem;
    color:#333;
}

.lang-nav a:hover{
   color:var(--color-accent);
}
.sns-nav a:hover{
   color:var(--color-accent);
}
/* 区切り線 */

.sub-nav .divider{
    width:1px;
    height:14px;
    background:#999;
    margin:0 .6rem;
}

/*ドロワー*/
/*==================================
 Drawer Button
==================================*/

.drawer-btn{
    display:none;

    position:fixed;
    top:5px;
    right:20px;

    width:44px;
    height:44px;

    border:none;
    background:none;
    cursor:pointer;

    z-index:100;
}

.drawer-btn span{
    position:absolute;
    left:10px;

    width:24px;
    height:2px;

    background:#222;

    transition:.3s;
}

.drawer-btn span:nth-child(1){
    top:16px;
}

.drawer-btn span:nth-child(2){
    top:26px;
}

/* 開いた時 */

.drawer-btn.active span:nth-child(1){
    transform:rotate(45deg);
    top:21px;
}

.drawer-btn.active span:nth-child(2){
    transform:rotate(-45deg);
    top:21px;
}


/*==================================
 Responsive
==================================*/

@media (max-width:1024px){

    .drawer-btn{
        display:block;
    }

    .header-nav{

    position:fixed;
    top:0;
    right:-100%;
    width:100%;
    height:100vh;
    background:#fff;
    transition:.4s;
    overflow:auto;
    z-index:90;
}

    .header-nav.active{
    right:0;
}
    .g-nav{
    flex-direction:column;
}
    .g-nav__list{
        flex-direction:column;
        gap: 1.2rem;
    }

}

/*indexのコンテンツ*/
.contentsIndex {
  padding-top: 0px;
  padding-bottom: 20px;
  margin-bottom: 50px;
  margin-top: 0px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  /*padding-left: 1%;
  padding-right: 1%;*/
  text-align: left;
  max-width: 1280px;
}
@media screen and (max-width: 1000px) {
  .contentsInner {
    width: 96%;
    padding: 0 2%;
  }
}

/*参拝・お守り*/
.pickup_area{
    width:100%;
    max-width:500px;
    height:330px;
    position: relative;
    display: flex;
    justify-content: center;
    align-content: center;
        margin: 0 auto;

}
.pickup_area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35); /* 35%の黒 */
}
.pickup_area > * {
  position: relative;
  z-index: 1;
}
.pickup_area:hover::before{
    background: rgba(0, 0, 0, 0.15); /* 15%の黒 */
    transition: all 0.3s ease;
}
#pickup .sanpai{
    background-image: url(../imgs/index/bg_pickup_sanpai.jpg);
    background-size: cover;
    backdrop-filter: brightness(70%);
}
#pickup .omamori{
    background-image: url(../imgs/index/bg_pickup_omamori.jpg);
    background-size: cover;
}

.pickup_area .ttl_img{
    display: flex;
    align-items: center;
    justify-content: center;
}
.pickup_area .ttl_img > div{
    text-align: center;
}
.pickup_area .ttl_img img{
    width:55px;
    height: auto;
}

.pickup_area .en{
    font-size:.9rem;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    display: block;
}

/*神前結婚式・英霊顕彰館のエリア*/

#pickup2 .grid2{
    gap:0;
    margin-bottom:8em;
    position: relative;
}
.pickup2-img{
    height: 400px;
}
#pickup2 .wedding{
    background-image: url(../imgs/index/wedding_img02.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

#pickup2 .eirei{
    background-image: url(../imgs/index/eirei_img.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.wedding-text-cover{
    background:url(../imgs/bg_beige.jpg) repeat;
    display: flex;
    justify-content: center;
    align-content: center;
}
.eirei-text-cover{
    background:url(../imgs/bg_brown.png) repeat;
    display: flex;
    justify-content: center;
    align-content: center;
}

.wedding-text-cover a{
    color:#4d4d4d;
    text-align: center;
}
.wedding-text-cover a:hover{
    color:var(--color-accent);
}
.eirei-text-cover a{
    color:#4d4d4d;
    text-align: center;
}
.eirei-text-cover a:hover{
    color:var(--color-accent);
}

.pickup2-text{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    width:700px;
}

.pickup2-text > div p{
    text-align: center;
    padding-top:1em;
    margin: 0;
}

.wedding-text-cover .pickup2-text img{
    width:45px;
    margin:0 auto
}

.eirei-text-cover .pickup2-text img{
    width:55px;
    margin:0 auto
}
@media (max-width:768px){
    #pickup2 .grid2{
        grid-template-columns: repeat(2, 1fr);
        margin-bottom:4em;
    }
    .pickup2-img{
    height: 300px;
}
    .pickup2-text{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    width:100%;
    max-width:700px;
}
    .pickup2-text > div{
        display:flex;
        flex-direction: row;
        align-items: center;
    }
    .wedding-text-cover,.eirei-text-cover{
        padding:2em 1em;
    }
}
@media (max-width:540px){
     #pickup2 .grid2{
        grid-template-columns: repeat(1, 1fr);
    }
    .pickup2-img{
    height: 300px;
}
    .pickup2-text{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    width:100%;
    max-width:700px;
}
    .pickup2-text > div{
        display:flex;
        flex-direction: row;
        align-items: center;
    }

    .wedding-text-cover{
        padding:2em 1em;
    }
    .eirei-text-cover{
        order:2;
        padding:2em 1em
    }
    .pickup2-img.eirei{
        order:1;
    }

}

/*年間行事などのその他メニュー３つ*/
#other-menu a{
    color:#4d4d4d;
}
#other-menu a:hover{
    color:var(--color-accent);
}
.other-menu-box{
    flex:1;
    display:flex;
    justify-content: space-between;
    gap:20px;
}
.other-menu-box:hover{
    opacity: 0.8;
    transition: all 0.3s ease;
}
.other-menu-box-ttl{
    text-align: center;
    width:100%;
}
.other-menu-box-ttl img{
    width:45px;
    display: block;
    margin:0 auto 1em;

}
.other-menu-box-ttl span{
    font-size: 0.9em;
}
.other-menu-box-img{
    aspect-ratio: 1 / 1;
    width: 250px;
    height: 250px;
}
.other-menu-box-img img{
    width:100%;
    /*height: 100%;*/
    overflow: hidden;
    object-fit: cover;
}
@media (max-width:768px){
    #other-menu .flexarea{
        flex-direction: row;
        padding:0 1em;
    }

    .other-menu-box-ttl img{
    width:35px;
    display: block;
    margin:0 auto 1em;

}
}
@media (max-width:540px){
    #other-menu .flexarea{
        flex-direction: column;
        padding:0 1em;
    }
}


/*参拝時間*/
#sanpai-jikan h2{
    text-align: center;
}
#sanpai-jikan h2 span{
    font-size:0.7em;
    color: #4d4d4d;
}
#sanpai-jikan .flexarea{
    gap:40px;
}
.table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--color-accent);
    margin-top: 2rem;
}

.table th,
.table td {
    padding: 1.2rem 0.8rem;
    border-bottom: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
    line-height: 1.8;
}

.table th {
    width: 30%;
    background: var(--color-bg-table);
    color: #5a4c3b;
    font-weight: 600;
}

.table td {
    background: #fff;
}

.table_gyouji .date{
    width:8em;
}

@media (max-width:540px){
    .table th {
    width: 38%;
    white-space: nowrap;
}
}

.table-front-jikan {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--color-accent);
    margin-top: 2rem;
}

.table-front-jikan th,
.table-front-jikan td {
    padding: 1.2rem 0.8rem;
    border-bottom: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
    line-height: 1.8;
}

.table-front-jikan th {
    width: 20%;
    background: var(--color-bg-table);
    color: #5a4c3b;
    font-weight: 600;
}

.table-front-jikan td {
    background: #fff;
}



@media (max-width:540px){
    .table-front-jikan th,
.table-front-jikan td {
    font-size:0.9em
}
    .table-front-jikan th {
    width: 120px;
}
}

/*お知らせ欄*/
#news{
    background: url(../imgs/bg_beige.jpg);
}
.news{
    width: 100%;
    max-width:1140px;
    margin:0 auto;
    padding:1em 0;
}
.news .ttl_img{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom:1em;
}
.news .ttl_img > div{
    text-align: center;
}
.news .ttl_img img{
    width:45px;
    height: auto;
}
.news-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    padding: 0.5em
}

.news-item {
    display: flex;
    gap: 1.5rem;
    padding:.2em;
}

.news-item--featured {
    grid-column: 1 / -1;
    background-color:rgba(255,255,255,0.7);
    /*background-image: url(../imgs/bg_post_featured.jpg);*/
}
.news-item--featured .news-title{
    font-size:1.4em;
}
.news-item--featured .news-thumb {
    width:400px;
    aspect-ratio: 7 / 3;
}
.news-item--featured .news-thumb img{
    object-position: center 80%;
}
.news-thumb {
    width: 120px;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-body {
    display: flex;
    flex-direction: column;
}
.news-date{
    font-size: .85rem;
    padding: .2em 0;
}
.news-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-cat {
    padding: .2em .8em;
    border: 1px solid var(--color-accent-light);
    font-size: .75rem;
    color: var(--color-accent-light);
}
.kakomi {
    border: thin #ccc solid;
    padding: 10px;
    margin: 3px 10px 10px;
}

@media (max-width: 540px) {
    .news-list {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
	a.news-item--featured{
        flex-direction: column;
    }
	.news-item--featured .news-thumb {
    width: 100%;
    aspect-ratio: 7 / 3;
}
}
@media (max-width:768px){
    .news-list > .news-item:nth-child(n+5){
        display: none;
    }

}


/*===============================
base contents
===============================*/

#second header{
    position: relative;
    padding:0.5em;
}

#second .sub-nav{
    display: none;
}
.g-nav__logo_sp{
    display:none;
}

@media screen and (max-width: 1024px) {
    .g-nav__logo_sp{
    display:block;
}
    .g-nav__logo_sp img{
    display:block;
}
#second .sub-nav{
    display: block;
}

}


.contentsInner {
  padding-top: 0px;
  padding-bottom: 20px;
  margin-bottom: 50px;
  margin-top: 0px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  /*padding-left: 1%;
  padding-right: 1%;*/
  text-align: left;
  max-width: 1000px;
}
@media screen and (max-width: 1000px) {
  .contentsInner {
    width: 96%;
    padding: 0 2%;
  }
}

.bread .contentsInner {
  padding-bottom: 10px;
  padding-top: 10px;
  margin-bottom: 0px;
}
.bread {
  background-color: var(--color-bg);
  margin-bottom: 50px;
}
@media screen and (max-width: 789px) {
  .bread {
    font-size: 0.8em;
  }
}
.bread a:link, .bread a:visited, .bread a:active {
  color: #000000;
  text-decoration: none;
}
.bread a:hover {
  text-decoration: underline;
}
.bread a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
}

/*セカンドヘッダー　イメージ共通セット*/
.header_img_second{
    width:100%;
    height: 50vh;
    overflow: hidden;
    position: relative;
}
.header_img_second img{
    width:100%;
    height: 100%;
    object-fit: cover;
}

/*セカンドヘッダー　サブメニュー*/
.second-submenu{
    position: absolute;
    width:100%;
    left:0;
    top:0;
    padding:12px 0;
    background-color:rgba(177, 156, 67, 0.8) ;
}    
.second-submenu ul{
    display: flex;
    justify-content: space-around;
    width:100%;
    max-width:1000px;
    margin:0 auto;
}
.second-submenu ul li{
    padding:0 0.5em
}
.second-submenu ul li a::before{
    content: "\f152";
    font-family: "Font Awesome 6 Free";
    font-weight: 300;
    margin-left: .5em;
    margin-right: 1em;
}
.second-submenu ul li a{
    color:#fff;
    font-weight: bold;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 540px){
.second-submenu ul{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
}

}

@media screen and (max-width: 768px) {
    .second-submenu ul li a{
        font-size:0.95em;
    }
    .second-submenu ul li a.mojidume{
        letter-spacing:-0.5px;
    }
    .second-submenu ul li a::before {
    margin-left: 0em;
    margin-right: 0.5em;
}
}

/*セカンド　見出し共通セット*/

h1 {
  font-size: clamp(1.7rem, 1.5rem + 1vw, 2rem);
  text-align: center;
  margin:2em 0;
  font-weight: lighter;
  position: relative;
  padding-bottom: 10px;
}
h1:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color:var(--color-accent);
}

h2 {
  font-size: clamp(1.4rem, 1.3rem + 0.8vw, 1.5rem);
  text-align: left;
}

h3 {
  font-size: 1.3rem;
  text-align: left;
  padding-bottom:0.1em;
  margin-bottom:0.4em;
  border-bottom:thin solid var(--color-accent-light);
}

h4 { font-size: 1.2rem; } 
h4:before { content: "・";color:var(--color-accent-light) }
h5 { font-size: 1.1rem; } 
h6 {
     font-size: 1rem;
     font-weight: bold;
 } 
p  { 
    font-size: 1rem;
    text-align: justify;
    overflow-wrap: break-word;
 }      /*16px*/

/*flexとgrid　基本セット*/
.flexarea{
    display:flex;
    gap:10px;
}
.f-between{justify-content: space-between;}
.f-left{justify-content: flex-start;}
.f-right{justify-content: flex-end;}
.f-center{justify-content: center;}
.f-stretch{align-items: stretch;}

.grid2{
    display: grid;
    gap:10px;
    grid-template-columns: repeat(2, 1fr);
}

.grid3{
    display: grid;
    gap:10px;
    grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 768px) {
    .flexarea{
    flex-direction: column;
    }
    .grid2{
    grid-template-columns: repeat(1, 1fr);
    }
    .grid2{
    grid-template-columns: repeat(1, 1fr);
    }
}
/*textblock*/
.textarea{
    margin:40px 0;
}
.textblock{
    flex:1;
}
.textblock p{
    margin-left:1.2em;
    margin-bottom:1em;
}
.textblock p span.accent{
    font-weight: bold;
    color:#111;
    background: linear-gradient(transparent 35%, rgba(242, 242, 157, 0.8) 65%);
    border-bottom:solid 3px #cfcf7e;
    padding-bottom: 0.2em;
}
.textblock p span.accent_red{
    font-weight: bold;
    color:red;
}

/*imgblock*/

.imgblock{
    flex: 0 0 360px;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-left:1em;
}
.imgblock img{
    width:100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
.imgblock{
    padding-left:0em;
}
}

/*ａリンクボタン*/
a.btn{
    display: block;
    width:100%;
    max-width:300px;
    padding:0.5em;
    border:thin solid var(--color-accent);
    background-color:#fff;
    color: var(--color-accent);
    text-align:center;
}
a.btn:hover{
    background-color: var(--color-accent);
    color:#fff;
}

a.btn_wide{
    display: block;
    width:100%;
    max-width:500px;
    padding:0.5em;
    border:thin solid var(--color-accent);
    background-color:#fff;
    color: var(--color-accent);
    text-align:center;
    margin:2em auto;
}
a.btn_wide:hover{
    background-color: var(--color-accent);
    color:#fff;
}

/*===============================
footer
===============================*/

footer{
    background-color: #4d4d4d;
    color:#fff;
    padding:2em 0;
}
.footer_logo{

}
.footer_logo img{
    height:320px;
    width:auto;
}
footer .grid3{
    margin:1.5em 1.5em;
}
footer ul{
    margin-bottom:25px;
}
footer .grid3 ul li{
    line-heght:1.4;
    margin-left:1em;
}
footer .grid3 ul li::before{
    content: ">";
    color:#fff;
    font-size:0.9em;
    margin-right:0.5em;
}
footer a{
    color:#fff;
    font-size:0.9em;
    border-bottom:thin dashed;
    border-bottom-color:#4d4d4d;
}
footer a:hover{
    border-bottom:thin dashed;
    border-bottom-color:#fff;
}
footer .jinja_info{
    display:flex;
    flex-wrap:wrap;
    align-content: center;
    padding: 1em;
}
footer ul.sns-nav a i{
    color:#fff;
}
footer a.footer_toi{
    width:100%;
    border:thin solid #fff;
    padding:1em 2em;
    display: block;
    text-align: center;
    margin:1em 0
}
footer a.footer_toi:hover{
    background:#fff;
    color:#4d4d4d;
}
@media screen and (max-width: 768px) {
    footer .flexarea{
        flex-direction: row;
    }
    footer .f-between{
        justify-content: center;
    }
    footer .sitemap{
    display:none;
}
}

/*ページトップへ戻る*/
.pagetop {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 80px;
  z-index: 1000;
  display: none;
}

.pagetop img {
  width: 100%;
  height: auto;
}
/* z-index
------------------------------
1  : 通常コンテンツ
10 : ヒーローオーバーレイ
20 : ヘッダー
30 : グローバルナビ
40 : ドロワーメニュー
50 : モーダル
------------------------------ */

/*===================================================
由緒
===================================================*/
/*当社のあゆみスライダー*/
.ayumi-swiper{
    width:415px;
    height:auto !important;
    max-width:100%;
    margin:0 auto;
}

.ayumi-swiper .swiper-slide{
    display:flex;
    justify-content:center;
    align-items:center;
    height:auto !important;
}

.ayumi-swiper img{
    width:100%;
    aspect-ratio:415 / 412;
    object-fit:contain;
    display:block;
}

.ayumi-pagination{
    position:relative;
    margin-top:20px;
    text-align:center;
}

.koushitsu-hounou-row{
    display:grid;
    grid-template-columns:2fr 5fr;
    padding:20px;
}
.koushitsu-hounou-row:nth-child(odd){
    background-color:var(--color-bg-table);
}
.koushitsu-hounou-row .date{
    font-weight: bold;
}

.table-nenpyou {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--color-accent);
    margin-top: 2rem;
}

.table-nenpyou th,
.table-nenpyou td {
    padding: 1.2rem 0.8rem;
    border-bottom: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
    line-height: 1.8;
}

.table-nenpyou th {
    width: 30%;
    background: var(--color-bg-table);
    color: #5a4c3b;
    font-weight: 600;
    
}

.table-nenpyou td {
    background: #fff;
}



@media (max-width:540px){
    .table-nenpyou th {
    width: 50%;
    white-space: nowrap;
}
}

@media (max-width: 768px){
    .koushitsu-hounou-row{
        grid-template-columns:repeat(1, 1fr);
    }
}
/*===================================================
参拝・ご祈願
===================================================*/
.kigan-nagare-row{
    padding:20px;
}
.kigan-nagare-row:nth-child(odd){
    background-color:var(--color-bg-table);
}

.kigan-nagare-row .nagare-midashi{
    font-weight: bold;
    padding:0.5em;
    font-size: 1.05em;
}
.kigan-nagare-row .nagare-desc{
    margin-left:2em;
}

.gani-box{
    background-color: var(--color-bg);
    padding:clamp(1em, 2.5vw, 2em);
    line-height: 2.5;
    font-size: 1.1em;
    font-weight: 600;
}
.gani-box span{
    margin:0 1em;
    display: inline-block;
}
.uketuke_time span{
    display: inline-block;
}

.contact-box{
    max-width:700px;
    margin:60px auto;
    padding:40px;
    background:#fff;
    border:1px solid #d8c8a3;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    text-align:center;
}

.contact-box h2{
    margin-bottom:20px;
    font-size:2.2rem;
    color:#7b5b22;
    letter-spacing:.08em;
}

.contact-text{
    margin-bottom:30px;
    line-height:2;
    color:#555;
}

.contact-item{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    margin-bottom:18px;
}

.contact-item .icon{
    font-size:clamp(1.5em, 2.5vw, 2em);
    color:#b08b47;
}

.contact-item a{
    font-size:clamp(1.4em, 2.5vw, 2em);
    font-weight:700;
    color:#333;
    text-decoration:none;
    transition:.3s;
}

.contact-item a:hover{
    color:#8b6a30;
}

.contact-note{
    margin-top:25px;
    font-size:1.4rem;
    color:#666;
    text-align: center;
}



/*====================================================
御朱印ページ＆お守りページ
====================================================*/

.juyohin_cover{
    width:100%;
    margin:0 auto;
	position: relative;
	padding: 25px;
    background: url(../imgs/juyohin/bg_juyohin.jpg);
}
.juyohin {
    width:100%;
    max-width:750px;
	position: relative;
	padding: 25px;
	margin: 2em auto;
	background: rgba(255,255,255,0.7);
	box-shadow: 2px 2px 4px -2px gray;
}

.juyohin .flexarea{
    display: flex;
    justify-content: flex-start;
}
.juyohin .flexarea > div{
    flex:1;
    padding:2em;
}
.juyohin .flexarea > div h5{
    margin-bottom:1em;
    line-height: 1.6;
}
.juyohin .wide > div h5{
    margin-bottom:1em;
    line-height: 1.6;
}
.juyohin .flexarea > div img{
    width: 100%;
    object-fit: contain;
}
.juyohin .wide{
    padding:2em;
}
.juyohin .wide img{
    width: 100%;
    object-fit: contain;
}
.juyohin_cover p{
    width:100%;
    max-width:750px;
	position: relative;
	padding: 25px;
	margin: 2em auto;
}
.juyohin_cover .sns-nav li a i{
    font-size:2em;
}
.juyohin-sns{
    padding:2em 0;
    margin:3em auto;
    width:100%;
    border-top:thin solid var(--color-accent);
    border-bottom:thin solid var(--color-accent);

}
.juyohin-sns h4{
    padding-bottom:1em;
}
.juyohin-sns h4::before{
    content:"";
}

@media (max-width:540px) {
    .juyohin_cover {
	padding: 15px;
}
	.juyohin {
		width: 100%;
        margin:2em auto;
	}
    .juyohin_cover p{
	padding: 5px;
	margin: 1em auto;
}
    .juyohin .flexarea{
    flex-direction: column;
}
    .juyohin .flexarea > div{
    flex:1;
    padding:1em;
}
    .juyohin .wide{
    padding:1em;
}
    
}

/*お守りページ*/
section#omamori .contents{
    background: url(../imgs/juyohin/bg_juyohin.jpg) repeat-y;
    background-position: center top;
    background-size:contain;
}

section#omamori h3{
    margin-top:2em;
}
section#omamori h3 span{
    font-size:0.8em;
    margin-left:1em;
}

.omamori-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  border-bottom:2px solid #ddd;
  margin-bottom:30px;
}

.tab{
  padding:12px 18px;
  min-height:44px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#f7f7f7;
  border:1px solid #ddd;
  border-bottom:none;

  border-radius:8px 8px 0 0;

  font-size:14px;
  line-height:1.4;

  cursor:pointer;
  transition:all .2s ease;
}
.tab:hover{
  background:#eee;
}
.tab.active{
  background:#fff;
  border-color:#ddd;
  border-bottom:2px solid #fff;
  font-weight:600;
  position:relative;
  top:2px;
}

@media (max-width:768px){

.omamori-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  border-bottom:none;
}

.tab{
  border-bottom:1px solid #ddd;
  border-radius:6px;
}

.tab.active{
  border-bottom:2px solid #333;
  top:0;
}

}

.tab-content{
  display:none;
}

.tab-content.active{
  display:block;
}

.omamori-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}
.omamori-grid p{
    margin:0;
    padding:0;
    font-size: inherit;
}

.omamori-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  padding:24px;
    height:100%;
}

.omamori-img{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.omamori-img img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.omamori-body{
  display:flex;
  flex-direction:column;
  flex-grow:1;
}

h5.omamori-name{
  margin-top:12px;
    font-family: serif;
    font-size: 1.2em;
    line-height: 1.6;
    letter-spacing: 1px;
}

p.omamori-en{
  font-size:14px;
  color:#777;
    letter-spacing: 0.03em;
    text-align: left;
}

p.omamori-text{
  margin-top:10px;
  line-height:1.6;
}

p.omamori-price{
  margin-top:auto;
  font-weight:500;
}

@media (max-width:768px){

.omamori-grid{
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
    .omamori-card{
  padding:18px;
}
    h5.omamori-name{
  
    font-size: 1.1em;
    
}

}
@media (max-width:540px){

.omamori-grid{
  grid-template-columns:repeat(1,1fr);
  gap:10px;
}
}

.photo_grid{
    width:90%;
    margin:0 auto;
}
.photo_grid > div img{
    width:100%;
    object-fit: cover;
    overflow: hidden;
}

/*==================================================
年中行事
==================================================*/

.event-month{
    margin-bottom:80px;
}

.event-row{
    display:grid;
    grid-template-columns:1.5fr 2fr 5fr;
}

.event-row h5{

}
.event-row > div{
    padding:20px;
    border:1px solid #ddd;
}

.event-title-box{
    background-color: var(--color-bg-table);
}

.event-month h4{
    margin-top:40px;
}

.event-meta{
    font-size:1rem;
    color:#666;
    font-weight: bold;
}
.event-blank{
    display: inherit;
}
.event-photo{
   
}
.event-photo img{
    width:100%;
}

.huki{
	width: 100%;
    max-width:450px;
	margin: 0 auto;
}
.huki p{
     font-size: 1.1em;
}

.midashi_b{
    font-weight: bold;
    font-size: 1.1em;
}
@media (max-width:768px){

.event-meta{
    display:flex;
    gap:1em;
    align-items:center;
}
.event-blank{
    display: none;
}

.event-row{
    display:grid;
    grid-template-columns:repeat(1,1fr);
    margin-top:10px;
}

.event-title{
    margin-bottom:16px;
    font-size:1.25rem;
}

.event-photo{
    margin-bottom:16px;
}

.event-photo img{
    width:100%;
    display:block;
}
.huki{
	width: 100%;
}
}

/*==================================================
神前結婚式
==================================================*/
.wedding-top{
    width:100%;
    max-width:650px;
    height: 300px;
    margin: 0 auto;
}
.wedding-lead{
    text-align: center;
    font-size: 1.2rem;
    font-weight:bold;
     margin: 2rem auto;
}
.wedding-top img{
    width:100%;
    height: 100%;
    object-fit:cover;
    object-position:center center;
}

.wedding-shidai{
    background-color: var(--color-bg);
}
.wedding-shidai-row{
    padding: 1rem 0;
    margin:1rem auto;
    background-color:#fff;
    width: 85%;
    max-width:700px;
}

.wedding-shidai-row > div{
    padding:20px;
    vertical-align: top;
}

.wedding-shidai-title {
  margin: 0 auto;
  text-align: center;
  width:100%;
  max-width:600px;
  color:var(--color-accent);
}

.wedding-shidai-title > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  font-size: 1.5rem;
  font-weight: normal;
  white-space: nowrap;
}

.wedding-shidai-title > span::before,
.wedding-shidai-title > span::after {
  content: "";
  width: 80px;
  height: 1px;
  background: #333;
  flex-shrink: 0;
}

.wedding-shidai-title small {
  display: block;
  margin-top: .3em;
  font-size: .75rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .wedding-shidai-title-title > span {
    gap: .6em;
    font-size: 1.2rem;
  }

  .wedding-shidai-title > span::before,
  .wedding-shidai-title > span::after {
    width: 40px;
  }
}


.wedding-shidai-desc{
    display: flex;
    align-items: center;
    justify-content: center;
    padding:0 1rem;
}
.wedding-shidai-desc img{
    max-width:300px;
    margin: 0 2em;
}
.utage_img{
    float:right;
    margin:0 0 1em 1em;
}

/*結婚式風景スライド*/

.slide-container_cover{
    position:relative;
}
.slide-gyouji-ttl{
    position: absolute;
    top:-40px;
    left:10%;
    z-index:3;
}
.slide-container {
    width: 100%;
    margin: 0px auto;
    display: flex;
    align-items: center;
    overflow: hidden;
    z-index:4;
    position: relative;
}
.slide-wrapper {
  display: flex;
  animation: slide-flow 60s infinite linear 1s both;
}
.slide-wrapper div{
    margin:0 2px;
}
.slide-wrapper-reverse {
  display: flex;
  animation: slide-flow 60s infinite linear 1s both reverse;
}
.slide-wrapper-reverse div{
    margin:0 2px;
}
.caption {
  font-size: 1.5em;
  line-height: 1.8;
    color:#255825;
}
.slide_img{
  width: auto;
    height:300px;
  object-fit:cover;
}

@keyframes slide-flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}


@media (max-width: 540px){
.utage_img{
    width: 100%;
    float:inherit;
    margin:0 0 0 0;
}
}

@media (max-width: 768px){
    
    .wedding-shidai-desc{
    display: flex;
    flex-direction: column;
    }
    .wedding-shidai-desc img{
        display: block;
    margin: 2em auto 1em;
    }
}

/*----------------------------------------
英霊顕彰館
------------------------------------------*/
/*ヘッダー　イメージセット*/
.header_img_second_eirei{
    width:100%;
    height: 80vh;
    overflow: hidden;
    position: relative;
}
.header_img_second_eirei img{
    width:100%;
    height: 100%;
    object-fit: cover;
}
.eirei_logo{
    position: absolute;
    right:10%;
    top:50%;
    transform:translateY(-50%);
}
.eirei-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4rem;
    padding:3rem 3rem;
    background: url(../imgs/bg_brown.png) no-repeat;
    background-size: cover;
}

.eirei-nav__list{
    display:flex;
    align-items:center;
    flex-wrap: nowrap;
    margin:0;
    padding:0;
    list-style:none;
}

.eirei-nav__list a{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#fff;
    font-size: 1.4em;
    text-decoration:none;
    text-align: center;
    padding-bottom:0.5em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    margin:0 1em;
}
.eirei-nav__list a:hover{
    color:#444;
}

.news-item-eirei {
    display: flex;
    gap: 1.5rem;
    padding:.2em;
}

.news-thumb-eirei {
    width: 250px;
    aspect-ratio: 3 / 4;
    flex-shrink: 0;
}

.news-thumb-eirei img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-body-eirei {
    display: flex;
    flex-direction: column;
}
.special_none{
    padding:3em 1em;
    text-align: center;
}

.nenpyo-block{
    margin-left:2em;
    border-left:dashed 1px #333;
    padding:1em;
}
.nenpyo-block:last-child{
    border-left:none;
}

.table-eirei {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--color-accent);
    margin-top: 2rem;
}

.table-eirei th,
.table-eirei td {
    padding: 1.2rem 0.8rem;
    border-bottom: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
    line-height: 1.8;
}

.table-eirei th {
    width: 30%;
    background: var(--color-bg-table);
    color: #5a4c3b;
    font-weight: 600;
}

.table-eirei td {
    background: #fff;
}



@media (max-width:540px){
    .table-eirei th {
    width: auto;
    white-space: nowrap;
}
}
@media (max-width: 768px) {
    .eirei-nav{
    padding:1.5rem 1.5rem;

    }
    

}
@media (max-width: 540px) {
    .eirei_logo{
    height: 300px;
}
    .eirei-nav{
    display:none
        }

    .eirei-nav__list{
    display:flex;
    align-items:center;
    gap:0rem;
    flex-wrap: nowrap;
    
    }

    .eirei-nav__list a{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#fff;
    font-size: 1em;
    text-decoration:none;
    text-align: center;
    padding-bottom:0.5em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    white-space: nowrap;
    margin:0 0.5em;
    }
    .news-item-eirei {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5rem;
    padding:.2em;
}
    .news-body-eirei {
        width:250px;
        margin:0 auto;
    display: flex;
    flex-direction: column;
}
    .news-thumb-eirei {
    margin:0 auto;
}

}
@media (max-width: 1399px) {
    .eirei-nav__list {
        flex-wrap: wrap;
    }

    .eirei-nav__list li {
        /*flex: 0 0 20%; /* 4列×2段の例 */
    }
}

.sec_title{
    height:360px;
    width:100%;
    border-top:thin solid #eee;
    border-bottom:thin solid #eee;
    background-size: cover;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.aramashi{
    background-image: url(../imgs/eirei/bg_aramashi.png);
}
.tenji{
    background-image: url(../imgs/eirei/bg_tenji.png);
}
.kugiri{
    background-image: url(../imgs/bg_brown.png);
    height:120px;
}
.sec_title_logo img{
    width:100%;
    max-width:345px;
}
.aramashi_cover, .tenji_cover{
    background-color:#f7f5ec;
    padding-top:0;
}
.tenji_cover{padding-bottom: 0;}

.aramashi_contents{
    padding:6em 0 3em 0;
    gap:60px;
}
.aramashi_contents > div{
    flex:1
}
.aramashi_contents > div img{
    width:100%;
    max-width:500px;
}
.aramashi_contents > div p{
    font-size:1.1rem;
    line-height: 2;
}
.kotonoha_box{
    line-height: 1.1;
}
.aramashi_contents > div .kotonoha_box img{
    width:361px;
    display: block;
}
.kotonoha_title{
    font-size: 1.3rem;
    margin-left:1em;
}
.kotonoha_box a{
    color:#222;
}
.kotonoha_box a:hover{
    color:var(--color-accent);
}
.kotonoha_box span{
    display: inline-block;
}

.tenji_contents{
    padding:3em 0 3em 0;
}
.koumoku_title{
    text-align: center;
    margin:1.5em auto;
    
}
.koumoku_title img{
    width:100%;
    max-width:345px;
}
.guide_cover{
    padding:6em 0 3em 0;
}
.guide_contents{
    gap:60px;
}
.waribiki_img{
    width:100%;
    max-width:700px;
    margin:2em auto;
    border:thin #ddd solid
}
.waribiki_img img{
    width:100%;
}

.jousetsu_midashi .contentsInner {
    padding:0;
    margin:0 auto;
}
.jousetsu_midashi{
    padding:2em 0;
    background-image: url(../imgs/bg_brown.png);
    background-size: cover;
    background-repeat: no-repeat;
}
/*#jousetsu .grid2 .textblock  img{
    width:100%;
}*/
.jousetsu_box{
    display: flex;
    gap:20px;
    margin-bottom:20px;
}
.jousetsu_eirei{
   width:40%;
}
.jousetsu_eirei img{
    width: 100%;
    max-width:150px;
}
.eirei_name,.caption_title{
    display: block;
    line-height: 1.2;
    font-size:1em;
    font-weight: bold;
    font-family:sans-serif;
}
.eirei_name span{
    display: inline-block;
}
.caption_text{
    font-size:0.8em;
}
.jousetsu_doc{
    width:60%;
    line-height: 1.2;
}
.jousetsu_doc_2{
    display: flex;
    align-items: flex-start;
    position: relative
}
.jousetsu_doc img{
    width:100%;
}
.jousetsu_doc_2 img{
    width:48%;
}
#jousetsu .grid2{
    gap:60px;
}

#jousetsu .textblock p {
    margin-left: 0em;
    margin-bottom: 1em;
}

/*英霊の言の葉スライダー*/
.kotonoha-swiper{
    max-width:750px;
    height:auto !important;
    width:100%;
    margin:0 auto;
}

.kotonoha-swiper .swiper-slide{
    display:flex;
    justify-content:center;
    align-items:center;
    height:auto !important;
}

.kotonoha-swiper img{
    width:100%;
    object-fit:cover;
    display:block;
}

.kotonoha-pagination{
    position:relative;
    margin-top:20px;
    text-align:center;
    z-index: 10;
    min-height: 20px;
}

@media (max-width: 540px){
    .kotonoha-swiper{
    height: auto;
    aspect-ratio: 4 / 5;
    }

    .kotonoha_title{
    font-size: 1.3rem;
    margin-left:0.5em;
}
    .aramashi_contents{
    padding:3em 0 1em 0;
    gap:20px;
}
}

/*==========================================
記念碑
==========================================*/
.kinenhi-grid2{
    display: grid;
    gap:40px;
    grid-template-columns:3fr 2fr;
}
.kinenhi_img{
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.kinenhi_img img{
    width:100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.kinenhi_img span{
    font-size: 0.9em;
}

@media (max-width: 540px){
    .kinenhi-grid2{
        gap:20px;
    grid-template-columns:repeat(1, 1fr);
}
}

/* ================================================= 
お問い合わせ
================================================= */
.contents_inner_toi {
	width: 100%;
    max-width:700px;
    margin:0 auto;
}

.toi input,
.toi textarea {
	padding: 5px;
    font-size:16px;
}
.toi p{
    margin-bottom:1em;
}
span.form-input-size1 input{
    width:100%;
    max-width:350px;
    height:35px;
}
span.form-input-size2 input{
    width:100%;
    max-width:700px;
    height:35px;
}
span.form-input-size2 textarea{
    width:100%;
    max-width:700px;
    height:140px;
}

input.input-submit {
	text-align: center;
	width: 100%;
    height:35px;
    max-width:400px;
    margin:10px auto;
    border:thin solid var(--color-accent);
    background-color:#fff;
    color: var(--color-accent);
    text-align:center;
}
input.input-submit:hover{
    background-color: var(--color-accent);
    color:#fff;
    cursor:pointer;
}


.narabi .btn {
	color: #1D277B;
	font-size: 1.8rem;
	font-weight: bold;
	border: 2px solid #1D277B;
	background-color: #fff;
	transition: .3em;
}

.narabi .btn:hover {
	background-color: #1D277B;
	color: #fff;
}

@media (min-width:1025px) {
	.form-title {
		margin-top: 175px;
	}
}

/*====================================
投稿ページ
====================================*/
.postcolumn .date{
    font-size:0.9em;
    font-family: sans-serif;
    font-weight: bold;
}
.postcolumn h2{
    font-size: 1.8em;
}

.wp-block-paragraph{
    margin:0.5em 0;
}

.wp-block-paragraph strong{
    font-weight: bold;
}

/*福娘*/
.lead-fuku {
    display: flex;
    align-items: center;
}
.lead-fuku:after {
    content: "";
    border-bottom: 1px #333 solid;
    width: 60px;
    height: 1px;
}