/* Luxeritas WordPress Theme - free/libre wordpress platform
 *
 * @copyright Copyright (C) 2015 Thought is free.
 * @license http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 * @author LunaNuko
 * @link https://thk.kanzae.net/
 * @translators rakeem( http://rakeem.jp/ )
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 */@charset "UTF-8";

/**
------------------------------------
 html タグの共通設定
------------------------------------ */
* {
	margin: 0;
	padding: 0;
}
a:hover, .term amp-img
a:hover, .term amp-img:hover {
	transition: all .3s ease-in-out;
}
a:hover amp-img {
	opacity: 0.8;
}
hr {
	border-top: 1px dotted #999;
}
amp-img, amp-anim, amp-video, canvas {
	max-width: 100%;
	height: auto;
	box-sizing: content-box;
}
img, amp-img, amp-anim, video, amp-video, canvas, svg {
	object-fit: contain;
}
pre, ul, ol {
	margin: 1.6em 0;
}
ul ul, ol ol, ul ol, ol ul {
	margin: 0 .6em 0;
}
pre {
	margin-bottom: 30px;
}
blockquote, .wp-block-quote {
	display: block;
	position: relative;
	overflow: hidden;
	overflow-wrap: break-word;
	margin: 1.6em 5px;
	padding: 25px;
	font-size: 1.4rem;
	background: #fdfdfd;
	border: 0;
	border-radius: 6px;
	box-shadow: 0 5px 5px 0 rgba(18,63,82,.035), 0 0 0 1px rgba(176,181,193,.2);
}
blockquote::after {
	content: "\275b\275b";
	display: block;
	position: absolute;
	font-family: Arial, sans-serif;
	font-size: 200px;
	line-height: 1em;
	left: -25px;
	top: -15px;
	opacity: .04;
}
blockquote cite, .wp-block-quote cite {
	display: block;
	text-align: right;
	font-family: serif;
	font-size: .9em;
	font-style: oblique;
}
blockquote ol:first-child, blockquote p:first-child, blockquote ul:first-child {
	margin-top: 5px;
}
blockquote ol:last-child, blockquote p:last-child, blockquote ul:last-child {
	margin-bottom: 5px;
}
[type="text"], [type="email"] {
	display: inline;
	line-height: 1.0;
	vertical-align: middle;
	padding: 12px 12px 11px 12px;
	max-width: 100%;
	color: inherit;
	background: #fff;
	border: 1px solid #ddd;
}
.cboth {
	clear: both;
}
.bold {
	font-weight: bold;
}

/*
------------------------------------
 WordPress Native Styles
------------------------------------ */
.wp-caption {
	margin-bottom: 1.6em;
	max-width: 100%;
}

.wp-caption amp-img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

.post .wp-caption-text,
.post .wp-caption-dd {
	font-size: 1.2rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.5em 0;
}
strong {
	font-weight: bold;
}
em {
	font-style: italic;
}
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}
.post .alignfull {
	margin-left: -68px;
	margin-right: -68px;
}
figure.alignwide > amp-img, figure.alignfull > amp-img {
	min-width: 100%;
}

blockquote.alignleft,
.wp-caption.alignleft,
.post amp-img.alignleft {
	margin: 0.4em 1.6em 1.6em 0;
}

blockquote.alignright,
.wp-caption.alignright,
.post amp-img.alignright {
	margin: 0.4em 0 1.6em 1.6em;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
.post amp-img.aligncenter {
	clear: both;
	margin-top: 0.4em;
	margin-bottom: 1.6em;
}

.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
	margin-bottom: 1.2em;
}

amp-img[class*="wp-image-"], amp-img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}

/* Galleries */
.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	margin: 0 0 1.5em;
	padding: 0 1em 0 0;
	width: 50%;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

@media screen and (min-width: 30em) {
	.gallery-item {
		max-width: 25%;
	}

	.gallery-columns-1 .gallery-item {
		max-width: 100%;
	}

	.gallery-columns-2 .gallery-item {
		max-width: 50%;
	}

	.gallery-columns-3 .gallery-item {
		max-width: 33.33%;
	}

	.gallery-columns-4 .gallery-item {
		max-width: 25%;
	}
}

.gallery-caption {
	display: block;
	font-size: 1.2rem;
	line-height: 1.5;
	padding: 0.5em 0;
}

.wp-video {
	max-width: 100%;
}

/* Gutenberg */
.wp-block-image {
	margin: 1.6em 0;
}
figure.wp-block-image {
	display: inline-block;
}
.post ul.blocks-gallery-grid {
	padding: 0;
}

/*
------------------------------------
 HEADER
------------------------------------ */
#head-in {
	padding-top: 28px;
	background: #fff;
}

/* Header Band */
.band {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
div[id*="head-band"] {
	margin: auto;
	height: 34px;
	line-height: 34px;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid #ddd;
}

.band-menu {
	position: relative;
	margin: auto;
}
.band-menu ul {
	font-size: 1px;
	margin: 0 -5px 0 0;
	position: absolute;
	right: 10px;
	list-style: none;
}
.band-menu li {
	display: inline-block;
	vertical-align: middle;
	font-size: 1.2rem;
	margin: 0 3px;
	line-height: 1.0;
}
.band-menu li a {
	color: #111;
	text-decoration: none;
}
.band-menu li a:hover {
	color: #0099ff;
}
.band-menu .menu-item a::before {
	display: inline;
	margin: 5px;
	line-height: 1.0;
	font-family: "icomoon";
	content: "\f0da";
}

/* Header Band Follow Button*/
div[id*="head-band"] .snsf {
	display: block;
	min-width: 28px;
	height: 20px;
	margin: -2px -6px 0 0;
	text-align: center;
}
div[id*="head-band"] .snsf a {
	display: block;
	height: 100%;
	width: 100%;
	text-decoration: none;
	letter-spacing: 0px;
	font-family: Verdana, Arial, Helvetica, Roboto;
	padding: 4px;
	border-radius: 2px;
}

/* Site Name */
#sitename {
	display: inline-block;
	max-width: 100%;
	margin: 0 0 12px 0;
	font-size: 2.8rem;
	line-height: 1.4;
}
#sitename a {
	color: inherit;
	text-decoration: none;
}
amp-img.onepoint {
	display: inline-block;
}

/* Site Description */
.desc {
	line-height: 1.4;
}

.info {
	padding: 20px 10px 20px 10px;
	overflow: hidden;
}

.logo, .logo-up {
	position: relative;
	margin: 15px auto -10px auto;
	text-align: center;
}
.logo-up {
	margin: 15px auto 0 auto;
}

/* outer container */
#header .head-cover {
	position: relative;
	margin: auto;
}
#header #gnavi, #foot-in {
	margin: auto;
}

/*
------------------------------------
 Global Navigation
------------------------------------ */
#nav {
	margin: 0;
	padding: 0;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	position: relative;
	z-index: 20;
}
#nav, #gnavi ul.gu, #gnavi li.gl > a, .mobile-nav {
	color: #111;
	background: #fff;
}
#gnavi .mobile-nav {
	display: none;
}
#gnavi .nav-menu {
	display: block;
}
#gnavi ul.gu {
	margin: 0;
	text-indent: 0;
	white-space: nowrap;
}
#gnavi li.gl {
	float: left;
	position: relative;
	list-style-type: none;
}
/*#gnavi li.gl,*/
#gnavi li.gl > a {
	display: block;
	text-decoration: none;
	text-align: center;
	height: 100%;
}
#gnavi li ul.gu {
	display: none;
}

@media (min-width: 992px){
	#gnavi ul.gu {
		display: flex;
		flex-wrap: wrap;
	}
	#gnavi li.gl {
		flex: 0 0 auto;
		min-width: 1px;
		background: #0099ff;
	}
	#gnavi .gc > ul > li.gl {
		background: none;
	}
	#gnavi li.gl > a > .gim {
		display: block;
	}
	#gnavi .gc > ul > li > a > .gim {
		transition: .4s;
		border-bottom: 0;
		padding: 16px 18px;
		height: 100%;
	}
	#gnavi li.gl > ul {
		display: none;
		margin: 0;
		border: 1px solid #ddd;
		border-bottom: 0;
		background: transparent;
		position: absolute;
		top: 100%;
		z-index: 1;
	}
	#gnavi li li.gl {
		width: 100%;
		min-width: 160px;
	}
	#gnavi li li.gl a > .gim {
		border-bottom: 1px solid #ddd;
		font-size: 1.3rem;
		padding: 10px 15px;
		width: 100%;
		text-align: left;
	}
	#gnavi li.gl:hover > ul {
		display: table;
		visibility: visible;
		border-collapse: separate;
		width: 100%;
		z-index: 1;
		animation: moveY 0.3s 1 normal ease;
	}
	#gnavi li li.gl > ul {
		padding: 0;
		border-top: 1px solid #ddd;
		overflow: hidden;
		top: -1px;
		left: 100%;
	}
	#gnavi li li.gl:hover > ul {
		display: table;
		table-layout: auto;
		z-index: 1;
		animation: moveX 0.8s 1 normal ease;
	}
	#gnavi li.gl:hover > a, #gnavi li.gl:hover > a > .gim, div.mobile-nav:hover, ul.mobile-nav li:hover {
		color: #fff;
		background: #0099ff;
	}
	#gnavi li[class*="current"] > a {
		background: none repeat scroll 0 0 #000;
		color: #fff;
	}
	#gnavi ul ul > li[class*="children"] > a > .gim::after { /* グローバルメニューに孫がある時の「孫があるよマーク」*/
		font-family: "icomoon";
		content: "\f0da";
		position: absolute;
		right: 6px;
		top: 0;
		bottom: 0;
		margin: auto;
		height: 1.3rem;
	}
}
@keyframes moveY {
	0% { top: 0; z-index: -1; }
	100% { bottom: 0; z-index: -1; }
}
@keyframes moveX {
	0% {  width: 0; table-layout: fixed; z-index: -1; }
	50% { width: 100%; z-index: -1; }
	100% { z-index: -1; }
}

input[type="checkbox"].nav-on{
	display: none;
}
@media (max-width: 991px){
	#gnavi label.mobile-nav {
		display: block;
		padding: 12px 20px;
		cursor: pointer;
	}
	#gnavi ul.gu {
		border: 0;
	}
	#gnavi li.gl {
		display: block;
		float: none;
		width: 100%;
		border-top: 1px solid #ddd;
		list-style: disc inside;
	}
	#gnavi li.gl > a {
		padding: 11px 20px;
		text-align: left;
	}
	#gnavi li.gl > ul {
		display: block;
	}
	#gnavi li[class*="children"] a {
		padding-left: 20px;
	}
	#gnavi li[class*="children"] li a {
		padding-left: 35px;
	}
	#gnavi li li[class*="children"] li a {
		padding-left: 55px;
	}
	#gnavi li.gl > a:before {
		font-family: "icomoon";
		content: "\f0da";
		padding-right: 10px;
	}
	#gnavi li.has-wrap-menu > a:before {
		content: "\f150";
		font-weight: 400;
		margin-left: -4px;
	}
	#gnavi li li.gl > a:before {
		content: "-";
	}
	#gnavi li li li.gl > a:before {
		content: "\0b7";
	}
	input[type="checkbox"].nav-on + div {
		max-height: 0;
		overflow: hidden;
		transition: all .8s;
	}
	input[type="checkbox"].nav-on:checked + div {
		max-height: 500vh;
		transition: all 1.6s;
	}
}

/*
------------------------------------
 Primary & Main Contents
------------------------------------ */
#primary {
	border: 1px solid transparent;
}
#section, .grid {
	margin: 0 10px 20px 0;
}
.grid {
	padding: 45px 68px;
	background: #fff;
	border: 1px solid #ddd;
}

/*--------------------------------
 Breadcrumb List
---------------------------------*/
#breadcrumb {
	margin: 20px 0 15px 0;
	padding: 8px;
	line-height: 2.0;
}
#breadcrumb, #breadcrumb a {
	color: #111;
	text-decoration: none;
	word-break: normal;
}
#breadcrumb a:hover {
	text-decoration: underline;
}
#breadcrumb h1,
#breadcrumb li {
	display: inline;
	list-style-type: none;
	font-size: 1.3rem;
}
#breadcrumb i {
	margin-right: 3px;
}
#breadcrumb i.arrow {
	margin: 0 8px;
}

/*
------------------------------------
 Common to thumbnail (List, Related, New Post)
------------------------------------ */
/* Thumbnail */
.term {
	margin-right: 10px;
}
.term amp-img {
	float: left;
	max-width: 150px;
	height: auto;
	margin-bottom: 15px;
	background: inherit;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0px 0px 2px 1px rgba(255, 255, 255, 1.0) inset;
}
.term amp-img:hover {
	border-color: #0066cc;
}
#related .term amp-img {
	padding: 1px;
	width: 100px;
	height: 100px;
}

/*
------------------------------------
 Meta Information
------------------------------------ */
.meta, .post .meta {
	margin: 0;
	font-size: 1.4rem;
	color: #111;
	margin-bottom: 35px;
	vertical-align: middle;
	padding: 16px 0;
}
.meta a {
	display: inline-block;
	color: #111;
	text-decoration: underline;
}
.meta i {
	margin-right: 6px;
}
.meta span {
	margin: 0 12px 0 0;
}
.meta span.break {
	margin: 0 8px 0 4px;
}
.meta span.first-item {
	margin: 0;
	white-space: nowrap;
}
.meta-box {
	margin: 30px 10px;
}

.toc .meta-u,
.post .meta-u {
	background: none;
	border: 0;
	margin: 0 0 10px 0;
	padding: 0;
}
.post .meta-u {
	overflow: hidden;
	text-align: right;
}

/*
------------------------------------
 Pagination
------------------------------------ */
#paging {
	margin: auto;
	text-align: center;
}
#paging ul {
	padding: 0;
}
#paging i {
	font-weight: bold;
}
#paging .not-allow i {
	font-weight: normal;
	opacity: 0.3;
}
.pagination {
	display: flex;
	justify-content: center;
	margin: 0;
}
.pagination li {
	flex: 1 1 42px;
	max-width: 42px;
	min-width: 27px;
	float: left;
}

.pagination > li > a,
.pagination > li > span {
	display: inline-block;
	text-decoration: none;
	width: 100%;
	padding: 6px 0;
	color: inherit;
	background: #fff;
	border: 1px solid #ddd;
	border-right: 0;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span,
.pagination > .not-allow:first-child > span:hover {
	border-right: 1px solid #ddd;
}
.pagination > .active > span,
.pagination .current,
.pagination > li > a:hover {
	color: #fff;
	background: #dc143c;
}
.pagination > .active > span:hover,
.pagination > .not-allow > span:hover {
	cursor: text;
}
.post #paging {
	margin: 20px 0 40px 0;
}

/*
------------------------------------
 Post
------------------------------------ */
.post {
	font-size: 1.6rem;
	line-height: 1.9;
}
.post p {
	margin: 1.3em 0;
}
.post a {
	text-decoration: underline;
}
.post h2, .post h3, .post h4, .post h5, .post h6 {
	line-height: 1.4;
	margin-top: 35px;
	margin-bottom: 30px;
}
.post h1:first-child {
	margin-top: 0;
}
.post h2 {
	border-left: 8px solid #999;
	font-size: 2.4rem;
	margin-top: 50px;
	padding: 8px 20px;
}
.post h3 {
	font-size: 2.2rem;
	padding: 2px 15px;
	margin-top: 50px;
	margin-left: 5px;
	border-left: 2px #999 solid;
}
.post h4 {
	font-size: 1.8rem;
	padding: 0 12px;
	border: 0;
	border-left: solid 12px #999;
}
.post h2:first-child,
.post h3:first-child {
	margin-top: 30px;
}

/* Table */
.post table {
	margin-bottom: 30px;
}
.post td, .post th {
	padding: 8px 10px;
	border: 1px solid #ddd;
}
.post th {
	text-align: center;
	background: #f5f5f5;
}

/* List (bootstrap だとモバイルでリストマーク見えないので、その対策) */
.post ul,
.post ol {
	padding: 0 0 0 30px;
}

/* Author */
.post .vcard {
	text-align: right;
}
.post .vcard i {
	margin-right: 8px;
}

/*
------------------------------------
 Entry Title
------------------------------------ */
.entry-title, #front-page-title {
	font-size: 2.8rem;
	line-height: 1.5;
	background: none;
	border: none;
	margin: 0 0 10px 0;
	padding: 0;
}
.entry-title a {
	color: inherit;
	text-decoration: none;
}
.entry-title a:hover {
	color: #dc143c;
}

/*
------------------------------------
 SNS buttons
------------------------------------ */
#sns-tops {
	margin: -25px 0 45px 0;
}
#sns-bottoms {
	margin: 16px 0 0 0;
}
#bottom-area #sns-bottoms {
	margin-bottom: 0;
}

.sns-msg h2 {
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 0 8px;
	line-height: 1.0;
	font-size: 1.6rem;
	background: none;
	border: none;
	border-bottom: 5px solid #ccc;
}

/*
------------------------------------
 Next / Prev Navigation
------------------------------------ */
#pnavi {
	clear: both;
	padding: 0;
	border: 1px solid #ddd;
	height: auto;
	overflow: hidden;
}
#pnavi .next,
#pnavi .prev {
	position: relative;
}
#pnavi .next {
	text-align: right;
	border-bottom: 1px solid #ddd;
}
#pnavi i {
	font-size: 2.2rem;
}
#pnavi .next-arrow,
#pnavi .prev-arrow {
	font-size: 1.8rem;
	position: absolute;
	top: 10px;
}
#pnavi .next-arrow *,
#pnavi .prev-arrow * {
	vertical-align: middle;
}
#pnavi .next-arrow {
	left: 20px;
}
#pnavi .prev-arrow {
	right: 20px;
}
#pnavi .ntitle,
#pnavi .ptitle {
	margin-top: 32px;
}
#pnavi amp-img {
	height: 100px;
	width: 100px;
	border: 1px solid #ddd;
	border-radius: 8px;
}
#pnavi a {
	display: block;
	padding: 15px 30px;
	overflow: hidden;
	text-decoration: none;
	color: #666;
	min-height: 132px;
}
#pnavi a:hover {
	color: #dc143c;
}
#pnavi a > amp-img,
#pnavi a:hover > amp-img {
	transition: all .4s ease-in-out;
}
#pnavi a:hover > amp-img {
	border-color: #337ab7;
}
#pnavi .block-span {
	display: block;
	margin-top: 35px;
}
#pnavi .next amp-img,
#pnavi .no-img-next i {
	float: right;
	margin: 0 0 0 10px;
}
#pnavi .prev amp-img,
#pnavi .no-img-prev i {
	float: left;
	margin: 0 10px 0 0;
}
#pnavi i.navi-home,
#pnavi .no-img-next i,
#pnavi .no-img-prev i {
	font-size: 7.6rem;
	padding: 5px 0;
}

@media (min-width: 1200px), (min-width: 540px) and (max-width: 991px) {
	#pnavi .next, #pnavi .prev,
	#pnavi .next a, #pnavi .prev a {
		padding-bottom: 32767px;
		margin-bottom: -32752px;
	}
	#pnavi .next, #pnavi .prev {
		margin-bottom: -32767px;
		width: 50%;
	}
	#pnavi .next {
		float: right;
		border-left: 1px solid #ddd;
	}
}

/*
------------------------------------
 Related Post, Discussion
------------------------------------ */
.related,
.discussion,
.tb {
	font-size: 2.4rem;
	line-height: 2.0;
	margin: 0 0 15px 0;
}
.related i, .discussion i, .tb i {
	margin-right: 10px;
}

/* Related Post */
#related {
	padding: 0;
}
#related .term amp-img {
	float: left;
	margin: 8px 10px 8px 0;
}
#related h3 {
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0;
	margin: 10px 0 10px 10px;
	border: none;
}
#related h3 a {
	color: inherit;
	text-decoration: none;
	line-height: 1.6;
}
#related h3 a:hover {
	color: #0099ff;
}
#related .toc {
	padding: 10px 0;
	border-top: 1px dotted #ccc;
}
#related .toc:first-child {
	border-top: none;
}
#related .excerpt p {
	display: inline;
	opacity: .7;
	font-size: 1.3rem;
}

/*
------------------------------------
 Comments List
------------------------------------ */
#comments h3 {
	font-size: 1.6rem;
	border: none;
	padding: 10px 0;
	margin-bottom: 10px;
}
#comments h3 i {
	font-size: 2.2rem;
	margin-right: 10px;
}
.comments-list, .comments-list li {
	border-bottom: 1px solid #ddd;
}
.comments-list li {
	margin-bottom: 20px;
}
.comments-list .comment-body {
	padding-bottom: 20px;
}
.comments-list li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}
#comments p {
	font-size: 1.4rem;
	margin: 20px 0;
}
#comments label {
	display: block;
}

.comment-author.vcard .avatar {
	display: block;
	float: left;
	margin: 0 10px 20px 0;
}
.comment-meta {
	margin-bottom: 40px;
}
.comment-meta::after {
	content: " ";
	clear: both;
}
.fn {
	line-height: 1.6;
	font-size: 1.5rem;
}
.says {
	margin-left: 10px;
}
.commentmetadata {
	font-size: 1.4rem;
	height: 15px;
	padding: 10px 10px 10px 0;
}
.reply a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 65px;
	margin: 0 0 0 auto;
}
.comments-list {
	padding-left: 0px;
	list-style-type: none;
}
.comments-list li.depth-1 > ul.children {
	padding-left: 30px;
}
.comments-list li {
	list-style-type: none;
}
#comments .no-comments {
	margin: 0 0 20px 0;
	padding: 10px 20px 30px 20px;
	border-bottom: 1px solid #ddd;
}

/*
------------------------------------
 Comment Pagination
------------------------------------ */
#c-paging {
	text-align: center;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #ccc;
}

/*
------------------------------------
 Comment Form
------------------------------------ */
#respond {
	font-size: 1.6rem;
}
#commentform .tags {
	padding: 10px;
	font-size: 1.3rem;
}

#comments textarea {
	margin-bottom: 10px;
	width: 100%;
}

/* Comment Button */
#amp-comment_link a {
	display: inline-block;
	color: #fff;
	background: #666;
	border: 1px solid #ddd;
	text-decoration: none;
	margin-top: 10px;
	padding: 18px 18px 17px 18px;
}
#amp-comment_link a:hover {
	background: #dc143c;
}

/* Trackback */
#trackback input {
	width: 100%;
	margin: 0 0 10px 0;
}

/*
------------------------------------
 Sidebar
------------------------------------ */
div[id*="side-"] {
	padding: 20px 0;
	border: 1px solid #ddd;
	background: #fff;
}

#side .widget {
	word-break: break-all;
	margin: 0 6px;
	padding: 20px 7px;
	border: 1px solid transparent;
}
#side ul {
	margin-bottom: 0;
}
#side ul li {
	list-style-type: none;
	line-height: 2.0;
	margin: 0;
	padding: 0;
}
#side ul li li {
	margin-left: 16px;
}
#side h3, #side h4 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
	margin: 4px 0 20px 0;
	padding: 4px 0;
}

/* Search Form */
.search-field {
	border: 1px solid #bbb;
}

/* Calendar */
#wp-calendar, .wp-calendar-nav {
	background: #fff;
}
#wp-calendar caption{
	color: inherit;
	background: #fff;
}
#wp-calendar #today {
	background: #ffec67;
}
#wp-calendar .pad {
	background: #fff9f9;
}

/*
------------------------------------
 Footer
------------------------------------ */
#footer {
	clear: both;
	background: #fff;
	border-top: 1px solid #ddd;
	z-index: 10;
}

/* Footer Menu */
.foot-nav ul {
	margin: 0 auto;
	padding: 20px 15px;
}
.foot-nav li {
	display: inline-block;
	margin: 0;
}
.foot-nav li::before {
	content: "\07c";
	margin: 0 10px;
}
.foot-nav li:first-child::before {
	content: "";
	margin: 0;
}

/* Copyright */
#copyright {
	font-size: 1.2rem;
	padding: 20px 0;
	color: #111;
	background: #fff;
	clear: both;
}
#footer .copy {
	font-size: 1.2rem;
	line-height: 1.0;
	margin: 20px 0 0 0;
	text-align: center;
}
#footer .copy a {
	color: inherit;
}

#footer #thk {
	margin: 20px 0;
	white-space: nowrap;
	font-size: 1.1rem;
	word-spacing: -1px;
}

/*
------------------------------------
 Other
------------------------------------ */
/* iframe */
amp-iframe {
	box-sizing: content-box;
	border: 0;
}

/* iframe Responsive */
.i-video {
	display: block;
	position: relative;
	overflow: hidden;
}
.i-video {
	padding-top: 25px;
	padding-bottom: 56.25%;
}
.i-video amp-iframe {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

/* Widget Area */
.head-under {
	margin-top: 20px;
}
.head-under, .post-title-upper, .post-title-under {
	margin-bottom: 20px;
}
.posts-under-1 {
	padding: 20px 0;
}
.posts-under-2 {
	padding-bottom: 40px;
}

/* recentcomments */
.recentcomments a { display: inline; padding: 0; margin: 0; }

/*
------------------------------------
 Responsive Style
------------------------------------ */
#main {
	flex: 0 1 772px;
	max-width: 772px;
	min-width: 1px;
	float: left;
}
#side {
	flex: 0 0 366px;
	width: 366px;
	min-width: 1px;
	float: right;
}

/* 992px and over */
@media (min-width: 992px) {
	#primary, #field {
		display: flex;
	}
	#breadcrumb, .head-cover {
		display: block;
	}
	#sitename amp-img {
		margin: 0;
	}
}

/* 画面幅による段階的幅調整 */
@media screen and (min-width: 768px) {
	.logo,
	#head-band-in,
	div[id*="head-band"] .band-menu,
	#header .head-cover,
	#header #gnavi,
	#foot-in {
		max-width: 720px;
	}
}
@media screen and (min-width: 992px) {
	.logo,
	#head-band-in,
	div[id*="head-band"] .band-menu,
	#header .head-cover,
	#header #gnavi,
	#foot-in {
		max-width: 960px;
	}
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
	#main {
		flex: 0 1 592px;
		max-width: 592px;
		min-width: 1px;
	}
}
@media screen and (min-width: 1200px) {
	.logo,
	#head-band-in,
	div[id*="head-band"] .band-menu,
	#header .head-cover,
	#header #gnavi,
	#foot-in {
		max-width: 1140px;
	}
}

/* 991px and under (サイドバーが下に来た時の調整) */
@media print, (max-width: 991px) {
	#primary, #main, #side {
		display: block;
		width: 100%;
		float: none;
		clear: both;
	}
	div[id*="head-band"] {
		padding: 0 5px;
	}
	#header #gnavi {
		padding-left: 0;
		padding-right: 0;
	}
	#main {
		margin-bottom: 30px;
	}
	#section {
		margin-right: 0;
	}
	.grid, #side .widget {
		padding-left: 20px;
		padding-right: 20px;
	}
	.grid {
		margin: 0 0 20px 0;
	}
	.post .alignfull {
		margin-left: -20px;
		margin-right: -20px;
	}
	#side .widget {
		margin-left: 0;
		margin-right: 0;
	}
	#related .toc {
		margin-right: 15px;
	}
	.comments-list li.depth-1 > ul.children {
		padding-left: 0;
	}
	div[id*="side-"] {
		margin-bottom: 20px;
	}
	/* スクロール固定解除判定用 */
	#side-scroll {
		max-width: 32767px;
	}
}

/* 575px and under (より小さなデバイス向けの調整) */
@media (max-width: 575px) {
	.grid, #side .widget {
		padding-left: 7px;
		padding-right: 7px;
	}
	.meta, .post .meta {
		font-size: 1.2rem;
	}
	/* 抜粋の改行消す */
	.excerpt p:not(.meta) {
		display: inline;
	}
	.excerpt br {
		display: none;
	}
	/* タイトル文字を全体的に小さくする */
	#sitename {
	    font-size: 2.2rem;
	}
	.entry-title, #front-page-title,
	.post h2, .post h3,
	.related, .discussion, .tb {
		font-size: 1.8rem;
	}
}
