/* "STYLE" Style Sheet */

/*
▼CSS略
フォントサイズ（fs）フォントウェイト（fw）フォントカラー（fc）行間（lh）文字間（ls）文字横揃え（ta）文字縦揃え（va）線（bd）角丸（bdr）背景（bg）マージントップ（mt）マージンボトム（mb）

▼サイズ略
ラージ（l）ミディアム（m）スモール（s）

▼カラー略
黒（blk）白（wht）グレー（gry）赤（red）薄青（aqu）青（blu）ネイビー（nvy）薄黄（lmn）黄（yel）オレンジ（orn）緑（grn）ピンク（pnk）紫（ppl）ベージュ（beg）茶（brn）金（gld）銀（slv）透明（clr）

▼その他略
パソコン（pc）スマホ（sp）サンクス（thx）エラー（err）
ページ（page）セクション（sec）コンテンツ（cont）インナー（inner）アウター（outer）括る（wrap）ボックス（box）
投稿（post）カテゴリー（cat）タイトル（ttl）詳細（dtl）表（list）
ナビゲーション（navi）ボタン（btn）リンク（link）テキスト（txt）画像（img）ロゴ（logo）アイコン（icon）アイテム（item）
半分（half）全部（total）伸縮（flx）固定（fix）次（next）前（prev）中（in）外（out）

▼SNS略
facebook（fb）Twitter（tw）Instagram（ig）YouTube（yt）
*/


/* =====================================================
▼ LAYOUT
===================================================== */
@media screen and (min-width:768px){
	.sp {
		display: none;
	}
	.mb-10 {
		margin-bottom: 10px !important;
	}
	.mb-20 {
		margin-bottom: 20px !important;
	}
	.mb-30 {
		margin-bottom: 30px !important;
	}
	.mb-40 {
		margin-bottom: 40px !important;
	}
	.mb-50 {
		margin-bottom: 50px !important;
	}
	.mb-10-5 {
		margin-bottom: 10px !important;
	}
	.mb-15-10 {
		margin-bottom: 15px !important;
	}
	.mb-20-15 {
		margin-bottom: 20px !important;
	}
	.mb-25-20 {
		margin-bottom: 25px !important;
	}
	.mb-30-25 {
		margin-bottom: 30px !important;
	}
	.mb-35-30 {
		margin-bottom: 35px !important;
	}
	.mb-40-35 {
		margin-bottom: 40px !important;
	}
	.mb-45-40 {
		margin-bottom: 45px !important;
	}
	.mb-50-45 {
		margin-bottom: 50px !important;
	}
	.mb-55-50 {
		margin-bottom: 55px !important;
	}
	.mb-80-50 {
		margin-bottom: 80px !important;
	}
	.flex {}
	.inner {
		max-width: 1000px;
		margin: 0 auto;
	}
	.inner-800 {
		max-width: 800px;
		margin: 0 auto;
	}
	.inner-1200 {
		max-width: 1180px;
		margin: 0 auto;
	}
	.wrap {}
	.fs-80 {
		font-size: 80%;
		line-height: 1.5em;
	}
	.fs-90 {
		font-size: 90%;
		line-height: 1.5em;
	}
	.fs-110 {
		font-size: 110%;
		line-height: 1.5em;
	}
	.fs-120 {
		font-size: 120%;
		line-height: 1.5em;
	}
	.fs-150 {
		font-size: 150%;
		line-height: 1.5em;
	}
	.fs-200 {
		font-size: 200%;
		line-height: 1.5em;
	}
	.lh-10 {
		line-height: 1em;
	}
	.lh-15 {
		line-height: 1.5em;
	}
	.lh-20 {
		line-height: 2em;
	}
	.lh-25 {
		line-height: 2.5em;
	}
	.lh-30 {
		line-height: 3em;
	}
	.ls-01 {
		letter-spacing: 0.1em;
	}
	.ls-02 {
		letter-spacing: 0.2em;
	}
	.ls-03 {
		letter-spacing: 0.3em;
	}
	.ls-04 {
		letter-spacing: 0.4em;
	}
	.ls-05 {
		letter-spacing: 0.5em;
	}
	.fw-n {
		font-weight: normal;
	}
	.fw-b {
		font-weight: bold;
	}
	.ta-c-l {
		text-align: center;
	}
	.ta-c-r {
		text-align: center;
	}
	.ta-l-c {
		text-align: left;
	}
	.ta-r-c {
		text-align: right;
	}
	.sec-wrap {
		padding: 90px 0;
	}
	.box-wrap {
		padding: 20px;
	}
	.relative {
		position: relative;
	}
	.list-d-s,
	.list-d-d {
		width: 100%;
		
		letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
	}
	.list-d-s > li,
	.list-d-d > li {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		
		letter-spacing: 0.17em; /* 文字間を通常に戻す */
	}
	figure.img-txt {
		display: flex;
		align-items: flex-start;
	}
	figure.img-txt > img,
	figure.img-txt > a > img {
		width: calc(47% - 50px);
		height: auto;
	}
	figure.img-txt > figcaption {
		width: 53%;
		padding-left: 50px;
	}
	figure.img-txt.img-right {
		position: relative;
		min-height: 316px;
	}
	figure.img-txt.img-right > img,
	figure.img-txt.img-right > a > img {
		position: absolute;
		top: 0;
		right: 0;
		width: calc(47% - 50px);
	}
	figure.img-txt.img-right figcaption {
		width: 100%;
		padding-left: 0;
		padding-right: 47%;
		
		box-sizing: border-box;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
	}
	figure.icon-txt {
		width: 100%;
		display: table;
	}
	figure.icon-txt > img {
		display: table-cell;
		vertical-align: top;
	}
	figure.icon-txt > a > img {
		display: table-cell;
		vertical-align: top;
	}
	figure.icon-txt figcaption {
		width: 100%;
		display: table-cell;
		vertical-align: top;
		padding-left: 30px;
	}
	figure.float-txt {
		width: 100%;
		display: table;
	}
	figure.float-txt > img {
		display: table-cell;
		vertical-align: top;
	}
	figure.float-txt > a > img {
		display: table-cell;
		vertical-align: top;
	}
	figure.float-txt figcaption {
		width: 100%;
		display: table-cell;
		vertical-align: top;
		padding-left: 30px;
	}
}

@media screen and (max-width:1260px){
	.tb {
		display: none;
	}
	.wrap {
		padding: 0 30px;
	}
}

@media screen and (max-width:767px){
	.pc {
		display: none;
	}
	.mb-10 {
		margin-bottom: 10px !important;
	}
	.mb-20 {
		margin-bottom: 20px !important;
	}
	.mb-30 {
		margin-bottom: 30px !important;
	}
	.mb-40 {
		margin-bottom: 40px !important;
	}
	.mb-50 {
		margin-bottom: 50px !important;
	}
	.mb-10-5 {
		margin-bottom: 5px !important;
	}
	.mb-15-10 {
		margin-bottom: 10px !important;
	}
	.mb-20-15 {
		margin-bottom: 15px !important;
	}
	.mb-25-20 {
		margin-bottom: 20px !important;
	}
	.mb-30-25 {
		margin-bottom: 25px !important;
	}
	.mb-35-30 {
		margin-bottom: 30px !important;
	}
	.mb-40-35 {
		margin-bottom: 35px !important;
	}
	.mb-45-40 {
		margin-bottom: 40px !important;
	}
	.mb-50-45 {
		margin-bottom: 45px !important;
	}
	.mb-55-50 {
		margin-bottom: 50px !important;
	}
	.mb-80-50 {
		margin-bottom: 50px !important;
	}
	.flex {
		border: none;
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	.inner {}
	.inner-800 {}
	.inner-1200 {}
	.wrap {
		padding: 0 25px;
	}
	.fs-80 {
		font-size: 80%;
		line-height: 1.5em;
	}
	.fs-90 {
		font-size: 90%;
		line-height: 1.5em;
	}
	.fs-110 {
		font-size: 110%;
		line-height: 1.5em;
	}
	.fs-120 {
		font-size: 120%;
		line-height: 1.5em;
	}
	.fs-150 {
		font-size: 150%;
		line-height: 1.5em;
	}
	.fs-200 {
		font-size: 200%;
		line-height: 1.5em;
	}
	.lh-15 {
		line-height: 1.5em;
	}
	.lh-20 {
		line-height: 2em;
	}
	.lh-25 {
		line-height: 2.5em;
	}
	.lh-30 {
		line-height: 3em;
	}
	.ls-01 {
		letter-spacing: 0.1em;
	}
	.ls-02 {
		letter-spacing: 0.2em;
	}
	.ls-03 {
		letter-spacing: 0.3em;
	}
	.ls-04 {
		letter-spacing: 0.4em;
	}
	.ls-05 {
		letter-spacing: 0.5em;
	}
	.fw-n {
		font-weight: normal;
	}
	.fw-b {
		font-weight: bold;
	}
	.ta-c-l {
		text-align: left;
	}
	.ta-c-r {
		text-align: right;
	}
	.ta-l-c {
		text-align: center;
	}
	.ta-r-c {
		text-align: center;
	}
	.sec-wrap {
		padding: 60px 0;
	}
	.box-wrap {
		padding: 15px;
	}
	.relative {
		position: relative;
	}
	.list-d-s {
		width: 100%;
	}
	.list-d-s > li {
		width: 100%;
		margin-bottom: 30px;
	}
	.list-d-d {
		width: 100%;
		
		letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
	}
	.list-d-d > li {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		
		letter-spacing: 0.17em; /* 文字間を通常に戻す */
	}
	figure.img-txt {
		width: 100%;
		text-align: center;
	}
	figure.img-txt > img {
		margin-bottom: 30px;
	}
	figure.img-txt > a > img {
		margin-bottom: 30px;
	}
	figure.img-txt figcaption {
		text-align: justify;
		text-justify: inter-ideograph;
	}
	figure.icon-txt {
		width: 100%;
		display: table;
	}
	figure.icon-txt > img {
		display: table-cell;
		vertical-align: top;
		width: 100px;
		height: auto;
	}
	figure.icon-txt > a > img {
		display: table-cell;
		vertical-align: top;
		width: 100px;
		height: auto;
	}
	figure.icon-txt figcaption {
		display: table-cell;
		vertical-align: top;
		width: 100%;
		padding-left: 10px;
	}
	figure.float-txt {
		width: 100%;
		clear: both;
	}
	figure.float-txt > img {
		float: left;
		width: 40%;
		height: auto;
		margin-right: 10px;
		margin-bottom: 10px;
	}
	figure.float-txt > a > img {
		float: left;
		width: 40%;
		height: auto;
		margin-right: 10px;
		margin-bottom: 10px;
	}
	figure.float-txt figcaption {}
}



/* =====================================================
▼ TEXT
===================================================== */
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.line-txt {
	overflow: hidden;
}
.line-txt > span {
	display: inline-block;
	padding: 0 1em;
	position: relative;
}
.line-txt > span:before,
.line-txt > span:after {
	height: 3px;
	border-top: solid 1px #2275B2;
	border-bottom: solid 1px #2275B2;
	content: "";
	position: absolute;
	top: 45%;
	width: 99em;
}
.line-txt > span:before {
	right: 100%;
}
.line-txt > span:after {
	left: 100%;
}
.marker-txt {
	background: linear-gradient(transparent 60%, #DDD9B3 60%);
}
.excerpt {
	overflow: hidden;
	white-space: nowrap;
	
	text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-moz-text-overflow: ellipsis;
}



/* =====================================================
▼ BUTTON
===================================================== */
.push-btn {
	font-size: 150%;
	line-height: 1.5em;
	text-align: center;
	color: #FFF;
	background-color: #666;
	border-radius: 5px;
	box-shadow: 0 3px 0 #333;
	text-shadow: 0 -1px 0 #333;
	padding: 30px 10px;
	margin: 0 auto;
}
.push-btn a {
	display: block;
	color: #FFF;
}
.push-btn a:hover,
.push-btn a:active {
	text-decoration: none;
}
.push-btn a:after {
	font-family: FontAwesome;
	font-size: 120%;
	color: #FFF;
	content: "\f105";
	margin-left: 10px;
}
.push-btn:hover,
.push-btn:active {
	box-shadow: none;
	position: relative;
	top: 3px;
}



/* =====================================================
▼ FUKIDASHI
===================================================== */
.fukidashi-b,
.fukidashi-t,
.fukidashi-l,
.fukidashi-r {
	position: relative;
	display: inline-block;
	min-width: 300px;
	text-align: center;
	color: #FFF;
	background-color: #333;
	padding: 20px;
}
.fukidashi-b:after {
	content: "";
	position: absolute;
	bottom: -10px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #333 transparent transparent transparent;
}
.fukidashi-t:after {
	content: "";
	position: absolute;
	top: -10px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #333 transparent;
}
.fukidashi-l:after {
	content: "";
	position: absolute;
	top: 50%; left: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #333 transparent transparent;
}
.fukidashi-r:after {
	content: "";
	position: absolute;
	top: 50%; right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #333;
}



/* =====================================================
▼ PAGE NATION
===================================================== */
/*
【HTML】<center><div class="post-pagination"><span>Page 1 of 2</span><span class="current">1</span><a href="javascript:void(0)" class="inactive">2</a></div></center>
【WP】<center><?php if (function_exists("pagination")) {pagination($additional_loop->max_num_pages);} ?></center>
*/
.post-pagination {
	display: inline-block;
	margin-top: 50px;
}
.post-pagination > li {
	display: inline-block;
	margin: 0 7px;
}
.post-pagination > li > a,
.post-pagination > li > span {
	position: relative;
	float: left;
	font-size: 110%;
	line-height: 1.5em;
	text-decoration: none;
	color: #000;
	border: 1px solid #000;
	background-color: transparent;
	padding: 8px 10px;
	margin-left: -1px;
	
	transition: 0.3s ease-in-out;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
}
.post-pagination > li.prev > a,
.post-pagination > li.next > a {
	padding: 8px 20px;
}
.post-pagination > li:first-child > a,
.post-pagination > li:first-child > span {
	margin-left: 0;
}
.post-pagination > li:last-child > a,
.post-pagination > li:last-child > span {}
.post-pagination > li > a:hover,
.post-pagination > li > a:active,
.post-pagination > li > span:hover,
.post-pagination > li > span:active,
.post-pagination > li > a:focus,
.post-pagination > li > span:focus {
	color: #FFF;
	background-color: #000;
	z-index: 2;
}
.post-pagination > .active > a,
.post-pagination > .active > span,
.post-pagination > .active > a:hover,
.post-pagination > .active > a:active,
.post-pagination > .active > span:hover,
.post-pagination > .active > span:active,
.post-pagination > .active > a:focus,
.post-pagination > .active > span:focus {
	color: #FFF;
	background-color: #000;
	z-index: 3;
}
.post-pagination > .disabled > span,
.post-pagination > .disabled > span:hover,
.post-pagination > .disabled > span:active,
.post-pagination > .disabled > span:focus,
.post-pagination > .disabled > a,
.post-pagination > .disabled > a:hover,
.post-pagination > .disabled > a:active,
.post-pagination > .disabled > a:focus {
	color: #000;
	background-color: #FFF;
}



/* =====================================================
▼ WP EDITOR
===================================================== */
.editor-area {
	word-wrap: break-word;
}
.editor-area p,
.editor-area table,
.editor-area ul,
.editor-area ol,
.editor-area dl,
.editor-area figure,
.editor-area img,
.editor-area hr {
	margin-bottom: 20px;
}
.editor-area .wp-caption {
	width: 100% !important;
}
.editor-area .foogallery-container img {
	margin-bottom:0;
}
.editor-area div.gallery dl.gallery-item {
	width: 29.33% !important;
	margin: 0 2%;
	
	box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
}
.editor-area ul,
.editor-area ol {
	margin-left: 30px;
}
.editor-area ul li {
	list-style-type: disc;
}
.editor-area ol li {
	list-style-type: decimal;
}
.editor-area h4 {
	font-size: 140%;
	line-height: 1.5em;
	font-weight: bold;
	color: #000;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
	padding: 15px;
}
.editor-area h5 {
	position: relative;
	font-size: 130%;
	line-height: 1.5em;
	font-weight: bold;
	color: #000;
	border-bottom: solid 1px rgba(0,0,0,0.4);
	padding: 10px 15px;
}
.editor-area h5:after {
	position: absolute;
	bottom: -1px;
	left: 0;
	content: "";
	display: block;
	width: 100px;
	border-bottom: solid 1px #000;
}
.editor-area h6 {
	position: relative;
	font-size: 110%;
	line-height: 1.5em;
	font-weight: bold;
	color: #000;
	padding-left: 40px;
}
.editor-area h6:before {
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	width: 25px;
	height: 2px;
	background-color: #000;
	margin-top: -2px;
}
.editor-area img.aligncenter {
	display: block;
	margin: 0 auto;
}

@media screen and (min-width:768px){
	.editor-area h1,
	.editor-area h2,
	.editor-area h3,
	.editor-area h4,
	.editor-area h5,
	.editor-area h6 {
		margin-bottom: 20px;
	}
	.editor-area img {
		max-width: 800px;
		height: auto;
	}
}

@media screen and (max-width:767px){
	.editor-area h1,
	.editor-area h2,
	.editor-area h3,
	.editor-area h4,
	.editor-area h5,
	.editor-area h6 {
		margin-bottom: 15px;
	}
	.editor-area img {
		width: 100%;
		height: auto;
	}
	.editor-area dl.gallery-item dt.gallery-icon img {
		width: 100%;
		height: auto;
	}
}



/* =====================================================
▼ HOVER IMAGE
===================================================== */
a img {
	transition: 0.3s ease-in-out;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
}
a:hover img,
a:active img {
	cursor: pointer;
	
	filter: alpha(opacity=40); /* IE 6,7*/
	opacity: 0.4;
		-ms-filter: "alpha(opacity=40)"; /* IE 8,9 */
		-moz-opacity: 0.4; /* FF,Netscape */
		-khtml-opacity: 0.4; /* Safari 1.x */
	zoom: 1; /* IE */
}



/* =====================================================
▼ SCROLL BAR
===================================================== */
.scrollbar::-webkit-scrollbar {
	overflow: hidden;
	width: 0;
}
.scrollbar::-webkit-scrollbar:horizontal {
	height: 0;
}
.scrollbar::-webkit-scrollbar-button {
	display: none;
}
.scrollbar::-webkit-scrollbar-piece {
	background: transparent;
}
.scrollbar::-webkit-scrollbar-piece:start {
	background: transparent;
}
.scrollbar::-webkit-scrollbar-thumb {
	overflow: hidden;
}
.scrollbar::-webkit-scrollbar-corner {
	overflow:hidden;
}
/* .scrollbar::-webkit-scrollbar {
	overflow: hidden;
	width: 5px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}
.scrollbar::-webkit-scrollbar:horizontal {
	height: 5px;
}
.scrollbar::-webkit-scrollbar-button {
	display: none;
}
.scrollbar::-webkit-scrollbar-piece {
	background: rgba(0,0,0,0.5);
}
.scrollbar::-webkit-scrollbar-piece:start {
	background: rgba(0,0,0,0.5);
}
.scrollbar::-webkit-scrollbar-piece {
	background: transparent;
}
.scrollbar::-webkit-scrollbar-piece:start {
	background: transparent;
}
.scrollbar::-webkit-scrollbar-thumb {
	overflow: hidden;
	border-radius: 3px;
	background: rgba(0,0,0,0.5);
}
.scrollbar::-webkit-scrollbar-corner {
	overflow:hidden;
	border-radius: 3px;
	background: rgba(0,0,0,0.5);
} */



/* =====================================================
▼ FLEX YOUTUBE
===================================================== */
.flex-yt {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.flex-yt iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}



/* =====================================================
▼ PLACEHOLDER
===================================================== */
:placeholder-shown {
	color: #999;
}
::-webkit-input-placeholder {
	color: #999;
}
:-moz-placeholder {
	color: #999;
	opacity: 1;
}
::-moz-placeholder {
	color: #999;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #999;
}



/* =====================================================
▼ CLEARFIX
===================================================== */
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}
.clear {
	clear: both;
	border: none;
}



/* =====================================================
▼ FOOTER FIX
===================================================== */
#footer-fix { /* 縦全画面と共存不可 */
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
footer {
	margin-top: auto;
}





