@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: fwc3
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: 20250616
---------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
■HTML・BODY
--------------------------------------------------------------------------------------------------------------------*/
html {
	margin : 0;
	padding : 0;
	height : 100%;
	font-size : var(--font-size);
}
body {
	position : relative;
	margin : 0;
	margin-top : 0!important;	/*scroll_fix.js対策*/
	padding : 0;
	background : var(--color-01);
	line-height : var(--line-height);
	font-family : var(--font-family01);
	color : var(--color-02);
	-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;
}
/*----------------------------------------------------------
■リンク・強調・スポットカラー
----------------------------------------------------------*/
a,
a:link {
	color : var(--color-link);
	text-decoration : none;
}
a:hover {
	color : var(--color-hover);
	outline : 0;
}
a img {
	border : none;
}
a:hover img {
	opacity : 0.8;
}
b,
strong {
	font-weight : bold;
}
.spot_color {
	color : var(--color-04);
}
/*--------------------------------------------------------------------------------------------------------------------
■表示コントロール
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
■ブロックサイズ
--------------------------------------------------------------------------------------------------------------------*/
.w-large,
.w-half ,
.w-medium,
.w-small {
	width : 100%;
}
@media print, only screen and (min-width : 1000px) {
.w-full {
	width : 100%;
}
.w-large {
	width : var(--w-large);
	margin : 0 auto;
}
.w-medium {
	width : var(--w-medium);
}
.w-half {
	width : var(--w-half);
}
.w-1-third {
	width : var(--w-1-third);
}
.w-quarter {
	width : var(--w-quarter);
}
.w-small {
	width : var(--w-small);
}
.w-thumb {
	width : var(--w-thumb);
}
}
/*--------------------------------------------------------------------------------------------------------------------
■grid2-1 2列一覧表示
--------------------------------------------------------------------------------------------------------------------*/
.grid2-1 {
	display : block;
	margin : 0;
	padding : 0;
}
.grid2-1 div ,
.grid2-1 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;
}
.grid3-1 div ,
.grid3-1 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;
}
.grid4-1 div ,
.grid4-1 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);
}
.grid4-2 div ,
.grid4-2 li {
	margin : 0 0 var(--w-grid-gap) 0;
}
@media print, only screen and (min-width: 1000px) {
.grid4-2 {
	display : grid;
	grid-template-columns : repeat(4, 1fr);
	justify-content : space-between;
	grid-gap : var(--w-grid-gap);
}
}
/*--------------------------------------------------------------------------------------------------------------------
■Container内全幅　要base.js（スクロールバーの幅）
--------------------------------------------------------------------------------------------------------------------*/
.full_width {
	margin-left : -10px;
	margin-right : -10px;
}
@media print, only screen and (min-width: 1000px) {
.full_width {
	margin-left : calc( -1 * (100vw - var(--w-large) - var(--scrollbar)) / 2)!important;
	margin-right : calc( -1 * (100vw - var(--w-large) - var(--scrollbar)) / 2)!important;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■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;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■画像
--------------------------------------------------------------------------------------------------------------------*/
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 10px 0;
}
@media print, only screen and (min-width: 1000px) {
.aligncenter {
	margin-left : auto;
	margin-right : auto;
}
.alignleft {
	float : left;
	margin : 0 20px 10px 0;
}
.alignright {
	float : right;
	margin : 0 0 10px 20px;
}
.aligncenter {
	display : block;
	margin : 0 auto;
	text-align : center;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■no_img NO IMAGE eyecatch
--------------------------------------------------------------------------------------------------------------------*/
.no_img {
	display : block;
	width : 100%;
	height : 0;
	padding : 0 0 66.666% 0;
	background : url(./custom/no_image.png) #ccc no-repeat center center;
	background-size : contain;
	text-indent : -9999px;
}
.no_img-sq {
	display : block;
	width : 100%;
	height : 0;
	padding : 0 0 100% 0;
	background : url(./custom/no_image.png) #ccc no-repeat center center;
	background-size : contain;
	text-indent : -9999px;
}
/*--------------------------------------------------------------------------------------------------------------------
■フルフレーム・全画面・サイトトップ宣伝用
.fullframe {
	margin : calc(100vh - var(--size-sitename) - 20px) 0 0 0;
	padding : 0;
	width : 100%;
	height : calc(100vh - var(--size-sitename) - 20px);
	overflow : hidden;
	display : flex;
	align-items : center;
	background : #fc0;
}
.fullframe::after {
	clear : both;
}
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
■フルスクリーン・全画面・サイトトップ宣伝用
--------------------------------------------------------------------------------------------------------------------*/
.full_screen {
	position : relative;
	top : 0;
	bottom : 0;
	left : 0;
	right : 0;
	margin : 0;
	padding : 0;
	width : 100%;
	max-width : 100%;
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px + 40px) );
	display : flex;
	align-items : center;
	overflow : hidden;
}
_::-webkit-full-page-media, _:future, :root .full_screen {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px + 40px) );
}
/*--------------------------------------------------------------------------------------------------------------------
■スクロールするとふわっと表示される 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);
}
/*--------------------------------------------------------------------------------------------------------------------
■ページ単位スクロール
--------------------------------------------------------------------------------------------------------------------*/
.scroll_container {
	position : relative;
	scroll-snap-type : y mandatory;
	overflow : auto;
	-ms-overflow-style: none;
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px + var(--size-foot_nav) ) );
	top : 0;
}
_::-webkit-full-page-media,
_:future,
:root .scroll_container {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px + var(--size-foot_nav) ) );
}
.scroll_container::-webkit-scrollbar {
	display : none;
}
.scroll_box {
	scroll-snap-align : start;
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px + var(--size-foot_nav) ) );
	position : relative;
}
_::-webkit-full-page-media,
_:future,
:root .scroll_box {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px + var(--size-foot_nav) ) );
}
#scroll_box_jump {
	position : absolute;
	bottom : 1rem;
	text-align : center;
}
#scroll_box_jump a {
	color : #fff;
}
@media print, only screen and (min-width: 1000px) {
.scroll_container {
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px ));
}
_::-webkit-full-page-media,
_:future,
:root .scroll_container {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px ) );
}
.scroll_box {
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px ));
}
_::-webkit-full-page-media, _:future, :root .scroll_box {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px ) );
}
}
/*--------------------------------------------------------------------------------------------------------------------
■表示コントロールその他
--------------------------------------------------------------------------------------------------------------------*/
.box_left ,
.box_right {
	float : none;
}
.pc_only {
	display : none;
}
.mobile_only {
	display : block;
}
@media print, only screen and (min-width: 1000px) {
.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 : 9999;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ブロック
--------------------------------------------------------------------------------------------------------------------*/
#wrapper {
	position : relative;
	top : 0;
	padding : 60px 0 0 0;
	margin : 0;
}
header {
	position : fixed;
	top : 0;
	left : 0;
	right : 0;
	margin : 0;
	padding : 0;
	z-index : 9999;
	background : var(--color-01);
}
#header {
	position : relative;
	top : 0;
	left : 0;
	right : 0;
	height : 60px;
	padding : 10px 0;
	margin : 0;
	width : 100%;
	display : grid;
	grid-template-columns : fit-content(300px) 1fr 1fr 60px;
	justify-content : space-between;
	grid-gap : 0;
	border-bottom : 1px solid var(--color-02);
	z-index : 999;
}
#gnav_outer {
	display : none;
	position : relative;
	top : 0;
	left : 0;
	right : 0;
	box-sizing : content-box;
	height : 60px;
	padding : 0;
	margin : 0;
	width : 100%;
	background : var(--color-01);
	border-bottom : 1px solid var(--color-02);
	z-index : 998;
}
#container_outer {
	clear : both;
	position : relative;
	margin : 0;
	padding : 0;
	background : var(--color-01);
}
.front_page #container_outer {
	padding : 0;
	margin : 0;
}
#container {
	padding : 20px 0;
}
#content,
aside {
	float : none;
	padding :10px;
	height : auto;
}
#gmap {
	clear : both;
	padding : 0!important;
	margin : 0!important;
}
#footer_outer {
	clear : both;
	margin : 0;
	padding : 0;
	background : var(--color-04);
}
footer {
	padding : 10px;
}
#footertitle_outer {
	clear : both;
	margin : 0 auto;
	background : var(--color-04);
}
#footertitle {
	padding : 10px 10px var(--size-foot_nav) 10px;
}
@media print, only screen and (min-width : 1000px) {
#wrapper {
	padding : 120px 0 0 0;
}
header {
}
#gnav_outer {
	display : block;
}
#container_outer {
}
#container {
	padding : 30px 0;
}
#content {
	padding : 0;
}
main {
}
aside {
	padding : 0;
}
footer {
	padding : 30px 0;
}
#footertitle {
	padding : 10px 0;
	margin : 0 auto;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ヘッダ header
--------------------------------------------------------------------------------------------------------------------*/
#google_eyecatch {
	visibility : hidden;
	height : 0;
}
#header #sitename {
	padding : 0 10px;
	margin : 0;
	font-weight : bold;
	line-height : var(--size-sitename);
	max-width : calc(100vw - 20px - var(--size-sitename) - 20px);	/*var(--size-sitename)は正方形ハンバーガーメニュー*/
}
#header #sitename.sitelogo {
}
#header #sitename.sitelogo img {
	max-height : var(--size-sitename);
	width : auto;
}
#header_right {
	display : none;
}
#rndimage {
	display : none;
}
@media print, only screen and (min-width: 1000px) {
#header #sitename {
	float : left;
}
#header #sitename a {
	color : var(--color-02);
}
#header_right ,
#header_right h1.description,
#header_right p.description {
	display : block;
	float : left;
	padding : 0;
	margin : 0;
	font-size : var(--font-size);
	line-height : var(--size-sitename);
}
#header_right h1.description a,
#header_right p.description a {
	color : var(--color-02);
}
#header_right {
	margin : 0 0 0  10px;
}
#rndimage {
	position : relative;
	display : block;
	margin : 0;
	width : 100%;
	height : 240px;
}
#rndimage-inner  {
	position : relative;
	top : 0;
}
#rndimage #site_logo a {
	top : 20px;
	left : 20px;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■スマホボタン　3本線が×に
--------------------------------------------------------------------------------------------------------------------*/
button#mobile_menu_bttn {
	position : absolute;
	top : 10px;
	right : 10px;
	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 : 10px;
	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: 1000px) {
button#mobile_menu_bttn {
	right : 20px;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■モバイルメニュー Mobile_menu
--------------------------------------------------------------------------------------------------------------------*/
#mobile_menu {
	display : none;
}
#mobile_menu {
	position : fixed;
	-webkit-transform : translateZ(0);
	z-index : 999;
	top : calc(var(--size-sitename) + 20px);
	right : 0;
	width : 240px;
	border-left : 1px solid var(--color-02);
	filter : drop-shadow(-10px 0 10px rgba(0,0,0,0.3));
	background : var(--color-01);
}
#mobile_menu ul.menu {
	overflow : auto;
	-webkit-overflow-scrolling : touch;
	height : calc(100vh - ( var(--size-sitename) + 20px));
	padding-bottom : 100px;
}
_::-webkit-full-page-media, _:future, :root #mobile_menu ul.menu {
	height : calc(100dvh - ( var(--size-sitename) + 20px));
}
#mobile_menu li {
	list-style : none;
	border-top : 1px solid var(--color-02);
}
#mobile_menu li a {
	display : block;
	padding : 12px 0 12px 10px;
	font-weight : bold;
	line-height : 24px;
	color : var(--color-02);
}
#mobile_menu li#mobile_searchform {
	padding : 0;
	border-bottom : 1px solid var(--color-02);
	color : #000;
	background : #fff;
}
#mobile_menu li#mobile_searchform form#searchform {
	border : none;
}
/*--------------------------------------------------------------------------------------------------------------------
■SNSボタン
--------------------------------------------------------------------------------------------------------------------*/
ul#sns-button i {
	font-family : Fontawesome;
	font-size : 30px;
	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 : 20px 0 30px 0;
	position : static;
	text-align : center;
}
footer ul#sns-button:after {
	display : block;
	padding : 30px 0;
	content : "●　●　●";
	font-family : fontawesome;
	font-size : 12px;
	color : #fff;
	text-align : center;
}
footer ul#sns-button li {
	display : inline;
	padding : 0 10px;
	float : none;
	margin-left : 0;
}
footer ul#sns-button i {
	font-family : Fontawesome;
	font-size : 30px;
	font-style : normal;
	color : #fff;
}
@media print, only screen and (min-width: 640px) {
header ul#sns-button {
	display : block;
	position : absolute;
	top : 15px;
	right : 100px;
}
header ul#sns-button li {
	float : left;
	margin-left : 20px;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■全画面検索　search-overlay　searchform-overlay
--------------------------------------------------------------------------------------------------------------------*/
button#search_button {
	background : transparent;
}
footer button#search_button {
	display : none;
}
button#search_button:hover i {
	color : #c00;
}
#search-overlay {
	display : none;
	z-index : 9999;
	position : fixed;
	top : calc(var(--size-sitename) + 20px);
	left : 0;
	right : 0;
	bottom : var(--size-foot_nav);
	width : 100%;
	height : calc(100% - (var(--size-sitename) + 20px + var(--size-foot_nav)));
	background : rgba(0,0,0,0.6);
	transition : opacity 0.3s ease-in-out;
}
@media print, only screen and (min-width: 1000px) {
#search-overlay {
	bottom : 0;
	height : calc(100% - (var(--size-sitename) + 20px));
}
}
#search-overlay.appear {
	display : flex;
	text-align : center;
	align-items : center;
	justify-content: center;
}
form#searchform-overlay input[type="text"] {
	font-size : 1.5rem;
	font-weight : bold;
	width : calc(var(--size-ml-w) * 0.8);
	max-width : 90vw;
	height : 60px;
	border-radius : 30px;
	text-align : center;
	background : #fff;
	color : #000;
}
form#searchform-overlay input[type="submit"] {
	margin : 10px auto 0 auto;
	font-size : 1.5rem;
	font-weight : bold;
	width : 120px;
	height : 60px;
	border-radius : 30px;
	text-align : center;
	background : #fff;
	color : #000;
}
form#searchform-overlay input[type="submit"]:hover {
	background : #c00;
	color : #fff;
}
/*--------------------------------------------------------------------------------------------------------------------
■GNAV
--------------------------------------------------------------------------------------------------------------------*/
@media print, only screen and (min-width: 1000px) {
nav#gnav {
	display : block;
}
nav#gnav ul {
	box-sizing : border-content;
	padding : 0;
	width : var(--w-large);
}
nav#gnav ul li {
	position : relative;
	margin : 0;
	padding : 0;
	text-align : center;
	width : 100%;
}
nav#gnav li a {
	display : block;
	color : var(--color-02);
	font-size : 16px;
	line-height : 60px;
}
nav#gnav li:first-child {
}
nav#gnav li:last-child {
}
nav#gnav li:hover {
	background : #efefef;
}
nav#gnav li:hover a {
	color : var(--color-02);
}
nav#gnav li.current-menu-item {
	background : var(--color-04);
}
nav#gnav li.current-menu-item a {
	color : var(--color-01);
}
}
/*----------------------------------------------------------
■submenu
----------------------------------------------------------*/
nav#gnav ul li ul {
	position : absolute;
	top : 40px;
	left : 0;
	width : var(--w-small);
	z-index : 1000;
}
nav#gnav ul li ul li {
	visibility : hidden;
	overflow : hidden;
	width : 100%;
	height : 0;
}
nav#gnav ul li:hover ul li,
nav#gnav ul li:hover ul li a,
nav#gnav ul li a:hover ul li a {
	visibility : visible;
	overflow : visible;
	display : block;
	height : 32px;
	z-index : 10;
	width : var(--w-small);
	background : #efefef;
	color : var(--color-02);
}
nav#gnav ul li:hover ul li,
nav#gnav ul li a:hover ul li {
	border-top : 1px solid #999;
}
nav#gnav ul li:hover ul li a {
	padding : 0 10px;
	background : #999;
	font-size : 16px;
	line-height : 32px;
}
nav#gnav ul li ul li:hover a ,
nav#gnav ul li ul li a:hover ,
nav#gnav ul li ul li.current-menu-item a {
	background : #666;
	color : var(--color-01);;
}
/*--------------------------------------------------------------------------------------------------------------------
■検索
--------------------------------------------------------------------------------------------------------------------*/
.search_numbers {
	margin : 0 0 0 10px;
	font-size : calc(var(--font-size) * 0.8);
	font-weight : normal;
}
/*--------------------------------------------------------------------------------------------------------------------
■post_list 一覧表示
--------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------
post_listのコンテンツ共通
----------------------------------------------------------*/
.post_list {
}
.post_list .post_list-box {
}
.post_list .paper_calendar {
	display : none;
}
.post_list dt.post_list-thumb {
	position : relative;
}
.post_list dt.post_list-thumb .pl-cat a {
	display : inline-block;
	position : absolute;
	top : 0;
	left : 0;
	background : #333;
	color : #fff;
	font-size : 11px;
	line-height : 15px;
	font-weight : bold;
	padding : 5px 10px;
}
.post_list dt.post_list-thumb .pl-cat a:hover {
	background : var(--color-04);
}
.post_list dt.post_list-thumb .pl-cat a:before {
	content : "\f07b";
	font-family : fontawesome;
	margin : 0 4px 0 0;
}
.post_list dt.post_list-thumb {
	margin : 0;
	width : 100%;
	overflow : hidden;
}
.post_list dt.post_list-thumb img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: var(--aspect-ratio);
	transition: transform 0.2s ease-in-out;
}
.post_list dt.post_list-thumb img:hover {
	transform: scale(1.1);
	opacity : 1;
}
.post_list dt.post_list-thumb a {
}
.post_list dd.post_list-content {
	margin : 0;
	padding : 0;
}
.post_list dd.post_list-content h3 {
	padding : 0;
	margin : 0 0 0.5rem 0;
	font-family : var(--font-family01);
	font-size : 1.1rem;
	font-weight : bold;
	line-height : 1.5rem;
	text-align : left;
	border : none;
}
.post_list dd.post_list-content h3 a:hover {
	color : #CC3434;
}
.post_list dd.post_list-content h3 a {
	color : var(--color-02);
}
.post_list dd.post_list-content p {
	display : none;
	margin : 0;
	font-size : var(--font-size);
	line-height : 1.5em;
}
.post_list dd.post_list-content .blog_info {
	font-size : calc(0.9 * var(--font-size));
	display : none;
}
@media print, only screen and (min-width: 640px) {
.post_list dt.post_list-thumb {
	margin : 0 0 10px 0;
}
.post_list dd.post_list-content p {
	display : block;
}
.post_list dd.post_list-content .blog_info {
	display : block;
}
}
/*----------------------------------------------------------
post_list-grid
----------------------------------------------------------*/
.post_list-grid .post_list dl.post_list-box {
	margin : 0 -10px;
	display : grid;
	grid-template-columns : 120px 1fr;
	grid-gap : 0 10px;
	justify-content : space-between;
	height : 120px;
	overflow : hidden;
	border-bottom : 1px solid #666;
}
.post_list-grid .post_list dl.post_list-box h3 {
	font-size : 1.2rem;
}
.post_list-grid .post_list dt .post_date,
.post_list-grid .post_list dd .blog_info {
	display : none;
}
@media print, only screen and (min-width: 640px) {
.post_list-grid .post_list {
	display : grid;
	grid-template-columns : repeat(var(--grid_num), 1fr);
	grid-gap : 20px;
	justify-content : space-between;
}
.post_list-grid .post_list dl.post_list-box {
	display : block;
	margin : 0;
	height : auto;
	border-bottom : none;
}
.post_list-grid .post_list dl.post_list-box h3 {
}
}
/*----------------------------------------------------------
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 {
	margin : 0 0 10px 0;
}
.post ul ,
.post ol {
	padding : 0 0 0 30px;
}
.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 : 20px 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: 1000px) {
p ,
.post ul ,
.post ol {
	margin : 0 0 1em 0;
}
}
/*----------------------------------------------------------
■投稿日・カテゴリ・タグ・投稿者
----------------------------------------------------------*/
p.publish_date {
	padding : 10px;
	margin : 40px 0 20px 0;
	border-top : 1px solid #666;
	border-bottom : 1px solid #666;
	background : var(--color-01);
}
.blog_info {
	margin : 24px 0;
	padding : 5px 0;
	border-top : 1px solid #666;
	border-bottom : 1px solid #666;
}
.blog_info p {
	margin : 0;
}
/*----------------------------------------------------------
■引用
----------------------------------------------------------*/
blockquote {
	padding : 30px 15px 0 15px;
	margin : 20px 0;
	background : #efefef url(./images/quote-top.png) left top no-repeat;
}
blockquote:after {
	display : block;
	padding : 0;
	margin : 0;
	content : url(./images/quote-bottom.png);
	text-align : right;
}
/*----------------------------------------------------------
■必須・注意書き
----------------------------------------------------------*/
span.require,
span.caution {
	color : #d00;;
}
p.attention {
	border : 2px solid #d00;
	padding : 10px;
	color : #d00;
}
/*--------------------------------------------------------------------------------------------------------------------
■関連記事・人気記事一覧
--------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------
■ポピュラーポスト
------------------------------------------*/
ul.wpp-list {
	margin : 0;
	counter-reset : item;
}
ul.wpp-list li {
	padding : 0;
	margin : 0!important;
	border-bottom : 1px solid #999;
	height : 100px!important;
	overflow : hidden;
}
ul.wpp-list li .wpp-thumbnail {
	float : left;
	width : 100px;
	height : 100px;
}
ul.wpp-list li .no_img-sq {
	padding : 0 0 100px 0;
}

ul.wpp-list li .wpp-post-title ,
ul.wpp-list li 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: 1000px) {
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 30px 0;
}
#related h4 ,
#home_wpp h3 {
	padding : 10px;
	margin : 30px 0 0 0;
	background : var(--color-02);
	color : var(--color-01);;
	text-align : center;
	border : none;
	font-size : 24px;
	line-height : 30px;
}
@media print, only screen and (min-width: 1000px) {
}
/*--------------------------------------------------------------------------------------------------------------------
■コメント
--------------------------------------------------------------------------------------------------------------------*/
#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: 1000px) {
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: 1000px) {
.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 : #CC3434;;
}
#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: 1000px) {
#foot_nav {
	position : initial;
	display : block;
	bottom : auto;
	left : auto;
	right : auto;
	height : auto;
}
#foot_nav a {
	display : block;
	position : fixed;
	padding : 5px 0;
	width : 70px;
	right : 20px;
	border-radius : 4px;
	line-height : 1em;
}
#foot_nav button {
	display : none;
}
#foot_nav a i {
	font-size : 20px;
	line-height : 20px;
	margin : 0;
}
#foot_nav a i::after {
	font-size : 9px;
	font-weight : bold;
	line-height : 3px;
}
#foot_nav a:hover {
	background : #CC3434;
}
#foot_nav li#foot_nav-page_top a {
	bottom : 225px;
}
#foot_nav li#foot_nav-home a {
	bottom : 165px;
}
#foot_nav li#foot_nav-contact a {
	bottom : 105px;
}
#foot_nav li#foot_nav-e-calendar a {
	bottom : 30px;
	right : 20px;
	width : 200px;
	padding : 15px 0;
	font-size : 16px;
	line-height : 32px;
}
#foot_nav li#foot_nav-e-calendar a i {
	margin : 0 5px 0 0;
}
#foot_nav li a i::after {
	font-weight : normal;
}
#foot_nav li#foot_nav-e-calendar a i::after {
	content : attr(data-cap);
	margin : 0 0 0 5px;
	font-size : 16px;
	line-height : 20px;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ページャー pagination pager
.pagination {
	padding : 10px 0;
	margin : 20px auto;
	text-align : center;
	background : #efefef;
}
.pagination span,
.pagination a {
	display : inline-block;
	width : auto;
	height : 28px;
	border-radius : 14px;
	margin : 0 2px 0 0 ;
	padding : 0 8px;
	text-align : center;
	text-decoration : none;
	font-size : 1em;
	line-height : 28px;
	color : #333;
	border : 1px solid #999;
	background : #fff;
}
.pagination .page-count {
	margin: 0 8px 0 0 ;
	padding : 0;
	width : auto;
	font-size : 1em;
	color : #000;
	border : none;
	background : transparent;
}
.pagination a.control ,
.pagination a.last {
	width : auto;
	padding : 0 5px;
	color : #000;
}
.pagination a:hover {
	background : #c00;
	color : #fff;
}
.pagination .current {
	background : #00c;
	color : #fff;
}
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
■ページャー pagination pager
--------------------------------------------------------------------------------------------------------------------*/
.pagination {
	margin : 20px 0;
	text-align : center;
}
.pagination .page-numbers {
	display : inline-block;;
	margin : 0 2px;
	text-align : center;
	align-items : center;
	justify-content: center;
	background : #ccc;
	color : #fff;
	font-size : 0.8em;
	width : 2em;
	height : 2em;
	line-height : 2em;
}
.pagination .page-numbers:hover {
	background : #c00;
}
.pagination .page-numbers.current {
	background : #666;
}
.pagination .control {
	display : inline-block;;
	margin : 0 2px;
	text-align : center;
	align-items : center;
	justify-content: center;
	color : #000;
	font-size : 0.8em;
	height : 2em;
	line-height : 2em;
}
.pagination .control:hover {
	color : #c00;
}
/*--------------------------------------------------------------------------------------------------------------------
■ぱんくず　パンくず
--------------------------------------------------------------------------------------------------------------------*/
nav#braudcrumb-list {
	margin : 0 0 10px 0;
	font-size : 15px;
	line-height : 22px;
}
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 10px 0 0;
	list-style : none;
}
nav#braudcrumb-list i {
	font-size : 16px;
	margin-right : 2px;
	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 0 10px 0;
	border-collapse : collapse;
	border-spacing : 0;
}
table th,
table td {
	margin : 0;
	padding : 5px;
	border-collapse : collapse;
	border : 1px solid #999;
	border-spacing : 0;
	vertical-align : top;
}
table th p ,
table td p {
	margin : 0;
}
/* === ソートボタンを表示するエリア ============== */
.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: 1000px) {
table th,
table td {
	padding : 10px;
}
}
/*----------------------------------------------------------
はみ出しスライドテーブル・スマホ
<div class="slide_tbl">
<table>〜</table>
</div>
----------------------------------------------------------*/
.slide_tbl {
	overflow-x : auto;
	white-space : normal;
}
.slide_tbl table th,
.slide_tbl table td ,
.slide_tbl table td p {
	line-height : 120%;
	min-width : 100px;
	max-width : 100px;
	margin-bottom : 0!important;
	margin : 0!important;
}
/*PCの場合*/
@media print, only screen and (min-width: 1000px) {
.slide_tbl {
	overflow-x : hidden;
	white-space : normal;
}
.slide_tbl table th,
.slide_tbl table td ,
.slide_tbl table td p {
	line-height : 120%;
	min-width : initial;
	max-width : initial;
	margin-bottom : 0!important;
	margin : 0!important;
}
tr.pc_no_disp {
	display : none;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ウィジェットコントロール　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: 1000px) {
.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!important;
}
@media print, only screen and (min-width: 1000px) {
#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 : 10px 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: 1000px) {
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;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■Contactform7
.wpcf7-list-item {
	display : block;
}
input[type="submit"].wpcf7-submit {
}
input[type="submit"].wpcf7-submit:hover {
}
table.contactform td:nth-child(1) {
	width : 25%;
}
.form_fullsize {
	width : 100%;
}
.contact_submit input[type="submit"] {
	display : inline-block;
	margin : 20px auto;
	padding : 10px 0;
	color : var(--color-01);;
}
.contact_submit input[type="submit"]:hover {
	background : var(--color-02);
}
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
■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: 1000px) {
.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 20px 0;
}
#home_content-column {
	margin : 0 auto 20px auto;
}
#home_search_form-column {
	padding : 0;
	margin : 0 auto 40px auto;
	width : 75%;
}
@media print, only screen and (max-width: 1000px) {
#home_content-column {
	margin : 0 auto 20px 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 : var(--color-cal-hover);
}
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 : var(--color-cal-closed);
}
p.shop_closed:before {
	content : "\f410";
	font-family : fontawesome;
	color : #ea6e61;
	margin-right : 4px;
}
p.shop_free {
	background : var(--color-cal-free);
}
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 10px 0;
	font-family: 'Asap', sans-serif;
	font-weight : 700;
	font-size : 30px;
	color : #fff;
	text-shadow : 1px 1px 6px #fff;
}
#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 : 1000px) {
#todays_live {
	top : 60px;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■店舗情報　INFO
--------------------------------------------------------------------------------------------------------------------*/
#info {
}
#info > div {
	position : relative;
	border : 1px solid #999;
	border-radius : 10px;
	padding : 10px 10px 60px 10px;
}
#info h3 {
	padding : 0;
	margin : 20px 0 30px 0;
	font-weight : 400;
	text-align : center;
}
.todays_live {
	position : relative;
}
.todays_live-date {
	position : absolute;
	top : -10px;
	left : 5px;
	width : 60px;
	height : 60px;
	border : 1px solid #666;
	background : var(--color-01);
}
p.detail ,
.post_list-hotnews a.read_more {
	position : absolute;
	bottom : 10px;
	right : 10px;
	margin : 0;
}
/*--------------------------------------------------------------------------------------------------------------------
■フード＆ドリンク　food_drink
--------------------------------------------------------------------------------------------------------------------*/
.food_drink .grid2-1 {
	grid-gap : 60px;
}
.food_drink h3 {
	font-weight : 500;
	font-size : 22px;
}
.food_drink dl {
}
.food_drink dt {
	float : left;
	padding : 5px 0;
}
.food_drink dd {
	text-align : right;
	padding : 5px 0;
	line-height : 24px;
	border-bottom : 1px dotted #999;
}
.food_drink dd::after {
	content : "";
	display : block;
	clear : both;
	overflow : hidden;
	font-size : 0.1px;
	line-height : 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;
}
/*--------------------------------------------------------------------------------------------------------------------
■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: 1000px) {
#PostSlide .slick-slide span.PostSlide-ttl {
	font-size : 24px;
}
#PostSlide .slick-slide span.PostSlide-date {
	font-size : 18px;
}
}
.a2a_svg {
//	display : inline!important;
}
