@charset "utf-8";
/* CSS Document */

/* フォントサイズ */
html{
    font-size: 62.5%;
}
body{
    font-family: 'Shippori Mincho B1', serif;
    font-size:1.6rem;/* 16px*/
    line-height: 2;
}
h1 {
    font-size: 36px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;
}
h1.no-size {
    font-size: 32px;
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;

}
h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;
}
h2.no-size {
    font-size: 24px;
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;

}

/* タイトル */
.top_t {
    font-size: 32px;
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;
    vertical-align: bottom;
}

h1.p_t{
    font-size: 24px;
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;
}
h2.p_st {
    font-size: 20px;
    line-height: 1.3;
    font-family: 'Shippori Mincho B1', serif;
}
.ht2::before {
    content: "";
    display: inline-block;
    vertical-align: text-top;
    width: 80px;
    height: 80px;
    background: url("../img/u_rw.svg") no-repeat;
    background-size: contain;
    margin-right: 10px;
}
.ht2::after {
    content: "";
    display: inline-block;
    vertical-align: bottom;
    width: 80px;
    height: 80px;
    background: url("../img/u_wr.svg") no-repeat;
    background-size: contain;
    margin-left: 10px;
}
.m_u::before {
    content: "";
    display: inline-block;
    vertical-align: text-top;
    width: 22px;
    height: 22px;
    background: url("../img/ume.svg") no-repeat;
    background-size: contain;
    margin-right: 10px;
    padding-left: 0;
}

a:link {
    color: #6D28CF;
    text-decoration: none;
}
a:visited {
	color: #6D28CF;
	text-decoration: none;
}
a:hover {
	color: #FF8E00;
	text-decoration: none;
}


.top_title a:link {
    color: #000;
    text-decoration: none;
}
.top_title a:visited {
	color: #000;
	text-decoration: none;
}
.top_title a:hover {
	color: #000;
	text-decoration: none;
}

/* フッター */
footer {
background-color: #ccc;
padding: 0px;
}

footer a {
    font-size: 14px;
}

footer a:link {
    color: #000;
    text-decoration: none;
}
footer a:visited {
	color: #000;
	text-decoration: none;
}
footer a:hover {
	color: #9d3e3a;
	text-decoration: none;
}
a:hover .f_tittle {
	color: #000;
	text-decoration: none;
}

.f_copy {
    font-size: 14px;
    color: #9d3e3a;
}
.f_tittle {
    font-size: 18px;
}
.f_menu_p1 {
    padding-left: 1.5rem;
}
.txt_w {
    color: #fff;
}
.txt_r {
    color: #9d3e3a;
}
.bg_w {
background-color: #fff;
opacity: 1;
}
.side_bg {
background-image: url("../img/side_bg.svg");
background-repeat: repeat;
background-position; bottom;
}
.valign-b {
    vertical-align: bottom;
}
.valign-m {
    vertical-align: middle;
}
.valign-t {
    vertical-align: text-top;
}

/* 祭神表 */
@media screen and (max-width:640px){
    .saijin th,
    .saijin td{
        display: block;
        text-align: left;
    }
}
.saijin {
    font-size: 16px;
}
.gokitou {
    font-size: 16px;
    vertical-align: top;
}
.pad_s40 {
    padding-left: 40px;
}
.pad_s30 {
    padding-left: 30px;
}
.pad_s20 {
    padding-left: 20px;
}
.pad_s10 {
    padding-left: 10px;
}
.table_w100 {
    width: 100px;
    vertical-align: top;
}
table.gokitou {
    font-size: 16px;
    width:100%;
}
.t_w300 {
    width: 300px;
    vertical-align: top;
}
.table_w200g {
    width: 200px;
    vertical-align: top;
}


.u_line {
text-decoration: underline;
text-decoration-color: #9d3e3a;
text-decoration-thickness: 3px;
}


/* アコーディオンメニュー */
#accordion_menu a[data-toggle="collapse"]{
    display: block;
    text-decoration: none;
    position: relative;
    text-indent: -20px;
}

#accordion_menu a[data-toggle="collapse"]::after{
    content:"";
    display: block;
    width: 8px;
    height: 8px;
    border-top: #666 1px solid;
    border-right: #666 1px solid;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
}
#accordion_menu a[aria-expanded=false]::after{
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    transition-duration: 0.3s;
}
#accordion_menu a[aria-expanded=true]::after{
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    transition-duration: 0.3s;
}
[id^="menu"] li{
    padding: 1px 0 1px 10px;
}
ul,li{
    list-style: none;
}
.bd_b1 {
    border-bottom : 1px solid #ccc;
}
.bd_b2 {
    border-bottom : 1px solid #ccc;
    padding-left: 0;
}
.nav-link {
    font-size: 16px;
}

/* 梅枝アニメ */
.re-inout1{
  animation-name: smooth-inout1;
  animation-duration: 3s;
  animation-timing-function: ease;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes smooth-inout1 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.re-inout2{
  animation-name: smooth-inout2;
  animation-duration: 2s;
  animation-timing-function: ease-in;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes smooth-inout2 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.re-inout3{
  animation-name: smooth-inout3;
  animation-duration: 4s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes smooth-inout3 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.edaume {
    position: relative;
}
.ume1 {
  position: absolute;
  right: 0px;
  top: 0px;
}

/* フッター梅枝アニメ */
.fre-inout1{
  animation-name: fsmooth-inout1;
  animation-duration: 3s;
  animation-timing-function: ease;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes fsmooth-inout1 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.fre-inout2{
  animation-name: fsmooth-inout2;
  animation-duration: 5s;
  animation-timing-function: ease-in;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes fsmooth-inout2 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.fre-inout3{
  animation-name: fsmooth-inout3;
  animation-duration: 4s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes fsmooth-inout3 {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.f_edaume {
    position: relative;
}
.f_ume1 {
  position: absolute;
  right: 0px;
  top: 0px;
}


.ume_icon {
background-image: url("../img/ume.svg");
background-size: 20px;
background-repeat: no-repeat;
padding-top: 5px;
padding-left:30px;
}

.ume_40 img {
    height: 40px;
    width: 40px;
}
.ume_20 img {
    height: 22px;
    width: 22px;
}
.ume_20s img {
    height: 22px;
    width: 22px;
    margjin-bottom: 2px;
}
.f_i_icon {
    height: 30px;
    width: 30px;
}
.i_link a:hover{ 
	opacity:0.6;
	transition:0.3s;
}

.img_wrap img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}

p.u_line {
   background-image: url("../img/u_rw.svg");
   background-size: 18px auto;
   background-repeat: repeat-x;
   background-position: top left;
   padding-top: 38px;
}
.hf_line {
   background-image: url("../img/hf_line.svg");
   background-size: 50px auto;
   background-repeat: repeat-x;
   background-position; top left;
   margin: 0;
   padding: 0 0 20px 0;
}
.hf2_line {
   background-image: url("../img/purple_line.png");
   background-repeat: repeat-x;
   background-position; top left;
   background-size: 10px auto;
   margin: 0;
   padding: 0 0 20px 0;
}
.hf3_line {
   background-image: url("../img/p2_line.png");
   background-repeat: repeat-x;
   background-position; top left;
   background-size: 10px auto;
   margin: 0;
   padding: 0 0 20px 0;
}

.fadein {
  padding: 10px;
  opacity: 0;
  transform: translateY(50px);
  transition: 5s ease;
}

/*Google map*/
.googlemap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.googlemap iframe,
.googlemap object,
.googlemap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*下余白*/
.bottom100 {
	margin-bottom: 100px;
}
.bottom80 {
	margin-bottom: 80px;
}
.bottom60 {
	margin-bottom: 60px;
}
.bottom40 {
	margin-bottom: 40px;
}
.bottom30 {
	margin-bottom: 30px;
}

.bottom20 {
	margin-bottom: 20px;
}
.bottom10 {
	margin-bottom: 15px;
}
.top100 {
	margin-top: 100px;
}
.top80 {
	margin-top: 80px;
}
.top60 {
	margin-top: 60px;
}
.top50 {
	margin-top: 50px;
}
.top40 {
	margin-top: 40px;
}
.top30 {
	margin-top: 30px;
}
.top20 {
	margin-top: 20px;
}
.top10 {
	margin-top: 10px;
}



/* Contact Form7 */
/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 800px;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}

/*wp-pagenavi 17*/
.wp-pagenavi {
	clear: both;
	text-align:center;

}
.wp-pagenavi a, .wp-pagenavi span {
	color: #9d3e3a;
	background-color: #FFFFFF;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
	border: thin dotted #9d3e3a;
}
.wp-pagenavi a:hover{
	color: #fff;
	background-color: #9d3e3a;
    }
.wp-pagenavi span.current{
	color: #fff;
	background-color: #9d3e3a;
    }