@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: fwc-ut
Theme URI: https://d7r.com
Description: SP Opt
Author: sada
Author URI: https://d7r.com
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: flexible-width, custom-header, custom-menu, editor-style,
Version: 20260616
---------------------------------------------------------*/
/*----------------------------------------------------------
■HTML・BODY
----------------------------------------------------------*/
html {
	margin : 0;
	padding : 0;
	height : 100%;
	font-size : var(--font-size);
	line-height : var(--line-height);
	font-family : var(--font-family01);
	color : var(--color-02);
}
body {
	position : relative;
	margin : 0;
	margin-top : 0;
	padding : 0;
	background : var(--color-01);
	-webkit-text-size-adjust : 100%;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
	table-layout : fixed;
	overflow-wrap : break-word;
	word-break : break-word;
	min-height: 100dvh;
	@supports not (min-height: 100dvh) {
		min-height: 100vh;
	}
}
/*----------------------------------------------------------
■マージン・パディング・サイズ設定
----------------------------------------------------------*/
.ph-10 {
	padding-left : 0.625rem;
	padding-right : 0.625rem;
}
.pv-2 {
	padding-top : 2px;
	padding-bottom : 2px;
}
.pv-05rem {
	padding-top : 0.5rem;
	padding-bottom : 0.5rem;
}
.pv-1rem {
	padding-top : 1rem;
	padding-bottom : 1rem;
}
.pv-2rem {
	padding-top : 2rem;
	padding-bottom : 2rem;
}
.mv-1rem {
	margin-top : 1rem;
	margin-bottom : 1rem;
}
.mv-2rem {
	margin-top : 2rem;
	margin-bottom : 2rem;
}
.mv-3rem {
	margin-top : 3rem;
	margin-bottom : 3rem;
}
.mv-4rem {
	margin-top : 4rem;
	margin-bottom : 4rem;
}
/*----------------------------------------------------------
■文字サイズ
----------------------------------------------------------*/
.fs-bold {
	font-weight : bold;
}
.fs-xxxs {
	font-size : 0.625rem;
}
.fs-xxs {
	font-size : 0.675rem;
}
.fs-xs {
	font-size : 0.75rem;
}
.fs-s {
	font-size : 0.875rem;
}
.fs-l {
	font-size : 1.25rem;
}
.fs-xl {
	font-size : 1.5rem;
}
.fs-xxl {
	font-size : 2rem;
}
.fs-xxxl {
	font-size : 3rem;
}
/*----------------------------------------------------------
■強調・スポットカラー
----------------------------------------------------------*/
a {
	text-decoration : none;
}
a img {
	border : none;
}
a:hover img {
	opacity : 0.8;
}
b,
strong {
	font-weight : bold;
}
.spot_color {
	color : var(--color-04);
}
/*----------------------------------------------------------
■カード
----------------------------------------------------------*/
.card {
	position : relative;
	display : block;
	margin : 0;
	height : auto;
	background : #fff;
	border-radius : 0.5em;
	overflow: hidden;
	& dt.card-thumb {
		position : relative;
		margin : 0;
		width : 100%;
		overflow : hidden;
		& .card-cat a {
			display : inline-block;
			position : absolute;
			top : 0;
			left : 0;
			background : #333;
			color : #fff;
			font-size : 0.625rem;
			line-height : 1em;
			font-weight : bold;
			padding : 5px;
		}
		& .card-cat a::before {
			content : "\f07b";
			font-family : fontawesome;
			margin : 0 4px 0 0;
		}
		& .card-cat a:hover {
			background : var(--color-04);
		}
		& img {
			width: 100%;
			height: auto;
			object-fit: cover;
			aspect-ratio: var(--aspect-ratio);
		}
		& img:hover {
			opacity : 1;
		}
	}
	& dd.card-content {
		margin : 0;
		padding : 1rem 10%;
		& h3 {
			padding : 0;
			margin : 0 0 0.5em 0;
			font-family : var(--font-family01);
			font-size : 1.25em;
			font-weight : bold;
			line-height : 1.5em;
			text-align : left;
			border : none;
			& a {
				color : var(--color-02);
			}
		}
		& .card-excerpt {
			& a {
				color : #555;
				dispaly : block;
			}
			& p {
				margin-bottom : 0.5rem;
				font-size : 1rem;
				line-height : 1.5em;
			}
		}
		&:has(.read_post) {
			padding-bottom : 4rem;
		}
		& .read_post {
			position : absolute;
			left : 0;
			right : 0;
			bottom : 1rem;
			text-align : center;
			font-size : 2rem;
			margin : 0;
			& a {
				color : #ccc;
			}
		}
	}
	&:hover {
		transition: 0.2s ease-in-out;
		box-shadow : 0 1rem 2rem rgba(0,0,0,0.3);
	}
	&:hover dd.card-content .read_post a {
		transition: 0.1s ease-in-out;
		color : #60acfc;
	}
}
/*----------------------------------------------------------
■ブロックサイズ
----------------------------------------------------------*/
.w-large,
.w-half ,
.w-medium,
.w-small {
	width : 100%;
}
@media print, only screen and (min-width: 1200px) {
.w-full {
	width : 100%;
}
.w-large {
	width : 1200px;
}
.w-medium {
	width : 640px;
}
.w-half {
	width : 48%;
}
.w-1-third {
	width : 30%;
}
.w-quarter {
	width : 23%;
}
.w-small {
	width : 300px;
}
.w-thumb {
	width : 150px;
}
}
/*----------------------------------------------------------
■配置
----------------------------------------------------------*/
.text-center {
	text-align : center;
}
.text-right {
	text-align : right;
}
.justify-center {
	justify-content : center;
}
.justify-right {
	justify-content : right;
}
.items-center {
	display : flex;
	align-items : center;
}
.items-bottom {
	display : flex;
	align-items : bottom;
}
/*----------------------------------------------------------
■grid2-1 2列一覧表示
----------------------------------------------------------*/
.grid2-1 {
	display : block;
	margin : 0;
	padding : 0;
	& div ,
	& li {
		margin : 0 0 var(--w-grid-gap) 0;
	}
}
@media print, only screen and (min-width: 640px) {
.grid2-1 {
	display : grid;
	grid-template-columns : repeat(2, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
}
}
/*----------------------------------------------------------
■3-1col 3列一覧表示
----------------------------------------------------------*/
.grid3-1 {
	display : block;
	& div ,
	& li {
		margin : 0 0 var(--w-grid-gap) 0;
	}
}
@media print, only screen and (min-width: 640px) {
.grid3-1 {
	display : grid;
	grid-template-columns : repeat(3, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
}
}
/*----------------------------------------------------------
■4-1col 4列一覧表示
----------------------------------------------------------*/
.grid4-1 {
	display : block;
	& div ,
	& li {
		margin : 0 0 var(--w-grid-gap) 0;
	}
}
@media print, only screen and (min-width: 640px) {
.grid4-1 {
	display : grid;
	grid-template-columns : repeat(4, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
}
}
/*----------------------------------------------------------
■4-2col 4列2列一覧表示
----------------------------------------------------------*/
.grid4-2 {
	display : grid;
	grid-template-columns : repeat(2, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
	& div ,
	& li {
		margin : 0 0 var(--w-grid-gap) 0;
	}
}
@media print, only screen and (min-width: 1200px) {
.grid4-2 {
	display : grid;
	grid-template-columns : repeat(4, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
}
}
/*----------------------------------------------------------
■flex
----------------------------------------------------------*/
.flex ,
.flex-nowrap {
	display : block;
}
@media print, only screen and (min-width: 640px) {
.flex {
	display : -webkit-flex;
	display : -moz-flex;
	display : -ms-flex;
	display : -o-flex;
	display : flex;
	-webkit-flex-wrap : wrap;
	flex-wrap : wrap;
	justify-content : space-between;
	align-items : stretch;
}
.flex-nowrap {
	display : -webkit-flex;
	display : -moz-flex;
	display : -ms-flex;
	display : -o-flex;
	display : flex;
	-webkit-flex-wrap : nowrap;
	flex-wrap : nowrap;
	justify-content : space-between;
	align-items : stretch;
}
}
/*----------------------------------------------------------
■ブロック
----------------------------------------------------------*/
.container {
	padding : 0 0.5rem;
	width : 100%;
}
@media print, only screen and (min-width: 1200px) {
.container {
	padding : 0;
	width : 1200px;
}
}
/*----------------------------------------------------------
■表示制御
----------------------------------------------------------*/
.disp-l {
	display : none;
}
.hide-l {
	display : block;
}

@media print, only screen and (min-width: 1200px) {
.disp-l {
	display : block;
}
.hide-l {
	display : none;
}
}
/*----------------------------------------------------------
■視覚効果
----------------------------------------------------------*/
.box-shadow {
	box-shadow : 0 0.3em 0.4em rgba(0,0,0,0.2);
}
/*----------------------------------------------------------
■スクロールするとふわっと表示される fadein
----------------------------------------------------------*/
.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}

.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}
/*----------------------------------------------------------
■フワッと表示されるfadein・scroll_up
----------------------------------------------------------*/
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(100px);
	opacity: 0;
}
.scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
}
body.mceContentBody .scroll_up {
	opacity: 1.0;
}
/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
	-webkit-transition: 0.8s ease-in-out;
	-moz-transition: 0.8s ease-in-out;
	-o-transition: 0.8s ease-in-out;
	transition: 0.8s ease-in-out;
	transform: translateX(-150px);
	opacity: 0;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
}
.scroll_left.on {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	transform: translateX(0);
}
body.mceContentBody .scroll_left {
	opacity: 1.0;
}
/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
	-webkit-transition: 0.8s ease-in-out;
	-moz-transition: 0.8s ease-in-out;
	-o-transition: 0.8s ease-in-out;
	transition: 0.8s ease-in-out;
	transform: translateX(100px);
	opacity: 0;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
}
.scroll_right.on {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	transform: translateX(0);
}
body.mceContentBody .scroll_right {
	opacity: 1.0;
}
/*----------------------------------------------------------
■画像配置
----------------------------------------------------------*/
img {
	border : 0;
	margin : 0;
}
img.size-thumbnail,
img.size-medium,
img.size-medium_large,
img.size-large,
img.size-full {
	max-width : 100%;
	height : auto;
}
.alignleft ,
.alignright ,
.aligncenter {
	float : none;
	margin : 0 0 0.625rem 0;
}
.align-center {
	margin-left : auto;
	margin-right : auto;
}
@media print, only screen and (min-width: 1200px) {
.alignleft {
	float : left;
	margin : 0 1rem 0.625rem 0;
}
.alignright {
	float : right;
	margin : 0 0 0.625rem 1rem;
}
.aligncenter {
	display : block;
	margin : 0 auto;
	text-align : center;
}
}
/*----------------------------------------------------------
■no_img NO IMAGE eyecatch
----------------------------------------------------------*/
.no_img {
	display : block;
	width : 100%;
	aspect-ratio: 3 / 2;
	background : url(./images/fa-image-w.svg) #ccc no-repeat center center;
	background-size : 30%;
	text-indent : -9999px;
}
.no_img-sq {
	display : block;
	width : 100%;
	aspect-ratio: 1 / 1;
	background : url(./images/fa-image-w.svg) #ccc no-repeat center center;
	background-size : contain;
	text-indent : -9999px;
}
/*----------------------------------------------------------
■フルスクリーン
----------------------------------------------------------*/
.fullscreen-block {
	width: 100%;
	height : calc( 100dvh - 5rem );
	@supports not (height: 100dvh) {
		height : calc( 100vh - 5rem );
	}
}
/*----------------------------------------------------------
■表示コントロールその他
----------------------------------------------------------*/
.box_left ,
.box_right {
	float : none;
}
.pc_only {
	display : none;
}
.mobile_only {
	display : block;
}
@media print, only screen and (min-width: 640px) {
.box_left {
	float : left;
}
.box_right {
	float : right;
}
.pc_only {
	display : block;
}
.mobile_only {
	display : none;
}
.fixed {	/*scroll_fix.js用*/
	position : fixed;
	top : 0;
	left : 0;
	z-index : 999;
}
}
/*----------------------------------------------------------
■ブロック
----------------------------------------------------------*/
.wrapper {
	position : relative;
	top : 0;
	padding : 0;
	margin : 0;
}
header {	/*高さ5rem*/
	flex: 0 0 auto;
	position : sticky;
	top : 0;
	left : 0;
	right : 0;
	margin : 0;
	padding : 0.5rem 1rem;
	z-index : 9999;
	background : #fff;
}
.header-main {
	position : relative;
	display: flex;
	justify-content: space-between;
	z-index : 999;
	& .header-sitelogo {
		max-width : 320px;
		height : 4rem;
		& img {
			max-height : 100%;
			width : auto;
		}
	}
}
.content,
aside {
	float : none;
	padding :0.625rem;
	height : auto;
}
/*#gmap {
	clear : both;
	padding : 0!important;
	margin : 0!important;
}*/
.footer_outer {
	clear : both;
	margin : 4rem 0 0 0;
	padding : 0;
	background : #555;
}
footer {
	padding : 0.625rem;
}
.footertitle_outer {
	clear : both;
	margin : 0 auto;
	background : #999;
}
.footertitle {
	padding : 10px 10px var(--size-foot_nav) 10px;
}
@media print, only screen and (min-width: 1200px) {
}
/*----------------------------------------------------------
■メニュー　GNAV
----------------------------------------------------------*/
ul.gnav {
	display : flex;
	& li a {
		padding-left : 1rem;
		color : #666;
		&::before {
			content : "\f101";
			font-family : Fontawesome;
			color : #999;
			margin-right : 0.2em;
		}
		&:hover {
			color : #000;
		}
		&:hover::before {
			color : #60acfc;
		}
	}
}
/*----------------------------------------------------------
■ヘッダ header内
----------------------------------------------------------*/
/*----------------------------------------------------------
■google_eyecatch　アイキャッチ画像
----------------------------------------------------------*/
.google_eyecatch {
	visibility : hidden;
	height : 0;
}
/*----------------------------------------------------------
■rndimage ランダムイメージ
----------------------------------------------------------*/
#rndimage {
	display : none;
}
@media print, only screen and (min-width: 640px) {
#rndimage {
	position : relative;
	display : block;
	margin : 0;
	width : 100%;
	height : 15rem;
}
#rndimage-inner  {
	position : relative;
	top : 0;
}
}
/*----------------------------------------------------------
■スマホボタン　3本線が×に
----------------------------------------------------------*/
button.mobile_menu_bttn {
	position : absolute;
	top : 0.625rem;
	right : 0.625rem;
	cursor: pointer;
	width : var(--size-sitename);
	height : var(--size-sitename);
	border : none;
	box-shadow : none;
	background : transparent;
}
.mobile_menu_bttn span.mmb1,
.mobile_menu_bttn span.mmb2,
.mobile_menu_bttn span.mmb3 {
	display : inline-block;
	transition : all .4s;
	position : absolute;
	left : 0;
	height : 2px;
	background : var(--color-02);
	width : 100%;
}
.mobile_menu_bttn:hover span.mmb1,
.mobile_menu_bttn:hover span.mmb2,
.mobile_menu_bttn:hover span.mmb3 {
	background : var(--color-04);
}
.mobile_menu_bttn:hover span.mmb4 {
	color : var(--color-04);
}
.mobile_menu_bttn span.mmb1 {
	top : 0; 
}
.mobile_menu_bttn span.mmb2 {
	top : calc(var(--size-sitename) * 0.3);
}
.mobile_menu_bttn span.mmb3 {
	top :  calc(var(--size-sitename) * 0.6);
}
.mobile_menu_bttn span.mmb4 {
	position : absolute;
	display : block;
	top :  calc(var(--size-sitename) * 0.65);
	left : 0;
	right : 0;
	font-size : 0.625rem;
	font-weight : bold;
	text-align : center;
	background : transparent;
}
.mobile_menu_bttn.close span.mmb1 {
	transform : translateY(calc(var(--size-sitename) * 0.3)) rotate(-31deg);
	width : 100%;
}
.mobile_menu_bttn.close span.mmb2 {
	opacity : 0;
}
.mobile_menu_bttn.close span.mmb3 {
	transform : translateY(calc(var(--size-sitename) * -0.3)) rotate(31deg);
	width : 100%;
}
@media print, only screen and (min-width: 1200px) {
button.mobile_menu_bttn {
	right : 20px;
}
}
/*----------------------------------------------------------
■検索　form.searchform
----------------------------------------------------------*/
form.searchform {
	display : grid;
	grid-template-columns: 1fr 2rem;
	grid-template-rows: 1fr;
	grid-gap : 0.2em;
	align-items : center;
	width : 100%;
	border : none;
	& input.search-box {
		display : block;
		width : 100%;
		color : #000;
		padding : 0 0.5em;
		height : 100%;
		line-height : 100%;
		background : transparent;
		&[type="text"]:focus {
			outline: none;
		}
	}
	& input.search-submit {
		display : block;
		width : 2em;
		height : 2em;
		background : url(images/search.svg);
		background-size : content;
		&:hover {
			filter: brightness(0) saturate(100%) invert(10%) sepia(96%) saturate(6217%) hue-rotate(11deg) brightness(86%) contrast(118%);
		}
	}
}
/*----------------------------------------------------------
■モバイルメニュー Mobile_menu
----------------------------------------------------------*/
.mobile_menu {
	display : none;
	position : fixed;
	-webkit-transform : translateZ(0);
	z-index : 9999;
	top : 5rem;
	right : 0;
	width : 50%;
	border-left : 1px solid var(--color-02);
	filter : drop-shadow(-10px 0 10px rgba(0,0,0,0.3));
	background : #fff;
	& ul.menu {
		overflow : auto;
		-webkit-overflow-scrolling : touch;
		height : calc(100dvh - 5rem);
		padding-bottom : 100px;
		@supports not (height: 100dvh) {
			height : calc( 100vh - 5rem );
		}
		& li {
			list-style : none;
			border-top : 1px solid var(--color-02);
			& a {
				display : block;
				padding : 0.625rem;
				font-weight : bold;
				line-height : 1.5rem;
				color : var(--color-02);
			}
			&.mobile_searchform {
				width : 100%;
				padding : 0;
				height : 2.75rem;
				border-bottom : 1px solid #999;
				color : #000;
				background : #fff;
				display : flex;
				align-items : center;
			}
		}
	}
}
/*----------------------------------------------------------
■SNSボタン
----------------------------------------------------------*/
ul.sns_button li i {
	font-family : Fontawesome;
	font-size : 2rem;
	font-style : normal;
	color : var(--color-02);
}
ul.sns_button li.sns-twitter i:hover {
	color : #1e9bf0;
}
ul.sns_button li.sns-facebook i:hover {
	color : #1877f2;
}
ul.sns_button li.sns-instagram i:hover {
	color : #ff0c55;
}
ul.sns_button li.sns-youtube i:hover {
	color : #ff0202;
}
ul.sns_button li.sns-line i:hover {
	color : #0eaf15;
}
ul.sns_button li.english-page i:hover {
	color : #30b84c;
}
ul.sns_button li.sns-contact i:hover {
	color : #006a27;
}
header ul.sns_button {
	display : none;
}
footer ul.sns_button {
	display : block;
	padding : 0;
	margin : 1rem 0 2rem 0;
	position : static;
	text-align : center;
	&:after {
		display : block;
		padding : 2rem 0;
		content : "●　●　●";
		font-family : fontawesome;
		font-size : 1rem;
		color : #fff;
		text-align : center;
	}
	& li {
		display : inline;
		padding : 0 0.625rem;
		float : none;
		margin-left : 0;
		& i {
			font-family : Fontawesome;
			font-size : 2rem;
			font-style : normal;
			color : #fff;
		}
	}
}
/*----------------------------------------------------------
@media print, only screen and (min-width: 640px) {
header ul.sns_button {
	display : block;
	position : absolute;
	top : 1rem;
	right : 100px;
	& li {
		float : left;
		margin-left : 1rem;
	}
}
}
----------------------------------------------------------*/
/*----------------------------------------------------------
■検索
.header-search form.searchform {
	display : flex;
	justify-content : right;
	margin : 0;
	padding : 0;
	& input.search {
		display : inline-block;
		width : calc( 100% - 2.7em );
		max-width : 240px;
		border-radius : 1em;
		border : 1px solid #ccc;
		background : #fff;
		box-shadow : 2px 2px 3px #ddd inset;
		color : #000;
		padding : 0.5em 1em;
		line-height : 10px;
		height : 2em;
	}
	& input.search-submit {
		display : inline-block;
		margin-left : 0.5em;
		text-indent : -9999px;
		width : 2em;
		height : 2em;
		background : url(images/search.svg);
		background-size : content;
		&:hover {
			filter: brightness(0) saturate(100%) invert(10%) sepia(96%) saturate(6217%) hue-rotate(11deg) brightness(86%) contrast(118%);
		}
	}
}
----------------------------------------------------------*/
.header-search {
	display : flex;
	justify-content : right;
	height : 3em;
	margin-bottom : 0.5em;
	& form.searchform {
		width : 100%;
		max-width : 30em;
		border : 1px solid #999;
		border-radius : 1.5em;
	}
}
/*----------------------------------------------------------
■検索結果件数
----------------------------------------------------------*/
.search_numbers {
	margin : 0 0 0 10px;
	font-size : calc(var(--font-size) * 0.8);
	font-weight : normal;
}
/*----------------------------------------------------------
■post_list 一覧表示
----------------------------------------------------------*/
/*----------------------------------------------------------
post_list-grid
----------------------------------------------------------*/
.post_list-grid .post_list {
	display : grid;
	grid-template-columns : repeat(1, 1fr);
	grid-gap : 3rem 5%;
	justify-content : space-between;
	position : relative;
}
@media print, only screen and (min-width: 320px) {
.post_list-grid .post_list {
	grid-template-columns : repeat(2, 1fr);
}
}
@media print, only screen and (min-width: 1000px) {
.post_list-grid .post_list {
	grid-template-columns : repeat(3, 1fr);
}
}
/*----------------------------------------------------------
post_list-hotnews
----------------------------------------------------------*/
.post_list-hotnews .post_list dt.post_list-thumb .pl-cat {
	display : none;
}
.post_list-hotnews .post_list dl {
	border : 1px solid #999;
	border-radius : 4px;
	padding : 10px;
}
@media print, only screen and (min-width: 640px) {
.post_list-hotnews .post_list {
	grid-template-columns : repeat(2, 1fr);
	grid-gap : 20px;
}
}
/*----------------------------------------------------------
post_list-line
----------------------------------------------------------*/
.post_list-line .post_list {
	display : block;
}
.post_list-line .post_list dl.post_list-box {
	padding : 10px 0;
	border-bottom : 1px dotted #999;
}
.post_list-line .post_list dl.post_list-box dt.post_list-thumb {
	float : left;
	width : 155px;
}
.post_list-line .post_list dl.post_list-box dt.post_list-thumb p.post_date {
	margin : 0;
}
.post_list-line .post_list dl.post_list-box dt.post_list-thumb a.thumb ,
.post_list-line .post_list dt.post_list-thumb .pl-cat {
	display : none;
}
.post_list-line .post_list dd.post_list-content {
	margin : 0 0 0 160px;
}
.post_list-line .post_list dd .post_list-excerpt,
.post_list-line .post_list dd .blog_info {
	display : none;
}
/*----------------------------------------------------------
■read_more続きを読む
----------------------------------------------------------*/
.read_more {
	text-align : right;
	font-size : 0.75rem;
}
p.standard_button.read_more a {
	font-size : 0.75rem!important;
	padding : 0.2rem 0.5rem;
	margin : 0.8rem 0;
}
.read_more a:hover {
}
/*----------------------------------------------------------
■コンテンツ　本文
----------------------------------------------------------*/
.post p ,
.post ul ,
.post ol {
	padding : 0;
	margin : 0 0 0.5em 0;
}
.post ul ,
.post ol {
	padding : 0 0 0 1em;
	margin : 0;
}
.post ul li,
.post ol li {
	padding : 0;
	margin : 0;
}
.post ul li {
	list-style-type : disc;
}
.post ol li {
	list-style-type : decimal;
}
p.single_post-date {
	text-align : right;
}
ul.bubble_list,
ul.wp-tag-cloud {
	margin : 1em 0 0 0;
	padding : 0;
}
ul.bubble_list li ,
ul.wp-tag-cloud li {
	display : inline-block;
	margin : 0;
	padding : 0;
	list-style : none;
}
ul.bubble_list li a ,
ul.wp-tag-cloud li a {
	display : inline-block;
	padding : 10px;
	margin : 0 10px 0 0;
	line-height : 20px;
	border : 1px solid #ccc;
	border-radius : 4px;
	background : var(--color-03);
	color : var(--color-02);
	font-size : var(--font-size)!important;
}
ul.bubble_list li a:hover ,
ul.wp-tag-cloud li a:hover {
	border : 1px solid ;
	background : var(--color-02)!important;
	color : var(--color-01)!important;
}
.event #live_info ul {
	padding : 0;
	margin : 10px 0;
}
.event #live_info ul li {
	display : inline-block;
	list-style : none;
	padding : 5px 12px;
	margin : 0 5px 5px 0;
	border : 1px solid #ccc;
	border-radius : 4px;
	background : var(--color-03);
	font-weight : bold;
}
.ad_box {
	margin : 0 0 20px 0;
	padding : 5px;
	border : 1px solid #666;
	border-radius : 4px;
}
.ad_box h3 {
	margin : 10px 0;
	text-align : center;
}
@media print, only screen and (min-width: 1200px) {
p ,
.post ul ,
.post ol {
	margin : 0 0 1em 0;
}
}
/*----------------------------------------------------------
■投稿日・カテゴリ・タグ・投稿者
----------------------------------------------------------*/
p.publish_date {
	padding : 1rem;
	margin : 2rem 0 1rem 0;
	border-top : 1px solid #666;
	border-bottom : 1px solid #666;
	background : var(--color-01);
}
.blog_info {
	margin : 2rem 0;
	padding : 0.5rem 0;
	border-top : 1px solid #666;
	border-bottom : 1px solid #666;
	color : #666;
}
.blog_info p {
	margin : 0;
}
/*----------------------------------------------------------
■引用
----------------------------------------------------------*/
blockquote {
	position : relative;
	padding : 2rem 5rem;
	margin : 1rem 0;
	background : #e3e3e3;
	&::before {
		content : "\f10d";
		font-family : Fontawesome;
		font-size : 2rem;
		color : #fff;
		text-shadow : 2px 2px 3px rgba(0,0,0,0.3);
		position : absolute;
		top : 0.5rem;
		left : 1rem;
	}
	&::after {
		content : "\f10e";
		font-family : Fontawesome;
		font-size : 2rem;
		color : #fff;
		text-shadow : 2px 2px 3px rgba(0,0,0,0.5);
		position : absolute;
		bottom : 0.5rem;
		right : 1rem;
	}
}
/*----------------------------------------------------------
■必須・注意書き
----------------------------------------------------------*/
span.require,
span.caution {
	color : #d00;;
}
p.attention {
	border : 2px solid #d00;
	padding : 10px;
	color : #d00;
}
/*----------------------------------------------------------
■関連記事・人気記事一覧
----------------------------------------------------------*/
/*----------------------------------------
■ポピュラーポスト
------------------------------------------*/
ul.wpp-list {
	margin : 0;
	counter-reset : item;
	& li {
		padding : 0;
		margin : 0!important;
		border-bottom : 1px solid #999;
		height : 100px!important;
		overflow : hidden;
		& .wpp-thumbnail {
			float : left;
			width : 100px;
			height : 100px;
		}
		& .no_img-sq {
			padding : 0 0 100px 0;
		}
		& .wpp-post-title ,
		& p {
			display : block;
			margin : 2px 0 0 110px;
			font-size : var(--font-size);
			line-height : calc(var(--font-size) * 1.25);
		}
	}
}
@media print, only screen and (min-width: 1200px) {
ul.wpp-list {
	margin : 0;
	display : grid;
	grid-template-columns : repeat(2, 50%);
	justify-content : space-between;
}
.wpp-meta {
	display : block;
}
}
/*----------------------------------------
■関連記事・人気記事
------------------------------------------*/
.related ,
#home_wpp {
	margin : 0 0 5rem 0;
}
.related h4 ,
#home_wpp h3 {
	padding : 0.75em;
	margin : 4rem 0 2rem 0;
	background : #555;
	color : #fff;
	text-align : center;
	border : none;
	font-size : 1.5rem;
	line-height : 2em;
}
/*----------------------------------------------------------
■コメント
----------------------------------------------------------*/
#comments_outer {
	margin : 2em 0;
	overflow : hidden;
}
h4#resp ,
h4#message {
	margin : 1.5em 0 0 0;
}
h4#resp:before {
	font-family : fontawesome;
	content : "\f086";
	margin : 0 1em 0 0;
}
#comments_resp ,
#comments {
	padding : 10px 20px;
	margin : 0;
	background : #efefef;
	border : 1px solid #999;
	color : #000;
}
.comment-body {
	padding : 10px;
	margin-bottom : 20px;
}
#comments h3 {
	display : none;
}
#comments ol.commets-list li {
	list-style-type : none;
}
#comments p {
	margin : 0;
	padding : 5px 0;
}
#comments label {
	display : inline-block;
}
.metadata {
	font-size : 1em;
	line-height : 1.5;
}
.commentmetadata {
	border-bottom : 1px dotted #666;
	font-size : 1em;
	line-height : 1.2em;
	width : 100%;
	clear : both;
	padding : 10px 0 5px 0;
	margin : 10px 0;
}
.reply a {
	display : inline-block;
	padding : 5px 15px;
	background : var(--color-02);
	border-radius : 4px;
	color : var(--color-01);
}
.reply a:hover {
	background : #d00;
}
#comments #respond {
	margin : 0 0 10px 0;
	padding : 5px 0 0 0;
}
.logged-in-as {
	font-weight : bold;
}
#comments #commentform .tags {
	padding : 10px;
	background : #ccc;
}
#comments #commentlist img {
	padding : 10px;
}
.commets-list {
	padding : 0;
	list-style-type : none;
}
ul.children {
	padding : 0;
}
.commets-list li {
	list-style-type : none;
}
.comment-author.vcard .avatar {
	float : left;
	margin : 0 10px 0 0;
}
.form-allowed-tags {	/* コメント欄の下にある使用できるタグの表記を消す */
	display : none;
}
#comments textarea {
	margin : 0;
	padding : 5px;
	width : 100%;
	background : #fff;
	color : #000;
}
#comments input {
	padding : 10px;
	width : 100%;
}
#comments input[type="submit"] {
	background : #999;
	color : var(--color-01);
	font-weight : bold;
}
#comments input[type="submit"]:hover {
	background : var(--color-02);
}
/*----------------------------------------------------------
■404
----------------------------------------------------------*/
p.e404 {
	padding : 0;
	margin : 0;
	font-family : 'Shippori Antique', sans-serif;
	font-size : 100px;
	line-height : 120px;
	text-align : center;
}
p.e404 a {
	color : var(--color-02);
}
#get_search_form {
	margin : 20px 0 40px 0;
}
@media print, only screen and (min-width: 1200px) {
p.e404 {
	margin : 0 0 40px 0;
	font-size : 300px;
	line-height : 360px;
}
}
/*----------------------------------------------------------
■サイドバー
----------------------------------------------------------*/
aside ,
aside p {
	margin : 0 0 0.25em 0;
}
aside a ,
aside a:visited {
	color : var(--color-02);
}
aside a:hover {
	color : #d00;;
}
aside h4 {
	margin : 0 0 10px 0;
}
aside h4 a {
	color : var(--color-01);;
}
#aside-search {
	margin : 0 0 1.25em 0;
}
/*----------------------------------------------------------
■フッター
----------------------------------------------------------*/
.footer_box {
}
.footer_box h1.entry-title,
.footer_box h1.page-title ,
.footer_box h4.entry-title,
.footer_box h4.page-title {
	line-height : 24px;
	color : #000;
	text-align : center;
	padding : 10px 20px;
	margin : 0 0 10px 0;
	background-color : #fff;
}
.footer_box ,
.footer_box p {
	color : var(--color-01);
	line-height : 1.5em;
	text-decoration : none;
}
.footer_box a {
	color : var(--color-01);
}
.footer_box a:hover {
	color : #fc0;
}
.footer_box h4 {
	color : var(--color-02);
	text-align : center;
	margin : 0 0 10px 0;
	background-color : var(--color-01);
}
@media print, only screen and (min-width: 1200px) {
.footer_box {
	display : block;
}
}
/*----------------------------------------------------------
■フッターSEO対策
----------------------------------------------------------*/
#footertitle p,
#footertitle a,
#footertitle h1,
#footertitle h1 a {
	color : #fff;
	font-weight : normal;
	font-size : var(--font-size);
	line-height : 1.5em;
}
/*----------------------------------------------------------
■page_top　ページトップ
----------------------------------------------------------*/
.foot_nav {
	position : fixed;
	bottom : 0;
	left : 0;
	right : 0;
	margin : 0;
	padding : 0;
	height : var(--size-foot_nav);
	display : grid;
	grid-template-columns : repeat(5, 1fr);
	justify-content : space-between;
}
.foot_nav li {
}
.foot_nav a,
.foot_nav button {
	position : relative;
	bottom : 0;
	right : 0;
	display : block;
	padding : 0;
	width : 100%;
	background : var(--color-05);
	text-align : center;
	color : #fff;
	font-size : 11px;
	line-height : 40px;
}
.foot_nav a:hover {
	background : #60acfc;;
}
.foot_nav a i,
.foot_nav button i {
	font-size : 24px;
	line-height : 20px;
	margin : 10px 0 0 0;
}
.foot_nav a i::after ,
.foot_nav button i::after {
	content : "\A"attr(data-cap);
	white-space : pre;
	margin : 0;
	font-size : 9px;
	font-weight : bold;
	line-height : 0;
}
@media print, only screen and (min-width: 800px) {
.foot_nav {
	position : fixed;
	display : block;
	top: 50%;
	transform: translateY(-8.75rem);
	left : auto;
	right : 0;
	width : 4rem;
}
.foot_nav a {
	display : flex;
	align-items : center;
	justify-content : center;
	width : 4rem;
	height : 3.5rem;
	background : #666;
	color : #fff;
}
.foot_nav li:nth-child(1) a {
	border-radius : 0.5rem 0 0 0;
}
.foot_nav li:nth-last-child(1) a {
	border-radius : 0 0 0 0.5rem;
}
.foot_nav a i {
	font-size : 1.5rem;
	line-height : 1.5rem;
	margin : 0;
	padding : 0;
}
.foot_nav a i::after ,
.foot_nav button i::after {
	content : none;
}
.foot_nav a:hover {
	background : #60acfc;
}
}
/*----------------------------------------------------------
■ページャー pagination pager
----------------------------------------------------------*/
.pagination {
	display : flex;
	align-items : center;
	justify-content: center;
	margin : 3rem 0;
	text-align : center;
}
.pagination .page-numbers {
	display : inline-block;;
	margin : 0 2px;
	text-align : center;
	align-items : center;
	justify-content: center;
	background : #777;
	color : #fff;
	font-size : 0.875rem;
	width : 2em;
	height : 2em;
	line-height : 2em;
	border-radius : 1em;
}
.pagination .page-numbers:hover {
	background : #60acfc;
}
.pagination .page-numbers.current {
	background : #c00;
}
.pagination .control {
	display : inline-block;;
	margin : 0 3px;
	text-align : center;
	align-items : center;
	justify-content: center;
	color : #777;
	font-size : 1.75rem;
}
.pagination .control.before,
.pagination .control.next {
	margin : 0 0.5rem;
}
.pagination .control:hover {
	color : #60acfc;
}
/*----------------------------------------------------------
■ぱんくず　パンくず
----------------------------------------------------------*/
nav.braudcrumb-list {
	margin : 0 0 1rem 0;
	font-size : 0.875rem;
	line-height : 1.5em;
}
nav.braudcrumb-list a {
	color : var(--color-02);
}
nav.braudcrumb-list ol {
	padding : 0;
	margin : 0;
}
nav.braudcrumb-list ol li {
	float : left;
	padding : 0;
	margin : 0 1em 0 0;
	list-style : none;
}
nav.braudcrumb-list i {
	font-size : 1.2em;
	margin-right : 0.2em;
	color : #666;
}
/*----------------------------------------------------------
■前後の記事
----------------------------------------------------------*/
.page_nav {
	margin : 40px 0;
	display : grid;
	grid-template-columns : repeat(2, 49%);
	justify-content : space-between;
}
.page_nav a {
	display : block;
	position : relative;
	height : 100%;
	color : var(--color-02);
	font-size : 16px;
	line-height : 24px;
	background : var(--color-01);
	border : 1px solid var(--color-02);
}
.page_nav .previous a {
	padding : 10px 10px 10px 50px;
}
.page_nav .previous a::before {
	font-family : fontawesome;
	content : "\f060";
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;
	display : flex;
	align-items : center;
	justify-content: center;
	width : 40px;
	color : var(--color-02);
	text-align : center;
}
.page_nav .next a {
	padding : 10px 40px 10px 10px;
}
.page_nav .next a::after {
	font-family : fontawesome;
	content : "\f061";
	position : absolute;
	top : 0;
	bottom : 0;
	right : 0;
	display : flex;
	align-items : center;
	justify-content: center;
	width : 40px;
	color : var(--color-02);
	text-align : center;
}
.page_nav a:hover ,
.page_nav .previous a:hover::before ,
.page_nav .next a:hover::after {
	background : var(--color-02);
	color : var(--color-01);
}
/*----------------------------------------------------------
■テーブル
----------------------------------------------------------*/
table {
	width : 100%;
	margin : 0;
	border : 1px solid #999;
	border-collapse : collapse;
	border-spacing : 0;
}
table th,
table td {
	margin : 2em 0;
	padding : 0.25em 0.5em;
	border : 1px solid #bbb;
	border-collapse : collapse;
	vertical-align : middle;
}
table th p ,
table td p {
	margin : 0;
	line-height : 1.5em;
}
table th {
	font-weight : bold;
}
/* === ソートボタンを表示するエリア ============== */
.tsImgArea{
	line-height: 1;
	margin-top : 10px;
}
/* === ソートボタン ============================== */
.tsImg {
	display    : inline-block;
	width      : 16px;
	height     : 16px;
	background : #eee;
	border     : 1px solid #777;
	margin     : 1px 3px;
	padding    : 3px;
	cursor     : pointer;
}
/* === ソートボタン（カーソルオーバー時）========= */
.tsImg:hover {
	background : #FFD700;
}
/* === ソートボタン内の三角の色（SVG）============ */
.tsImg path {
	fill       : #777;
}

@media print, only screen and (min-width: 1200px) {
table th,
table td {
	padding : 10px;
}
}
/*----------------------------------------------------------
■ウィジェットコントロール　widget
----------------------------------------------------------*/
.asidebox ,
.footer_box ,
.widget_box {
	margin-bottom : 10px;
}
.widget_box {
	padding : 0 10px;
}
.widget_box h4 {
	margin : 0 -10px 10px -10px;
}
#widget-post_bottom02 {
	height : 100%;
}
#widget-post_bottom02 a {
	display : block;
	width : 100%;
	height : 100%;
	padding : 40px 0;
	color : #fff;
	text-align : center;
	background : #ccc;
	font-size : 1.5rem;
}
@media print, only screen and (min-width: 1200px) {
.asidebox ,
.footer_box ,
.widget_box {
	margin-bottom : 20px;
}
.widget_box {
	padding : 0;
}
.widget_box h4 {
	margin : 0 0 10px 0;
}
}
/*----------------------------------------------------------
■ウィジェット widget対策
----------------------------------------------------------*/
#aside-02 img {
	max-width : 150px;
}
@media print, only screen and (min-width: 1200px) {
#aside-02 img {
	max-width : var(--size-small)!important;
}
}
/*----------------------------------------
■最近の投稿・最近の記事
------------------------------------------*/
#recent-posts-2 {
}
#recent-posts-2 ul {
	margin : -10px 0 0 0;
}
#recent-posts-2 ul li {
	padding : 5px 0;
	border-bottom : 1px solid #999;
}
/*----------------------------------------
■image widget
------------------------------------------*/
.widget_sp_image-description {
	line-height : 120%;
}
/*----------------------------------------
■タグクラウド
------------------------------------------*/
.tagcloud {
	padding : 0 10px;
}
.tagcloud a {
	display : inline-block;
	padding : 5px;
	margin : 0 5px 5px 0;
	font-size : 14px!important;
	color : var(--color-01);;
	background : var(--color-04);
	border-radius : 4px;
}
.tagcloud a:visited {
	color : var(--color-01);;
}
.tagcloud a:hover {
	color : var(--color-01);;
	background : #d00;;
}
/*----------------------------------------------------------
■Contactform7
----------------------------------------------------------*/
table.contactform {
	border : none;
	color : var(--color-02);
}
table.contactform tr {
	padding : 0;
	margin : 0;
}
table.contactform td {
	display : block;
	padding : 0;
	margin : 0;
	border : none;
}
table.contactform td p {
	margin : 1rem 0 0 0;
}
table.contactform td:nth-child(1) {
	font-weight : bold;
}
table.contactform td:nth-child(2) {
}
.wpcf7-list-item {
	display : block;
}
.form_fullsize {
	width : 100%;
}
table.contactform input[type="text"] ,
table.contactform input[type="email"] ,
table.contactform select ,
table.contactform textarea {
	padding : 4px 2px;
	border : 1px solid #999;
	box-shadow : none;
	color : #000;
}
.contact_submit input[type="submit"] {
	display : inline-block;
	margin : 30px auto;
	padding : 10px 0;
}
.contact_submit input[type="submit"]:hover {
	background : var(--color-03);
}
.wpcf7-list-item-label {
	color : var(--color-02);
}
@media print, only screen and (min-width: 1200px) {
table.contactform {
	border-collapse : separate;
	border-spacing : 5px;
	color : #000;
}
table.contactform tr {
}
table.contactform td {
	display : table-cell;
	padding : 10px;
	vertical-align : middle;
}
table.contactform td p {
	margin : 0;
}
table.contactform td:nth-child(1) {
	width : 25%;
	background : #efefef;
}
}
/*----------------------------------------------------------
■HOME ホーム　home_main　全画面動画/静止画
----------------------------------------------------------*/
#front_image_outer {
	position : relative;
	margin : 0 auto;
	width: clamp(300px, min(100vw, calc(100vh - 61px)), 1000px);
	height: clamp(300px, min(100vw, calc(100vh - 61px)), 1000px);
}
#front_image {
	position : absolute;
	top : 0;
}
#center_catch_txt {
	position : relative;
	margin : 0 auto;
	width : var(--size-ml-w);
	max-width : 100%;
	text-align : center;
	color : #fff;
	font-size : 36px;
	line-height : 54px;
}
#video {
	position : absolute;
	top : 50%;
	left : 50%;
	display : block;
	width : auto;
	max-width : none!important;
	min-width : 100%!important;
	height : auto;
	max-height : none!important;
	min-height : 100%!important;
	-webkit-transform : translate(-50%, -50%);
	-moz-transform : translate(-50%, -50%);
	transform : translate(-50%, -50%);
}
#video_dot {
	position : absolute;
	top : 0;
	right : 0;
	left : 0;
	bottom : 0;
	max-width : none!important;
	min-height : calc(var(--size-vegas) - var(--size-sitename) - 40px );
	background : url(images/video_dot-black.png);
	text-indent : -9999px;
}
@media print, only screen and (min-width: 1200px) {
.full_screen {
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px + 60px ) );
}
_::-webkit-full-page-media, _:future, :root .full_screen {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px + 60px ) );
}
#video {
	min-height : calc(100vh - var(--size-sitename) - var(--size-gnav) );
}
#front_image_outer {
	width: clamp(300px, min(100vw, calc(100vh - 122px)), 1000px);
	height: clamp(300px, min(100vw, calc(100vh - 122px)), 1000px);
}
}
/*----------------------------------------------------------
■vegas slider
----------------------------------------------------------*/
#vegasslider {
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
}
/*----------------------------------------------------------
■flexslider
----------------------------------------------------------*/
.flexslider {
	background : transparent!important;
	border : none!important;
	padding : 0!important;
	margin : 0!important;
}
/*----------------------------------------------------------
■HOME ホーム　バナー　banners
----------------------------------------------------------*/
.top_banners {
	position : relative;
	width : var(--size-ml-w);
	max-width : 100%;
	margin : 0 auto;
	padding : 0 10px;
}
/*----------------------------------------------------------
■home_content ホームコンテンツ
----------------------------------------------------------*/
#home_content {
	padding : 0;
	margin : 0 0 2rem 0;
}
#home_content-column {
	margin : 0 auto 2rem auto;
}
#home_search_form-column {
	padding : 0;
	margin : 0 auto 3rem auto;
	width : 75%;
}
@media print, only screen and (max-width: 1200px) {
#home_content-column {
	margin : 0 auto 2rem auto;
	width : 100%;
}
}
/*----------------------------------------------------------
■イベントカレンダー
----------------------------------------------------------*/
h1.calendar-ttl {
	font-family : var(--font-family02);
	font-weight : 300;
	font-size:  1.5rem;
	line-height : 1.2em;
	border-bottom: solid 1px #000;
	padding-bottom:  10px;
	margin: 20px 0 30px 0;
	text-align : center;
}
#month_lnk-cal_change {
	margin : 0;
}
#month_lnk-cal_change-bottom {
	margin : 20px 0;
}
p.month_lnk {
	display : inline-block;
	margin : 0 20px 0 0;
	font-size : 18px;
	line-height : 40px;
}
button#cal_change {
	display : none;
	max-width : 100%;
	margin : 0;
	padding : 0 10px;
	font-size : 24px;
	line-height : 40px;
	height : 40px;
	border : 1px solid #ccc;
	border-radius : 6px;
	background : var(--color-03);
	color : var(--color-02);
}
button#cal_change:hover {
	color : #fff;
	background : var(--color-04);
}
p.month_lnk a {
	display : inline-block;
	margin : 0;
	height : 40px;
	border : 1px solid #ccc;
	background : var(--color-03);
	color : var(--color-02)!important;
}
p.month_lnk a:hover {
	background : var(--color-04);
	border : 1px solid ;
	color : var(--color-01)!important;
}
p.month_lnk .prev {
	border-radius : 20px 0 0 20px;
	padding : 0 10px 0 20px;
}
p.month_lnk .this {
	padding : 0 10px;
	border-left : none!important;
	border-right : none!important;
}
p.month_lnk .next {
	border-radius : 0 20px 20px 0;
	padding : 0 20px 0 10px;
}
#calendar_outer #content {
	padding : 0!important
}
#calendar_outer {
	padding : 0;
	margin : 0;
	border-top : 1px solid #666;
}
#calendar_outer .youbi_header,
#calendar_outer .null_day {
	display : none;
}
.single_day {
	display : grid;
	grid-template-columns : 40px 1fr;
	justify-content : space-between;
	padding : 0;
	margin : 0;
	border-bottom : 1px solid #666;
}
.single_day.today {
	background : rgba(255,0,0,0.3);
}
.date_card {
	width : 40px;
	background : var(--color-01);
	border-right : 1px solid #666;
	text-align : center;
	padding : 0 0 10px 0;
}
.date_card .day {
	display : flex;
	padding : 0;
	margin : 0;
	width : 100%;
	align-items : center;
	justify-content: center;
	height : 30px;
	font-size : 21px;
	text-align : center;
}
.single_day.today .date_card {
	background : rgba(255,0,0,0.3);
}
.date_card .jyoubi {
	display : inline-block;
	padding : 0;
	margin : 0;
	width : 24px;
	height : 24px;
	font-size : 14px;
	line-height : 24px;
	font-weight : bold;
	background : var(--color-01);
	border : 1px solid #ccc;
	border-radius : 12px;
}
.date_card .jyoubi.sunday {
	background : #b02c2c;
	border : 1px solid #b02c2c;
	color : #fff;
}
.date_card .jyoubi.saturday {
	background : #2c4c63;
	border : 1px solid #2c4c63;
	color : #fff;
}
a.single_event {
	padding : 0;
	margin : 0;
	display : grid;
	grid-template-columns : 110px 1fr;
	justify-content : space-between;
	color : var(--color-02);
	border-bottom : 1px solid #666;
}
.s-calendar a.single_event {
	display : block;
}
a.single_event:last-child {
	border-bottom : none;
}
a.single_event:hover {
	background : #f9f9f9;
}
a.single_event p {
	margin : 0;
}
.event-thumbnail {
	position : relative;
	width : 100px;
	height : 100px;
	overflow : hidden;
}
.event-thumbnail .event_genre {
	position : absolute;
	display : inline-block;
	bottom : 0;
	right : 0;
	padding : 0 5px;
	margin : 0;
	font-size : 12px;
	line-height : 20px;
	color : var(--color-01);
	background : var(--color-02);
}
.event-thumbnail .event_session {
	position : absolute;
	display : inline-block;
	top : 0;
	left : 0;
	padding : 0 5px;
	margin : 0;
	font-size : 12px;
	line-height : 20px;
	color : #fff;
	background : var(--color-04);
}
.single_event-content {
	padding : 5px;
}
.single_event-content .event-time {
	margin : -5px 0 0 0;
}
.single_event-content .event-time_price {
	display : inline-block;
	padding : 0 5px;
	margin-right : 1px;
	border-radius : 0;
	color : #fff;
	font-size: 13px;
	line-height : 24px;
}
.single_event-content .event-open {
	background : #7480a8;
}
.single_event-content .event-start {
	background : #74a88d;
}
.single_event-content .event-end {
	background : #8b74a8;
}
.single_event-content .event-price {
	background : #a996da;
}
.single_event-content .event-title {
	font-size : 110%;
	font-weight : bold;
}
p.normal_business ,
p.shop_closed ,
p.shop_free {
	padding : 10px 0 0 10px;
}
p.shop_closed {
	background : #fff9f8;
}
p.shop_closed:before {
	content : "\f410";
	font-family : fontawesome;
	color : #ea6e61;
	margin-right : 4px;
}
p.shop_free {
	background : #f8fffa;
}
p.shop_free:before {
	content : "\f130";
	font-family : fontawesome;
	color : #3bc562;
	margin-right : 4px;
}
@media print, only screen and (min-width: 640px) {
h1.calendar-ttl {
	font-size:  2rem;
}
.single_day {
	grid-template-columns : 60px 1fr;
}
.date_card {
	width : 60px;
}
.date_card .day {
	height : 40px;
	font-size : 24px;
}
a.single_event {
	grid-template-columns : 160px 1fr!important;
	height : 150px;
	overflow : hidden;
}
.s-calendar a.single_event {
	display : block;
	height : auto;
}
.event-thumbnail {
	width : 150px;
	height : 150px;
}
}
/*----------------------------------------------------------
■カレンダー月表示
----------------------------------------------------------*/
@media print, only screen and (min-width: 640px) {
button#cal_change {
	display : inline-block;
}
#calendar_outer.monthly_view {
	display : grid;
	grid-template-columns : repeat(7, 1fr);
	justify-content : space-between;
	padding : 0;
	margin : 0;
	border-top : 1px solid #666;
	border-left : 1px solid #666;
}
#calendar_outer.monthly_view .youbi_header {
	display : block;
	padding : 3px 0;
	background : #efefef;
	color : #000;
	text-align : center;
	border-right : 1px solid #666;
	border-bottom : 1px solid #666;
}
#calendar_outer.monthly_view .youbi_header.sunday {
	background : #933;
	color : #fff;
}
#calendar_outer.monthly_view .youbi_header.saturday {
	background : #339;
	color : #fff;
}
#calendar_outer.monthly_view .null_day ,
#calendar_outer.monthly_view .single_day {
	display : block;
	padding : 0;
	margin : 0;
	border-bottom : 1px solid #666;
	border-right : 1px solid #666;
}
#calendar_outer.monthly_view .date_card {
	display : block;
	width : 100%;
	margin : 0;
	background : #555;
	color : #fff;
	text-align : center;
	height : 30px;
	border-right : none;
}
#calendar_outer.monthly_view .single_day.today .date_card {
	background : rgba(255,0,0,0.3);
}
#calendar_outer.monthly_view .date_card .day {
	padding : 0;
	margin : 0;
	height : 30px;
	font-size : 14px;
	line-height : 22px;
}
#calendar_outer.monthly_view .date_card .jyoubi {
	display : none;
}
#calendar_outer.monthly_view .day_events {
	display : block;
	min-height : 60px;
}
#calendar_outer.monthly_view .single_event {
	display : block;
	height : auto;
}
#calendar_outer.monthly_view .event-thumbnail {
	display : none;
}
#calendar_outer.monthly_view .event-title {
	padding : 5px 10px;
	margin : 0;
	font-size : 14px;
	line-height : 18px;
}
#calendar_outer.monthly_view .event-excerpt {
	display : none;
}
#calendar_outer.monthly_view .day_events {
	min-height : 50px;
}
}
/*----------------------------------------------------------
■予約カレンダー
----------------------------------------------------------*/
.cal_div {
	padding : 5px 0;
	border-bottom : 1px dotted #999;
	text-align : center;
}
.cal_div03 {
	border-bottom : none;
}
.cal_div.close {
	background : #933;
	color : #999!important;
}
.cal_div.close::before {
	content : "×";
}
/*----------------------------------------------------------
■本日のライブ
----------------------------------------------------------*/
#todays_live {
	position : absolute;
	top : 10px;
	left : calc((100vw - 320px) / 2);
	text-align : center;
}
#todays_live h3 {
	margin : 0 0 4px 0;
	paddnig : 0;
	font-family: 'Asap', sans-serif;
	font-weight : 700;
	font-size : 24px;
	color : #fff;
	text-shadow : 1px 1px 6px #fff;
	border : none;
}
#todays_live-scroll {
	display : block;
	width : 320px;
	background : #fff;
	border : 4px solid #000;
	text-align : center;
	overflow : hidden;
	line-height : 40px;
	border-radius : 20px;
}
#todays_live-scroll span {
	display : inline-block;
	padding-left: 100%;
	white-space : nowrap;
	line-height : 1em;
	animation : scrollAnime 8s linear infinite;
}
#todays_live-scroll span ,
#todays_live-scroll span a {
	color : #000;
}
#todays_live-scroll span a {
	margin-right : 100px;
}
@keyframes scrollAnime{
	0% { transform: translateX(0)}
	100% { transform: translateX(-100%)}
}
@media print, only screen and (min-width: 1200px) {
#todays_live {
	top : 20px;
}
}
/*----------------------------------------------------------
■wpdiscuz 画像付きコメントSVGサイズ調整
----------------------------------------------------------*/
.wpd-rating-stars svg {
	width : 26px!important;
	height : 26px!important;
}
.wpd-vote svg {
	width : 16px!important;
	height : 16px!important;
}
/*----------------------------------------------------------
■ランダムスライダーslick設定
----------------------------------------------------------*/
#PostSlide {
	position : relative;
	margin : 0;
	padding : 0;
	width : 100%;
	height : 50vh;
	height : 50dvh;
	max-height : 600px;
	overflow : hidden;
}
#PostSlide .slick-slide {
	position : relative;
	padding : 0;
	margin : 0;
	width : 100%;
	height : 50vh;
	height : 50dvh;
	max-height : 600px;
	border-bottom : 1px solid #000;
}
#PostSlide .slick-slide img ,
#PostSlide .slick-slide video {
	display: block;
	margin : 0 0 0 auto;
	width : 70%;
	height : 50vh;
	height : 50dvh;
	max-height : 600px;
	object-fit : cover;
	object-position: 50% 50%;
	border-bottom : 1px solid #000;
}
#PostSlide .slick-slide::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 40%;
	height: 100%;
	background : linear-gradient(to right, rgba(24,56,121, 1) 0%, rgba(24,56,121, 1) 80%, rgba(255, 255, 255, 0) 100% );
	z-index: 100;
}
#PostSlide .slick-slide span.PostSlide-ttl {
	display : block;
	width : 30%;
	position: absolute;
	top: 3%;
	left: 2%;
	z-index: 150;
	color: #fff;
	font-family : var(--font-family02);
	font-size : 18px;
	line-height : 150%;
	font-weight : bold;
	text-align : left;
}
#PostSlide .slick-slide span.PostSlide-date {
	display : block;
	padding : 5px 0 0 0;
	margin : 10px 0 0 0;
	font-size : 15px;
	border-top : 1px solid #eee;
}
@media print, screen and (min-width: 1200px) {
#PostSlide .slick-slide span.PostSlide-ttl {
	font-size : 24px;
}
#PostSlide .slick-slide span.PostSlide-date {
	font-size : 18px;
}
}
/*----------------------------------------------------------
.a2a_svg {
//	display : inline!important;
}
----------------------------------------------------------*/
/*----------------------------------------------------------
■水平スライド　複数スライドを画面全幅で並べる
----------------------------------------------------------*/
.h-slide .slick-slide {
	margin : 0 0 2rem 0;
	width: 12rem;
	height : 12rem;
	overflow : hidden;
	margin-right: 1rem;
}
.h-slide .slick-list {
	margin-right: -1rem;
}
.h-slide .slick-dots {
	bottom: -2rem;
}
.h-slide .slick-dots li {
	width: 0.75rem;
	height: 0.75rem;
	margin: 0 0.15rem;
}
.h-slide .slick-dots li button {
	width: 0.75rem;
	height: 0.75rem;
	padding: 0;
}
.h-slide .slick-dots li button::before {
	font-size: 0.75rem;
	width: 0.75rem;
	height: 0.75rem;
	line-height: 0.75rem;
	color: #999;
	opacity: 1;
}
.h-slide .slick-dots li.slick-active button::before {
	color: #60acfc;
	opacity: 1;
}
