@charset "UTF-8";
/* CSS Document ---------------------------------------------------------------------------------------------------------------- */
/* (C)advista */
/* Default Style Reset --------------------------------------------------------------------------------------------------------- */
body,form,fieldset{margin: 0px;padding: 0px;}
fieldset          {border:none;}
h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,dd{margin: 0px;padding: 0px;}
li                {list-style:none;}
input,textarea    {font-size: 1em;}
img{ width: auto; max-width: 100%; border: 0px none;margin: 0;padding: 0;vertical-align: bottom;}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.sp{display: none; } 


/*うつくし明朝*/
@font-face {
    font-family: "ustukushi";
    src: url("../font/ustukushi.woff")  format('woff'),url("../font/ustukushi.otf")  format('otf');
  }

  
/*ヒラギノ明朝 pro w3*/
@font-face {
    font-family: "hiramin_pro_w3";
    src: url("../font/hiramin_pro_w3.woff")  format('woff'),url("../font/hiramin_pro_w3.('otf');")  format('otf');
  }
  

/* Tag Castam ----------------------------------------------------------------------------------------------------------------- */

body              { background: #000; margin: 0; font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",  "ヒラギノ角ゴ Pro W6", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
                   font-size: 80%;line-height: 150%;}
em                {font-weight: normal;font-style: normal;}
a                 {text-decoration: none;color: #000; transition: .2s;}
a:hover           {text-decoration: none; opacity: 0.8; }
input,textarea    {margin: 3px;padding: 2px;}

.serif                 {font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
.flex                  {display: flex; flex-wrap: wrap;}
.text                  {font-size: 16px;  line-height: 1.8em;font-weight: normal; }
.t_m                   {margin: 0 0 10px; }
.text_box              {margin: 0 0 30px; }
.contbox             {width: 100%; max-width: 980px;padding: 0 20px; height: auto;margin: auto;}
.list li                 {margin: 0 0 10px; }
.indent li               {text-indent: -1.2em; padding-left: 1.5em; }
.container          {width: 100%;height: auto;display: block;}
.bold               {font-weight: bold; }



.banner_type {font-family: "ustukushi"; color: #fff;}
.banner_type  a,.banner_type .outbox{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; align-content: center;  color: #fff;}
.banner_type .box {height: 100%; width: 50%;  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; align-content: center; text-align: center; }
.banner_type .title,.banner_type em,.banner_type .btn{width: 100%;display: block;  }
.banner_type .title{ margin:  0 0 20px; font-size: 36px; line-height: 180%; position: relative; }
.banner_type .title:after{content: ""; width: 100%; height: 1px; background: #000; position: absolute; left: 50%; transform: translateX(-50%); bottom:  -5px; 
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(255,255,255,0) 100%);

}
.banner_type em    {margin: 0 0 20px; font-size: 14px; font-family: "メイリオ", Meiryo, Osaka, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",  "ヒラギノ角ゴ Pro W6", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.banner_type .btn  {width: auto; padding:  5px 50px; display: inline-block; background: #000; font-size: 14px; }
  
  

a[href*="tel:"] {
    pointer-events: none;
}
@media only screen and (max-width: 768px) {
    a[href*="tel:"] {
        pointer-events: initial;
    }
}

#sp_sns{display: none; }
#btn{ color: #fff; background: none; border: none; }
#btn button{width: 100%; height: 100%;margin: 0; padding: 0; display: flex; cursor: pointer;
            align-items: flex-end; background: none; border: none; color: #fff; font-size: 10px; position: relative;}
#btn button::after,
#btn button::before
{ content: ""; width: 100%; height: 1px; margin: auto; display: block; background: #fff; position: absolute; left: 0; right: 0;}
#btn button::before{ top: 1px; transition: .2s; }
#btn button::after{ top: 5px; transition: .2s;}
#btn button span{ transition: .2s;}

.open #btn button::before{ top: 1px; transform:translateY(8px) rotate(45deg);}
.open #btn button::after{ top: 5px; transform:translateY(4px) rotate(-45deg);}
.open #btn button span{opacity: 0;}

.center{text-align: center; }
.btn {text-align: center; }
.btn a{min-width: 400px; padding: 15px 10px; font-size: 18px; display: inline-block; color: #a81e2e; border: 1px solid #a81e2e; }
.btn a span{position: relative; }
.btn a span::after{ content: "";width: 12px; height: 12px;margin: auto; transform: rotate(45deg); border: 1px solid #a81e2e; border-width: 3px 3px 0 0;
     position: absolute; top: 0; bottom: 0; right: -16px; box-sizing: border-box; }
.btn a:hover{background: #a81e2e; color: #fff; }
.btn a:hover span::after{border-color: #fff; }

.photo_box{display: flex; flex-wrap: wrap; justify-content: space-between; }

.img_box img{margin: 0 auto; display: block; margin-bottom: 10px;}
#head_wrapper{position: sticky; top: 0; z-index: 1000;  }
header{width: 100%; background: #000;  padding: 0 20px; }
#head_box,
#head_box nav,
#head_box nav ul{display: flex;flex-wrap: wrap;}
#head_box{width: 100%; max-width: 980px; margin: 0 auto;padding: 5px 0;justify-content: space-between; align-items: center;}
#head_box a{color: #fff; font-size: 14px;}
#mainnav li,#sns_list li { border: #353535 1px solid; border-width: 0 0 0 1px; }
#mainnav li:last-of-type,#sns_list li:last-of-type{ border-width: 0 1px;}
#mainnav li a,#sns_list li a{padding: 0 8px; display: flex; align-items: center; justify-content: center;}

.wedding header{background: #d80e0e; }
.wedding #mainnav li,.wedding #sns_list li{ border: #fff 1px solid; border-width: 0 0 0 1px; }
.wedding #mainnav li:last-of-type,.wedding #sns_list li:last-of-type{ border-width: 0 1px;}

#mainnav {margin-right: 10px;}
#sns_list{margin-left: 10px;}
#nav_map{width: 100%; background: rgba(0, 0, 0, 0.7);padding: 20px; overflow: hidden; height: 0;padding: 0; opacity: 0; transition: .4s; 
    position: absolute; top: 100%;  left: 0;    }


.open #nav_map{height: auto; padding: 20px; opacity: 1; transition: .2s; }

.nav_map_master{
    width: 100%; max-width: 980px; margin: 0 auto; color: #fff;
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    grid-template-areas:
    " box0 box0 box0 box0"
    " box1 box2 box2 box2"
    " box3 box3 box4 box5"
    " box3 box3 box6 box7"
    " box3 box3 box8 box9"
    " box10 box10 box10 box10";
}


.wedding  .nav_map_master{
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-areas:
    " box0 box5"
    " box1 box5"
    " box2 box5"
    " box3 box5"
    " box4 box5"
    " box6 box5";
}

.nav_map_master a{color: #fff; }
#cont_main .nav_map_master a{color: #000; }


footer{padding: 20px 20px 90px; background: #000;}
footer small{color: #b7b7b7;}
#foot_box{ width: 100%; max-width: 980px;margin: 0 auto;  color:#fff;}
#foot_box a{display: block; color: #fff;}
#foot_box .link_box a{display: inline-block; }

#foot_box .box{ width: 100%;margin: 0 0 20px;}
#foot_box .box:last-of-type {margin: 0 0 0; }
#foot_box .box.flex{ justify-content: space-between; }

#foot_box nav ul{display: flex;flex-wrap: wrap;}
#foot_id { margin: 0 0 10px;}
#foot_zip a{ display: inline-block;}
#foot_zip li{margin: 0 0 5px;}

#foot_nav{width: calc(100% - (372px + 45px));}
#foot_nav li{margin: 0 26px 0 0; }
#foot_nav li a{ display: flex;align-items: center;line-height: normal;}
#foot_nav li img{ display: inline-block; margin: 0 5px 0 0;}

#foot_banner li{margin: 0 0 10px;}
#foot_banner li:last-of-type{margin: 0; }
#foot_map{width: calc(100% - (372px + 45px)); }
#foot_map a{line-height: 100%; letter-spacing: -0.1em;}
#foot_map a:hover{opacity: 0.8; }
#foot_box .nav_map_master{
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    grid-template-areas:
    " box0 box0 box0 box0"
    " box1 box2 box2 box2"
    " box3 box3 box4 box5"
    " box3 box3 box6 box7"
    " box3 box3 box8 box9"
    " box10 box10 box10 box10";
}

#cont_main .nav_map_master{
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    grid-template-areas:
    " box0 box0 box0 box0"
    " box1 box2 box2 box2"
    " box3 box3 box4 box5"
    " box3 box3 box6 box7"
    " box3 box3 box8 box9"
    " box10 box10 box10 box10"
    " box11 box11 box11 box11";
}


.wedding #foot_box .nav_map_master{
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-areas:
    " box0 box5"
    " box1 box5"
    " box2 box5"
    " box3 box5"
    " box4 box5"
    " box6 box5";
}

.nav_map_master .pearent > a

{margin: 0 0 10px; padding: 0 0 5px 16px; display: block; border-bottom: 1px solid #ccc; font-size: 12px; position: relative;}
.nav_map_master .pearent > a::after{ content: ""; width: 10px;height: 10px; border-radius: 100px;
    background: #626262; position: absolute; top: 1px; left: 2px;  }
header .nav_map_master .pearent > a::after { top: 3px; }

.nav_map_master .pearent:nth-of-type(2n){padding: 0 8px 5px 0;}
.nav_map_master .pearent:nth-of-type(2n +1){padding: 0 0px 5px 8px;}
.nav_map_master .pearent:nth-of-type(n + 4){padding-bottom: 0; }

.nav_map_master .pearent.box0{ grid-area: box0;padding: 0 0 16px;}
.nav_map_master .pearent.box1{ grid-area: box1;padding: 0 0 16px;}
.nav_map_master .pearent.box2{ grid-area: box2;padding: 0 0 16px 16px; }
.nav_map_master .pearent.box3{ grid-area: box3;padding: 0 16px 0 0; }
.nav_map_master .pearent.box4{ grid-area: box4;}
.nav_map_master .pearent.box5{ grid-area: box5;}
.nav_map_master .pearent.box6{ grid-area: box6;}
.nav_map_master .pearent.box7{ grid-area: box7;}
.nav_map_master .pearent.box8{ grid-area: box8;}
.nav_map_master .pearent.box9{ grid-area: box9;}
.nav_map_master .pearent.box10{ grid-area: box10;padding: 30px 0 0; }
.nav_map_master .pearent.box11{ grid-area: box11; }
.nav_map_master .child {display: flex; flex-wrap: wrap; }
.nav_map_master .child li{margin: 0 18px 10px 0; line-height: 100%; }
.nav_map_master .pearent.box1 .child{display: block; }
.nav_map_master .pearent.box1 .child.style2 li {width: 100%; }
.nav_map_master .pearent.box1 .child li{margin: 0 0 10px; }
.nav_map_master .pearent.box2 .child li{ width: calc((100% - 36px) / 3); }
.nav_map_master .pearent.box2 .child li:nth-of-type(3n){margin: 0 0 10px; }

.nav_map_master .pearent.box3 .child li{ width: calc((100% - 18px) / 2); }
.nav_map_master .pearent.box3 .child li:nth-of-type(2n){margin: 0 0 10px; }

.wedding .nav_map_master .pearent:nth-of-type(2n){    padding: 0px 5px 8px;}
.wedding .nav_map_master .pearent.box1{padding: 0 0 5px;}
.wedding .nav_map_master .pearent.box2{padding: 0 0 5px;}
.wedding .nav_map_master .pearent.box3{padding:  0 0 5px;}
.wedding .nav_map_master .pearent.box4{padding:  0 0 5px;}
.wedding .nav_map_master .pearent.box6{padding: 0; }
#cont_main{ background: #fff; }


/*content----------------------------------------------------------------------------------*/
.container{position: relative; }
.cont_box{ margin: 0 auto;}
@keyframes fade{
0%{opacity: 0;}
100%{opacity: 1; }

}


@keyframes up{
    0%{transform: translateY(-20px);}
    100%{transform: translateY(0) }
    
    }


#main_img{width: 100%; height: calc(100vh - 44px); margin-bottom: 5px; overflow: hidden; position: relative; }
#main_img h1{ display: flex; display: none; opacity: 0; animation: fade 2s .5s both,up 1.5s .5s both;  margin: auto;padding: 50px 0 0;  position: absolute; top: 0; bottom: 0; left: 0; right: 0; justify-content: center; align-items: flex-start; z-index: 100;}
#main_img h1 img{width: auto; height: auto; }
#main_img img{width: 100%; height: 100%; object-fit: cover; }
#main_img ul {opacity: 0; animation: fade 1s .0s both;}
#main_img .slick-slider{height: 100%; }
#main_img .slick-track {height: 100%; }
#main_img .slick-list{height: 100%; }


#home .container {padding: 0 20px;  }
#home .container .cont_box{width: 100%; max-width: 1070px;margin:  0 auto; padding: 90px 0; }
#home .container .cont_box h2{margin: 0 0 40px;  font-size: 40px; font-family: "ustukushi"; font-weight: normal; line-height: 120%; text-align: center; }
#home .container .cont_box h2 span{ display: block; font-size: 14px; margin: calc(40px * 2.2 / 4 * -1) 0; padding: 20px 0 0;
    font-family: "メイリオ", Meiryo,  "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",  "ヒラギノ角ゴ Pro W6", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


#insta_box{width: 100%; max-width: 860px; margin: 0 auto; }

#home #cont_nav{height: 386px;background: url(../img/cont_nav.jpg)  left top no-repeat, #000; padding: 45px 20px; }
#home #cont_nav .cont_box{padding: 0; }
#home #cont_nav ul{max-width: 940px; margin: 0 auto; display: flex; flex-wrap: wrap; flex-flow: row-reverse; justify-content: flex-start;   }
#home #cont_nav ul li{writing-mode: vertical-rl;text-orientation: upright;}
#home #cont_nav ul li a {padding: 20px 16px;display: block; letter-spacing: -0.2em; color: #fff;font-family: "ustukushi";font-size: 25px; line-height: 140%; position: relative; }
#home #cont_nav ul li a::after{content: ""; width: 1px; height: 100%;  position: absolute;left: 0; top: 0; 
    background: linear-gradient(to bottom, rgba(58,58,58,0) 0%,rgba(58,58,58,1) 25%,rgba(58,58,58,1) 75%,rgba(58,58,58,0) 100%); 
}

#home #cont_nav ul li a:first-of-type::before{content: ""; width: 1px; height: 100%;  position: absolute;right: 0; top: 0; 
    background: linear-gradient(to bottom, rgba(58,58,58,0) 0%,rgba(58,58,58,1) 25%,rgba(58,58,58,1) 75%,rgba(58,58,58,0) 100%); 
}
#home #cont_nav ul li a span{padding-top: 15px; border-top: 3px solid #5c5c5c; }

#home_banner{padding: 2px 0;}
#home #home_banner.container{padding: 5px 0;}
#home #home_banner.container a{display: block; }
#home #home_banner.container .cont_box{max-width: none;padding: 0; }
#home_banner ul{width: 100%;  background: url(../img/contbanner_center.jpg) right 0 center no-repeat, #ce9e9e; background-size: cover; display: flex; justify-content:center; }
#home_banner ul li {width: 100%; }
#home_banner ul a{ display: block; width: 100%; padding: 0 20px;  text-align: center; }
#counterplan_banner{ background:#920e0e }
#counterplan_banner.container {padding: 0; }
#counterplan_banner.container .cont_box{max-width: none;padding: 0; text-align: center; }
#counterplan_banner.container .cont_box a{width: 100%; display: block; text-align: center; padding: 0 20px; }

/*news*/
.news_list li{border-bottom: 1px solid #e1e1e1; }
.news_list a{padding: 20px 15px;display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;}
.news_list li .day{width: 130px;display: block; font-size: 1em; line-height: 1.4em; }
.news_list li .title {width: calc(100% - (130px + 10px)); display: block;  font-size: 1em; line-height: 1.4em;}
.news_list li a:hover .title{ text-decoration: underline; }
.info_box h3 {padding: 10px; background: #000; color: #fff;text-align: center; border-bottom: 2px solid #ac9344;font-family: "ustukushi"; font-size: 1.5em; letter-spacing: 0.2em;}
.info_box .day{margin: calc(1.8em / 4 * -1) 0;padding-bottom: 10px; display: block; text-align: center; font-size: 0.75em; }
.info_box .box{background: #ededed; }
.info_box .box a{padding: 10px 54px 24px;display: block; }
.info_box .box img{display: block; margin: 0 auto; max-width: 100%; border: 1px solid #000; }
#home_news .flex{justify-content: center;}
#home_news .news_list{width: 100%; max-width: 984px; }
#home_news .info_box{width: calc(100% - (625px + 70px)); }

/*HOME 参拝・ご祈祷*/

#home_worship.container { padding: 0; background: #000; color: #fff; }
#home_worship.container::before,
#home_worship.container::after{content: ""; width: calc((100% - 980px) / 2); height: 100%; position: absolute; top: 0;}
#home_worship.container::before{ left: 0 ; background: url(../img/worship_1.jpg) no-repeat center; background-size: cover; }
#home_worship.container::after{right: 0 ; background: url(../img/worship_2.jpg) no-repeat center; background-size: cover; }
#home_worship.container .cont_box {max-width: 980px;  padding: 50px 20px; font-size: 16px;}
#home_worship .text{margin: 0 0 20px; font-size: 1.125em; text-align: center;  font-family: "hiramin_pro_w3"; font-weight: normal;}
#home_worship ul{width: 100%; max-width: 656px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; }
#home_worship ul li{width: calc( (100% - 24px) / 3 ); margin: 0 12px 10px 0;}
#home_worship ul li:nth-of-type(3n){margin: 0 0 10px; }
#home_worship ul li:last-of-type{margin: 0; }
#home_worship ul li a{padding: 8px 5px;  display: block; color: #fff; text-align: center;
    background: #616161; font-family: "hiramin_pro_w3"; letter-spacing: 0.4em;
}


/*伊奈波神社について*/
#home_about.container{background: #f2f2f2; }
#home_about.container .cont_box{max-width: 1115px;  display: flex; flex-wrap: wrap; }
#home_about .cont_box .box1{width: 500px; display: flex; flex-wrap: wrap; display: flex; flex-wrap: wrap; }
#home_about .cont_box .box1 h2{width: 70px; margin: 0; writing-mode: vertical-lr;text-orientation: upright; text-align: left;
border-right: 2px solid #000;text-indent: -0.3em;}
#home_about .cont_box .box1 .text{ padding: 0 5px 0 40px;  font-family: "hiramin_pro_w3"; font-size: 14px; text-align: justify;}
#home_about .cont_box .box2 .img_box{margin: 0 0 20px; }
#home_about .cont_box .box2 ul{display: flex; flex-wrap: wrap; justify-content: center;}
#home_about .cont_box .box2 ul li{margin: 0 5px 0 0; }
#home_about .cont_box .box2 ul li:last-of-type{margin: 0; }
#home_about .cont_box .box2 ul li a{ padding: 8px 40px;display: block; border: 1px solid #000; font-size: 20px;font-family: "hiramin_pro_w3";}
#home_about .cont_box .box2 ul li a:hover { background: #000; color: #fff; }
#home_about .cont_box .box1 .text{width: calc(100% - 70px); }
#home_about .cont_box .box2{width: calc(100% - 500px);  }


/*神事・祭典*/
.event_list{width: 100%; overflow: hidden; }
.event_list li{margin: 0 10px 0 0; }
.event_list a{width: 100%; max-width: 614px; height: 490px;padding: 20px; display: block;background: #f3f3f3;}
.event_list li li{margin: 0; }
.event_list li .img_box{margin: 0 0 10px;  }
.event_list li .cat{  margin: 0 0 10px; padding: 3px 10px; display: inline-block;font-size: 0.75em;line-height: 1em; background: #fff;border: 1px solid #a57234; color: #a57234;  }
.event_list li .title{margin: 0 0 5px;display: block;line-height: 1.25em;}

#home_event.container{padding: 0; }
#home_event.container .cont_box{max-width: none; padding-bottom: 0;}
#home_event.container .cont_box .event_list{margin: 0 0 50px; }

/*インスタ*/
#home_insta svg {width: 30px; }




/*コンテンツページ---------------------------------------------------------------------------------------------------------------*/

#cont_head{width: 100%; height: 220px; margin: 0 0 80px; padding: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
background-size: cover; background-position: center; background-repeat: no-repeat; color: #fff; font-size: 36px;
font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;text-shadow: 0px 0px 6px rgba(0,0,0,1); background-image: url(../img/head_img_demo.jpg); 
}

/*ヘッダ－伊奈波神社について*/
#worship #cont_head{ background-image: url(../img/head_img_demo.jpg); }

/*ヘッダ－ご参拝・ご祈祷*/
#worship #cont_head{ background-image: url(../img/head_img_demo.jpg); }

/*ヘッダ－神事・祭典*/
#event #cont_head{ background-image: url(../img/head_img_demo.jpg); }
#event #cont_main .container {padding: 0 20px }

#topics #cont_main .container {padding: 0 20px }

#cont_main  #single_cont{padding: 0 20px }

/*ヘッダ－神前挙式*/
.wedding #cont_head{ height: 372px;text-shadow: none; }
.wedding #cont_head .box{text-align: center; }
.wedding #cont_head .box .title{ font-family: "ustukushi"; font-size: 55px; font-weight: normal; letter-spacing: 0.2em;}
.wedding #cont_head .title:after{background: linear-gradient(
    90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 25%, rgba(255,255,255,0.8) 75%, rgba(255,255,255,0) 100%);}
.wedding #cont_head .box em      {font-size: 14px; letter-spacing: 0.5em; }

/*挙式の流れ*/
#ceremony-flow #cont_head{background-image: url(../img/wedding/flow_head.jpg);}

/*披露宴について*/
#wedding_about #cont_head{background-image: url(../img/wedding/about_head.jpg);}

/*プラン*/
#wedding_plan #cont_head{background-image: url(../img/wedding/plan_head.jpg);}

/*お問い合わせ*/
#wedding_contact #cont_head{background-image: url(../img/wedding/contact_head.jpg);}


.cont_page #cont_main .container .cont_box.anchor{padding-top: 50px; margin-top: -50px; }

.cont_page #cont_main .container .inwrap{width: 100%;max-width: 1020px;margin: 0 auto 50px;padding: 40px 50px; background: url(../img/tex_back.jpg);}
.cont_page #cont_main .container .inwrap .cont_box.anchor:first-of-type{ padding-top: 0; margin-top: 0; }
.cont_page #cont_main .container .inwrap .cont_box:last-of-type{margin: 0; }
.cont_page #cont_main .container .inwrap .cont_box{padding-left: 0; padding-right: 0; }

.cont_page #cont_main {padding-bottom: 80px; }
.cont_page #cont_main .container{ margin: 0 0 80px; }
.cont_page #cont_main .container:last-of-type{margin: 0; }
.cont_page #cont_main .container .cont_box{width: 100%; max-width: 1020px; margin: 0 auto 50px; padding: 0 20px; }
.cont_page #cont_main .container .inwrap .cont_box{max-width: none;}
.cont_page #cont_main h2{margin: 0 0 100px; text-align: center; line-height: 120%; font-size: 30px; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
.cont_page #cont_main h2 span{position: relative; display: block; }
.cont_page #cont_main h2 span::before,
.cont_page #cont_main h2 span::after{ content: "";margin: auto; position: absolute; left: 50%; transform: translateX(-50%);}
.cont_page #cont_main h2 span::before{width: 170px; height: 1px; background: #d82b2b;bottom: -26px; }
.cont_page #cont_main h2 span::after{width: 48px;height: 26px; background: url(../img/cont_h2.jpg) no-repeat center; background-size: contain; bottom: -38px; }
.cont_page #cont_main  .inwrap h2{margin: 0 0 80px; }
.cont_page #cont_main  .inwrap h2 span::after{background-image: url(../img/cont_h2_02.jpg); }

.cont_page #cont_main h3{margin: 0 0 20px; padding: 3px 16px;font-size: 24px;line-height: 120%;
    border: 4px solid #bfa556; border-width: 0 0 0 4px;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}

    .cont_page #cont_main h4,
.cont_page #cont_main dt{margin: 0 0 5px; font-size: 20px;font-weight: normal; line-height: 120%;font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}

.cont_page #cont_main .border_box{ padding: 30px 50px; border: 1px solid #b6b6b6; display: inline-block; }
.cont_page #cont_main .border_box h4{margin: 0 0 10px; font-weight: bold; }

/*祭典・神事について*/

#worship #cont_main .text_box{margin: 0 0 80px;}
#worship #cont_main .container {padding: 0 20px }


/*伊奈波神社について*/
#about #cont_main #about_list{width: 100%;  margin: 0 auto 80px;font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
#about #cont_main #about_list .dl_box{ margin: 0 auto 50px;padding: 40px 50px;background: url(../img/tex_back.jpg);}
#about #cont_main #about_list dl{width: 100%;margin: 0 auto;display: flex;flex-wrap: wrap;background: url(../img/tex_back.jpg); }
#about #cont_main #about_list dt,
#about #cont_main #about_list dd{font-weight: bold;}
#about #cont_main #about_list dt{/*width: 110px; */ width: 100%; margin: 0 0 20px; padding: 0 0 10px; border-bottom: 1px solid #000; font-size: 24px; text-align: center;}
#about #cont_main #about_list dd{/*width: calc(100% - 110px);*/ width: 100%;font-size: 20px; }
#about #cont_main #about_list dd li{margin: 0 0 10px; }
#about #cont_main #about_list dd li:last-of-type{margin: 0; }
#about #cont_main .text{ font-size: 18px; letter-spacing: 0.1em; }
#column_banner{display: inline-block; box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.63); }
#column_banner:active{box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);}
#about #history  .cont_box {padding: 40px ; background: url(../img/tex_back.jpg);}
#about.cont_page #cont_main #history h2 span::after{background-image: url(../img/cont_h2_02.jpg); }

/*広報コラム*/
#column #cont_main .container {padding: 0 20px }
#column_list >.box {display: flex; flex-wrap: wrap; justify-content: space-between; }
#column_box {width: 100%; max-width: 720px; margin: 0 auto; }
#column_box li{ margin: 0 0 15px; padding:  0 0 15px 25px; border-bottom: 1px dashed #ccc; font-size: 18px; position: relative; }
#column_box li::after{content: ""; width: 16px; height: 16px; background: rgb(102, 102, 102); border-radius: 100%; position: absolute; left: 0; top: 0px; }
#column_img {width: 100%;max-width: calc(100% - (510px + 56px)); }
#column_img  .text{padding: 5px 10px; background: #000; text-align: center; color: #fff; font-size: 24px; letter-spacing: .2em; }
#column_img .img_box{padding: 45px 60px; background: url(../img/column_back.jpg);}
#column_img .img_box img{ margin: 0; border: 1px solid #000;  }
#column_img a{display: block; }
.cont_page #cont_main #column_img h3{font-size: 24px; border: none; padding: 0; }


.amulet_list_box ul {display: flex; flex-wrap: wrap; }
.amulet_list_box li {width: calc((100% - 80px) / 3); margin: 0 40px 60px 0; }
.amulet_list_box li .img_box{width: 100%; height: 300px; height: var(--vh); margin: 0 0 10px; display: flex; align-items: center; justify-content: center;
border: 1px solid #aaaaaa;
}
.amulet_list_box li .img_box img{margin: 0; max-height: 100%; }
.amulet_list_box li span{display: block; text-align: center;}
.amulet_list_box li:nth-of-type(3n){margin: 0 0 60px; }

/*アクセス*/

#access_box{display: flex; flex-wrap: wrap; justify-content: space-between; }
#access_box .img_box + .text{width: calc(100% - 494px - 20px); line-height: 160%; }
#access_box .text p {margin: 0 0 20px; }
#access_box .text .inner_box{display: flex; flex-wrap: wrap; align-items: flex-start; }
#access_box .text .inner_box p{ width: calc(100% - 72px);}
#access_box .btn a {    padding: 10px 10px;color: #000; border-color: #000; }
#access_box .btn a span{display: inline-block; padding: 0 0 0 40px; background: url(../img/mapicon.svg) no-repeat left center; background-size: contain; }
#access_box .btn a span::after{display: none; }
#access_box .btn a:hover{background: #eee; }

#access_lnkbtn  {display: flex; flex-wrap: wrap; justify-content: space-between;  }
#access_lnkbtn li{width: calc((100% - 40px) / 3); }
#access_lnkbtn li{justify-content: space-between; }

#access_lnkbtn a{width: 100%; height: 80px; font-size: 18px; padding-left: 105px; justify-content: flex-start; background-size: auto 60px;
    display: flex; flex-wrap: wrap; align-items: center; position: relative; border: 1px solid #494949; 
    background-position: center left 30px; background-repeat: no-repeat; }
#access_lnkbtn a:before            {content: ""; position: absolute; right: 5px; bottom:5px; width: 0; height: 0; border-style: solid; border-width: 0 0 15px 15px;
        border-color: transparent transparent #494949 transparent;}

#access_lnkbtn #train a{background-image: url(../img/train.svg); }
#access_lnkbtn #train2 a{background-image: url(../img/train2.svg); }
#access_lnkbtn #buss a{    padding-left: 135px;background-image: url(../img/buss.svg); ; background-size: auto 40px;}

/*お問い合わせ*/
#form_box .text{width: 100%; max-width: 720px; margin-left: auto; margin-right: auto; font-size: 20px;}
#form_box .text a{color: #d80e0e; text-decoration: underline; }
#form_box .text a:hover{text-decoration: none; }
#form_box dl {width: 100%; max-width: 720px; margin: 0 auto; }
.cont_page #cont_main #form_box dt{ font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",  "ヒラギノ角ゴ Pro W6", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
#form_box dt .rec { margin: 0 0 0 10px; padding: 5px 10px;line-height: 100%; display: inline-block; font-size: 0.75em;  color: #fff;background: #d80e0e; border-radius: 5px; }
#form_box dt em{margin: 0 0 0 5px; padding: 5px 10px;line-height: 100%; display: inline-block; font-size: 0.75em;}
#form_box dd {margin: 0 0 30px; font-size: 16px; }  
#form_box dd input,#form_box dd textarea {padding: 10px;  width: 100%; font-size: 16px; }

#form_box input[type="submit"]{ letter-spacing: 0.2em; cursor: pointer; width: 100%;  max-width: 720px; margin: 0 auto; display: block; color: #fff; font-size: 20px;  background: #000; border: none; text-align: center; padding: 10px; }
#form_box input[type="submit"]:hover{opacity: 0.8; }
#form_box select{ margin: 10px 0 10px; padding: 10px;font-size: 16px;}
#form_box .radio_box{padding: 5px 0 0; display: flex; flex-wrap: wrap;}
#form_box .radio_box label{position: relative; }
#form_box .radio_box label input {width: auto; }
#form_box .radio_box label span { display: inline-block; margin: 0 10px 0 0; font-size: 16px; }


/*神前結婚式・参集殿*/
#wedding #cont_main{padding-bottom: 6px; }
#wedding_main_img {width: 100%; height: calc(100vh - 44px); margin: 0 0 6px; display: flex; flex-wrap: wrap; justify-content: space-between; }
#wedding_main_img img{width: 100%; height: 100%; max-height: 100%;  object-fit: cover; }
#wedding_main_img .pearent{width: calc((100% - 6px) / 2); height: 100%; }
#wedding_main_img .child1{height: 30%; margin: 0 0 6px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; align-content:  flex-start; }
#wedding_main_img .child1 img{width: auto;}
#wedding_main_img .child1 img:first-of-type{width: 40%; }
#wedding_main_img .child1 img:last-of-type{width: calc(60% - 6px); }
#wedding_main_img .child2{margin: 0; }
#wedding_main_img  .child_list {
    height: 100%;
}
#wedding_main_img  .child_list li:last-of-type { height: calc(70% - 6px);
    }

#wedding_index_nav ul {display: flex; flex-wrap: wrap; justify-content: space-between; }
#wedding_index_nav ul li{ width: calc((100% - 6px) / 2); height: 205px; margin: 0 6px 6px 0; }
#wedding_index_nav ul li:nth-of-type(2n){margin: 0 0 6px; }
#wedding_index_nav ul li a{width: 100%;  height: 100%; background: #ccc; }





#wedding_index_nav .banner_type a{justify-content: flex-end;  background-repeat: no-repeat; background-size: auto 100%; background-position: center left;}
#wedding_index_nav .banner_type li:nth-of-type(2n) a{justify-content: flex-start;background-position: center right;}

#wedding_index_nav .banner_type a .title:after{
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(0,0,0,1) 100%);
} 
#wedding_index_nav .banner_type li:nth-of-type(2n) a .title:after{
    background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(255,255,255,0) 100%);
}

#wedding_index_nav .banner_type #plan1 a{ background-image: url(../img/wedding/plan_1.jpg) ;background-color: #e21b1b; }
#wedding_index_nav .banner_type #plan1 a .box{
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(226,27,27,1) 40%, rgba(226,27,27,1) 100%);
}
#wedding_index_nav .banner_type #plan1 a .btn{background: #8b1b1b; }
#wedding_index_nav .banner_type #plan1 .title::after{
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(182,22,22,1) 25%, rgba(182,22,22,1) 75%, rgba(182,22,22,1) 100%);
}

#wedding_index_nav .banner_type #plan2 a{  background-image: url(../img/wedding/plan_2.jpg) ;background-color: #4a8830; }
#wedding_index_nav .banner_type #plan2 a .box{background: linear-gradient(90deg, rgba(74,136,48,1) 0%, rgba(74,136,48,1) 60%, rgba(0,0,0,0) 100%);}
#wedding_index_nav .banner_type #plan2 a .btn{background: #294c1a; }
#wedding_index_nav .banner_type #plan2 .title::after{
    background: linear-gradient(90deg, rgba(61,111,39,1) 0%, rgba(61,111,39,1) 25%, rgba(61,111,39,1) 75%, rgba(255,255,255,0) 100%);
}

#wedding_index_nav .banner_type #plan3 a{background-image: url(../img/wedding/plan_3.jpg) ;background-color: #e99d13; }
#wedding_index_nav .banner_type #plan3 a .box{background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(233,157,19,1) 40%, rgba(233,157,19,1) 100%);}
#wedding_index_nav .banner_type #plan3 a .btn{background: #865908; }
#wedding_index_nav .banner_type #plan3 .title::after{
    background: linear-gradient(90deg, rgba(61,111,39,0) 0%, rgba(191,129,16,1) 25%, rgba(191,129,16,1) 100%);
}

#wedding_index_nav .banner_type #plan4 a{ background-image: url(../img/wedding/plan_4.jpg) ;background-color: #21a8b6; }
#wedding_index_nav .banner_type #plan4 a .box{background: linear-gradient(90deg, rgba(33,168,182,1) 0%, rgba(33,168,182,1) 60%, rgba(0,0,0,0) 100%);}
#wedding_index_nav .banner_type #plan4 a .btn{background: #12454a; }
#wedding_index_nav .banner_type #plan4 .title::after{
    background: linear-gradient(90deg, rgba(27,138,149,1) 0%, rgba(27,138,149,1) 25%, rgba(27,138,149,1) 75%, rgba(255,255,255,0) 100%);
}

#wedding_index_about { height: 386px;margin: 0 0 6px; color: #fff; background: url(../img/wedding/about_back.jpg) no-repeat center / cover;}
#wedding_index_about .cont_box{width: 100%;max-width: 980px;margin: 0 auto; padding: 38px;}
#wedding_index_about .cont_box p{ writing-mode: vertical-rl;text-align: left; text-orientation: upright;font-family: "ustukushi"; font-size: 20px;}

.tcy{transform: translate(15px, -15px);display: inline-block;}

#wedding_index_contact{height: 259px; text-align: center; color: #fff; display: flex; justify-content: center; align-items: center; align-content: center; background: url(../img/wedding/index_banner.jpg) no-repeat center / cover; }
#wedding_index_contact .banner_type .title:after{background: linear-gradient(
    90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 25%, rgba(255,255,255,0.8) 75%, rgba(255,255,255,0) 100%);}
    #wedding_index_contact .banner_type .btn{background: #fff; color: #000;}
     
/*神前挙式の流れ*/
#ceremony_flow_list{display: flex; flex-wrap: wrap; justify-content: flex-start; }

#ceremony_flow_list li{width: calc((100% - 30px * 2) / 3);margin: 0 30px 30px 0;}
#ceremony_flow_list li .caption{padding: 5px 0 0 62px; display: block; }
#ceremony_flow_list li:nth-of-type(3n){margin: 0 0 30px; }
#ceremony_flow_list li .box{width: 100%; height: 100%;  min-height: calc(var(--flow_li) - 62px); display: flex; flex-wrap: wrap; justify-content: space-between; }
#ceremony_flow_list li img{width: calc(var(--flow_li) - 62px); margin: 0; height: 100%; object-fit: cover; }
#ceremony_flow_list li .title_box{ width: 57px; min-height: calc(var(--flow_li) - 62px); border: 2px solid #d62626;}
#ceremony_flow_list li .title_box .num{ width: 100%; height: 46px; display: flex; align-items: center; justify-content: center; color: #fff; background: #d62626;
    writing-mode: vertical-rl; text-orientation: upright;font-family: "ustukushi";  font-size: 18px;
}
#ceremony_flow_list li .title { padding: 10px 18px 10px 10px; height: calc( 100% - 46px); display: block; position: relative; display: flex; align-content: center; justify-content: center; 
}
#ceremony_flow_list li .title.no_rb{padding: 10px; }
#ceremony_flow_list li .title span,#ceremony_flow_list li .title em{writing-mode: vertical-rl; text-orientation: upright;}
#ceremony_flow_list li .title span{letter-spacing: -0.01em; font-size: 24px;font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
#ceremony_flow_list li .title span + em{letter-spacing: -0.01em; font-size: 10px; position: absolute; top: 15px; right: 1px; }
#ceremony_flow_list li .title span + em.bottom{ top: inherit;  }


.wedding.cont_page #cont_main .container .cont_box{margin: 0 auto 150px; }
.wedding.cont_page #cont_main h3.wd_style {width: 100%; margin: 0 0 30px;align-self: flex-start; padding: 0 0 10px 50px; border: none; border-bottom: 1px solid #d82b2b; background-image: url(../img/wedding/h3_icon.jpg); background-repeat: no-repeat; background-position: left top 2px; }
.wedding.cont_page #cont_main h3.wd_style::after{display: none; }

.wedding .photo_box{margin: 0 0 20px;  align-content: stretch;}
.wedding .photo_box .text{position: relative;margin: 0 0 0 auto; }
.wedding .photo_box .text .hiroen_sub_list{position: absolute; bottom: 0; left: 0;}

.hiroen_sub_list {width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;   } 
.offer_list {display: flex; flex-wrap: wrap;  }
.offer_list li {margin: 0 20px 10px 0; } 


.wedding #cont_main .photo_box h4{width: 100%; margin: 0 0 18px;padding: 0 0 0 20px;
    font-size: 18px;position: relative; font-weight: bold; 
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",  "ヒラギノ角ゴ Pro W6", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.wedding #cont_main .photo_box h4::after{ content: ""; width: 16px; height: 16px; background: #f18374; border-radius: 100%; position: absolute; left: 0 ; top: 2px; }
.wedding #cont_main .photo_box img{margin: 0; }
.wedding #cont_main .offer_list li a[target="_blank"] {padding-right: 30px; position: relative; }
.wedding #cont_main .offer_list li a::after{content: ""; width: 20px; height: 18px; position: absolute; top: 0; right: 0; background:  url(../img/wedding/blank_icon.svg) no-repeat center / contain; }




#wedding_plan.wedding .photo_box .text{display: block; margin: 0 0 0 auto; }
#wedding_plan.wedding .photo_box .price {font-size: 1.2em;} 
#wedding_plan.wedding .photo_box .price em{font-size: 0.8em;  }
#wedding_plan.wedding .photo_box .price span{display: block; font-size: 0.8em; } 
#wedding_plan.wedding .plan_list {line-height: 160%; }
#wedding_plan.wedding .plan_list li{margin: 0 0 10px; }

#wedding_plan.wedding .plan_list span{display: block; padding-left: 1.2em; font-size: 0.8em; } 
#wedding_plan.wedding .plan_list li ul{display: flex; flex-wrap: wrap; }
#wedding_plan.wedding .plan_list li ul li{width: 25%; padding-right: 10px; }

#wedding_contact.wedding .photo_box .text{display: block;  margin: 0 0 0 auto;}
#wedding_contact.wedding .plan_list li a{text-decoration: underline; }
#wedding_contact.wedding .plan_list li a:hover{text-decoration: none; }

.wedding.cont_page #cont_main .container .cont_box.anchor{margin-top: -100px; padding-top: 100px; }


#page                 {position: relative;margin-bottom:50px;}

#page ul              {display: flex;flex-direction: row;width: 120px; margin-right: auto; margin-left: auto; justify-content: center;position: relative}
#page ul li           {border-left: 1px solid #000; }

#page ul li a         {padding: 0 20px;position: relative;}
#page ul li span      {padding: 0 20px;position: relative;}
#page ul li.current span{font-weight:bold;}
#page ul li.current span:after{content:"";width: 25px;height: 25px;margin: auto;background: #ccc;display: block; 
                               top: 0;bottom: 0;left: 0;right: 0;position: absolute;z-index: -1; }
#page ul li.next,#page ul li.prev      {margin: auto;width: 10px;height: 10px;position: absolute;top: 0;bottom: 0;overflow: hidden;text-indent: -99em; 
                       transform: rotate(45deg);border: none;}
#page ul li.next a,#page ul li.prev a    {width: 100%;height: 100%;display: block;padding: 0;border: 2px solid #000;   }
#page ul li.prev      {left: -10px; }
#page ul li.prev a    {border-width: 0 0 2px 2px;}

#page ul li.next      {right: -10px; }
#page ul li.next a    {border-width: 2px 2px 0 0;}


/*参拝時のお願い*/
.counterplanlist > li {margin: 0 0 30px;padding: 0 0 0 25px;position: relative;  }
.counterplanlist > li::after{content: ""; width: 15px; height: 15px;background: #d82b2b;  position: absolute; top: 6px; left: 0; }
.counterplanlist li li{ margin: 0 0 10px;  padding: 0 0 10px; border-bottom: 1px  dashed #ccc;  }

#applist    {display: flex; flex-wrap: wrap; align-items: center; }
#applist li {width: calc((100% - 40px) / 3); margin: 0 20px 20px 0;}
.cont_page  #applist li h4{ min-height: 50px; margin: 0 0 20px; font-size: 20px;  display: flex; align-items: center; justify-content: center;}
#applist li:last-of-type{margin: 0px 0 20px; }
#applist li .btn{width: 100%; }
#applist li .btn a{min-width: 0; }
#applist li .img_box{ margin: 0 0 30px; text-align: center; }
#applist li .img_box img{margin: 0 auto; border: 2px solid #ccc; }

/* modal */
#modal  {margin: auto; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: url(../img/modal_back.png); 
    display: none;}
#modal .box{width: 100%; height: 100%;   display: flex;flex-wrap: wrap; align-items: center; align-content: center; justify-content: center;}
#modal a{display: block; }@charset "UTF-8";
/* CSS Document ---------------------------------------------------------------------------------------------------------------- */
/* (C)advista */
/* Default Style Reset --------------------------------------------------------------------------------------------------------- */


#area                      { display:flex; flex-wrap: wrap;justify-content: space-between;}
#area .text                { font-size:1.4em;}
#area li                    { width: calc((100% - 110px) / 2); border-bottom: dashed 1px #000; }
#area li a                 {display:block; padding: 10px 0;}
#area li a:hover{opacity: 0.8; }
.map img                     { display:block; margin-bottom:50px;}
.preflex                     { display:flex; flex-wrap: wrap; }
.preflex img                 { max-width: 100%;}
.preflex .text                { width: calc(100% - 300px - 30px); font-size: 18px;}
.preflex .text dl            {display: flex; flex-wrap: wrap;  }
.cont_page #cont_main .preflex .text dl dt { font-size: 18px;  width: 80px; line-height: 1.8em;}
.cont_page #cont_main .preflex .text dl dd {width: calc(100% - 200px);     line-height: 1.8em;}
.preflex .text p            { margin-bottom:30px;}
.preimg                       { width:300px; margin: 0 30px 0 0; }
.preimg li {margin: 0 0 10px; }
.preimg li:last-of-type{ margin: 0 0 0;}
.preimg .text                  {width: 100%;  font-size:1.1em;}
#precincts.cont_page #cont_main .container{padding-left: 20px; padding-right: 20px; }

.cont_page #cont_main .container.anchor                { margin-top: -80px; padding-top: 80px  }

.preflex .pre_botom img                  { margin-bottom:10px;}


@media screen and (max-width: 1024px) {
#area { justify-content: space-between; padding: 0 10%;}
}
@media screen and (max-width: 768px) {

#precincts .preflex .text                {width: 100%;}
.koku                                    {width:100%; display: flex; margin-bottom:10px;}
.preflex .pre_botom img                  { margin-bottom:0px; }
.preflex .preimg                         {width: 100%; margin-bottom:10px;}

｝
@media screen and (max-width: 414px) {
#area .text                              { font-size:1.2em;}

#area a                                  { width:150px; padding: 5px 0;}
}@charset "UTF-8";
/* CSS Document ---------------------------------------------------------------------------------------------------------------- */
/* (C)advista */

@media (max-width: 960px) { 
    .sp{display: block; } 
    header #head_box #id{ width: 100%;}
    header #head_box h1{width: 100%; text-align: center; margin: 10px auto 30px; }
    header #head_box{justify-content: center; }
    #sp_sns{display: block; color: #fff; text-align: center; }
    #sp_sns a{ display: flex; flex-wrap: wrap; color: #fff;}
    #sp_sns a svg{ margin: 0 5px 0 2px; display: inline-block; }
}

@media (max-width: 740px) { 
    #btn{ width: 60px; height: 50px;  display: block; position: fixed; top: 0; right: 0; z-index: 100; }
    #btn::after,#btn::before,#btn button::after
    {content: ""; height: 2px; width: 35px; margin: auto; background: #fff; display: block; position: absolute;  left: 0; right: 0; transition: .3s;  transform-origin: left; }
    #btn::after{ top: 9px; }
    #btn button::before{display: none; }
    #btn button::after{ top: 17px; }
    #btn::before{ top: 25px; }
    #btn button{ width: 100%; height: 83%;padding: 34px 0 0;justify-content: center; background: none; border: none;  }
    .open #btn::after{ transform:translateX(4px)  translateY(-1px) rotate(45deg) ; }
    .open #btn::before{ transform: translateX(4px) translateY(7px) rotate(-45deg);   }
    .open #btn button::after{opacity: 0; }
    .open #nav_map{height: 100vh; }
    .btn a{min-width: auto; }

    #navArea{
        width: 100%; height: 100%; overflow: hidden;
        position: fixed; top: 0; left: 0; 
        transform: translateX(-100%);
        opacity: 0;
        transition: .5s;
    }
    header #head_box{height: 46px; padding: 0; justify-content: flex-start; }
    header #head_box #mainnav{display: none;}
    header #head_box #sns_list{display: none;}
    header #siteid {width: 70%; }
    #foot_id{text-align: center; }
    footer #foot_box #foot_zip{width: 100%; text-align: center; }
    footer #foot_box nav ul{justify-content: flex-start; }
    footer #foot_sns li {width: 50%; margin: 0; }
    footer #foot_sns li a{width: 100%; }
    footer #foot_sns li a span{display: block;  }
    footer #foot_sns li:first-of-type a{ padding: 0 10px 0 0; justify-content: flex-end;}
    footer #foot_sns li:last-of-type a{padding:  0 0 0 10px; }
    footer #foot_box #footnav ul { justify-content: flex-start; }
    footer #foot_box #footnav ul li { width: calc((100% - 5px) /2 ); margin: 0 5px 5px 0; border: none;  }
    footer #foot_box #footnav ul li a{ padding: 5px; text-align: center; background: #fff; color: #000; font-size: 14px;  }
    footer #foot_box #footnav ul li a.current{ text-decoration: none; }
    footer #foot_box #footnav ul li:nth-of-type(2n){ margin: 0;}
    #foot_nav{width: 100%; }
    #foot_map{width: 100%; }
    #foot_banner{margin: 0 auto 30px; }
    #foot_box .nav_map_master{ display: flex; flex-wrap: wrap;}
    .nav_map_master,#cont_main .nav_map_master{display: flex; flex-wrap: wrap; }
    .nav_map_master .pearent:nth-of-type(2n +1){padding: 0; }
    .nav_map_master .pearent:nth-of-type(n + 6) a{margin-top: 0; }
    footer #foot_box nav .nav_map_master .child{justify-content: flex-start; }
    .nav_map_master .child li{margin: 0 0 10px; }
    .nav_map_master .pearent{width: 100%; }
    .nav_map_master .pearent:nth-of-type(n + 5){width: 50%; margin: 0 0 10px; }
    .nav_map_master .pearent.box1 {margin: 0 0 8px; }
    .nav_map_master .pearent.box1 .child.style2 li{width: 50%; }
    .nav_map_master .pearent.box2{padding: 0 0 16px; }
    .nav_map_master .pearent.box2 .child li{width: 50%; }
    .nav_map_master .pearent.box3 {margin: 0 0 8px; }
    .nav_map_master .pearent.box3 .child li{width: 50%;    padding: 0;}
    .nav_map_master .pearent.box3 .child li:nth-of-type(2n){ padding: 0; }
    .nav_map_master .pearent.box10{padding-top: 0; }

    .cont_page #cont_main .container .inwrap {padding:40px 20px;}

    small{width: 100%; text-align: center; display: block; }

    #main_img h1 img{width: 20%; }
    #main_img{height: calc(70vh - 44px); }
    #home .container .cont_box h2{font-size: 26px; }
    #home_worship .text{font-size: 0.85em; }
    #home_worship ul {justify-content: flex-start; }
    #home_worship ul li{width: calc((100% - 10px) / 2); margin: 0 10px 10px 0;}
    #home_worship ul li:nth-of-type(3n){margin: 0 10px 10px 0; }
    #home_worship ul li:nth-of-type(2n){margin: 0 0 10px;}


    #home_banner ul{padding: 0; justify-content: flex-start;
        background:        url(../img/contbanner_spback.jpg) right 0 center no-repeat, #ce9e9e;
    }
    #home_banner ul{position: relative; z-index: 1; }
    #home_banner ul a{ padding: 0; text-align: left;  }
    #home #home_banner.container .cont_box{position: relative; }
    #home #home_banner.container .cont_box ul::after{ content: ""; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; 
        background: linear-gradient(90deg, rgba(206,158,158,1) 0%, rgba(206,158,158,0) 100%);
        z-index: -1;
    
    }

    #home #cont_nav{position: relative}
    #home #cont_nav::after{content: ""; width: 100%; height: 100%; display: block;background: rgb(0, 0, 0); background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); position: absolute; top: 0; left: 0;  }
    #home #cont_nav ul{width: 100%; position: relative; z-index: 1; }
    #home #cont_nav ul li{width: calc(100% / 6); }
    #home #cont_nav ul li a{width: 100%; padding: 20px 8px; font-size: 18px; display: flex; align-items: center; letter-spacing: normal; }
    #home #cont_nav ul li a::after{display: none; }
    #home #cont_nav ul li:last-of-type a::after{display: block; }

    .cont_page #cont_main h2{font-size: 26px; }
    .cont_page #cont_main h2 span {line-height: 140%; }
    #cont_head{height: 150px; font-size: 26px; }
    .cont_page #cont_main h3{font-size: 18px; }
    .cont_page #cont_main h4, .cont_page #cont_main dt{font-size: 16px; }
    .text{font-size: 14px; }

    .news_list li .day{width: 100%;margin: 0 0 10px; }
    .news_list li .title {width: 100%;}
    

    /*伊波神社について*/
    #about #cont_main #about_list .dl_box{ padding: 20px; }
    #about #cont_main #about_list dt{margin: 0 0 10px; width: 100%;font-size: 20px;}
    #about #cont_main #about_list dd{width: 100%;font-size: 16px;}
    #about #cont_main #about_list dd li{margin: 0; }
    #about #cont_main .text{font-size: 14px; line-height: 250%; letter-spacing: normal; }
    #about #history {padding: 0 20px; }
    #about #history .cont_box {padding:40px 20px;}

    /*広報コラム*/
    #column_box li{font-size: 16px; line-height: 160%; }
    #column_box li::after {top: 4px; }

    #area{padding: 0 20px; }
    #area li{width: calc((100% - 10px) / 2);margin: 0; }
    #area li a{text-indent: -1em; padding-left: 1em; font-size: 12px; line-height: 140%; }
    #area li:nth-of-type(2n){margin: 0; }
    .preimg{ margin: 0 0 20px; }
    .preflex img{ margin: 0 auto 20px; display: block; }
    #precincts .preflex .text{font-size: 16px; }
    #precincts .preflex .text h4{font-size: 18px;font-weight: bold;  }

    /*お札･御守り･御朱印*/
    .amulet_list_box li{ width: calc((100% - 20px) / 2); margin: 0 20px 50px 0; }
    .amulet_list_box li:nth-of-type(3n){margin: 0 20px 50px 0;}
    .amulet_list_box li:nth-of-type(2n){margin: 0 0 50px; } 

    /*交通アクセス */
    #access_box .img_box{margin: 0 0 30px; }
    #access_box .img_box + .text{width: 100%; }

    #access_lnkbtn li{width: 100%; margin: 0 0 30px;  }


    /*神前結婚式*/
    #wedding_main_img{ overflow: hidden;}
    #wedding_main_img .pearent{width: 100%;height: auto;margin: 0 0 5px;}
    #wedding_index_about{height: auto;    background-position: top right 35%; }
    #wedding_index_about .cont_box p{writing-mode: inherit;}
    #wedding_index_nav {padding: 6px 0 0; }
    #wedding_index_nav ul li{width: 100%; height: 150px; margin: 0 0 6px; }
    .banner_type .title{font-size: 18px; padding: 0 10px; }
    .tcy{transform: initial; } 

    #wedding_index_nav .banner_type a{position: relative;}
    #wedding_index_nav .banner_type a::after{content: ""; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); position: absolute; display: block;  top: 0; left: 0;}
    
    #wedding_index_nav .banner_type a .box{position: relative; z-index: 1; }
    #wedding_index_about .cont_box{position: relative; }
    #wedding_index_about .cont_box::after{content: ""; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); position: absolute; display: block;  top: 0; left: 0;}
    #wedding_index_about .cont_box p{position: relative; z-index: 1; }

    #wedding_main_img{margin: 0 0; }

    .wedding .nav_map_master{margin: 0 0 30px; display: flex; flex-wrap: wrap; }
    .wedding .nav_map_master li{width: calc((100% - 10px) / 2); margin: 0 10px 10px 0;}
    .wedding .nav_map_master li:nth-of-type(2n){margin: 0 0 10px; }
    .wedding .nav_map_master li.box5{width: 100%;  }

    .wedding #foot_box .nav_map_master{margin: 0 0 30px; display: flex; flex-wrap: wrap; }
    .wedding #foot_box .nav_map_master li{width: calc((100% - 10px) / 2); margin: 0 10px 10px 0;}
    .wedding #foot_box .nav_map_master li:nth-of-type(2n){margin: 0 0 10px; }
    .wedding #foot_box .nav_map_master li.box5{width: 100%; margin: 0 0 10px; }

    .wedding #cont_head{height: 200px; margin: 0 0 50px; }
    .wedding #cont_head .box .title{font-size: 24px; }
    .wedding #cont_head.banner_type .box{width: 100%;}

    #ceremony_flow_list li{width: 100%;margin: 0 0 30px; }


    .wedding.cont_page #cont_main .container .cont_box{margin: 0 0 50px; }

    .wedding.cont_page #cont_main h3.wd_style{ background-position: left top 0;}

    .hiroen_sub_list li{ width: calc((100% - 10px) / 2); margin: 0 10px 10px 0; }
    .hiroen_sub_list li:nth-of-type(2n){margin: 0 0 10px; }
    .wedding .photo_box .text .hiroen_sub_list{position: relative; }
    .wedding .photo_box .text {margin: 0 0 20px; order: 1; }
    .wedding .photo_box .img_box{ margin: 0 auto ;}
    .wedding .photo_box .img_box{order: 2; }

    #wedding_about #cont8 .hiroen_sub_list li{width: 100%; margin: 0 auto 40px; text-align: center;}
    

    #applist li {width: 100%; margin: 0 0 50px; }
.cont_page  #applist li h4{ min-height: 50px; margin: 0 0 20px; font-size: 20px;  display: flex; align-items: center; justify-content: center;}
    #applist li:last-of-type{margin: 0px 0 20px; }
#applist li .btn{width: 100%; }
#applist li .btn a{min-width: 0; }
#applist li .img_box{ margin: 0 0 30px; text-align: center; }
#applist li .img_box img{margin: 0 auto; border: 2px solid #ccc; }



}