@charset "utf-8";

/*BODY*/
html {
    font-size: 62.5%;
    /* 1rem = 10px */
    color: #4e0c0e;
}

body {
    background-image: url(../images/bg.jpg);
    box-sizing: border-box;
    font-family: "San Francisco", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "MS PGothic", "Noto Sans JP", sans-serif;
	font-display: swap;	/*ウェブフォントの読み込み完了まで代替フォントを表示させる*/
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.5;
    letter-spacing: 0.03rem;
	-webkit-text-size-adjust: 100%; /*iPhoneで横画面にするとフォントが大きくなってしまう現象対応コード*/
}

*,
*::before,
*::after {
    box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    word-wrap: break-word;
}

h1 {
    font-size: 36px;
    /* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));
    /* 24px~36pxで可変*/
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.5rem;
}

h2 {
    font-size: 24px;
    /* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));
    /* 20px~24pxで可変*/
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.2rem;
}

h3 {
    font-size: 19px;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.1rem;
}

h4 {
    padding-top: 10px;
    font-weight: bold;
}
a {
    color: #000;
    text-decoration: underline;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
header a,
footer a{
	text-decoration: none;
}
a:active {
    color: #f4bd15;
}

a:hover {
    color: #f4bd15;
}

b {
    font-weight: bold;
}

section p {
    line-height: 1.8;
}

em{
	font-style: italic;
}

s{
	text-decoration: line-through;
}
select{
	appearance: auto;
}

.font-bold {
    color: crimson;
}

.font-gold {
    color: #beb501;
}

.font-large {
    font-size: 3.2rem;
}
.font-small {
    font-size: 1.4rem;
}
/*テーブルタグレイアウト*/
table {
    width: 90% !important;
    margin: auto;
    text-align: left;
    border-collapse: collapse;
}

th, td {
    padding: 20px;
}


th {
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
    width: 20%;
    background-color: #fcfbe4;
}
td{
}
input[type="submit"],
input[type="button"]{
	cursor: pointer;
}

/* 850px以下に適用されるCSS（タブレット・スマホ用） */
@media screen and (max-width: 850px) {

    body {
        line-height: 1.5;
    }

    h1 {
        font-size: 2.4rem;
        /* 24px*/
    }

    h2 {
        font-size: 2rem;
        /* 20px*/
    }
    table{
        width: 100% !important;
    }
}


/*右寄せリンクテキスト用*/
.gotopage {
  text-align: left;          /* 右寄せ */
  margin: 20px 0;
}

.gotopage a {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  background-color: #f4bf1d;  /* ページネーション「一覧へ戻る」と同じ色 */
  color: #fff;
  font-weight: bold;
  transition: all 0.3s ease;
}

.gotopage a:hover {
  background-color: #c79219;  /* ホバーで濃く */
}

/* 文字サイズをページネーションに合わせる */
.gotopage a {
  font-size: 0.75em;
}




rp, rt{
	font-size:10pt;
	color:#555;
	font-weight:normal;
}

/*NEWマーク*/
.newpost{
	font-weight: bold;
	font-size: 1.2rem;
	color: red;
}

/*ヘッダー画像固定でページ内リンクがずれる問題を解消*/
:target {
    scroll-margin-top: 120px; /* PC表示のヘッダーの高さ */
}
@media screen and (max-width: 850px) {
	:target {
	    scroll-margin-top: 90px; /* スマホ表示のヘッダーの高さ */
	}
}

/*文字を赤にする（ご詠歌のページで使用）*/
.color_red{
	color: #d70000;
}

/*電話番号のリンクをPC表示の時無しにする*/
@media screen and (min-width: 480px) {
  a[href^="tel"] {
    pointer-events: none;
    color: inherit;           /* 見た目をテキストと同じに */
    text-decoration: none;
    cursor: default;
  }
}

/* --------------------------------------------------------- */
/*	FOOTER  **************************************************/
/* --------------------------------------------------------- */

footer {
  width: 100%;
  background: transparent;
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  border-radius: 15px 15px 0 0;
  padding-top:15px;
}

#copyright {
    padding: 10px 0 0 0;
    text-align:center;
    font-size: 1.2rem;
	padding-bottom:15px;
	line-height: 2;
}

.footer-image{ /*PCでは非表示*/
	display: none;
}

/* 850px以下に適用されるCSS（タブレット・スマホ用） */
@media screen and (max-width: 850px) {

	#copyright{
		padding-bottom:0px;
	}
	
	.footer-image{
		display: block;
		margin-left: 40%;
		width:60%;
		height: auto;
		padding-bottom:5px;
	}

}

/* --------------------------------------------------------- */
/*	カレンダー  ******************************************/
/* --------------------------------------------------------- */

#wp-calendar{
	font-size: 90%;
}
#wp-calendar td{
	text-align: center;
	white-space: nowrap;
}

/* --------------------------------------------------------- */
/*	トップに戻るボタン（右下固定） **********************************/
/* --------------------------------------------------------- */
.backtotop-hide{
	display: none;
}
#backtotop{
    bottom: 15px;
    position: fixed;
	z-index: 90;
    right: 5px;
}
#backtotop a {
    display: inline-block;
    background-color: #f4bf1d;
    color: #000;
    width: 40px;
    height: 40px;
    background-image: url(../images/backtotop.png);
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 50%;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* 薄い影 */
}

#inquiry #backtotop,
#inquiry-thanks #backtotop{
    bottom: 90px;
}

/* --------------------------------------------------------- */
/*	サムネ画像にマウスhover  ******************************************/
/* --------------------------------------------------------- */

.post-thumbnail,
.list-thumbnail{
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.post-thumbnail:hover,
.list-thumbnail:hover{
	opacity: 0.6;
}

/* --------------------------------------------------------- */
/*	ドット線画像  ******************************************/
/* --------------------------------------------------------- */

/* PC表示：フル幅 */
.dotline-wrap {
	padding-top: 15px;
	padding-bottom: 30px;
}

.dotline {
    width: 100%;
    max-width: 1200px;
    height: auto;  /* 縦横比維持 */
    display: block;
    margin: 0 auto;
}

/* スマホ対応 */
@media screen and (max-width: 480px) {
    .dotline-wrap {
        width: 100%;      /* 親コンテナいっぱい */
        max-width: 100%;  
        overflow: hidden;  /* 右半分を隠す */
    }

    .dotline {
        width: 200%;       /* 横幅を2倍にして左半分を画面いっぱいに */
        height: auto;      /* 縦横比維持 */
        display: block;
    }
}

/* --------------------------------------------------------- */
/*	下線  ******************************************/
/* --------------------------------------------------------- */

.underline{
	text-decoration: underline;
}


/* --------------------------------------------------------- */
/*	reCAPTCHAのバッヂを問合せページにだけ表示する  *********/
/* --------------------------------------------------------- */
.grecaptcha-badge {
	visibility: hidden;
}

#inquiry .grecaptcha-badge,
#inquiry-thanks .grecaptcha-badge{
	visibility: visible;
}


/* --------------------------------------------------------- */
/* ===== Gutenberg カラーパレット 12色 ===== */
/* --------------------------------------------------------- */
/* Gutenberg の mark（ハイライト）対応 */
mark {
    background-color: transparent !important; /* デフォルトは透明 */
}


/* Black */
.has-black-color { color: #000000; }
.has-black-background-color { background-color: #000000; }
mark.has-black-color { background-color: #000000 !important; color: #fff; }

/* Cyan bluish gray */
.has-cyan-bluish-gray-color { color: #abb8c3; }
.has-cyan-bluish-gray-background-color { background-color: #abb8c3; }
mark.has-cyan-bluish-gray-color { background-color: #abb8c3 !important; color: #000; }

/* White */
.has-white-color { color: #ffffff; }
.has-white-background-color { background-color: #ffffff; }
mark.has-white-color { background-color: #ffffff !important; color: #000; }

/* Pale pink */
.has-pale-pink-color { color: #f78da7; }
.has-pale-pink-background-color { background-color: #f78da7; }
mark.has-pale-pink-color { background-color: #f78da7 !important; color: #000; }

/* Vivid red */
.has-vivid-red-color { color: #cf2e2e; }
.has-vivid-red-background-color { background-color: #cf2e2e; }
mark.has-vivid-red-color { background-color: #cf2e2e !important; color: #fff; }

/* Luminous vivid orange */
.has-luminous-vivid-orange-color { color: #ff6900; }
.has-luminous-vivid-orange-background-color { background-color: #ff6900; }
mark.has-luminous-vivid-orange-color { background-color: #ff6900 !important; color: #000; }

/* Luminous vivid amber */
.has-luminous-vivid-amber-color { color: #fcb900; }
.has-luminous-vivid-amber-background-color { background-color: #fcb900; }
mark.has-luminous-vivid-amber-color { background-color: #fcb900 !important; color: #000; }

/* Light green cyan */
.has-light-green-cyan-color { color: #7bdcb5; }
.has-light-green-cyan-background-color { background-color: #7bdcb5; }
mark.has-light-green-cyan-color { background-color: #7bdcb5 !important; color: #000; }

/* Vivid green cyan */
.has-vivid-green-cyan-color { color: #00d084; }
.has-vivid-green-cyan-background-color { background-color: #00d084; }
mark.has-vivid-green-cyan-color { background-color: #00d084 !important; color: #000; }

/* Pale cyan blue */
.has-pale-cyan-blue-color { color: #8ed1fc; }
.has-pale-cyan-blue-background-color { background-color: #8ed1fc; }
mark.has-pale-cyan-blue-color { background-color: #8ed1fc !important; color: #000; }

/* Vivid cyan blue */
.has-vivid-cyan-blue-color { color: #0693e3; }
.has-vivid-cyan-blue-background-color { background-color: #0693e3; }
mark.has-vivid-cyan-blue-color { background-color: #0693e3 !important; color: #fff; }

/* Vivid purple */
.has-vivid-purple-color { color: #9b51e0; }
.has-vivid-purple-background-color { background-color: #9b51e0; }
mark.has-vivid-purple-color { background-color: #9b51e0 !important; color: #fff; }
