@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: fwc4
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: 20230516
---------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
スマホ：374pxまで（iPhone12未満）デフォルト
タブレット：600px以上
@media screen and (min-width: 600px) { }
PC：1000px以上
@media screen and (min-width: 1000px) { }
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
メインメニュー：gnav
スマホメニュー：mnav
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
font-family : sans-serif;
font-family : serif;
font-family : 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', Meiryo, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
font-family : '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
font-family : 'Hina Mincho', serif;
font-family : 'Kaisei HarunoUmi', serif;
font-family : 'Noto Sans JP', sans-serif;
font-family : 'Noto Serif JP', serif;
font-family : 'Potta One', cursive;
font-family : 'RocknRoll One', sans-serif;
font-family : 'Shippori Antique', sans-serif;
font-family: 'Ubuntu', sans-serif;
font-family: 'Asap', sans-serif;
font-family: "luxus-brut-sparkling", cursive;
font-weight: 400;
font-style: normal;
font-family: "hummingbird", sans-serif;
font-weight: 400;
font-style: normal;
font-family: "hummingbird", sans-serif;
font-weight: 700;
font-style: normal;
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
<h2 class="heading07" data-en="Recruit">手書き風英字のCSS見出し</h2>
.heading07 {
	position: relative;
	padding-top: 50px;
	padding-left: 30px;
	font-size: 26px;
}
.heading07 span {
	position: relative;
	z-index: 2;
}
.heading07::before {
	content: attr(data-en);
	position: absolute;
	transform: rotate(-5deg);
	top: -20px;
	left: 0;
	color: rgba(224,66,114,0.6);
	font-size: 80px;
	font-weight: 400;
	font-family: luxus-brut, cursive;
	font-style: italic;
}
<h2 class="ttl_line2">SEO対策のバイブル</h2>
.ttl_line2 {
  font-weight: bold;
  border-bottom: 2px solid #4c9ac0;
  padding: 0.3em;
  margin-bottom: 0.3em;
}
.ttl_line2:first-letter {
  font-size: 1.5em;
  color: #4c9ac0;
}
--------------------------------------------------------------------------------------------------------------------*/
:root {
/*ライトモード*/
	--color-01 : #fff;
	--color-02 : #000;
	--color-03 : #f6f6f6;
	--color-04 : #b02c2c;	/*フッタ・マウスオーバー及びポイントカラー*/
	--color-05 : #377389;	/*フッタナビ・ポイントカラーの反対色*/	
	--color-link : #1a0dab;
	--color-hover : #CC3434;
	--color-cal-normal : #f8f9ff;
	--color-cal-closed : #fff9f8;
	--color-cal-free : #f8fffa;
	--color-cal-hover : #f9f9f9;
/*ダークモード
	--color-01 : #333;
	--color-02 : #fff;
	--color-03 : #999;
	--color-04 : #b02c2c;
	--color-05 : #377389;
	--color-cal-normal : #565658;
	--color-cal-closed : #595757;
	--color-cal-free : #575957;
	--color-cal-hover : #222;
*/
/*基本書体指定*/
	--font-family01 : 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', Meiryo, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
/*見出し書体指定　タイトル等*/
	--font-family02 : 'Asap', sans-serif;
/*基本文字サイズ*/
	--font-size : 16px;
/*基本行間*/
	--line-height : 24px;
/*sitename高さ*/
	--size-sitename : 40px;
/*ブロックサイズ*/
	--w-large : 1000px;
	--w-medium : 640px;
	--w-half : 48%;
	--w-1-third : 32%;
	--w-quater : 24%;
	--w-small : 300px;
	--w-thumb : 150px;
	--w-grid-gap : 10px;
/*トップページVegasSliderサイズ　100vhで全画面*/
	--size-vegas : 100vh;
	--size-vegas-d : 100dvh;
/*トップページflexSliderサイズ　MAX*/
	--size-ml-w : 1000px;
	--size-ml-h : 1000px;
}
/*--------------------------------------------------------------------------------------------------------------------
■HTML・BODY
--------------------------------------------------------------------------------------------------------------------*/
html {
	margin : 0;
	padding : 0;
	height : 100%;
}
body {
	margin : 0;
	margin-top : 0!important;	/*scroll_fix.js対策*/
	padding : 0;
	background : var(--color-01);
	font-size : var(--font-size);
	line-height : var(--line-height);
	font-family : var(--font-family01);
	color : var(--color-02);
	-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:visited {
	color : #7f008b;
}
*/
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 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 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 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 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-1col 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 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 screen and (min-width: 1000px) {
.full_width {
	margin-left : calc( -1 * (100vw - var(--w-large)) / 2)!important;
	margin-right : calc( -1 * (100vw - var(--w-large)) / 2)!important;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■flex
--------------------------------------------------------------------------------------------------------------------*/
.flex ,
.flex-nowrap {
	display : block;
}
@media 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 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 67% 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;
}
/*--------------------------------------------------------------------------------------------------------------------
■スクロールするとふわっと表示される 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);
}
/*--------------------------------------------------------------------------------------------------------------------
■表示コントロールその他
--------------------------------------------------------------------------------------------------------------------*/
.box_left ,
.box_right {
	float : none;
}
.pc_only {
	display : none;
}
.mobile_only {
	display : block;
}
@media 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;
	padding : 0;
	margin : 0;
}
header {
	position : sticky;
	top : 0;
	left : 0;
	right : 0;
	height : calc( var(--size-sitename) + 20px);
	margin : 0;
	padding : 0;
	z-index : 9999;
	background : var(--color-01);
	border-bottom : 1px solid var(--color-02);
}
#header {
	position : relative;
	top : 0;
	left : 0;
	right : 0;
	height : var(--size-sitename);
	padding : 10px 0;
	margin : 0;
}
#gnav_outer {
	display : none;
}
#container_outer {
	clear : both;
	padding : 0;
	margin : 0;
	background : var(--color-01);
}
#container {
	padding : 0;
}
#content,
aside {
	float : none;
}
#content ,
aside {
	padding :10px;
}
#gmap {
	clear : both;
	padding : 0!important;
	margin : 0!important;
}
#footer_outer {
	clear : both;
	margin : 0;
	background : var(--color-04);
}
footer {
	padding : 10px;
}
#footertitle_outer {
	clear : both;
	margin : 0 auto;
	background : var(--color-04);
}
#footertitle {
	padding : 10px 10px 56px 10px;/*下paddingはfoot_navと合わせる*/
}
@media screen and (min-width : 1000px) {
#wrapper {
}
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 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 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 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 : 500;
	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.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 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;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■GNAV
--------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 1000px) {
nav#gnav ul {
	margin : 0;
	padding : 0;
}
nav#gnav ul li {
	position : relative;
	margin : 0;
	padding : 0;
	text-align : center;
	width : 100%;
}
nav#gnav li a {
	display : block;
	width : 100%;
	padding : 0;
	color : var(--color-01);
	font-size : 16px;
	line-height : 40px;
	width : 100%;
}
nav#gnav a:hover {
	background : #666;
	color : var(--color-01);
}
nav#gnav li.current-menu-item > a {
	background : var(--color-04);
	color : var(--color-02);
}
/*----------------------------------------------------------
■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 .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 : 20px;
	font-weight : bold;
	padding : 3px 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 0 10px 0;
}
.post_list dt.post_list-thumb a {
}
.post_list dt.post_list-thumb a span {
	display : block;
	width : 100%;
	height : 0;
	padding-bottom : 100%;
}
.post_list dd.post_list-content {
	margin : 0;
	padding : 0;
}
.post_list dd.post_list-content h3 {
	padding : 0;
	margin : 0 0 5px 0;
	font-family : var(--font-family01);
	font-size : 20px;
	font-weight : bold;
	line-height : 24px;
	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 screen and (min-width: 640px) {
.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 {
	display : grid;
	grid-template-columns : repeat(2, 1fr);
	grid-gap : 10px;
	justify-content : space-between;
}
.post_list-grid .post_list dt .post_date,
.post_list-grid .post_list dd .blog_info {
	display : none;
}
@media screen and (min-width: 640px) {
.post_list-grid .post_list {
	grid-template-columns : repeat(3, 1fr);
	grid-gap : 20px;
}
}
/*----------------------------------------------------------
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 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;
}
.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 {
	display : none;
}
.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;
}
.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 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 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;
}
}
/*----------------------------------------
■王冠
------------------------------------------*/
#home_wpp ul.wpp-list li:before {
	counter-increment : item;
	content : counter(item)'位';
	display : inline-block;
	padding : 0 10px;
	margin : 0 0 2px 0;
	background : #444;
	border-radius : 4px;
	font-size : 1em;
	color : var(--color-01);;
	font-weight : bold;
	line-height : 1.25em;
}
#home_wpp ul.wpp-list li:nth-child(1):before {
	background : #beb339;
}
#home_wpp ul.wpp-list li:nth-child(2):before {
	background : #9e9e9e;
}
#home_wpp ul.wpp-list li:nth-child(3):before {
	background : #875e47;
}
/*----------------------------------------
■関連記事・人気記事
------------------------------------------*/
#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 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 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 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 : 56px;
	display : grid;
	grid-template-columns : repeat(4, 1fr);
	justify-content : space-between;
}
#foot_nav li {
}
#foot_nav a {
	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 {
	font-size : 24px;
	line-height : 20px;
	margin : 10px 0 0 0;
}
#foot_nav a i::after {
	content : "\A"attr(data-cap);
	white-space : pre;
	margin : 0;
	font-size : 9px;
	font-weight : bold;
	line-height : 0;
}
@media 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 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 : var(--color-01);;
}
.pagination .page-count {
	margin: 0 8px 0 0 ;
	padding : 0;
	width : auto;
	font-size : 1em;
	color : var(--color-02);
	border : none;
	background : transparent;
}
.pagination a.control ,
.pagination a.last {
	width : auto;
	padding : 0 5px;
	color : var(--color-02);
}
.pagination a:hover {
	background : var(--color-02);
	color : var(--color-01);
}
.pagination .current {
	background : var(--color-02);
	color : var(--color-01);;
}
/*--------------------------------------------------------------------------------------------------------------------
■ぱんくず　パンくず
--------------------------------------------------------------------------------------------------------------------*/
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;
}
@media 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 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;
}
@media 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 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 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_page #home_main {
	position : absolute;
	top : calc(var(--size-sitename) + 20px);
	margin : 0;
	padding : 0;
	width : 100%;
	height : calc(var(--size-vegas) - ( var(--size-sitename) + 20px + 40px) );
	overflow : hidden;
	display : flex;
	align-items : center;
}
_::-webkit-full-page-media, _:future, :root #home_main {
	height : calc(var(--size-vegas-d) - ( var(--size-sitename) + 20px + 40px) );
}
.front_page #home_main::after {
	clear : both;
}
#front_image_outer {
	position : relative;
	width : var(--size-ml-w);
	max-width : 100%;
	margin : 0 auto;
}
#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;
}
/*#for_doctor {
	position : absolute;
	z-index : 9999;
	top : 20px;
	left : 10px;
}*/
#video {
	position : absolute;
	top : 50%;
	left : 50%;
	max-width : none!important;
	min-width : 100%!important;
	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;
}
.halftone::after {
	content: '';
	display: block;
	width: 600px;
	height: 600px;
	position: absolute;
	top: 0;
}
@media screen and (min-width: 1000px) {
.front_page #home_main {
	height : calc(var(--size-vegas) - var(--size-sitename) );
	top : calc(var(--size-sitename));
}
#video {
	min-height : calc(100vh - var(--size-sitename) - var(--size-gnav) );
}
#front_image_outer {
	width : var(--size-ml-w);
	max-width : 100%;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■vegas slider
--------------------------------------------------------------------------------------------------------------------*/
#vegasslider {
	position : absolute;
	width : 100%;
	height : 100vh;
}
/*--------------------------------------------------------------------------------------------------------------------
■flexslider
--------------------------------------------------------------------------------------------------------------------*/
.flexslider {
	background : transparent!important;
	border : none!important;
	padding : 0!important;
	margin : 0!important;
}
/*--------------------------------------------------------------------------------------------------------------------
■home_content ホームコンテンツ
--------------------------------------------------------------------------------------------------------------------*/
.front_page #container_outer {
	padding : calc(var(--size-vegas) - (var(--size-sitename) + 20px)) 0 10px 0;
	margin : 0;
}
.front_page #container_outer.blog_style {
	padding : 0 0 10px 0;
	margin : 0;
}
.front_page #container_outer.paged2 {
	padding : calc(var(--size-gnav) + var(--size-sitename)) 0 10px 0;
	margin : 0;
}
#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 screen and (max-width: 1000px) {
#home_content-column {
	margin : 0 auto 20px auto;
	width : 100%;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■イベントカレンダー
--------------------------------------------------------------------------------------------------------------------*/
.e-calendar h2.calendar-ttl {
	display : block;
	position : static;
	transform: none;
	margin-top : 0;
	text-align : center;
	font-size : 30px;
	border-bottom : none;
}
.e-calendar h2.calendar-ttl .calendar-ttl-prev {
	padding-right : 10px;
}
.e-calendar h2.calendar-ttl .calendar-ttl-next {
	padding-left : 10px;
}
#cal_change {
	display : none;
}
p.month_lnk {
	margin : 20px 0;
	font-size : 18px;
	line-height : 40px;
}
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 screen and (min-width: 640px) {
.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 screen and (min-width: 640px) {
#cal_change {
	display : block;
	max-width : 100%;
	padding : 10px;
	font-size : 24px;
	color : #000;
	background : #ccc;
	border : 1px solid #fff;
	border-radius : 4px;
}
#cal_change:hover {
	color : #fff;
	background : #000;
}
#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 : 40px;
	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%)}
}
/*--------------------------------------------------------------------------------------------------------------------
■店舗情報　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;
}

