@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: pochiintegrated
Theme URI: https://pochilog.jp
Description: SP Opt
Author: sada
Author URI: https://pochilog.jp
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: 20210704
---------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
スマホ：374pxまで（iPhone12未満）
タブレット：600px以上
@media screen and (min-width: 600px) {
PC：1000px以上
@media screen and (min-width: 1000px) {
--------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
メインメニュー：gnav
スマホメニュー：mnav
--------------------------------------------------------------------------------------------------------------------*/
:root {
/*基本文字サイズ*/	--font-size : 18px;
/*基本行間*/		--line-height : 2em;
/*黒*/					--color-01 : #000;
/*白*/					--color-02 : #fff;
/*テーマカラー1*/		--color-03 : #000;
/*テーマカラー2*/		--color-04 : #666;
/*フッタ*/			--color-05 : #999;
/*フッタSEO*/	--color-06 : #ccc;
/*ヘッダ背景*/							--color-07 : #efefef;
/*必須・attention・require*/				--color-08 : #d00;
/*フロートメニュー*/							--color-09 : #377389;
/*モバイルメニュー背景色・manv*/		--color-10 : #377389;
/*リンク色A*/										--color-a : #1d3993;
/*リンク色A:visited*/							--color-visited : #7f008b;
/*リンク色A:hover*/							--color-hover : #fd0000;
/*リンク色反転A:hover*/						--color-hover_rev : #fc0;
/*サイト名高さ*/									--size-sitename : 40px;
/*GNAV高さ*/										--size-gnav : 40px;
/*foot_nav高さ*/									--size-foot_nav : 40px;
/*左右padding*/									--size-side : 10px;
/*content上下padding*/						--size-padding : 30px;
/*MetaSliderサイズ*/
	--size-ml-w :600px;
	--size-ml-h :600px;
/*ブロックサイズ*/
	--w-large : 1000px;
	--w-medium : 640px;
	--w-half : 48%;
	--w-1-third : 32%;
	--w-quater : 24%;
	--w-small : 300px;
	--w-thumb : 150px;
}
/*--------------------------------------------------------------------------------------------------------------------
■HTML・BODY
--------------------------------------------------------------------------------------------------------------------*/
html {
	margin : 0;
	padding : 0;
	height : 100%;
}
body {
	margin : 0;
	margin-top : 0!important;	/*scroll_fix.js対策*/
	padding : 0;
	background : var(--color-02);;
	font-size : var(--font-size);
	line-height : var(--line-height);
	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;*/
	color : var(--color-01);
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
	table-layout : fixed;
	overflow-wrap : break-word;
	word-break : break-word;
}
/*----------------------------------------------------------
■リンク
----------------------------------------------------------*/
a {
	color : var(--color-a);
	text-decoration : none;
}
a:visited {
	color : var(--color-visited);
}
a:hover {
	color : var(--color-hover);
	outline : 0;
}
a img {
	border : none;
}
a:hover img {
	opacity : 0.8;
}
b,
strong {
	font-weight : bold;
}
.color-spot {
	color : var(--color-04);
}
a.contact {
	display : block;
	margin : 10px 0;
	border : 4px solid #f00;
	color : #f00;
	border-radius : 16px;
	text-align : center;
}
a.contact:hover {
	background : #f00;
	color : #fff;
}

/*--------------------------------------------------------------------------------------------------------------------
■表示コントロール
--------------------------------------------------------------------------------------------------------------------*/
.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 {
	margin : 0 0 2em 0;
}
@media screen and (min-width: 640px) {
.grid2-1 {
	display : grid;
	grid-template-columns : repeat(2, 48%);
	justify-content : space-between;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■3-1col 3列一覧表示
--------------------------------------------------------------------------------------------------------------------*/
.grid3-1 {
	display : block;
}
.grid3-1 div {
	margin : 0 0 2em 0;
}
@media screen and (min-width: 640px) {
.grid3-1 {
	display : grid;
	grid-template-columns : repeat(3, var(--w-1-third));
	justify-content : space-between;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■4-1col 4列一覧表示
--------------------------------------------------------------------------------------------------------------------*/
.grid4-1 {
	display : block;
}
.grid4-1 div {
	margin : 0 0 2em 0;
}
@media screen and (min-width: 640px) {
.grid4-1 {
	display : grid;
	grid-template-columns : repeat(4, var(--w-quarter));
	justify-content : space-between;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ブロック
--------------------------------------------------------------------------------------------------------------------*/
#wrapper {
	position : relative;
	padding : calc(var(--size-sitename) + 20px) 0 0 0;
}
header {
	position : fixed;
	top : 0;
	left : 0;
	right : 0;
	height : calc( var(--size-sitename) + 20px);
	margin : 0;
	z-index : 9999;
	background : var(--color-02);
	border-bottom : 1px solid #333;
}
#header {
	position : relative;
	height : var(--size-sitename);
	padding : 10px;
	margin : 0;
}
#container_outer {
	clear : both;
	padding : calc(var(--size-sitename) + 20px)) 0 0 0;
	margin : 0;
	background : var(--color-02);
}
#container {
	padding : 0;
	overflow : hidden;
}
#content,
aside {
	float : none;
}
#content {
	padding : var(--size-padding) 10px;
}
aside {
	padding : 0 10px;
}
#footer_outer {
	clear : both;
	background : var(--color-03);
}
footer {
	padding : 10px;
	margin : 0 auto;
}
#footertitle_outer {
	clear : both;
	background : var(--color-04);
}
#footertitle {
	padding : 10px 10px var(--size-foot_nav) 10px;	
}
@media screen and (min-width : 1000px) {
#wrapper {
}
header {
	height : calc( var(--size-sitename) + 20px );
}
#container_outer {
}
#container {
	padding : var(--size-padding) 0;
}
#content {
	float : left;
	padding : 0;
}
main {
}
aside {
	float : right;
	padding : 0;
}
footer {
	padding : 10px 0;
}
#footertitle {
	padding : 10px 0;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ヘッダ header
--------------------------------------------------------------------------------------------------------------------*/
#google_eyecatch {
	visibility : hidden;
	height : 0;
}
#header #sitename {
	padding : 0 var(--size-side);
	margin : 0;
	font-weight : bold;
	line-height : var(--size-sitename);
	max-width : calc( 100vw - 70px );
}
#header #sitename.sitelogo {
	padding : 0 var(--size-side);
	margin : 0;
	line-height : var(--size-sitename);
}
#header #sitename.sitelogo img {
	max-height : var(--size-sitename);
}
#header_right {
	display : none;
}
#rndimage {
	display : none;
}
@media screen and (min-width: 1000px) {
#header #sitename {
	float : left;
	padding : 0;
	line-height : var(--size-sitename);
}
#header #sitename a {
	color : var(--color-01);
}
#header_right ,
#header_right h1.description,
#header_right p.description {
	display : block;
	float : left;
	padding : 0;
	margin : 0;
	font-size : 1em;
	line-height : var(--size-sitename);
}
#header_right h1.description a,
#header_right p.description a {
	color : var(--color-01);
}
#header_right {
	margin : 0 0 0  var(--size-padding);
}
#rndimage {
	position : relative;
	display : block;
	margin : 0;
	width : 100%;
	height : 15em;
}
#rndimage-inner  {
	position : relative;
	top : 0;
}
#rndimage #site_logo a {
	top : 1em;
	left : 2em;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■スマホボタン mobile_set
--------------------------------------------------------------------------------------------------------------------*/
button#mobile_menu_bttn {
	display : block;
	position : fixed;
	z-index : 1000;
	top : 0;
	right : 0;
	padding : 0;
	margin : 0;
	width : calc( var(--size-sitename) + 20px);
	height : calc( var(--size-sitename) + 20px);
	border : none;
	box-shadow : none;
	background : var(--color-09);
}
button#mobile_menu_bttn #mnav-c,
button#mobile_menu_bttn #mnav-x,
button#mobile_menu_bttn #mnav-i {
	padding : 0;
	margin : 0;
	font-size : var(--size-sitename);
	line-height : var(--size-sitename);
	color : var(--color-02);
}
button#mobile_menu_bttn #mnav-c {
	font-family: 'RocknRoll One', sans-serif;
	font-weight : 900;
	font-size : calc(var(--size-sitename) * 0.75);
}
button#mobile_menu_bttn #mnav-c {
	display : none;
}
button#mobile_menu_bttn #mnav-i i ,
button#mobile_menu_bttn #mnav-x i {
	font-family : fontawesome;
	font-style : normal;
	font-weight:900;
}
button#mobile_menu_bttn #mnav-i {
	padding : 0;
}
button#mobile_menu_bttn #mnav-x {
	display : none;
}
button#mobile_menu_bttn.close #mnav-c,
button#mobile_menu_bttn.close #mnav-i {
	display : none;
}
button#mobile_menu_bttn.close #mnav-x {
	display : inline;
}
@media screen and (min-width: 1000px) {
button#mobile_menu_bttn {
	width : 240px;
}
button#mobile_menu_bttn #mnav-c {
	display : inline;
	padding : 0 20px 0 0;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■スマホメニュー 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-bottom : 1px solid var(--color-01);
	box-shadow : 0 1.25em 2em rgba(0,0,0,0.5);
	background : rgba(255,255,255,0.6);
}
#mobile_menu ul.menu {
	overflow : auto;
	-webkit-overflow-scrolling : touch;
	height : calc(100vh - (var(--size-gnav) + 20px));
}
_::-webkit-full-page-media, _:future, :root #mobile_menu ul.menu {
	height : calc(100dvh - (var(--size-gnav) + 20px));
}
#mobile_menu li {
	list-style : none;
/*	background : var(--color-02);*/
	border-top : 1px solid var(--color-01);
}
#mobile_menu li a {
	display : block;
	padding : 0 0 0 10px;
	font-weight : bold;
	line-height : 3em;
	color : var(--color-03);
}
#mobile_menu li li a {
	padding : 0 0 0 1.25em;
}
#mobile_menu li a:hover {
	background : #000;
	color : #fff;
}
#mobile_menu li#mobile_searchform {
	padding : 0;
}
#mobile_menu li#mobile_searchform form#searchform {
	border : none;
}
/*--------------------------------------------------------------------------------------------------------------------
■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-02);
	font-size : 1em;
	line-height : 2.5em;
	width : 100%;
}
nav#gnav a:hover {
	background : var(--color-04);
	color : var(--color-02);
}
nav#gnav li.current-menu-item > a {
	background : var(--color-05);
	color : var(--color-01);
}
/*----------------------------------------------------------
■submenu
----------------------------------------------------------*/
nav#gnav ul li ul {
	position : absolute;
	top : 2.5em;
	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 : 2em;
	z-index : 10;
	width : var(--w-small);
	background : var(--color-07);
	color : var(--color-03);
}
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 0.5em;
	background : var(--color-05);
	font-size : 1em;
	line-height : 2em;
}
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 : var(--color-04);
	color : var(--color-02);;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■post_list 一覧表示（検索結果・カテゴリー）
■search_list 一覧表示　検索結果→投稿一覧post_list
--------------------------------------------------------------------------------------------------------------------*/
h1.search_result-title ,
h4.category-title {
	padding : 0 0 0.5em 0;
	margin : 0 0 1em 0;
	background : transparent;
	font-size : 1.5em;
	color : var(--color-01);
	border-bottom : 2px solid var(--color-01);
	font-weight : bold;
}
.search_numbers {
	margin : 0 0 0 10px;
	font-size : 0.8em;
	font-weight : normal;
}
#post_list {
}
#post_list dl.post_list-box {
	margin : 0;
	padding : 10px 0;
	border-bottom : 1px solid var(--color-06);
}
#post_list dt.post_list-thumb {
	float : left;
	width : 120px;
	height : 120px;
}
#post_list dt.post_list-thumb img {
	width : 120px;
	height : 120px;
	object-fit : cover;
}
#post_list dd.post_list-content {
	margin : 0 0 0 140px;
}
#post_list dd.post_list-content h3 {
	padding : 0;
	margin : 0 0 5px 0;
	font-size : 1.2em;
	font-weight : bold;
	line-height : 1.4em;
	border : none;
}
#post_list dd.post_list-content h3 a {
	color : var(--color-01);
}
#post_list .post_list-excerpt {
	padding : 0;
	margin : 0;
	font-size : 0.9em;
	line-height : 1.3em;
}
#post_list .post_list-excerpt .blog_info {
	display : none;
}
@media screen and (min-width: 640px) {
#post_list dt.post_list-thumb {
	width : 200px;
	height : 200px;
}
#post_list dt.post_list-thumb img {
	width : 200px;
	height : 200px;
}
#post_list dd.post_list-content {
	margin : 0 0 0 220px;
}
#post_list dd.post_list-content h3 {
	margin : 0 0 10px 0;
	font-size : 1.25em;
	line-height : 1.5em;
}
#post_list .post_list-excerpt {
	padding : 0;
	margin : 0;
	font-size : 1em;
	line-height : 1.3em;
}
#post_list .post_list-excerpt .blog_info {
	display : block;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■post_list_grid 一覧表示
--------------------------------------------------------------------------------------------------------------------*/
#post_list_grid {
	display : grid;
	grid-template-columns : repeat(auto-fit, 48%);
	justify-content : space-between;
}
#post_list_grid dl.post_list-box {
	margin : 0 0 2em 0;
}
#post_list_grid dt.post_list-thumb {
	margin : 0 0 0.5em 0;
}
#post_list_grid dt.post_list-thumb a {
}
#post_list_grid dt.post_list-thumb a span {
	display : block;
	width : 100%;
	height : 0;
	padding-bottom : 100%;
}
#post_list_grid dd.post_list-content {
	margin : 0;
	padding : 0;
}
#post_list_grid dd.post_list-content h3 {
	padding : 0;
	margin : 0 0 0.5em 0;
	font-size : 1.1em;
	font-weight : bold;
	line-height : 1.25em;
	border-bottom : none;
}
#post_list_grid dd.post_list-content h3 a:hover {
	color : var(--color-hover);;
}
#post_list_grid dd.post_list-content a {
	color : var(--color-01);;
}
#post_list_grid dd.post_list-content p {
	display : none;
	margin : 0;
	font-size : 1em;
	line-height : 1.5em;
}
#post_list_grid dd.post_list-content .blog_info {
	font-size : 0.9em;
	display : none;
}
@media screen and (min-width: 640px) {
#post_list_grid {
	grid-template-columns : repeat(3, 30%);
}
#post_list_grid dd.post_list-content h3 {
	font-size : 1.25em;
	line-height : 1.4em;
}
#post_list_grid dd.post_list-content p {
	display : block;
}
#post_list_grid dd.post_list-content .blog_info {
	display : block;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■read_more続きを読む
--------------------------------------------------------------------------------------------------------------------*/
a.read_more {
	display : inline-block;
	background : var(--color-a);
	color : var(--color-02)!important;
	padding : 0 4px;
	margin : 0 0 0 8px;
	border-radius : 4px;
	font-size : 0.9em;
	font-weight : bold;
}
a.read_more:hover {
	background : var(--color-hover);
}
/*--------------------------------------------------------------------------------------------------------------------
■コンテンツ
--------------------------------------------------------------------------------------------------------------------*/
.post p ,
.post ul ,
.post ol {
	margin : 0 0 0.5em 0;
}
.post ul ,
.post ol {
	padding : 0 0 0 2em;
}
.post ul li {
	list-style-type : disc;
}
.post ol li {
	list-style-type : decimal;
}
@media screen and (min-width: 1000px) {
p ,
.post ul ,
.post ol {
	margin : 0 0 1em 0;
}
}
/*----------------------------------------------------------
■投稿日・カテゴリ・タグ・投稿者
----------------------------------------------------------*/
.publish_date {
	padding : 0.5em;
	margin : 1em 0;
	border : 1px solid var(--color-04);
	background : var(--color-02);
	color : var(--color-04);
}
.blog_info {
	margin : 0.5em 0;
	padding : 0.2em 0;
	border-top : 1px solid var(--color-04);
	border-bottom : 1px solid var(--color-04);
}
.blog_info p {
	margin : 0;
	font-size : 1em;
	line-height : 1em;
}
/*----------------------------------------------------------
■引用
----------------------------------------------------------*/
blockquote {
	padding : 2em 1em 0 1em;
	margin : 1.25em 0;
	background : var(--color-07) 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 {
	font-size : 1em;
	color : var(--color-08);;
}
p.attention {
	border : 2px solid var(--color-08);
	padding : 0.5em;
	color : var(--color-08);
}
/*--------------------------------------------------------------------------------------------------------------------
■関連記事
--------------------------------------------------------------------------------------------------------------------*/
#related {
	margin : 1.25em 0;
}
#related h4 {
	margin : 1.25em 0 0 0;
}
#related dl {
	margin : 0;
	border-bottom : 1px solid var(--color-04);
}
#related dt {
	float : left;
	width : 100px;
	height : 100px;
	margin : 0;
}
#related dt img {
	width : 100px;
}
#related dd {
	padding : 0 5px 0 0;
	margin : 0 0 0 120px;
}
#related dd p {
	line-height : 1.5em;
	font-weight : bold;
	padding : 0.5em 0 0 0;
	margin : 0;
}
#related dd p a {
	color : var(--color-03);
}
#related dd p a:hover {
	color : var(--color-08);
}
@media screen and (min-width: 1000px) {
#related dd {
	padding : 0 0.5em 0 0;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■コメント
--------------------------------------------------------------------------------------------------------------------*/
#comments_outer {
	margin : 2em 0;
}
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 : var(--color-07);
	border : 1px solid var(--color-05);
}
.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 var(--color-04);
	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-03);
	border-radius : 4px;
	color : var(--color-02);
}
.reply a:hover {
	background : var(--color-08);
}
#comments #respond {
	margin : 0 0 10px 0;
	padding : 5px 0 0 0;
}
.logged-in-as {
	font-weight : bold;
}
#comments #commentform .tags {
	padding : 10px;
	background : var(--color-06);
}
#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 : var(--color-02);;
	color : var(--color-03);
}
#comments input {
	padding : 10px;
	width : 100%;
}
#comments input[type="submit"] {
	background : #999;
	color : var(--color-02);
	font-weight : bold;
}
#comments input[type="submit"]:hover {
	background : var(--color-03);
}
/*--------------------------------------------------------------------------------------------------------------------
■404
--------------------------------------------------------------------------------------------------------------------*/
#tags_404 {
	margin : 30px 0 0 0;
	border : 1px solid var(--color-03);
	padding : 10px;
}
#tags_404 h3 {
	margin : 0;
	padding : 0.5em;
	font-size : 1em;
	font-weight : bold;
	border : none;
}
/*--------------------------------------------------------------------------------------------------------------------
■サイドバー
--------------------------------------------------------------------------------------------------------------------*/
aside ,
aside p {
	margin : 0 0 0.25em 0;
}
aside a ,
aside a:visited {
	color : var(--color-03);
}
aside a:hover {
	color : var(--color-08);;
}
aside h4 {
	margin : 0 0 10px 0;
}
aside h4 a {
	color : var(--color-02);;
}
#aside-search {
	margin : 0 0 1.25em 0;
}
/*--------------------------------------------------------------------------------------------------------------------
■フッター
--------------------------------------------------------------------------------------------------------------------*/
.footer_box {
	display : none;
}
.footer_box ,
.footer_box p {
	color : var(--color-02);
	line-height : 1.5em;
	text-decoration : none;
}
.footer_box a {
	color : var(--color-02);
}
.footer_box a:hover {
	color : var(--color-hover_rev);
}
.footer_box h4 {
	color : var(--color-03);
	text-align : center;
	margin : 0 0 0.5em 0;
	background-color : var(--color-02);
}
@media screen and (min-width: 1000px) {
.footer_box {
	display : block;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■フッターSEO対策
--------------------------------------------------------------------------------------------------------------------*/
#footertitle p,
#footertitle a,
#footertitle h1,
#footertitle h1 a {
	color : var(--color-02);;
	font-weight : normal;
	font-size : 1em;
	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 : block;
}
#foot_nav li {
}
#foot_nav a {
	position : relative;
	bottom : 0;
	right : 0;
	display : block;
	padding : 0;
	width : 100%;
	background : var(--color-09);
	text-align : center;
	color : var(--color-02);;
	font-size : 0.75em;
	line-height : var(--size-foot_nav);
}
#foot_nav a:hover {
	background : var(--color-hover);;
}
#foot_nav a i {
	font-size : 1.5em;
	margin : 0 5px 0 0;
}
#foot_nav br {
	display : none;
}
@media screen and (min-width: 1000px) {
#foot_nav {
	position : initial;
	display : block;
	bottom : auto;
	left : auto;
	right : auto;
	height : auto;
}
#foot_nav li {
	width : auto;
}
#foot_nav a {
	position : fixed;
	display : flex;
	width : 120px;
	height : 120px;
	align-items : center;
	justify-content : center;
	right : 20px;
	bottom : 30px;
	padding : 0;
	background : #ff5315;
	border-radius : 60px;
	line-height : 1em;
	font-family: 'RocknRoll One', sans-serif;
	color : #fff;
	text-align : center;
	font-size : 20px;
	line-height : 24px;
}
#foot_nav br {
	display : inline;
}
#foot_nav a:hover {
	background : var(--color-hover);
}
#foot_nav li a#contact {
}
}
/*--------------------------------------------------------------------------------------------------------------------
■ページャー pagination pager
--------------------------------------------------------------------------------------------------------------------*/
.pagination {
	padding : 10px 0;
	margin : 20px auto;
	text-align : center;
	background : var(--color-07);
}
.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 var(--color-05);
	background : var(--color-02);;
}
.pagination .page-count {
	margin: 0 8px 0 0 ;
	padding : 0;
	width : auto;
	font-size : 1em;
	color : var(--color-03);
	border : none;
	background : transparent;
}
.pagination a.control ,
.pagination a.last {
	width : auto;
	padding : 0 5px;
	color : var(--color-03);
}
.pagination a:hover {
	background : var(--color-01);
	color : var(--color-02);
}
.pagination .current {
	background : var(--color-03);
	color : var(--color-02);;
}
/*--------------------------------------------------------------------------------------------------------------------
■ぱんくず　パンくず
--------------------------------------------------------------------------------------------------------------------*/
nav#braudcrumb-list {
	margin : 0 0 1em 0;
	font-size : 0.9em;
	line-height : 1.5em;
}
nav#braudcrumb-list a {
	color : var(--color-03);
}
nav#braudcrumb-list ol {
	padding : 0;
	margin : 0;
}
nav#braudcrumb-list ol li {
	float : left;
	padding : 0;
	margin : 0 0.5em 0 0;
	list-style : none;
}
nav#braudcrumb-list i {
	font-size : 1em;
	margin-right : 2px;
	color : var(--color-04);
}
/*--------------------------------------------------------------------------------------------------------------------
■前後の記事
--------------------------------------------------------------------------------------------------------------------*/
.page_nav {
	margin : 10px 0;
}
.page_nav div {
	width : 49%;
}
.page_nav a {
	display : block;
	height : 100%;
	color : var(--color-03);
	padding : 1em 1.25em;
	margin : 0 0 10px 0;
	line-height : 1.25em;
	background : var(--color-07);
}
.page_nav .previous a ,
.page_nav .next a {
}
.page_nav .previous a:before {
	font-family : fontawesome;
	content : "\f060";
	margin : 0;
}
.page_nav .next a:before {
	font-family : fontawesome;
	content : "\f061";
	margin : 0;
}
.page_nav a:hover {
	background : var(--color-03);
	color : var(--color-02);;
}
/*--------------------------------------------------------------------------------------------------------------------
■テーブル
--------------------------------------------------------------------------------------------------------------------*/
table {
	width : 100%;
	margin : 0 0 0.5em 0;
	border-collapse : collapse;
	border-spacing : 0;
}
table th,
table td {
	margin : 0;
	padding : 0.25em;
	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 : 0.5em;
}
}
/*----------------------------------------------------------
はみ出しスライドテーブル・スマホ
<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 {
	font-size : 1em;
	line-height : 1.2em;
	min-width : 100px;
	max-width : 100px;
	margin-bottom : 0!important;
	margin : 0!important;
}
/*PCの場合*/
@media screen and (min-width: 1001px) {
.slide_tbl {
	overflow-x : none;
	white-space : normal;
}
.slide_tbl table th,
.slide_tbl table td ,
.slide_tbl table td p {
	font-size : 1em;
	line-height : 1.2em;
	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 : 0.5em;
}
.widget_box {
	padding : 0 0.5em;
}
.widget_box h4 {
	margin : 0 -0.5em 0.5em -0.5em;
}
@media screen and (min-width: 1000px) {
.asidebox ,
.footer_box ,
.widget_box {
	margin-bottom : 1em;
}
.widget_box {
	padding : 0;
}
.widget_box h4 {
	margin : 0 0 0.5em 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 : -0.5em 0 0 0;
}
#recent-posts-2 ul li {
	padding : 0.25em 0;
	border-bottom : 1px solid var(--color-05);
}
/*----------------------------------------
■ポピュラーポスト
------------------------------------------*/
aside ul.wpp-list {
	margin-top : -0.5em;
}
ul.wpp-list {
	margin : -0.5em -0.5em 0 -0.5em;
	counter-reset : item;
}
ul.wpp-list li {
	padding : 0;
	margin : 0!important;
	border-bottom : 1px solid var(--color-05);
}
ul.wpp-list li:after {
	content : "";
	display : block;
	clear : both;
	overflow : hidden;
	font-size : 1em;
	line-height : 0;
}
ul.wpp-list li:before {
	counter-increment : item;
	content : counter(item)'位';
	display : inline-block;
	padding : 0 0.5em;
	margin : 0 0 2px 0;
	background : #444;
	border-radius : 4px;
	font-size : 1em;
	color : var(--color-02);;
	font-weight : bold;
	line-height : 1.25em;
}
ul.wpp-list li:nth-child(1):before {
	background : #beb339;
}
ul.wpp-list li:nth-child(2):before {
	background : #9e9e9e;
}
ul.wpp-list li:nth-child(3):before {
	background : #875e47;
}
ul.wpp-list li .wpp-thumbnail {
	margin : 0 0.5em 0 0!important;
}
ul.wpp-list li .wpp-post-title {
	display : block;
	margin : 2px 0 0 0;
	font-size : 1em;
	line-height : 1.25em;
}
@media screen and (min-width: 1000px) {
ul.wpp-list {
	margin : 0;
}
.wpp-meta {
	display : block;
}
}
/*----------------------------------------
■image widget
------------------------------------------*/
.widget_sp_image-description {
	font-size : 1em;
	line-height : 1.25em;
}
/*----------------------------------------
■タグクラウド
------------------------------------------*/
.tagcloud {
	padding : 0 0.5em;
}
.tagcloud a {
	display : inline-block;
	padding : 0.25em;
	margin : 0 0.25em 0.25em 0;
	font-size : 0.875em!important;
	color : var(--color-02);;
	background : var(--color-09);
	border-radius : 4px;
}
.tagcloud a:visited {
	color : var(--color-02);;
}
.tagcloud a:hover {
	color : var(--color-02);;
	background : var(--color-08);;
}
/*----------------------------------------
■フッター内リスト・最近のコメント
------------------------------------------*/
footer ul li {
	margin : 0 0 0.5em 0;
}
footer ul li:before {
	content : "▶";
}
/*--------------------------------------------------------------------------------------------------------------------
■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 : 1.5em auto;
	padding : 0.5em 0;
	color : var(--color-02);;
}
.contact_submit input[type="submit"]:hover {
	background : var(--color-03);
}
/*--------------------------------------------------------------------------------------------------------------------
■HOME ホーム　home_main　全画面動画/静止画
--------------------------------------------------------------------------------------------------------------------*/
.home #home_main {
	position : absolute;
	top : calc(var(--size-sitename) + 20px);
	margin : 0;
	padding : 0;
	width : 100%;
	height : calc(100vh - ( var(--size-sitename) + 20px + var(--size-foot_nav)) );
	overflow : hidden;
	display : flex;
	align-items : center;
}
_::-webkit-full-page-media, _:future, :root #home_main {
	height : calc(100dvh - var(--size-sitename) - var(--size-foot_nav) );
}
.home #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;
}
#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;
	min-height : calc(100vh - ( var(--size-sitename) + 20px + var(--size-foot_nav)) );
	-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(100vh - var(--size-sitename) - var(--size-foot_nav) );
	background : url(images/video_dot-black.png);
	text-indent : -9999px;
}
@media screen and (min-width: 1000px) {
.home #container_outer {
	padding : calc(100vh - var(--size-sitename) + 20px) 0 var(--size-padding) 0;
	margin : calc(-1 * (var(--size-sitename) + var(--size-gnav) + 20px)) 0 0 0;
}
.home #home_main {
	height : calc(100vh - 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%;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■home_content ホームコンテンツ
--------------------------------------------------------------------------------------------------------------------*/
.home #container_outer {
	padding : calc(100vh - (var(--size-sitename) + 20px)) 0 var(--size-padding) 0;
	margin : 0;
}
.home #container_outer.paged2 {
	padding : calc(var(--size-gnav) + var(--size-sitename)) 0 var(--size-padding) 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%;
}
#home_wpp {
}
#home_wpp h3 {
	padding : 10px;
	margin : 30px 0 0 0;
	background : var(--color-03);
	color : var(--color-02);;
	text-align : center;
	border : none;
}
#home_wpp .wpp-list {
	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;
}
#home_wpp .wpp-list li {
	width : 50%;
	padding : 0 10px 0 0;
}
@media screen and (max-width: 1000px) {
#home_content-column {
	margin : 0 auto 20px auto;
	width : 100%;
}
#home_wpp h3 {
	margin : 30px -10px 0 -10px;
	background : var(--color-03);
}
#home_wpp .wpp-list {
	display : block;
	margin : 0 -10px;
}
#home_wpp .wpp-list li {
	width : 100%;
	padding : 0;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■スクロール矢印
--------------------------------------------------------------------------------------------------------------------*/
#scroll_arrow {
	z-index : 9999;
}
#scroll_arrow a {
	position : absolute;
	bottom : 40px;
	left : calc((100vw - 46px) / 2);
	color : #fff;
	padding-top: 60px;
	display : inline-block;
	font : normal 400 20px/1 'Josefin Sans', sans-serif;
}
#scroll_arrow a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 46px;
	height: 46px;
	margin-left: -23px;
	border: 4px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
#scroll_arrow a span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: 16px;
	height: 16px;
	margin: -12px 0 0 -8px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}
#scroll_arrow a span::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 44px;
	height: 44px;
	box-shadow: 0 0 0 0 rgba(255,255,255,0.1);
	border-radius: 100%;
	opacity: 0;
	-webkit-animation: sdb 3s infinite;
	animation: sdb 3s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	60% {
		box-shadow: 0 0 0 60px rgba(255,255,255,0.1);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	60% {
		box-shadow: 0 0 0 60px rgba(255,255,255,0.1);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
.scroll_anchor {
	padding-top : calc(var(--size-sitename) + var(--size-padding))!important;
	margin-top : calc( -1 * var(--size-sitename))!important;
}
@media screen and (min-width: 1000px) {
.scroll_anchor {
	padding-top : calc(var(--size-sitename) + var(--size-gnav) + var(--size-padding))!important;
	margin-top : calc( -1 * (var(--size-sitename) + var(--size-gnav)) )!important;
}
}
/*--------------------------------------------------------------------------------------------------------------------
■Black&White Buttons ラインが動くボタン
--------------------------------------------------------------------------------------------------------------------*/
form.wpcf7-form button {
	margin : 20px 0;
	outline : none;
}
.custom-btn {
	width : 130px;
	height : 40px;
	padding : 10px 25px;
	border : 1px solid #333;
	font-family : 'Lato', sans-serif;
	font-weight : 500;
	background : transparent;
	cursor : pointer;
	transition : all 0.3s ease;
	position : relative;
	display : inline-block;
}
.btn-3 {
	line-height : 39px;
	padding : 0;
}
.btn-3:hover{
	background : transparent;
	color : var(--color-03);
}
.btn-3 span {
	position : relative;
	display : block;
	width : 100%;
	height : 100%;
}
.btn-3:before,
.btn-3:after {
	position : absolute;
	content : "";
	left : 0;
	top : 0;
	background : var(--color-03);
	transition : all 0.3s ease;
}
.btn-3:before {
	height : 0%;
	width : 2px;
}
.btn-3:after {
	width : 0%;
	height : 2px;
}
.btn-3:hover:before {
	height : 100%;
}
.btn-3:hover:after {
	width : 100%;
}
.btn-3 span:before,
.btn-3 span:after {
	position : absolute;
	content : "";
	right : 0;
	bottom : 0;
	background : var(--color-03);
	transition : all 0.3s ease;
}
.btn-3 span:before {
	width : 2px;
	height : 0%;
}
.btn-3 span:after {
	width : 0%;
	height : 2px;
}
.btn-3 span:hover:before {
	height : 100%;
}
.btn-3 span:hover:after {
	width : 100%;
}
/*--------------------------------------------------------------------------------------------------------------------
■vegas slider
--------------------------------------------------------------------------------------------------------------------*/
#vegasslider {
	position : absolute;
	width : 100%;
	height : 100vh;
}
/*--------------------------------------------------------------------------------------------------------------------
■flex slider
--------------------------------------------------------------------------------------------------------------------*/
.flexslider {
	background : transparent!important;
	border : none!important;
}
