@charset "UTF-8";
/*
Theme Name:KAMIMURA
Theme URI:/
Description:WordPress theme "KAMIMURA" was developed based on the concept of "Shinto", a religion unique to Japan. Not only does it have a majestic design, but it can also be used to announce events and manage schedules.
Author:ESPA
Author URI:/
Text Domain: tcd-mikado
Version:1.15
*/

/**
 * Normalize
 */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	line-height: 1.15;
}

body {
	margin: 0;
}

article, aside, footer, header, nav, section {
	display: block;
}

h1 {
	margin: 0.67em 0;
	font-size: 2em;
}

figcaption, figure, main {
	display: block;
}

figure {
	margin: 1em 40px;
}

hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	-webkit-text-decoration-skip: objects;
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

b, strong {
	font-weight: inherit;
}

b, strong {
	font-weight: bolder;
}

code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

dfn {
	font-style: italic;
}

mark {
	background-color: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub, sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

audio, video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

img {
	border-style: none;
}

svg:not(:root) {
	overflow: hidden;
}

button, input, optgroup, select, textarea {
	margin: 0;
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
}

button, input {
	overflow: visible;
}

button, select {
	text-transform: none;
}

button, html [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

button: -moz-focusring, [type="button"]: -moz-focusring, [type="reset"]: -moz-focusring, [type="submit"]: -moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table;
	max-width: 100%;
	padding: 0;
	color: inherit;
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"], [type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details, menu {
	display: block;
}

summary {
	display: list-item;
}

canvas {
	display: inline-block;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/**
 * Base
 */

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

html {
	min-width: 320px;
	position: relative;
	overflow-x: hidden;
}

body {
	-webkit-font-smoothing: antialiased;
	color: #000;
	line-height: 1;
}

a {
	color: #000;
	text-decoration: none;
}

:focus {
	outline: none;
}

a, input {
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-property: background-color, color;
	transition-property: background-color, color;
	-webkit-transition-timing-function: ease;
	transition-timing-function: ease;
}

img {
	vertical-align: bottom;
}

h1, h2, h3, h4, h5, h6, p, ol, ul, dl {
	margin-top: 0;
}

p {
	margin-bottom: 0;
}

ol, ul {
	padding-left: 0;
}

li {
	list-style-type: none;
}

dl, dt, dd, figure {
	margin: 0;
}

table {
	border-collapse: collapse;
}

.admin-bar {
	padding-top: 32px;
}

/* web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策） */
@font-face {
	src: url("assets/fonts/design_plus.eot?v=1.0");
	src: url("assets/fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"), url("assets/fonts/design_plus.woff?v=1.0") format("woff"), url("assets/fonts/design_plus.ttf?v=1.0") format("truetype"), url("assets/fonts/design_plus.svg?v=1.0#design_plus") format("svg");
	font-family: "design_plus";
	font-style: normal;
	font-weight: normal;
}

@font-face {
	font-family: 'tiktok_x_icon';
	src: url('assets/fonts/tiktok_x_icon.eot?v=1.1');
	src: url('assets/fonts/tiktok_x_icon.eot?v=1.1#iefix') format('embedded-opentype'),
		 url('assets/fonts/tiktok_x_icon.woff?v=1.1') format('woff'),
		 url('assets/fonts/tiktok_x_icon.ttf?v=1.1') format('truetype'),
		 url('assets/fonts/tiktok_x_icon.svg?v=1.1#tiktok_x_icon') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'footer_bar';
	src: url('assets/fonts/footer_bar.eot?v=1.0');
	src: url('assets/fonts/footer_bar.eot?v=1.0#iefix') format('embedded-opentype'),
		 url('assets/fonts/footer_bar.woff?v=1.0') format('woff'),
		 url('assets/fonts/footer_bar.ttf?v=1.0') format('truetype'),
		 url('assets/fonts/footer_bar.svg?v=1.0#footer_bar') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* keyframes */
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeOut {
	from {
		visibility: visible;
		opacity: 1;
	}
	to {
		visibility: hidden;
		opacity: 0;
	}
}

@keyframes fadeOut {
	from {
		visibility: visible;
		opacity: 1;
	}
	to {
		visibility: hidden;
		opacity: 0;
	}
}

@-webkit-keyframes slideDown {
	0% {
		top: -100%;
	}
	100% {
		top: 0;
	}
}

@keyframes slideDown {
	0% {
		top: -100%;
	}
	100% {
		top: 0;
	}
}

@-webkit-keyframes slideUp {
	0% {
		bottom: -100%;
	}
	100% {
		bottom: 0;
	}
}

@keyframes slideUp {
	0% {
		bottom: -100%;
	}
	100% {
		bottom: 0;
	}
}

@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translateY(50%);
		transform: translateY(50%);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes fadeInUp {
	from {
		-webkit-transform: translateY(50%);
		transform: translateY(50%);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}

@keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
}

@-webkit-keyframes zoom-out {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes zoom-out {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@media screen and (max-width: 782px) {
	.admin-bar {
		padding-top: 46px;
	}
}

/**
 * Layout
 */

/* Inner */
.l-inner {
	position: relative;
	width: 92.1875%;
	max-width: 1160px;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (max-width: 991px) {
	.l-inner {
		width: 88.88889%;
	}
}

@media only screen and (max-width: 767px) {
	.l-inner {
		width: 100%;
		padding: 0 20px;
	}
}

.l-pc-inner {
	position: relative;
	width: 92.1875%;
	max-width: 1160px;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (max-width: 767px) {
	.l-pc-inner {
		width: 100%;
	}
}

/* Contents */
.l-contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.l-contents--rev {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

@media screen and (max-width: 991px) {
	.l-contents {
		display: block;
	}
}

/* Footer */
.l-footer {
	position: relative;
}

/* Header */
.l-header {
	z-index: 99;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.l-header.bg-color {
	background-color: #fff;
}

.admin-bar .l-header {
	top: 32px;
}

.l-header--fixed.is-active {
	border-bottom: 1px solid #ddd;
	position: fixed;
	-webkit-animation: slideDown 1.2s;
	animation: slideDown 1.2s;
}

.l-header__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	height: 100%;
}

.l-header__logo {
	margin: 0;
}

.l-header__logo a {
	word-wrap: break-word;
	line-height: 1.2;
}

@media only screen and (max-width: 1199px) {
	.l-header {
		height: 60px;
		line-height: 60px;
	}
}

@media only screen and (max-width: 782px) {
	.admin-bar .l-header {
		top: 46px;
	}

	.admin-bar .l-header--fixed.is-active {
		top: 0;
	}
}

@media only screen and (max-width: 767px) {
	.l-header__logo {
		padding-left: 0;
	}
}

/* Main */
.l-main {
	position: relative;
	margin-top: 70px;
	margin-bottom: 150px;
}

@media only screen and (max-width: 1199px) {
	.l-main {
		margin-top: 60px;
	}
}

@media only screen and (max-width: 991px) {
	.l-main {
		margin-bottom: 80px;
	}
}

@media only screen and (max-width: 767px) {
	.l-main {
		margin-bottom: 40px;
	}
}

/* Primary */
.l-primary {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: calc(100% - 4.24% - 300px);
}

.l-primary:only-child {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

@media screen and (max-width: 991px) {
	.l-primary {
		width: 100%;
	}
}

/* Secondary */
.l-secondary {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 300px;
}

@media screen and (max-width: 991px) {
	.l-secondary {
		width: 600px;
		margin: 40px auto 0;
	}
}

@media screen and (max-width: 767px) {
	.l-secondary {
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.l-single {
		max-width: 980px;
		margin-left: auto;
		margin-right: auto;
	}
}

/**
 * Component
 */

/* font type */
.c-font-type--type1 {
	font-family: Verdana, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif !important;
}

.c-font-type--type2 {
	font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

.c-font-type--type3 {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}

/* Breadcramb */
.c-breadcrumb__item {
	display: inline;
}

.c-breadcrumb__item + .c-breadcrumb__item::before {
	margin-right: 12px;
	margin-left: 12px;
	font-family: "design_plus";
	content: "\e910";
}

.c-breadcrumb__item--home a::before {
	position: relative;
	top: 1px;
	font-family: "design_plus";
	content: "\e90c";
}

.c-breadcrumb__item--home span {
	display: none;
}

@media only screen and (max-width: 767px) {
	.c-breadcrumb__item + .c-breadcrumb__item::before {
		margin-right: 5px;
		margin-left: 5px;
	}
}

/* Comment */
.c-comment {
	margin-bottom: 50px;
	font-size: 13px;
}

.p-entry__related+.c-comment{
	margin-top: 50px;
}

@media only screen and (max-width: 767px) {
	.p-entry__related+.c-comment{
		margin-top: 20px;
	}
}

.c-comment input, .c-comment textarea {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
}

.c-comment input, .c-comment textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.c-comment__tab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 25px;
}

.c-comment__tab-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	text-align: center;
}

.c-comment__tab-item.is-active + .c-comment__tab-item a {
	border-left-color: #333;
}

.c-comment__tab-item.is-active a, .c-comment__tab-item.is-active p {
	position: relative;
	border: 0;
	background: #333;
	color: #fff;
}

.c-comment__tab-item.is-active a:after, .c-comment__tab-item.is-active p:after {
	position: absolute;
	right: 0;
	bottom: -17px;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	border-width: 10px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
	content: "";
}

.c-comment__tab-item a, .c-comment__tab-item p {
	display: block;
	width: 100%;
	padding: 15px;
	border: 1px solid #ccc;
	color: #333;
	font-size: 13px;
	line-height: 180%;
	text-decoration: none;
}

.c-comment__tab-item a:hover {
	border-color: #333;
	background: #333;
	color: #fff;
}

.c-comment__list {
	padding-left: 0;
}

.c-comment__list-item {
	margin-bottom: 15px;
	padding: 15px 20px 0;
	border: 1px solid #ccc;
	color: #777;
	list-style: none;
}

.c-comment__item-body p {
	margin-bottom: 15px;
	line-height: 2.4;
}

.c-comment__item-header {
	position: relative;
	margin-bottom: 10px;
}

.c-comment__item-avatar {
	width: 40px;
	height: 40px;
	margin-right: 10px;
	float: left;
}

.c-comment__item-meta img.avatar { float: left; margin-right: 10px; width: 40px; height: 40px; object-fit: contain;}

.c-comment__item-author {
	display: block;
	margin-bottom: 10px;
	padding-top: 3px;
}

.c-comment__item-author a {
	text-decoration: underline;
}

.c-comment__item-date {
	display: block;
	color: #757676;
	font-size: 12px;
}

.c-comment__item-act {
	position: absolute;
	top: 0;
	right: 0;
	margin-top: 5px;
	padding-left: 10px;
	font-size: 12px;
}

.c-comment__item-act > li {
	display: inline;
	margin-right: 6px;
	padding-right: 10px;
	border-right: 1px solid #aaa;
}

.c-comment__item-act > li: last-child {
	margin-right: 0;
	padding-right: 0;
	border-right: 0;
}

.c-comment__pager {
	margin-bottom: 10px;
}

.c-comment__pager a, .c-comment__pager span {
	display: inline;
	margin-right: 10px;
	float: left;
}

.c-comment__pager span {
	text-decoration: underline;
}

/* メッセージ、警告文 */
.c-comment__item-note {
	display: block;
	margin-bottom: 1em;
	padding: 10px 15px;
	border: 1px solid #94ddd4;
	background: #d6f4f0;
	color: #33a8e5;
	font-size: 12px;
}

.c-comment__trackback-url {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	background: #fafafa;
	font-size: 12px;
}

.trackback_time {
	margin: 0 0 7px 0px;
	color: #757676;
	font-size: 12px;
}

.trackback_title {
	margin: 2px 0 8px 0;
	margin: 0 0 10px 0px;
	line-height: 160%;
}

.c-comment__form-wrapper {
	margin: 0 0 20px;
	padding: 15px;
	border: 1px solid #ccc;
}

.c-comment__cancel {
	margin-bottom: 1em;
	color: #666;
	font-size: 12px;
}

.c-comment__cancel a {
	color: #666;
}

.c-comment__cancel a:before {
	display: inline-block;
	font-family: "design_plus";
	content: "\e910";
}

.c-comment__form-login {
	color: #666;
	font-size: 12px;
}

.c-comment__form-login a {
	color: #666;
}

.c-comment__input {
	margin-bottom: 12px;
	text-align: left;
}

.c-comment__input input {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
	border: 1px solid #ccc;
	color: #777;
}

.c-comment__input textarea {
	width: 100%;
	height: 150px;
	margin-top: 15px;
	overflow: auto;
	border: 1px solid #ccc;
	color: #777;
	font-size: 14px;
}

.c-comment__label-text {
	display: block;
	margin-bottom: 5px;
	color: #666;
	font-size: 12px;
}

.c-comment__form-submit {
	-moz-transition: background-color 200ms ease-in-out;
	-ms-transition: background-color 200ms ease-in-out;
	-o-transition: background-color 200ms ease-in-out;
	-webkit-transition: background-color 200ms ease-in-out;
	display: block;
	width: 200px;
	height: 50px;
	margin: 15px auto 0;
	border: 0;
	background: #aaa;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 200ms ease-in-out;
}

.c-comment__form-hidden {
	display: none;
}

.c-comment__password-protected {
	margin: 0 38px 30px;
	padding: 10px 20px;
	border-radius: 5px;
	background: #3db4b2;
	color: #fff;
	text-align: center;
}

.c-comment__password-protected p {
	font-size: 12px;
	line-height: 160%;
}

@media only screen and (max-width: 767px) {
	.c-comment__item-act {
		position: static;
		margin-top: 10px;
		padding-left: 0;
	}

	.c-comment__tab-item a, .c-comment__tab-item p {
		padding: 10px;
	}

	.c-comment__tab-item.is-active a, .c-comment__tab-item.is-active p {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

/* Logo */
.c-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.c-logo a {
	text-align: center;
}

.c-logo img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

.c-logo--element img, .element-type1 img {
	height: 36px;
	width: auto;
}

@media only screen and (max-width: 1199px) {
	.c-logo--element img, .element-type1 img {
		height: 27px;
	}
}

.element-type2 {
	border-top: 5px solid #d80100;
	margin: 0 auto;
	width: 40px;
	display: block;
}

.c-menu-btn {
	display: none;
	text-align: center;
	cursor: pointer;
}

.c-menu-btn::before {
	font-family: "design_plus";
	font-size: 18px;
	content: "\f0c9";
}

@media only screen and (max-width: 1199px) {
	.c-menu-btn {
		display: block;
	}
}

/* メタ情報 */
.c-meta-box {
	margin: 55px 0 0;
	padding: 15px 30px;
	background: #fff;
	border: 1px solid #ddd;
}

.c-meta-box li {
	display: inline;
	margin: 0 10px 0 0;
	padding: 0 15px 0 20px;
	border-right: 1px solid #ddd;
	font-size: 12px;
	line-height: 1.8;
	position: relative;
}

.c-meta-box li:last-child {
	border: none;
	margin: 0;
}

.c-meta-box li:before {
	display: block;
	width: 14px;
	height: 14px;
	line-height: 14px;
	font-family: 'design_plus';
	color: #aaa;
	font-size: 14px;
	position: absolute;
	top: 2px;
	left: 0px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.c-meta-box li.post_author:before {
	content: '\e90d';
}

.c-meta-box li.post_category:before {
	content: '\e92f';
}

.c-meta-box li.post_tag:before {
	content: '\e935';
	top: 4px;
}

.c-meta-box li.post_comment:before {
	content: '\e916';
	font-size: 18px;
	top: 3px;
}

@media (max-width: 991px) {
	.c-meta-box {
		border: none;
		margin: 35px 0;
		padding: 0;
	}

	.c-meta-box li {
		display: block;
		margin: 10px 0;
		padding: 0 0 0 20px;
		border-right: none;
		font-size: 12px;
	}
}

/* nav01 */
.c-nav01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.c-nav01__item {
	position: relative;
	width: calc(50% - 5px);
	font-size: 14px;
	list-style: none;
	-webkit-transition: background 0.2s ease;
	transition: background 0.2s ease;
}

.c-nav01__item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
}

.c-nav01__item--prev {
	margin-right: 5px;
}

.c-nav01__item--prev::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	width: 1em;
	height: 1em;
	margin: auto;
	font-family: "design_plus";
	font-size: 14px;
	line-height: 1;
	content: "\e90f";
}

.c-nav01__item--next {
	margin-left: 5px;
}

.c-nav01__item--next::after {
	position: absolute;
	top: 0;
	right: 25px;
	bottom: 0;
	width: 1em;
	height: 1em;
	margin: auto;
	font-family: "design_plus";
	font-size: 14px;
	line-height: 1;
	content: "\e910";
}

@media (max-width: 991px) {
	.c-nav01__item {
		width: 50%;
		height: 50px;
		font-size: 12px;
		text-align: center;
		border: 1px solid #dddddd;
	}

	.c-nav01__item a {
		display: block;
		width: 100%;
		height: 48px;
		padding: 0;
		line-height: 48px;
	}

	.c-nav01__item a span {
		display: none !important;
	}

	.c-nav01__item--prev {
		margin-right: 0;
	}

	.c-nav01__item--prev::before {
		left: 12px;
	}

	.c-nav01__item--prev a::before {
		content: attr(data-prev);
	}

	.c-nav01__item--next {
		margin-left: 0;
	}

	.c-nav01__item--next::after {
		right: 12px;
	}

	.c-nav01__item--next a::before {
		content: attr(data-next);
	}
}

/* password */
.c-pw__desc {
	line-height: 2.5;
}

.c-pw__desc p {
	line-height: 2.5;
	margin-bottom: 16px;
}

.c-pw__btn {
	box-sizing: border-box;
	color: #fff !important;
	display: inline-block;
	padding: 13px 20px;
	font-size: 14px;
	text-align: center;
	line-height: 1;
}

.c-pw__btn:hover {
	background: #333;
	color: #fff;
}

.c-pw__btn--register {
	min-width: 160px;
	margin-bottom: 32px;
}

.c-pw__btn--submit {
	min-width: 100px;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.c-pw .c-pw__btn:hover {
	text-decoration: none;
}

.c-pw__box {
	border: 1px solid #ddd;
	background: #f5f5f5;
	padding: 25px 36px;
	margin-bottom: 40px;
	box-sizing: border-box;
}

.c-pw__box .c-pw__box-desc {
	line-height: 1.2;
	margin-bottom: 20px;
}

.c-pw__box-inner {
	display: flex;
	align-items: center;
}

.c-pw__box-label {
	margin-right: 14px;
}

.c-pw__box-input {
	border: 1px solid #ddd;
	box-shadow: none;
	height: 40px;
	width: 250px;
	margin-right: 14px;
	flex: 1;
	box-sizing: border-box;
	padding: 0 10px;
}

@media only screen and (max-width: 767px) {
	.c-pw__box {
		margin: 0 auto 30px;
		padding: 20px;
		text-align: center;
	}

	.c-pw__box-inner {
		flex-direction: column;
	}

	.c-pw__box-label {
		display: block;
		margin-bottom: 1em;
		margin-right: 0;
		font-size: 12px;
	}

	.c-pw__box-input {
		display: block;
		width: 100%;
		margin-bottom: 1em;
		margin-right: 0;
	}
}

/* Share Button 使用しない為コメントアウト*/
/*.c-share__btn {
	list-style: none;
}

.c-share__icn {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: "design_plus" !important;
	font-style: normal;
	/* use !important to prevent issues with browser extensions that change fonts */
/*font-variant: normal;
	font-weight: normal;
	line-height: 1;
	text-transform: none;
	/* Better Font Rendering */
/*}
.c-share__icn--facebook::before {
	font-family: 'tiktok_x_icon'; content: "\e902";
}

.c-share__icn--facebook2::before {
	font-family: 'tiktok_x_icon'; content: "\e902";
}

.c-share__icn--feedly::before {
	content: "\e907";
}

.c-share__icn--google-plus::before {
	content: "\e900";
}

.c-share__icn--google-plus2::before {
	content: "\e901";
}

.c-share__icn--hatebu::before {
	content: "\e908";
	
}

.c-share__icn--line::before {
	content: "\e909";
}

.c-share__icn--pinterest::before {
	content: "\e905";
}

.c-share__icn--pocket::before {
	content: "\e90a";
}

.c-share__icn--rss::before {
	content: "\e90b";
}

.c-share__icn--rss2::before {
	content: "\e906";
}

.c-share__icn--twitter::before {
	font-family: 'tiktok_x_icon'; content: "\e901";
}

.c-share--sm {
	min-width: 27px;
	line-height: 25px;
}

.c-share--sm .c-share__btn { flex: 1 1 0%; margin: 0 3px 3px 0; max-width: 100px; line-height: 30px; }

.c-share--sm a {
	padding: 1px 5px 0;
}

.c-share--sm .c-share__icn {
	position: relative;
	top: 3px;
	font-size: 1.3em;
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
}

.c-share--sm .c-share__title {
	margin: 0 3px 0 2px;
	line-height: 20px;
}

.c-share--lg { display: flex; flex-wrap: wrap; margin-right: -1%; -webkit-justify-content: left !important; justify-content: left !important;}

@media only screen and (max-width: 767px) {
	.c-share--lg {
		margin-right: -3%;
	}
}

.c-share--lg .c-share__btn { margin: 0 5px 5px 0; width: calc(25% - 5px);  }

@media only screen and (max-width: 767px) {
	@media only screen and (max-width: 767px) { 
	.c-share--lg .c-share__btn { width: calc(50% - 5px); }
	.c-share--sm .c-share__icn { left: 1px; }}
}

.c-share--lg .c-share__btn:nth-child(4n) {
	margin-right: 0;
}

.c-share--lg .c-share__btn a { height: 40px; line-height: 42px; }
@media (max-width: 767px){
	.c-share--lg .c-share__btn a { height: 35px; line-height: 37px; }
}

.c-share--lg .c-share__icn {
	position: relative;
	top: 3px;
	font-size: 140%;
}

.c-share--lg .c-share__title {
	margin: 0 3px 0 4px;
}

.c-share--color a {
	color: #fff;
}

.c-share--color a:hover {
	-webkit-transform: translate3d(0, 1px, 0);
	transform: translate3d(0, 1px, 0);
}

.c-share--color .c-share__btn--twitter a {
	background-color: #000;
}

.c-share--color .c-share__btn--twitter a:hover {
	background-color: #222;
}

.c-share--color .c-share__btn--facebook a {
	background-color: #35629a;
}

.c-share--color .c-share__btn--facebook a:hover {
	background-color: #1f3669;
}

.c-share--color .c-share__btn--google-plus a {
	background-color: #dd4b39;
}

.c-share--color .c-share__btn--google-plus a:hover {
	background-color: #b94031;
}

.c-share--color .c-share__btn--hatebu a {
	background-color: #3c7dd1;
}

.c-share--color .c-share__btn--hatebu a:hover {
	background-color: #0270ac;
}

.c-share--color .c-share__btn--pocket a {
	background-color: #ee4056;
}

.c-share--color .c-share__btn--pocket a:hover {
	background-color: #c53648;
}

.c-share--color .c-share__btn--rss a {
	background-color: #ffb53c;
}

.c-share--color .c-share__btn--rss a:hover {
	background-color: #e09900;
}

.c-share--color .c-share__btn--feedly a {
	background-color: #6cc655;
}

.c-share--color .c-share__btn--feedly a:hover {
	background-color: #5ca449;
}

.c-share--color .c-share__btn--pinterest a {
	background-color: #d4121c;
}

.c-share--color .c-share__btn--pinterest a:hover {
	background-color: #a42f35;
}

.c-share--mono a {
	border: 1px solid rgba(0, 0, 0, 0.1);
	background: #fafafa;
	color: #222;
}

.c-share--mono a:hover {
	border-color: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.c-share--mono .c-share__btn--twitter a:hover {
	background-color: #000;
}

.c-share--mono .c-share__btn--facebook a:hover {
	background-color: #35629a;
}

.c-share--mono .c-share__btn--google-plus a:hover {
	background-color: #dd4b39;
}

.c-share--mono .c-share__btn--hatebu a:hover {
	background-color: #3c7dd1;
}

.c-share--mono .c-share__btn--pocket a:hover {
	background-color: #ee4056;
}

.c-share--mono .c-share__btn--rss a:hover {
	background-color: #ff8c00;
}

.c-share--mono .c-share__btn--feedly a:hover {
	background-color: #6cc655;
}

.c-share--mono .c-share__btn--pinterest a:hover {
	background-color: #d4121c;
}

.c-share__btn {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	font-size: 12px;
	text-align: center;
}

.c-share__btn a {
	display: block;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
}

@media screen and (max-width: 767px) {
	.c-share--sm .c-share__icn {
		left: 1px;
	}

	.c-share--sm .c-share__title {
		display: none;
	}
}

.c-share--official { margin-left: 0; margin-right: 0; width: 100% !important; display: flex; flex-wrap: wrap;}


.c-share--official .c-share__btn { line-height: 1; margin-right: 5px; }

.c-share--official .c-share__btn--pocket {
	width: 88px;
}
.c-share--official .c-share__btn { line-height: 1; margin-right: 5px; }
.c-share--official .c-share__btn--twitter { width: 77px; }
.c-share--official .c-share__btn--facebook:hover { text-decoration: none; }
.c-share--official .c-share__btn--google-plus { width: 58px; }

@media only screen and (max-width: 991px) {
	.c-share__btn {
		margin-bottom: 5px;
	}
}

/* loading icon */
#site_loader_overlay {
	background: #fff;
	opacity: 1;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 99999;
}

#site_loader_animation {
}

.c-load--type1 {
	width: 48px;
	height: 48px;
	font-size: 10px;
	text-indent: -9999em;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	border-radius: 50%;
	-webkit-animation: loading-circle 1.1s infinite linear;
	animation: loading-circle 1.1s infinite linear;
}

.c-load--type2 {
	width: 44px;
	height: 44px;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
}

.c-load--type2::before {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	content: '';
	-webkit-animation: loading-square-loader 5.4s linear forwards infinite;
	animation: loading-square-loader 5.4s linear forwards infinite;
}

.c-load--type2::after {
	position: absolute;
	bottom: 10px;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	opacity: 0;
	content: '';
	-webkit-animation: loading-square-base 5.4s linear forwards infinite;
	animation: loading-square-base 5.4s linear forwards infinite;
}

.c-load--type3 {
	width: 100%;
	min-width: 160px;
	font-size: 16px;
	text-align: center;
	position: fixed;
	top: 50%;
	left: 0;
	opacity: 0;
	-webkit-animation: loading-dots-fadein .5s linear forwards;
	animation: loading-dots-fadein .5s linear forwards;
}

.c-load--type3 i {
	width: 0.5em;
	height: 0.5em;
	display: inline-block;
	vertical-align: middle;
	background: #e0e0e0;
	border-radius: 50%;
	margin: 0 .25em;
	-webkit-animation: loading-dots-middle-dots .5s linear infinite;
	animation: loading-dots-middle-dots .5s linear infinite;
}

.c-load--type3 i:first-child {
	-webkit-animation: loading-dots-first-dot .5s linear infinite;
	animation: loading-dots-first-dot .5s linear infinite;
	opacity: 0;
	-webkit-transform: translate(-1em);
	transform: translate(-1em);
}

.c-load--type3 i: last-child {
	-webkit-animation: loading-dots-last-dot .5s linear infinite;
	animation: loading-dots-last-dot .5s linear infinite;
}

.c-load--type4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
}

.c-load--type4 > * {
	-webkit-animation: fadeIn .5s linear .3s both;
	animation: fadeIn .5s linear .3s both;
}

.c-load--type4 img {
	display: block;
	height: auto;
	margin: auto;
	max-width: 80vw;
	max-width: 100%;
}

.c-load--type4 .site_loader_catch {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

.c-load--type4 img + .site_loader_catch {
	margin-top: 20px;
}

.c-load--type4 .site_loader_catch p + p {
	margin-top: 1.6em;
}

@media only screen and (max-width: 767px) {
	.c-load--type1 {
	width: 30px;
	height: 30px;
}

.c-load--type2::before {
	width: 8px;
	height: 8px;
}

.c-load--type2::after {
	width: 8px;
	height: 8px;
}

.c-load--type3 i {
	width: 0.25em;
	height: 0.25em;
	margin: 0 0.125em;
}
}

@-webkit-keyframes loading-circle {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes loading-circle {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes loading-square-base {
	0% {
		bottom: 10px;
		opacity: 0;
	}
	5%, 50% {
		bottom: 0;
		opacity: 1;
	}
	55%, 100% {
		bottom: -10px;
		opacity: 0;
	}
}

@keyframes loading-square-base {
	0% {
		bottom: 10px;
		opacity: 0;
	}
	5%, 50% {
		bottom: 0;
		opacity: 1;
	}
	55%, 100% {
		bottom: -10px;
		opacity: 0;
	}
}

@-webkit-keyframes loading-dots-fadein {
	100% {
		opacity: 1;
	}
}

@keyframes loading-dots-fadein {
	100% {
		opacity: 1;
	}
}

@-webkit-keyframes loading-dots-first-dot {
	100% {
		-webkit-transform: translate(1em);
		transform: translate(1em);
		opacity: 1;
	}
}

@keyframes loading-dots-first-dot {
	100% {
		-webkit-transform: translate(1em);
		transform: translate(1em);
		opacity: 1;
	}
}

@-webkit-keyframes loading-dots-middle-dots {
	100% {
		-webkit-transform: translate(1em);
		transform: translate(1em);
	}
}

@keyframes loading-dots-middle-dots {
	100% {
		-webkit-transform: translate(1em);
		transform: translate(1em);
	}
}

@-webkit-keyframes loading-dots-last-dot {
	100% {
		-webkit-transform: translate(2em);
		transform: translate(2em);
		opacity: 0;
	}
}

@keyframes loading-dots-last-dot {
	100% {
		-webkit-transform: translate(2em);
		transform: translate(2em);
		opacity: 0;
	}
}

/**
 * Project
 */

/* about page */
.p-about {
}

.p-about .element-type1 {
	text-align: center;
	margin-bottom: 15px;
}

.p-about .element-type2 {
	margin-bottom: 15px;
}

.p-about__inner {
	padding: 60px 80px 70px 80px;
}

.p-about__inner > :first-child {
	margin-top: 0;
}

.p-about__inner > :last-child {
	margin-bottom: 0;
}

.p-about-image {
	display: block;
	margin-top: 30px;
	height: auto;
	width: 100%;
}

.p-about-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 50px;
}

.p-about-info__col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
}

.p-about-info__col-block {
	position: relative;
	background-color: #f4f2ef;
	min-height: 400px;
	margin-bottom: 50px;
	padding-top: 60px;
	padding-bottom: 60px;
}
.p-about-info__col-block.horizontal {
	min-height: 300px;
}

.p-about-info__col-block .element-type1 img {
	display: block;
	height: 20px;
	margin: 0 auto 20px;
}

.p-about-info__col-block .element-type2 {
	margin-bottom: 20px;
	width: 20px;
}

.p-about-info__col-title {
	line-height: 1.3;
	margin: 0 auto;
	font-size: 30px;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: start;
}
.p-content__horizontal .p-about-info__col-title {
	writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	text-align: center;
}

.p-about-info__col-desc {
	font-size: 16px;
	line-height: 2.3;
}

.p-about-info__col-img {
	margin-bottom: 40px;
	width: 100%;
}

.p-about-info02 {
	margin-bottom: 75px;
	margin-top: 40px;
}

@media screen and (min-width: 768px) {
	.p-about-info__col {
		margin-right: 50px;
	}

	.p-about-info__col:last-child {
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {
	.p-about__inner {
		padding: 0 20px;
	}

	.p-about-image {
		margin-top: 0;
	}

	.p-about-info {
		display: block;
		margin-bottom: 35px;
	}

	.p-about-info02 {
		margin-top: 25px;
	}

	.p-about-info__col-block {
		min-height: 260px;
		padding-top: 25px;
		padding-bottom: 25px;
		margin-bottom:25px;
	}
	.p-about-info__col-block.horizontal{
		min-height: inherit;
		padding-bottom: 45px;
	}

	.p-about-info__col-title {
		font-size: 22px;
		line-height: 1.3;
	}

	.p-about-info__col-desc {
		font-size: 14px;
		margin-bottom:25px;
	}

	.p-about-info__col-img {
		margin-bottom: 20px;
	}
}

/* archive header */
.p-archive-header {
	margin-bottom: 57px;
	text-align: center;
}

.p-archive-header .element-type1 {
	margin-bottom: 20px;
	text-align: center;
	display: block;
}

.p-archive-header .element-type2 {
	margin-bottom: 20px;
	display: block;
}

.p-archive-header__title {
	font-size: 32px;
	line-height: 1.2;
	margin-bottom: 0;
	display: inline;
}

.p-archive-header__title--vertical {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	margin: 0 auto;
	font-size: 36px;
	line-height: 1.3;
	text-align: start;
}

.p-archive-header__desc {
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	margin: 0 auto;
	line-height: 1.6;
	display: inline;
}

.p-archive-header__title + .p-archive-header__desc {
	margin-top: 55px;
}

.p-archive-header__desc--vertical {
	line-height: 2.6;
	white-space: nowrap;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: start;
}

.p-archive-header__desc p + p {
	margin-top: 1.6em;
}

.p-archive-header__desc--vertical p + p {
	margin-right: 1.6em;
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.p-archive-header {
		margin-bottom: 36px;
	}

	.p-archive-header .element-type1 {
		margin-bottom: 13px;
	}

	.p-archive-header__title {
		font-size: 20px;
	}

	.p-archive-header__title--vertical {
		font-size: 24px;
	}

	.p-archive-header__desc,
	.p-archive-header__desc--vertical,
	.p-archive-header__title + .p-archive-header__desc,
	.p-archive-header__title + .p-archive-header__desc--vertical {
		font-size: 14px;
		line-height: 2;
		text-align: center;
		margin: 32px auto 0;
	}

	.p-archive-header__desc--vertical {
		writing-mode: horizontal-tb;
	}

	.p-archive-header__desc--vertical p + p {
		margin-right: 0;
		margin-top: 1.6em;
	}
}

/* articles - 01: Blog Archive, 02: Event Archive, 03: History Archive, 04: News Archive, 05: Schedule Archive */
.p-article01 {
	position: relative;
	border-top: 0;
}

.p-article01__img {
	display: block;
	margin: 0 -1px;
	overflow: hidden;
}

.p-article01__img img {
	margin: -1px 0;
	width: 100%;
	height: auto;
}

.p-article01__content {
	padding-top: 15px;
}

.p-article01__title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	margin-bottom: 7px;
	max-height: 3.4em;
	overflow: hidden;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

.p-article01__content:only-child .p-article01__title {
	margin-bottom: 0;
}

.p-article01__date,
.p-article01__cat {
	color: #999;
	font-size: 12px;
	line-height: 1.8;
}

.p-article01__cat a {
	color: inherit;
}

.p-article01__date + .p-article01__cat::before {
	margin: 0 0.5em 0 0.25em;
	content: "|";
	vertical-align: 1px;
}

@media screen and (max-width: 991px) {
	.p-article01__title {
		margin-bottom: 0;
	}

	.p-article01__meta {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.p-article01__title {
		font-size: 14px;
	}

	.p-article01__content {
		padding-top: 6px;
	}
}

.p-article02 {
	overflow: hidden;
	position: relative;
}

.p-article02__img {
	height: 160px;
}

.p-article02__img::before {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.75)), color-stop(75%, transparent));
	background: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, transparent 75%);
	content: "";
}

.p-article02__img > img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.p-article02__content {
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	padding: 0 40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
	pointer-events: none;
	max-height: 100%;
}

.p-article02__title {
	font-size: 24px;
	line-height: 1.6;
	padding: 0;
	margin: 0;
	max-height: 1.6em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-article02__category, .p-article02__date {
	font-size: 14px;
	line-height: 1.6;
}

.p-article02__category > a {
	color: #ffffff;
}

@media screen and (max-width: 767px) {
	.p-article02__content {
		padding: 0 20px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		color: #fff;
		pointer-events: none;
		max-height: 100%;
	}

	.p-article02__img {
		height: 94px;
	}

	.p-article02__category, .p-article02__date {
		font-size: 12px;
		height: 1.6em;
		overflow: hidden;
	}

	.p-article02__title {
		font-size: 18px;
	}
}

.p-article03__content {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	padding: 40px 20px;
	line-height: 1.8;
	min-height: max-content;
}

.p-article03__title {
	font-size: 24px;
	line-height: 1.2;
	margin: 0;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

.p-article03__cat {
	color: #d90000;
	font-size: 16px;
	margin: 0;
	white-space: nowrap;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl}

.p-article03__cat a {
	color: inherit;
}

.p-article03__img {
	display: block;
	position: relative;
}

.p-article03__img > img {
	width: 100%;
	height: auto;
}

.horizontal .p-article03__content{
	display: block;
	padding: 40px;
}

.horizontal .p-article03__cat{
	writing-mode: horizontal-tb;
}

.horizontal .p-article03__title{
	writing-mode: horizontal-tb;
}


@media (min-width: 768px) {
	.p-article03__text {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
		font-size: 16px;
		line-height: 2.6;
	    text-align: start;
		white-space: nowrap;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
	}

	.horizontal.p-article03__text{
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
	}


	.p-article03__text p {
		background-color: rgba(255, 255, 255, 0.7);
		font-weight: 700;
		min-width: 0;
		padding: 50px 38.5px;
	}
}

@media screen and (max-width: 767px) {
	.p-article03__img img {
		width: 100%;
	}

	.p-article03__text {
		font-size: 14px;
		line-height: 2;
		margin: 30px 0;
		text-align: center;
	}

	.p-article03__title {
		font-size: 16px;
		line-height: 1.3;
		writing-mode: horizontal-tb;
	}

	.p-article03__cat {
		font-size: 14px;
		writing-mode: horizontal-tb;
	}

	.p-article03__content {
		display: inherit;
		padding: 16px 20px 18px;
	}
}

.p-article05 {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	background: #fff;
}

.p-article05 a {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	height: 100%;
	overflow: visible;
	background: #fff;
}

.p-article05__img {
	margin: -1px;
	overflow: hidden;
}

.p-article05__img img {
	width: 100%;
	height: auto;
}

.p-article05__content {
	padding: 18px 20px;
	background: #fff;
	margin-bottom: 0;
}

.p-article05__date {
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 2px;
}

.p-article05__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 0;
	max-height: 2.8em;
	overflow: hidden;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

.p-article05__excerpt {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 9px;
	margin-bottom: -4px;
	max-height: 3.2em;
	overflow: hidden;
}

.p-article05__subtitle {
	font-size: 26px;
	line-height: 1.6;
	margin-bottom: 51px;
	margin-top: 53px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.p-article05__content {
		padding: 12px 15px;
	}

	.p-article05__date {
		font-size: 12px;
		line-height: 1.4;
		margin-bottom: 2px;
	}

	.p-article05__title {
		font-size: 14px;
		line-height: 1.4;
	}

	.p-article05__excerpt {
		font-size: 14px;
		line-height: 1.4;
		margin-top: 7px;
		margin-bottom: -2px;
		max-height: 4.2em;
	}

	body.home .p-article05__excerpt,
	body.archive .p-article05__excerpt {
		display: none;
	}

	.p-article05__subtitle {
		font-size: 20px;
		line-height: 1.3;
		margin-bottom: 36px;
		margin-top: 36px;
		text-align: center;
	}
}

/* author */
.p-author {
	margin-bottom: 60px;
	position: relative;
}

.p-author__box {
	background: #f6f6f6;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 50px;
	padding: 40px 4.8192%;
}

.p-author__thumbnail {
	border-radius: 50%;
	display: block;
	-webkit-flex: 0 0 110px;
	flex: 0 0 110px;
	height: 110px;
	margin-right: 30px;
	overflow: hidden;
	width: 110px; /* old webkit bug fix */
	-webkit-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
}

.p-author__thumbnail img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.p-author__thumbnail__link, .p-author__thumbnail__link * {
	height: 100%;
	width: 100%;
}

.p-author__info {
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

.p-author__title {
	font-weight: 600;
	line-height: 1.8;
}

.p-author__desc {
	clear: both;
	color: #666;
	font-size: 14px;
	line-height: 2;
	margin-top: 10px;
}

.p-author__desc p + p {
	margin-top: 1em;
}

.p-author__info .p-social-nav {
	margin-top: 16px;
}

.p-author__info .p-social-nav__item {
	font-size: 14px;
}

.p-author__link {
	float: right;
	font-size: 14px;
	padding-top: 4px;
}

.p-author__link::after {
	content: "\e910";
	font-family: "design_plus";
	padding-left: 5px;
}

@media only screen and (max-width: 767px) {
	.p-author {
		margin-bottom: 40px;
	}

	.p-author__box {
		display: block;
		margin-bottom: 40px;
		padding: 22px;
	}

	.p-author .p-author__box {
		background: transparent;
		padding: 0;
	}

	.p-author__thumbnail {
		margin: 0 auto 18px;
	}

	.p-author__title {
		font-size: 16px;
	}

	.p-author__link {
		font-size: 12px;
		padding-top: 6px;
	}
}

/* block */
.p-block01 {
	margin: 60px 0 55px;
	text-align: center;
}

.p-block01__title {
	font-size: 32px;
	line-height: 1.2;
	margin-bottom: 55px;
}

.p-block01__title--vertical {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	margin: 10px auto;
	font-size: 36px;
	line-height: 1.5;
	text-align: start;
}

.p-block01__desc {
	font-size: 16px;
	line-height: 2.6;
	min-height: 300px;
}

.p-block01__desc--vertical {
	font-size: 16px;
	line-height: 2.6;
	min-height: 300px;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: start;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
	.p-block01 {
		margin: 40px 0 20px;
	}

	.p-block01__title {
		margin: 13px 0;
		font-size: 24px;
	}

	.p-block01__desc {
		font-size: 14px;
		line-height: 2;
		writing-mode: horizontal-tb;
		text-align: center;
		margin: 40px auto 20px;
	}

	.p-block01__desc--vertical {
		font-size: 14px;
		line-height: 2;
		writing-mode: horizontal-tb;
		text-align: center;
		margin: 0 auto 30px;
	}

	.p-block01__title--vertical {
		margin: 10px auto;
		font-size: 24px;
		line-height: 1.3;
	}
}

/* blog list */
.p-blog-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

.p-blog-list__item {
	width: 24%;
	width: calc((100% - 42px) / 4);
	margin-right: 14px;
	margin-top: 56px;
}

.p-blog-list + .p-pager {
	margin-top: 44px;
}

@media (min-width: 767px) {
	.p-blog-list__item:nth-child(-n+4) {
		margin-top: 0;
	}

	.p-blog-list__item:nth-child(4n) {
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {
	.p-blog-list__item {
		width: 49%;
		width: calc(50% - 5px);
		margin-right: 0;
		margin-top: 15px;
	}

	.p-blog-list__item:nth-child(-n+2) {
		margin-top: 0;
	}

	.p-blog-list__item:nth-child(odd) {
		margin-right: 5px;
	}

	.p-blog-list__item:nth-child(even) {
		margin-left: 5px;
	}

	.p-blog-list + .p-pager {
		margin-top: 20px;
	}
}

/* breadcrumb */
.p-breadcrumb {
	background-color: #d90000;
	padding: 21.25px 0;
	margin-bottom: 60px;
}

.p-breadcrumb__inner {
	color: #fff;
	margin-bottom: 0;
	overflow: hidden;
	line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-breadcrumb__item {
	color: #fff;
	font-size: 14px;
}

.p-breadcrumb__item + .p-breadcrumb__item::before {
	font-size: 10px;
}

.p-breadcrumb__item a {
	color: #fff;
	-webkit-transition-property: opacity;
	transition-property: opacity;
}

.p-breadcrumb__item a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.p-breadcrumb {
		padding: 14px 0 15px ;
		margin-bottom: 35px;
	}

	.p-breadcrumb__item {
		font-size: 12px;
	}

	.p-breadcrumb.single {
		margin: 0;
	}
}

/* button */
.p-btn__vertical {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	display: inline-block;
	min-width: 60px;
	height: 200px;
	padding: 15px 0;
	border-radius: 0;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	line-height: 60px;
	text-align: center;
}

.p-btn__horizon {
	display: inline-block;
	min-width: 240px;
	height: 60px;
	padding: 0 15px;
	border-radius: 0;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	line-height: 60px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.p-btn {
		font-size: 14px;
		background-color: #000}

	.p-btn__vertical {
		min-width: 45px;
		height: 180px;
		padding: 0;
		line-height: 45px;
	}

	.p-btn__horizon {
		min-width: 180px;
		height: 45px;
		line-height: 45px;
	}
}

/* contents builder */
.p-cb__item {
	position: relative;
	padding-bottom: 100px;
	padding-top: 100px;
}

.p-cb__item .element-type1 {
	text-align: center;
	margin-bottom: 15px;
}

.p-cb__item .element-type2 {
	margin-bottom: 15px;
}

@media only screen and (min-width: 768px) {
	.p-cb__item:last-child {
		padding-bottom: 120px;
	}

	.p-cb__item--no-bg + .p-cb__item--no-bg {
		padding-top: 0;
	}

	.p-cb__item--has-bg + .p-cb__item--no-bg,
	.p-cb__item--no-bg + .p-cb__item--has-bg {
		margin-top: 20px;
	}
}

@media only screen and (max-width: 767px) {
	.p-cb__item {
		padding-bottom: 40px;
		padding-top: 40px;
	}
}

/* content vertical */
.p-content__vertical {
	display: flex;
}

/* copyright */
.p-copyright {
	height: 60px;
	color: #fff;
	font-size: 12px;
	line-height: 60px;
	text-align: center;
	overflow: hidden;
}

.p-copyright small {
	font-size: 100%;
}

@media screen and (max-width: 767px) {
	.p-copyright {
		height: 50px;
		line-height: 50px;
	}
}

/* dropdown */
.p-dropdown {
	font-size: 14px;
}

.p-dropdown__title {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	height: 50px;
	padding: 0 22px;
	border: 1px solid #ddd;
	background: #fff;
	line-height: 50px;
}

.p-dropdown__title::after {
	position: absolute;
	right: 17px;
	font-family: "design_plus";
	content: "\e90e";
}

.p-dropdown__title:hover {
	cursor: pointer;
}

.p-dropdown__title.is-active::after {
	content: "\e911";
}

.p-dropdown__list {
	display: none;
}

.p-dropdown__list li {
	border: 1px solid #ddd;
	border-top: 0;
	line-height: 1.5;
	margin-bottom: 0 !important;
}

.p-dropdown__list a {
	display: block;
	padding: 14px 18px;
}

.p-dropdown__list a:hover {
	background: #f6f6f6;
}

/* entry */
.p-entry {
	position: relative;
	margin-bottom: 0;
	border: solid 1px #dddddd;
}

.p-entry__inner {
	padding: 80px 50px 50px 50px;
}

.p-entry__header .element-type1 {
	margin-bottom: 12px;
	text-align: center;
	display: block;
}

.p-entry__header .element-type2 {
	margin-bottom: 12px;
	display: block;
}

.p-entry__img {
	width: 100%;
	margin-bottom: 43px;
	margin-top: 50px;
	text-align: center;
}

.p-entry__img img {
	max-width: 100%;
	height: auto;
}

.p-entry__meta {
	display: inline-block;
	min-width: 100px;
	height: 35px;
	margin-bottom: 13.6px;
	color: #fff;
	font-size: 12px;
	line-height: 35px;
	text-align: center;
}

.p-entry__meta a {
	display: block;
	padding: 0 10px;
	color: inherit;
}

.p-entry__title {
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 0;
}

.p-entry__title--vertical {
	line-height: 1.3;
	margin: auto;
	text-align: start;
	white-space: nowrap;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.p-entry__title--horizontal {
	line-height: 1.3;
	margin: auto;
	text-align: center;
	white-space: nowrap;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
}

.p-entry__body {
	line-height: 2.3;
	margin-bottom: 35px;
}

.p-entry__body > :last-child {
	margin-bottom: 0;
}

.p-entry__body a:hover, .custom-html-widget a:hover,
body.page_tcd_template_type2 .l-contents a:not([class]):hover,
body.page_tcd_template_type3 .l-contents a:not([class]):hover,
body.page_tcd_template_type4 .l-contents a:not([class]):hover,
body.single-history .p-history-info a:not([class]):hover,
body.single-history .p-entry__img a:not([class]):hover{
	text-decoration: underline;
}

.p-entry__body img {
	height: auto;
	max-width: 100%;
}

.p-entry__body .p-entry__ad img {
	width: auto;
	max-width: none;
}

.p-entry__body .p-readmore a {
	color: #fff;
}

.p-entry__body .q_button:hover {
	text-decoration: none;
}

.p-entry__category {
	border-top: 5px solid #d90000;
	font-size: 14px;
	padding-top: 15px;
	position: absolute;
	left: 50px;
	top: -1px;
}

.p-entry__category--vertical.c-font-type--type3 {
	font-weight: 500;
}
.p-entry__category--horizontal.c-font-type--type3 {
	font-weight: 500;
}

.p-entry__date {
	color: #999999;
	font-size: 12px;
	text-align: center;
	margin-bottom: 50px;
	margin-top: 8px;
}

.p-entry__share { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; }

.p-entry__share { margin-bottom: 45px !important; }

.single_share.clearfix {
	text-align: left;
	text-align: -webkit-left;
	margin-bottom: 45px;
}

@media screen and (max-width: 767px){
	.single_share.clearfix  {
margin-bottom: 35px;
  }}

.p-entry__next-page {
	margin-top: 50px;
	text-align: center;
}

.p-entry__next-page__link {
	color: #fff !important;
	padding: 0 25px;
	position: relative;
	text-decoration: none !important;
}

.p-entry__next-page__link::after {
	content: '\e910';
	font-family: 'design_plus';
	position: absolute;
	right: 11px;
}

.p-entry__next-page__numbers {
	display: block;
	font-size: 16px;
	margin-top: 20px;
	text-align: center;
}

.p-entry__meta-box {
	margin-bottom: 50px;
	background: #fff;
}

.p-entry__ad {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}

.p-entry__ad--upper, .p-entry__ad--inner {
	margin-bottom: 42px;
}

.p-entry__ad--lower {
	margin-bottom: 50px;
}

.p-entry__ad-item + .p-entry__ad-item {
	margin-left: 40px;
}

.p-entry__related-items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-entry__related-items .p-article01__title {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	.p-entry__category--vertical {
		white-space: nowrap;
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		padding-left: 12px;
		padding-right: 12px;
	}
	.p-entry__category--horizontal {
		white-space: nowrap;
		writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		padding-left: 12px;
		padding-right: 12px;
	}

	.p-entry__category--vertical.c-font-type--type3 {
		padding-left: 11px;
		padding-right: 13px;
	}
	.p-entry__category--horizontal.c-font-type--type3 {
		padding-left: 11px;
		padding-right: 13px;
	}

	.p-entry__related-item {
		width: 32%;
		margin-right: 2%;
		margin-top: 42px;
	}

	.p-entry__related-item:nth-child(3n) {
		margin-right: 0;
	}

	.p-entry__related-item:nth-child(-n+3) {
		margin-top: 0;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1140px) {
	.p-entry__ad {
		display: block;
	}

	.p-entry__ad-item + .p-entry__ad-item {
		margin-left: 0;
	}

	.p-entry__ad--upper .p-entry__ad-item + .p-entry__ad-item, .p-entry__ad--inner .p-entry__ad-item + .p-entry__ad-item {
		margin-top: 40px;
	}

	.p-entry__ad--lower .p-entry__ad-item + .p-entry__ad-item {
		margin-top: 50px;
	}
}

@media only screen and (max-width: 991px) {
	.p-entry__img img {
		width: 100%;
		max-width: none;
	}
}

@media only screen and (max-width: 767px) {
	.p-entry {
		margin: 0 -20px;
		border: none;
		width: auto;
	}

	.p-entry__header .element-type1,
	.p-entry__header .element-type2 {
		margin-bottom: 10px;
	}

	.p-entry__inner {
		padding: 25px 20px 0 20px;
		margin-top: 15px;
	}

	.p-entry__img {
		margin-bottom: 27px;
		margin-top: 30px;
	}

	.p-entry__meta {
		height: 32px;
		margin-bottom: 15px;
		line-height: 32px;
	}

	.p-entry__category {
		border-top-width: 3px;
		font-size: 12px;
		padding-top: 7px;
		left: 20px;
		top: 0;
	}

	.p-entry__date {
		font-size: 12px;
		margin-bottom: 30px;
	}

	.p-entry__title {
		margin-bottom: 3px;
		line-height: 1.5;
	}

	.p-entry__title--vertical {
		margin-bottom: 30px;
		line-height: 1.3;
	}
	.p-entry__title--horizontal {
		margin-bottom: 30px;
		line-height: 1.3;
	}

	.p-entry__share {
		margin-bottom: 35px;
	}

	.p-entry__body {
		margin-bottom: 34px;
		line-height: 2;
	}

	.p-entry__ad {
		display: block;
		margin-bottom: 40px;
	}

	.p-entry__ad-item {
		margin-bottom: 20px;
	}

	.p-entry__ad-item + .p-entry__ad-item {
		margin-left: 0;
	}

	.p-entry__ad-item img {
		margin-right: -10px;
		margin-left: -10px;
	}

	.p-entry__meta-box {
		margin-bottom: 10px;
		background: transparent;
	}

	.p-entry__next-page {
		margin-top: 30px;
	}

	.p-entry__related-item {
		width: calc(50% - 5px);
		margin-top: 14px;
	}

	.p-entry__related-item:nth-child(odd) {
		margin-right: 5px;
	}

	.p-entry__related-item:nth-child(even) {
		margin-left: 5px;
	}

	.p-entry__related-item:nth-child(-n+2) {
		margin-top: 0;
	}

	.p-entry__related-item .p-article01__content {
		padding-top: 7px;
	}
}

@media screen and (max-width: 320px) {
	.p-entry__related-item {
		width: 100%;
	}
	.p-entry__related-item:nth-child(even),
	.p-entry__related-item:nth-child(odd){
        margin: 0 0 20px;
    }
}

/* event category */
.p-event-category {
	display: -webkit-box;
	display: -ms-flexbox;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 69px;
}

.p-archive-header + .p-event-category {
	margin-top: -12px;
}

.p-event-category > li {
	margin-right: 30px;
	margin-bottom: 3px;
	font-size: 24px;
}

.p-event-category > li > a {
	display: block;
	width: auto;
	height: 40px;
	line-height: 40px;
	text-align: center;
}

.p-event-category > li > a:hover {
	color: #d90000;
}

body.is-wp-mobile-device .p-event-category {
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

body.is-wp-mobile-device .p-event-category > li {
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

body.is-wp-mobile-device .p-event-category > li:not(.is-active) > a:hover {
	color: inherit;
}

@media screen and (max-width: 767px) {
	.p-event-category {
		margin-bottom: 28px;
	}

	.p-event-category > li {
		font-size: 16px;
		line-height: 1.6;
	}
}

/* event-list */
.p-event-list {
}

.p-event-list__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: -40px;
}

.p-event-list__item {
	display: block;
	width: calc(50% - 20px);
	margin-bottom: 40px;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.p-event-list__inner {
		margin-bottom: -20px;
	}

	.p-event-list__item {
		width: calc(50% - 10px);
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 600px) {
	.p-event-list__inner {
		display: block;
		margin-bottom: -10px;
	}

	.p-event-list__item {
		width: 100%;
		margin-bottom: 10px;
	}
}

/* event single */


.p-entry-event__date {
	font-size: 14px;
	text-align: center;
	margin-bottom: 0;
	margin-top: 8px;
}

.p-entry-event .p-entry__body {
	margin-bottom: 0;
}

.p-entry-event .p-entry__share {
	margin-bottom: 0;
	margin-top: 50px;
}

.p-entry-event .c-share--official{
	margin-top: 50px;
}

.p-event-related {
	margin-top: 100px;
}

.p-event-btn {
	margin-top: 60px;
	text-align: center;
}

@media (min-width: 768px) {
	.p-entry-event__inner {
		padding: 80px;
	}

	.p-entry-event .p-entry__category {
		left: 80px;
	}
}

@media screen and (max-width: 767px) {
	.p-entry-event .p-entry__share {
		margin-top: 26px;
	}

	.p-entry-event .c-share--official {
		margin-top: 26px;
	}

	.p-event-related {
		margin-top: 40px;
	}

	.p-event-btn {
		margin-top: 40px;
	}
}

@media only screen and (max-width: 767px) {
	.single-event table.pb_simple_table th {
		width: 28%;
	}

	.single-event table.pb_simple_table th, .single-event table.pb_simple_table td {
		line-height: 1.8;
	}
}

/* faq page */
.p-faq {
}

.p-faq__list {
	border: 1px solid #ddd;
	border-bottom: 0;
}

.p-faq__list dt {
	position: relative;
	padding: 20.5px 5.18% 20.5px 3.454%;
	border-bottom: 1px solid #ddd;
	font-size: 16px;
	line-height: 1.8;
	cursor: pointer;
}

.p-faq__list dt::before {
	content: '\e90e';
	font-family: 'design_plus';
	color: #666;
	font-size: 12px;
	line-height: 1;
	display: block;
	width: 15px;
	height: 1em;
	margin-top: -0.5em;
	position: absolute;
	right: 2.59%;
	top: 50%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-transition: -webkit-transform 0.5s ease;
	transition: transform 0.5s ease;
}

.p-faq__list dt.is-active::before {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}
.p-faq__q { margin-bottom:0; font-weight:500; font-size:inherit; }

.p-faq__list.type1 dt {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-faq__list.type1 dt .element-type1 {
	-webkit-flex: 0 0 20px;
	-ms-flex: 0 0 20px;
	flex: 0 0 20px;
	display: inline-block;
	height: 20px;
	margin-right: 8px;
	margin-top: 4px;
	width: 20px;
}

.p-faq__list.type1 dt .element-type1 img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.p-faq__list.type2 .p-faq__q {
	border-left: 5px solid #d90000;
	display: inline-block;
	padding-left: 10px;
}

.p-faq__list dd {
	display: none;
	padding: 28px 3.454%;
	border-bottom: 1px solid #ddd;
	background: #f5f5f5;
	font-size: 16px;
	line-height: 2.3;
}

@media screen and (max-width: 767px) {
	.p-faq__list dt {
		padding: 11px 50px 11px 12px;
		font-size: 14px;
		line-height: 1.6;
	}

	.p-faq__list dt::before {
		right: 12px;
	}

	.p-faq__list.type1 dt .element-type1 {
		margin-top: 0;
	}

	.p-faq__list dd {
		padding: 13px 20px;
		font-size: 14px;
		line-height: 2;
	}
}

/* footer link */
.p-footer-link {
	position: relative;
	width: 100%;
	height: 560px;
	overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.p-footer-link::before {
	display: block;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.p-footer-link--video, .p-footer-link--youtube {
}

.p-footer-link__video-player, .p-footer-link__youtube-player {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-footer-link__inner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
}

.p-footer-link__contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	padding: 60px 0;
	text-align: center;
}

.p-footer-link__title {
	margin: 0;
	color: #fff;
	font-size: 36px;
	line-height: 1.5;
}

.p-footer-link__title + .p-footer-link__btn {
	margin: 36px 0 0 0;
}

.p-footer-link__contents--vertical {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-height: 100%;
	padding: 60px 0;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}

.p-footer-link__contents--vertical .p-footer-link__title {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: start;
	line-height: 1.3;
}

.p-footer-link__contents--vertical .p-footer-link__title + .p-footer-link__btn {
	margin-right: 34px;
	margin-top: 0;
}

@media screen and (max-width: 991px) {
	.p-footer-link {
		height: 320px;
	}
}

@media screen and (max-width: 767px) {
	.p-footer-link__contents, .p-footer-link__contents--vertical {
		padding: 40px 0;
	}

	.p-footer-link__title {
		font-size: 24px;
		line-height: 1.5;
		text-align: start;
	}

	.p-footer-link__title + .p-footer-link__btn {
		margin-top: 20px;
	}

	.p-footer-link__contents--vertical .p-footer-link__title + .p-footer-link__btn {
		margin-right: 17px;
		margin-top: 0;
	}
}

/* footer nav */
.p-footer-nav {
	margin: 0 auto 49px;
}

.p-footer-nav__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: -7px;
	margin-top: -7px;
}

.p-footer-nav__inner li {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 10px;
	padding: 0;
}

.p-footer-nav__inner li a {
	padding: 0 14px;
}

.p-footer-nav--type1 .p-footer-nav__inner li {
	font-size: 18px;
	margin-bottom: 0;
}

.p-footer-nav--type1 .p-footer-nav__inner {
	flex-direction: row-reverse;
	margin: -7px 0;
}

.p-footer-nav--type1 .p-footer-nav__inner li a {
	min-width: 2.8em;
	padding: 0 0.5em;
	white-space: nowrap;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	transition: transform 0.5s ease;
	transform: translateY(0);
	position: relative;
}

.p-footer-nav--type1 .p-footer-nav__inner li a:hover {
	transition-duration: 0.3s;
	transform: translateY(12px);
}

@media screen and (max-width: 767px) {
	.p-footer-nav {
		margin-bottom: 31px;
	}

	.p-footer-nav__inner {
		margin-bottom: -6px;
	}

	.p-footer-nav__inner li {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.p-footer-nav__inner li a {
		padding: 0 8px;
	}

	.p-footer-nav--type1 .p-footer-nav__inner li a {
		min-width: 2.3em;
		padding: 0 0.25em;
	}
}

/* global nav */
.p-global-nav {
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	height: 100%;
	font-size: 15px;
	line-height: 70px;
	margin: 0 auto;
}

.p-global-nav > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	line-height: 70px;
	height: 100%;
	margin-bottom: 0;
}

.p-global-nav > ul > li {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 100%;
}

.p-global-nav > ul > li.menu-item-has-children:hover > .sub-menu {
	left: 0;
}

.p-global-nav > ul > li > a {
	position: relative;
	height: 100%;
	padding-right: 14px;
	padding-left: 14px;
}

.p-global-nav > ul > li > .sub-menu {
	top: 100%;
	left: 0;
}

.p-global-nav a {
	display: block;
}

.p-global-nav .menu-item-has-children {
	position: relative;
}

.p-global-nav .menu-item-has-children:hover > .sub-menu {
	visibility: visible;
	left: 100%;
	opacity: 1;
}

.p-global-nav .sub-menu {
	display: block;
	visibility: hidden;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 100%;
	height: auto;
	line-height: 1.2;
	opacity: 0;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}

.p-global-nav .sub-menu li {
	height: auto;
}

.p-global-nav .sub-menu a {
	background-color: #222222;
	color: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 220px;
	height: auto;
	padding: 17px 18px;
}

.p-global-nav .sub-menu .menu-item-has-children > a {
	position: relative;
}

@media only screen and (min-width: 1200px) {
	.p-global-nav {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}

@media only screen and (max-width: 1199px) {
	.p-global-nav {
		display: none;
		z-index: 99;
		position: absolute;
		top: 60px;
		left: -4.25%;
		right: -4.25%;
		height: auto;
	}

	.l-header--fixed .p-global-nav {
		max-height: calc(100vh - 60px);
		overflow: auto;
	}

	.p-global-nav > ul {
		display: block;
		height: auto;
	}

	.p-global-nav > ul > li > a {
		display: block;
		padding: 0 4.2372%;
		border: 0;
		background: #000;
	}

	.p-global-nav li {
		width: 100%;
	}

	.p-global-nav li.current-menu-item a {
		color: #fff;
	}

	.p-global-nav a {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
		height: 50px;
		font-size: 13px;
		line-height: 50px;
	}

	.p-global-nav .sub-title {
		display: none;
	}

	.p-global-nav .menu-item-has-children > a > .p-global-nav__toggle.is-active::before {
		content: "-";
	}

	.p-global-nav .menu-item-has-children > a > .p-global-nav__toggle::before {
		display: block;
		position: absolute;
		top: 0;
		right: 4.2372%;
		bottom: 0;
		width: 24px;
		height: 24px;
		margin: auto;
		border: 1px solid #555;
		border-radius: 100%;
		color: inherit;
		line-height: 24px;
		text-align: center;
		content: "+";
	}

	.p-global-nav .sub-menu {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		display: none;
		visibility: visible;
		position: static;
		width: 100%;
		-webkit-transform: none;
		transform: none;
		opacity: 1;
		-webkit-transition-property: none;
		transition-property: none;
	}

	.p-global-nav .sub-menu li {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.p-global-nav .sub-menu a {
		width: 100%;
		height: 50px;
		padding: 0 4.2372%;
		padding-left: calc(4.2372% + 1em);
		line-height: 50px;
		background: #000;
	}

	.p-global-nav .sub-menu .sub-menu a {
		padding-left: calc(4.2372% + 2em);
	}
}

@media only screen and (max-width: 991px) {
	.p-global-nav {
		left: -6.25%;
		right: -6.25%;
	}

	.p-global-nav > ul > li > a,
	.p-global-nav .sub-menu a {
		padding: 0 5.55556%;
	}

	.p-global-nav .sub-menu a {
		padding-left: calc(5.55556% + 1em);
	}

	.p-global-nav .sub-menu .sub-menu a {
		padding-left: calc(5.55556% + 2em);
	}

	.p-global-nav .menu-item-has-children > a > .p-global-nav__toggle::before {
		right: 5.55556%;
	}

	.p-global-nav .sub-menu .sub-menu .p-global-nav__toggle {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.p-global-nav {
		left: 0;
		right: 0;
	}

	.p-global-nav > ul > li > a,
	.p-global-nav .sub-menu a {
		padding: 0 20px;
	}

	.p-global-nav .sub-menu a {
		padding-left: calc(20px + 1em);
	}

	.p-global-nav .sub-menu .sub-menu a {
		padding-left: calc(20px + 2em);
	}

	.p-global-nav .menu-item-has-children > a > .p-global-nav__toggle::before {
		right: 17px;
	}
}

.sub-menu a:hover {
	background: #e70000;
	color: #fff;
}

/* header */
.p-header-content {
	position: relative;
}

.p-header-content:before {
	z-index: 1;
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
}

.p-header-content__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-header-content__title {
	display: none;
	font-weight: 700;
	line-height: 1.3;
	padding: 60px 0;
}

.p-header-content__title--vertical {
	max-height: 100%;
	width: 100%;
}

.p-header-content__title--vertical span {
	text-align: start;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	min-width: 0;
	margin: auto;
}

.p-header-content__mobile-arrow {
	display: none;
}

@media (min-width: 1200px) {
	.p-header-content__inner {
		top: 0 !important;
	}
}

@media only screen and (max-width: 1199px) {
	.p-header-content__inner {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		bottom: 40px;
		top: 50%;
	}

	.p-header-content__title {
		font-weight: 700;
		line-height: 1.3;
		padding: 0;
	}

	.p-header-content__mobile-arrow {
		cursor: pointer;
		display: block;
		text-align: center;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 4;
	}

	.p-header-content__mobile-arrow::before {
		content: '\e90e';
		color: #fff;
		display: inline-block;
		font-family: "design_plus";
		font-size: 20px;
		line-height: 60px;
	}
}

/* header lang */
.p-header-lang__button {
	display: none;
}

@media (min-width: 1200px) {
	.p-header-lang {
		font-size: 14px;
		font-family: Arial !important;
	}

	.p-header-lang > ul {
		margin: 0;
	}

	.p-header-lang--type1 li {
		float: left;
		margin: 0 0 0 12px;
	}

	.p-header-lang--type1 li a {
		display: block;
		height: 70px;
		line-height: 70px;
		position: relative;
		overflow: hidden;
	}

	.p-header-lang--type1 .flag {
		border: 1px solid #ddd;
		border-radius: 100%;
		height: 20px;
		margin: 0 5px 0 0;
		vertical-align: middle;
		width: 20px;
	}

	.p-header-lang a.is-active-site {
		pointer-events: none;
	}

	.p-header-lang--type2 ul li {
		position: relative;
	}

	.p-header-lang--type2 ul ul {
		display: block;
		opacity: 0;
		visibility: hidden;
		width: auto;
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 1;
		-webkit-transition: all 0.2s ease-in;
		transition: all 0.2s ease-in;
	}

	.p-header-lang--type2 ul ul a {
		display: block;
		height: auto;
		line-height: 1.6;
		padding: 14px 25px;
		text-align: center;
	}

	.p-header-lang--type2 > ul > li > a {
		display: block;
		height: 70px;
		line-height: 70px;
		padding: 0 25px;
		background: none !important;
		position: relative;
		overflow: hidden;
	}

	.p-header-lang--type2 > ul > li:hover ul {
		opacity: 1;
		visibility: visible;
	}

	.p-header-lang--type2 .flag {
		border-radius: 100%;
		display: block;
		height: 20px;
		margin: auto;
		width: 20px;
		position: absolute;
		left: 25px;
		top: 0;
		bottom: 0;
	}

	.p-header-lang--type2 a.has_flag {
		padding-left: 55px;
	}
}

@media screen and (max-width: 1199px) {
	.p-header-lang__button {
		display: block;
		width: 60px;
		height: 60px;
		line-height: 60px;
		margin-left: auto;
		text-decoration: none;
		overflow: hidden;
		position: relative;
		text-align: center;
	}

	.p-header-lang__button span {
		display: block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}

	.p-header-lang__button:before {
		content: '\e942';
		font-family: 'design_plus';
		font-size: 18px;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.p-header-lang {
		display: none;
		position: absolute;
		top: 60px;
		left: -4.25%;
		right: -4.25%;
		z-index: 98;
	}

	.p-header-lang > ul {
		display: none;
		display: block;
		margin: 0;
		width: 100%;
	}

	.p-header-lang li {
		display: block;
	}

	.p-header-lang a {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		display: block;
		font-size: 14px;
		line-height: 1.6;
		margin: 0;
		padding: 13px 4.2372%;
		text-decoration: none;
	}

	.p-header-lang a.is-active-site {
		pointer-events: none;
	}

	.p-header-lang .flag {
		border-radius: 100%;
		height: 20px;
		margin: 0 5px 0 0;
		vertical-align: middle;
		width: 20px}

	.p-header-lang--type1 li:last-child a {
		border-bottom: none;
	}

	.p-header-lang--type2 ul ul li:last-child a {
		border-bottom: none;
	}
}

@media screen and (max-width: 991px) {
	.p-header-lang {
		left: -6.25%;
		right: -6.25%;
	}

	.p-header-lang a {
		padding: 13px 5.55556%;
	}
}

@media screen and (max-width: 767px) {
	.p-header-lang {
		left: 0;
		right: 0;
	}

	.p-header-lang a {
		padding: 13px 20px;
	}
}

/* header slider */
.p-header-slider {
	overflow: hidden;
}

.p-header-slider .slick-arrow {
	z-index: 1;
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-property: left, right;
	transition-property: left, right;
}

.p-header-slider .slick-arrow::before {
	font-family: "design_plus";
}

.p-header-slider .slick-prev {
	left: -20px;
}

.p-header-slider .slick-prev::before {
	content: "\e90f";
}

.p-header-slider .slick-next {
	right: -20px;
}

.p-header-slider .slick-next::before {
	content: "\e910";
}

.p-header-slider:hover .slick-prev {
	left: 30px;
}

.p-header-slider:hover .slick-next {
	right: 30px;
}

.p-header-slider.slick-dotted {
	margin-bottom: 0 !important;
}

.p-header-slider .slick-dots {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	position: absolute;
	bottom: 32px;
	left: 0;
	right: 0;
	z-index: 2;
}

.p-header-slider .slick-dots li {
	display: inline-block;
	margin: 0 5px;
	width: 10px;
	height: 10px;
}

.p-header-slider .slick-dots li button {
	background: #fff;
	border: none;
	border-radius: 50%;
	color: transparent;
	cursor: pointer;
	opacity: 1;
	overflow: hidden;
	padding: 0;
	width: 10px;
	height: 10px;
	-webkit-transition: background 0.3s ease;
	transition: background 0.3s ease;
}

.p-header-slider .slick-dots li button:before {
	content: none;
}

.p-header-slider .slick-dots li.slick-active button, .p-header-slider .slick-dots li:hover button {
	background-color: #ddd;
}

.p-header-slider__item {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.p-header-slider__item-img {
	height: 1000px;
	width: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.p-header-slider__item-img::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

#js-header-slider.loading-end .p-header-slider__item.slick-active .p-header-slider__item-img--type1 {
	-webkit-animation-name: zoom-in;
	animation-name: zoom-in;
}

#js-header-slider.loading-end .p-header-slider__item.slick-active .p-header-slider__item-img--type2 {
	-webkit-animation-name: zoom-out;
	animation-name: zoom-out;
}

@media (min-width: 1200px) {
	.p-header-slider__item-img {
		height: 1000px !important;
	}
}

@media screen and (max-width: 1199px) {
	.p-header-slider__item-img {
		height: calc(100vh - 60px);
	}
}

/* header video */
.p-header-video {
	position: relative;
	width: 100%;
	height: 1000px;
	overflow: hidden;
	background-color: #000;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.p-header-video video {
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
}

@media (min-width: 1200px) {
	.p-header-video {
		height: 1000px !important;
	}
}

@media screen and (max-width: 1199px) {
	.p-header-video {
		height: calc(100svh - 60px);
	}
}

/* header youtube */
.p-header-youtube {
	position: relative;
	width: 100%;
	height: 1000px;
	background-color: #000;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.p-header-youtube__player {
	position: absolute;
	width: 100%;
	height: 100%;
}

@media (min-width: 1200px) {
	.p-header-youtube {
		height: 1000px !important;
	}
}

@media screen and (max-width: 1199px) {
	.p-header-youtube {
		height: calc(100vh - 60px);
	}
}

/* headline */
.p-headline-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 20px;
}

.p-headline {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.31;
	margin-bottom: 0;
}

.p-headline .element-type1 {
	display: inline-block;
	margin: 0 4px 0 0;
	vertical-align: 2px;
}

.p-headline .element-type1 img {
	height: 20px;
}

.p-headline .element-type2 {
	width: 100%;
	margin-bottom: 10px;
}

.p-headline--type2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.p-headline--type2 .element-type2 {
	flex: 0 0 5px;
	height: auto;
	margin: 0 10px 0 0;
	width: 5px;
}

.p-headline__link {
	flex: 0 0 auto;
	font-size: 14px;
	margin-left: auto;
}

.p-headline__link::after {
	content: "\e910";
	font-family: "design_plus";
	padding-left: 0.5em;
}

.p-block02 {
	margin-bottom: 56px;
	text-align: center;
}

.p-block02__title {
	font-size: 32px;
	line-height: 1.2;
	margin: 0;
}

.p-block02 .element-type1, .p-block02 .element-type2 {
	margin-bottom: 10px;
	display: block;
}

@media screen and (max-width: 767px) {
	.p-headline-box {
		margin-bottom: 18px;
	}

	.p-headline {
		font-size: 16px;
	}

	.p-headline__link {
		font-size: 12px;
	}

	.p-block02 {
		margin-bottom: 20px;
	}

	.p-block02__title {
		font-size: 24px;
	}
}

/* Hover effect */
.p-hover-effect__bg {
	-webkit-transition: background 0.5s ease-in;
	transition: background 0.5s ease-in;
	overflow: hidden;
}

.p-hover-effect--type1,
.p-hover-effect--type2,
.p-hover-effect--type3 {
	overflow: hidden;
}

.p-hover-effect--type1 img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.p-hover-effect--type2:hover img {
	-webkit-transform: scale(1.3) translate3d(0, 0, 0) !important;
	transform: scale(1.3) translate3d(0, 0, 0) !important;
}

.p-hover-effect--type2 img {
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.p-hover-effect--type3 img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
}

/* history single */
.p-entry-history .p-entry__img {
	margin-bottom: 50px;
	position: relative;
}

.p-entry-history .p-entry__share {
	margin-bottom: 0;
	margin-top: 100px;
}

.p-entry-history .c-share--official {
	margin-bottom: 0;
	margin-top: 100px;
}

.p-entry-history .p-nav01 {
	margin-bottom: 0;
	margin-top: 100px;
}

@media (min-width: 768px) {
	.p-entry-history__inner {
		padding: 80px;
	}

	.p-entry-history .p-entry__category {
		left: 57px;
	}
}

@media screen and (max-width: 767px) {
	.p-entry-history .p-entry__img {
		margin: 0 -20px;
		width: auto;
	}

	.p-entry-history .p-entry__share {
		margin-bottom: 0;
		margin-top: 30px;
	}

	.p-entry-history .c-share--official {
		margin-bottom: 0;
		margin-top: 30px;
	}

	.p-entry-history .p-nav01 {
		margin-bottom: 0;
		margin-top: 40px;
	}
}

.p-history-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 -25px;
}

.p-history-info__col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	padding: 0 25px;
	-webkit-flex: 1 0 50%;
	-ms-flex: 1 0 50%;
	flex: 1 0 50%;
}

.p-history-info__col > * + * {
	margin-top: 50px;
}

.p-history-info__col-block {
	position: relative;
	background-color: #f4f2ef;
	min-height: 400px;
	padding: 60px 30px;
}
.p-history-info__col-block.horizontal {
	min-height: 300px;
}

.p-history-info__col-block .element-type1 {
	text-align: center;
	margin-bottom: 20px;
}

.p-history-info__col-block .element-type1 img {
	height: 20px;
}

.p-history-info__col-block .element-type2 {
	margin-bottom: 20px;
}

.p-history-info__col-title {
	margin: 0 auto;
	font-size: 30px;
	line-height: 1.3;
	text-align: start;
	white-space: nowrap;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
}
.p-content__horizontal .p-history-info__col-title {
	writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	text-align: center;
}

.p-history-info__col-desc {
	font-size: 16px;
	line-height: 2.3;
}

.p-history-info__col-desc p {
	margin: -0.65em 0;
}

.p-history-info__col-img {
	display: block;
	height: auto;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.p-history-info {
		display: block;
		margin: 0;
	}

	.p-history-info__col {
		width: 100%;
		padding: 0;
	}

	.p-history-info__col > * + *,
	.p-history-info__col + .p-history-info__col {
		margin-top: 30px;
	}

	.p-history-info__col-block {
		min-height: 260px;
		padding: 30px;
	}
	.p-history-info__col-block.horizontal{
		min-height: inherit;
		padding-bottom: 45px;
	}

	.p-history-info__col-title {
		font-size: 22px;
		line-height: 1.3;
	}

	.p-history-info__col-desc {
		font-size: 16px;
		line-height: 2;
	}

	.p-history-info__col-desc p {
		margin: -0.5em 0;
	}
}

/* history list */
.p-history-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}

.p-history-list__item {
	width: 33.3333%;
	position: relative;
}
.p-history-list__item::after {
	border-color: #dddddd;
	border-style: solid;
	border-width: 0 1px;
	content: "";
	pointer-events: none;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: -1;
}

.p-history-list__item>a>img {
	width: 100%;
	height: auto;
}

.p-history-btn {
	margin-top: 45px;
	text-align: center;
}

@media (min-width: 768px) {
	.p-history-list__item:nth-child(3n)::after, .p-history-list__item:nth-child(3n+2)::after {
		border-left: none;
	}

	.p-history-list__item:nth-last-child(-n+3)::after {
		border-bottom-width: 1px;
	}

	.p-history-related {
		margin-top: 100px;
	}
}

@media screen and (max-width: 767px) {
	body.post-type-archive-history .l-primary .p-history-list {
		margin-bottom: -40px;
	}
	.l-inner .p-history-list {
		margin-left: -20px;
		margin-right: -20px;
		width: auto;
	}

	.p-history-list__item {
		width: 50%;
	}

	.p-history-list__item::after {
		border-left: none;
	}

	.p-history-list__item:nth-child(even)::after {
		border-right: none;
	}

	.p-history-list__item:nth-last-child(-n+2)::after {
		border-bottom-width: 1px;
	}

	.p-history-list__item img {
		width: 100%;
	}

	.p-history-related {
		margin-top: 40px;
	}

	.p-history-related .p-history-list {
		margin-bottom: 0;
	}

	.p-history-btn {
		margin-top: 30px;
	}
}

/* index contents */
.p-index-contents__title {
	text-align: center;
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 54px;
}

.p-index-contents__desc {
	font-size: 16px;
	line-height: 2.3;
}

.p-index-contents__title + .p-index-contents__desc {
	margin-top: 50px;
}

.p-content__vertical .p-index-contents__title {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	line-height: 1.5;
	text-align: start;
	margin: 0 auto 58px;
	min-height: max-content;
}

.p-index-contents__button {
	margin-top: 60px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-index-contents__title {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 22px;
	}

	.p-content__vertical .p-index-contents__title {
		line-height: 1.3;
		margin-bottom: 24px;
	}

	.p-index-contents__button {
		margin-top: 40px;
	}
}

.p-index-content01__month {
	font-size: 24px;
	line-height: 1.6;
	margin-bottom: 20px;
	margin-top: -8px;
}

.p-index-content01 .p-article05__title {
	height: 2.8em;
}

.p-index-content02__text {
	text-align: center;
}

.p-index-content02__text--vertical {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
}

.p-index-content02__text--vertical .p-index-contents__title {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	font-size: 36px;
	margin: 0;
	line-height: 1.3;
	text-align: start;
}

.p-index-content02__text--vertical .p-index-contents__desc {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	margin: 0;
	text-align: start;
	line-height: 2.6;
}

.p-index-content02__text--vertical .p-index-contents__title + .p-index-contents__desc {
	margin-right: 25px;
	margin-top: 0;
}

.p-index-content02__text + .p-index-content02__images {
	margin-top: 100px;
}

.p-index-content02__images {
	display: flex;
}

.p-index-content02__image {
	flex: 1 1 100%;
}

.p-index-content02__image img {
	height: auto;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.p-index-content01__month {
		font-size: 18px;
		line-height: 1.6;
		margin-bottom: 10px;
		margin-top: -10px;
	}

	.p-index-content02__text--vertical {
		flex-direction: column;
	}

	.p-index-content02__text--vertical .p-index-contents__title {
		font-size: 24px;
		line-height: 1.3;
		margin: 0 auto;
	}

	.p-index-content02__text--vertical .p-index-contents__desc {
		writing-mode: horizontal-tb;
		line-height: 2;
		text-align: center;
		margin: 0;
	}

	.p-index-content02__text--vertical .p-index-contents__title + .p-index-contents__desc {
		margin-right: 0;
		margin-top: 30px;
	}

	.p-index-content02__text + .p-index-content02__images {
		margin-top: 32px;
	}
}

.p-index-content04 {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 560px;
	overflow: hidden;
}

.p-index-content04::before {
	display: block;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.p-index-content04__video-player, .p-index-content04__youtube-player {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-index-content04__inner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
}

.p-index-content04__contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	padding-bottom: 60px;
	padding-top: 60px;
	text-align: center;
}

.p-index-content04__title {
	margin: 0;
	color: #fff;
	font-size: 36px;
	line-height: 1.5;
}

.p-index-content04__title + .p-index-content04__button {
	margin: 36px 0 0 0;
}

.p-index-content04__contents--vertical {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.3;
	max-height: 100%;
	padding: 60px 0;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}

.p-index-content04__contents--vertical .p-index-content04__title {
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: start;
	margin: 0;
}

.p-index-content04__contents--vertical .p-index-content04__title + .p-index-content04__button {
	margin-right: 34px;
	margin-top: 0;
}

@media screen and (max-width: 991px) {
	.p-index-content04 {
		height: 320px;
	}
}

@media screen and (max-width: 767px) {
	.p-index-content04__contents, .p-index-content04__contents--vertical {
		padding-bottom: 30px;
		padding-top: 30px;
	}

	.p-index-content04__title {
		font-size: 24px;
	}

	.p-index-content04__contents--vertical .p-index-content04__title + .p-index-content04__button {
		margin-right: 17px;
		margin-top: 0;
	}
}

.p-index-content06 .p-blog-list {
	margin-bottom: -4px;
}

/* info */
.p-info {
	padding-bottom: 60px;
	padding-top: 60px;
	border-bottom: 1px solid #ddd;
	text-align: center;
}

.p-info__inner > *:last-child {
	margin-bottom: 0;
}

.p-info__logo {
	display: inline-block;
	margin-bottom: 53px;
}

.p-info__logo a {
	color: inherit;
}

.p-info__logo a img {
	height: auto;
	max-width: 100%;
}

.p-info__address {
	font-size: 16px;
	margin-bottom: 20px;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.p-info {
		padding: 40px 0;
	}

	.p-info__logo {
		margin-bottom: 35px;
	}

	.p-info__logo a img {
		width: 100px;
		height: auto;
	}

	.p-info__address {
		font-size: 14px;
		margin-bottom: 10px;
	}
}

/* logoset */
.p-logoset {
	opacity: 0;
	width: 180px;
	border: solid 1px #fff;
	padding: 50px 20px;
	position: absolute;
	top: -1px;
	left: 0;
}

.p-logoset > h1 {
	display: block;
	position: relative;
	margin: 0;
	text-align: center;
}

.p-logoset > h1 > a {
	margin: auto;
}

.p-logoset img {
	display: block;
	height: auto;
	margin: auto;
	max-width: 100%;
}

.p-logoset__desc {
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
	margin: 30px 0 0 0;
}

.p-logoset__desc span {
	display: block;
}

@media only screen and (max-width: 1199px) {
	.p-logoset {
		z-index: 1;
		padding: 20px;
		position: absolute;
		top: 59px;
		left: 50%;
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}

	.p-logoset__desc {
		font-size: 12px;
		line-height: 1.6;
		margin-top: 20px;
	}
}

@media only screen and (max-width: 767px) {
	.p-logoset {
		z-index: 1;
		width: 150px;
		padding: 20px;
	}

	.p-logoset__desc {
		font-size: 12px;
		font-weight: 700;
		line-height: 1.8;
		margin-top: 20px;
	}
}

/* megamenu */
@media (min-width: 1200px) {
	.p-global-nav .p-has-megamenu > .sub-menu {
		display: none !important;
	}

	.p-megamenu01,
	.p-megamenu02 {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
		z-index: -1;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		-webkit-transition-property: opacity, visibility;
		-webkit-transition-duration: 0.2s;
		-webkit-transition-timing-function: ease-out;
		transition-property: opacity, visibility;
		transition-duration: 0.2s;
		transition-timing-function: ease-out;
	}

	.p-megamenu01:hover, .p-megamenu01.is-active,
	.p-megamenu02:hover, .p-megamenu02.is-active {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
		z-index: 999;
	}

	.p-megamenu01 {
		background: #222;
	}

	.p-megamenu01__list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-bottom: 0;
		padding: 15px 0;
	}

	.p-megamenu01__list-item {
		margin: 15px 15px 0 0;
		width: 31%;
		width: calc((100% - 30px) / 3 - 0.01px);
	}

	.p-megamenu01__list-item:nth-child(3n) {
		margin-right: 0;
	}

	.p-megamenu01__list-item:nth-child(-n+3) {
		margin-top: 0;
	}

	.p-megamenu01__list-item__inner {
		padding-top: 62.1333%;
		position: relative;
	}

	.p-megamenu01__list-item a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
	}

	.p-megamenu01__list-item__title {
		color: #fff;
		display: block;
		font-size: 20px;
		line-height: 1.7;
		padding: 18px 13px;
		text-align: start;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: relative;
		z-index: 2;
	}

	.p-has-image .p-megamenu01__list-item__title {
		background: -webkit-linear-gradient(top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
		height: 90%;
		min-width: 60px;
	}

	.p-megamenu01__list-item__image {
		height: 100% !important;
		object-fit: cover;
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}

	.p-megamenu02__cat-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 60px;
		margin-bottom: 0;
		position: relative;
	}

	.p-megamenu02__cat-list-item {
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
	}

	.p-megamenu02__cat-list-item > a {
		background: #222;
		color: #fff;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		font-size: 16px;
		height: 100%;
		line-height: 1.6;
		padding: 0 0.5em;
		width: 100%;
	}

	.p-megamenu02__cat-list-item.is-active > a, .p-megamenu02__cat-list-item > a:hover {
		background: #f4f2ef;
		color: #000;
	}

	.p-megamenu02__cat-list-item > a span {
		display: block;
		max-height: 3.2em;
	}

	.p-megamenu02__blog-list {
		background: #f4f2ef;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-bottom: 0;
		opacity: 0;
		padding: 20px;
		visibility: hidden;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: -1;
		-webkit-transition-property: opacity, visibility;
		-webkit-transition-duration: 0.2s;
		-webkit-transition-timing-function: ease-out;
		transition-property: opacity, visibility;
		transition-duration: 0.2s;
		transition-timing-function: ease-out;
	}

	.p-megamenu02:hover .p-megamenu02__cat-list-item.is-active .p-megamenu02__blog-list,
.p-megamenu02.is-active .p-megamenu02__cat-list-item.is-active .p-megamenu02__blog-list {
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}

	.p-megamenu02__blog-list-item {
		background: #fff;
		margin: 20px 18px 0 0;
		width: 31%;
		width: calc((100% - 36px) / 3);
	}

	.p-megamenu02__blog-list-item:nth-child(3n) {
		margin-right: 0;
	}

	.p-megamenu02__blog-list-item:nth-child(-n+3) {
		margin-top: 0;
	}

	.p-megamenu02__blog-list-item a {
		display: block;
		height: 132px;
		overflow: hidden;
		padding: 16px 16px 16px 132px;
		position: relative;
	}

	.p-megamenu02__blog-list-item__image {
		display: block;
		overflow: hidden;
		padding-top: 100px;
		width: 100px;
		position: absolute;
		left: 16px;
		top: 16px;
	}

	.p-megamenu02__blog-list-item__image img {
		height: 100%;
		object-fit: cover;
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}

	.p-megamenu02__blog-list-item__date {
		display: block;
		font-size: 12px;
		line-height: 1.4;
		margin-bottom: 5px;
	}

	.p-megamenu02__blog-list-item__title {
		display: block;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.6;
		max-height: 4.8em;
		overflow: hidden;
	}
}

@media screen and (max-width: 1199px) {
	.p-megamenu01, .p-megamenu02 {
		display: none !important;
	}
}

/* menu button */
.p-menu-btn {
	border: none;
	background: transparent;
	width: 60px;
	height: 60px;
	line-height: 60px;
	padding: 0;
	margin: 0 -20px 0 0;
	-webkit-order: 2;
	-ms-order: 2;
	order: 2;
}

.p-menu-btn:focus {
	outline: none;
}

.p-nav01 {
	margin-bottom: 50px;
	margin-top: 50px;
}

.p-nav01__item {
	height: 120px;
	background: #f6f6f6;
	line-height: 1.6;
}

.p-nav01__item:empty {
	border: 0;
	background: transparent;
}

.p-nav01__item:empty::before, .p-nav01__item:empty::after {
	content: "";
}

.p-nav01__item a:hover, .p-nav01__item--prev:hover::before, .p-nav01__item--next:hover::after {
	color: #999;
}

.p-nav01__item--prev::before {
	left: 8%;
	content: "\e90f";
}

.p-nav01__item--prev a {
	padding: 0 11.4% 0 17.2%;
}

.p-nav01__item--next::after {
	right: 8%;
	content: "\e910";
}

.p-nav01__item--next a {
	padding: 0 17.2% 0 11.4%;
}

.p-nav01__item span {
	display: block;
	max-height: 4.8em;
	overflow: hidden;
}

@media (min-width: 992px) {
	.p-nav01__item.history {
		width: 50%;
		height: 120px;
		background: #fff;
		font-size: 16px;
		line-height: 1.5;
		position: relative;
	}

	.p-nav01__item.history a {
		border: 1px solid #ddd;
	}

	.p-nav01__item.history .p-nav01__item-img {
		width: 37%;
		height: 100%;
		position: absolute;
		top: 0;
	}

	.p-nav01__item.history .p-nav01__item-img img {
		width: 100%;
		height: 100%;
		object-fit: 100%;
	}

	.p-nav01__item--prev.history {
		margin-right: 0;
	}

	.p-nav01__item--prev.history::before {
		left: 43.25%;
	}

	.p-nav01__item--prev.history a {
		padding: 0 8% 0 50%;
	}

	.p-nav01__item--prev.history .p-nav01__item-img {
		left: 0;
	}

	.p-nav01__item--next.history {
		margin-left: 0;
	}

	.p-nav01__item--next.history:only-child {
		margin-left: auto;
	}

	.p-nav01__item--next.history::after {
		right: 43.25%;
	}

	.p-nav01__item--next.history a {
		padding: 0 50% 0 8%;
	}

	.p-nav01__item--prev + .p-nav01__item--next.history a {
		border-left: none;
	}

	.p-nav01__item--next.history .p-nav01__item-img {
		right: 0;
	}
}

@media (max-width: 991px) {
	.p-nav01 {
		margin-bottom: 30px;
		margin-top: 30px;
	}

	.p-nav01__item {
		background-color: #ffffff;
		height: 50px;
	}

	.p-nav01__item span {
		display: none;
	}

	.p-nav01__item--prev + .p-nav01__item--next {
		border-left-width: 0;
	}

	.p-nav01__item--prev:empty + .p-nav01__item--next {
		border-left-width: 1px;
	}

	.p-nav01__item.history .p-nav01__item-img {
		display: none;
	}

	.p-nav01__item--next:only-child {
		margin-left: auto;
	}
}

/* News List */
.p-news-list {
}

.p-news-list ul {
	margin: 0;
	padding: 0;
}

.p-news-list ul li {
	margin: 20px 20px 0 0;
	padding: 0;
	float: left;
	width: 48.5%;
	width: calc(50% - 10px);
	list-style: none;
}

.p-news-list ul li:nth-child(-n+2) {
	margin-top: 0;
}

.p-news-list ul li:nth-child(2n) {
	margin-right: 0;
}

.p-news-list ul li a {
	display: block;
	height: 130px;
	background: #f6f6f6;
	overflow: hidden;
	position: relative;
}

.p-news-list ul li .info {
	padding: 0 40px;
	line-height: 1.7;
	color: #000;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	-webkit-transform: translate3d(0, -50%, 0);
	-moz-transform: translate3d(0, -50%, 0);
	-ms-transform: translate3d(0, -50%, 0);
	-o-transform: translate3d(0, -50%, 0);
	transform: translate3d(0, -50%, 0);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.p-news-list ul li .info time {
	display: block;
	font-size: 12px;
	margin-top: -4px;
}

.p-news-list__title {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	max-height: 4.8em;
	overflow: hidden;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

.p-news-list a:hover .p-news-list__title {
	color: #999;
}

.p-news-list ul li.has_image .image {
	display: block;
	float: left;
	width: 100px;
	height: 100px;
	overflow: hidden;
	position: relative;
	margin: 15px;
}

.p-news-list ul li.has_image .image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-news-list ul li.has_image .info {
	left: 115px;
}

.p-news-latest .p-news-list ul li,
.p-news-latest .p-news-list ul li:nth-child(-n+2) {
	width: 100%;
	margin-top: 10px;
	margin-right: 0;
}

.p-news-latest .p-news-list ul li:first-child {
	margin-top: 0;
}

.p-news-latest .p-news-list ul li a {
	height: 100px;
}

.p-news-latest .p-news-list ul li a .info {
	padding: 0 30px;
}

.p-news-latest .p-news-list__title {
	max-height: 3.2em;
}

@media screen and (max-width: 767px) {
	.p-news-list ul li {
		margin: 10px 0 0 0 !important;
		width: 100%;
	}

	.p-news-list ul li:first-child {
		margin-top: 0 !important;
	}

	.p-news-list ul li .info {
		padding: 0 20px;
	}

	.p-news-list__title {
		font-size: 14px;
	}

	.p-news-latest .p-news-list ul li a .info {
		padding: 0 20px;
	}
}

/* page header */
.p-page-header {
	position: relative;
	height: 560px;
	overflow: hidden;
}

.p-page-header::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.p-page-header.is-active .p-page-header__img--type1 img {
	-webkit-animation-name: zoom-in;
	animation-name: zoom-in;
}

.p-page-header.is-active .p-page-header__img--type2 img {
	-webkit-animation-name: zoom-out;
	animation-name: zoom-out;
}

.p-page-header__title {
	display: none;
	color: #fff;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 0;
}

.p-page-header__desc {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}

.p-page-header__title + .p-page-header__desc {
	margin-top: 30px;
}

.p-page-header__title--vertical span, .p-page-header__desc--vertical span {
	margin: 0 auto;
	min-width: 0;
	text-align: start;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.p-page-header__img {
	z-index: -1;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.p-page-header__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.p-page-header__inner {
	max-height: 100%;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align: center;
}

@media screen and (max-width: 991px) {
	.p-page-header {
		height: 420px;
	}
}

@media screen and (max-width: 767px) {
	.p-page-header {
		height: 260px;
	}

	.single .p-page-header {
		margin-bottom: 0;
	}

	.p-page-header__title {
		font-size: 24px;
	}

	.p-page-header__img.is-active img {
		-webkit-transform: none;
		transform: none;
	}
}

/* page links */
.p-page-links {
	font-size: 14px;
	margin-bottom: 50px;
	text-align: center;
}

.p-page-links a {
	background: #000;
	color: #fff !important;
	display: inline-block;
}

.p-page-links a:hover {
	color: #fff !important;
}

.p-page-links span {
	display: inline-block;
	line-height: 40px;
	text-align: center;
	width: 40px;
	height: 40px;
	transition: background 0.2s ease;
}

.p-page-links > span {
	color: #fff;
}

.p-page-links .p-page-links__title {
	background: transparent;
	color: #000;
	text-align: left;
	width: auto;
	height: auto;
}

@media only screen and (max-width: 767px) {
	.p-page-links { margin-bottom: 40px; }
}

/* pager */
.p-pager {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	margin-bottom: -14px;
	margin-top: 48px;
}

.p-pager__item {
	margin-right: 3px;
	margin-bottom: 3px;
	font-size: 24px;
}

.p-pager__item a, .p-pager__item span {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
}

.p-pager__item a:hover, .p-pager__item .current {
	color: #d90000;
}

@media screen and (max-width: 767px) {
	.p-pager {
		margin-bottom: -16px;
		margin-top: 24px;
	}

	.p-pager__item {
		font-size: 16px;
	}
	body.post-type-archive-history .l-primary .p-history-list + .p-pager{
		margin-top: 60px;
	}
}

/* page top button */
.p-pagetop {
	z-index: 99;
	position: fixed;
	right: 0;
	bottom: 0;
	width: 60px;
	height: 60px;
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
	border: 0;
	outline: none;
	color: #fff;
	background-color: #d90000;
	cursor: pointer;
	opacity: 0;
	-webkit-transition: background 0.2s, opacity 0.35s, -webkit-transform 0.35s;
	transition: background 0.2s, opacity 0.35s, -webkit-transform 0.35s;
	transition: background 0.2s, opacity 0.35s, transform 0.35s;
	transition: background 0.2s, opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
}

.p-pagetop.is-active {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

.p-pagetop::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 12px;
	height: 12px;
	margin: auto;
	font-family: "design_plus";
	font-size: 12px;
	content: "\e911";
}

@media screen and (max-width: 767px) {
	.p-pagetop {
		width: 50px;
		height: 50px;
	}
}

/* sanpai page */
.p-sanpai{
}

.p-sanpai .element-type1 {
	text-align: center;
	margin-bottom: 15px;
}

.p-sanpai .element-type2 {
	margin-bottom: 15px;
}

.p-sanpai__images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-sanpai__image {
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
}

.p-sanpai__image img {
	display: block;
	height: auto;
	width: 100%;
}

.p-sanpai-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-sanpai-box .p-sanpai-info {
	padding: 50px 78px;
}

.p-sanpai-info__col {
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
	margin-right: 50px;
}

.p-sanpai-info__col:last-child {
	margin-right: 0;
}

.p-sanpai-info__col-desc {
	font-size: 16px;
	line-height: 2.3;
}

.p-sanpai-table {
	width: 100%;
}

.p-sanpai-table > tbody > tr {
	border: solid 1px #dddddd;
}

.p-sanpai-table > tbody > tr > th {
	background-color: #f7f7f7;
	width: 230px;
}

.p-sanpai-table.table01 > tbody > tr > td {
	padding: 28px 45px;
	border: solid 1px #dddddd;
	line-height: 2.3;
}

.p-sanpai-table.table01 > tbody > tr > td:nth-child(3n) {
	width: 230px;
	border-left: solid 1px #dddddd;
}

.p-sanpai-table.table02 {
	margin-bottom: 0;
}

.p-sanpai-table.table02 > tbody > tr > th, .p-sanpai-table.table02 > tbody > tr > td.narrow {
	border-right: solid 1px #dddddd;
}

.p-sanpai-table.table02 > tbody > tr > td {
	padding: 20px 35px;
}

.p-sanpai-table.table02 > tbody > tr td:first-child {
	width: 175px;
}

@media screen and (min-width: 768px) {
	.p-sanpai-box {
		border: solid 1px #dddddd;
		margin-bottom: 50px;
	}

	.p-sanpai-table {
		margin-top: -1px;
		width: 100%;
	}

}

@media screen and (max-width: 767px) {
	.p-sanpai__images {
		display: flex;
	}

	.p-sanpai-info {
		display: block;
	}

	.p-sanpai-box .p-sanpai-info {
		padding: 25px 0 0;
	}

	.p-sanpai-info__col {
		margin-right: 0;
	}

	.p-sanpai-info__col:first-child {
		margin-bottom: 35px;
	}

	.p-sanpai-info__col-desc {
		font-size: 14px;
		line-height: 2;
	}

	.p-sanpai-table > tbody > tr > th {
		background-color: #f7f7f7;
		width: 230px;
	}

	.p-sanpai-table > tbody > tr > td {
		font-size: 14px;
		line-height: 2.3;
	}

	.p-sanpai-table.table01 > tbody > tr > td {
		padding: 15px 10px;
		border: solid 1px #dddddd;
		line-height: 1.8;
	}

	.p-sanpai-table.table01 > tbody > tr > th {
		width: 84px;
		border-left: solid 1px #dddddd;
		font-size: 14px;
	}

	.p-sanpai-table.table01 > tbody > tr > td:nth-child(2n) {
		border-left: solid 1px #dddddd;
	}

	.p-sanpai-table.table01 > tbody > tr > td:nth-child(3n) {
		width: 84px;
		border-left: solid 1px #dddddd;
	}

	.p-sanpai-table.table02 {
		margin-bottom: 0;
	}

	.p-sanpai-table.table02 > tbody > tr > td {
		padding: 12px;
	}

	.p-sanpai-table.table02 > tbody > tr > th {
		width: 80px;
	}

	.p-sanpai-table.table02 > tbody > tr > td.narrow {
		width: 55px;
	}
}

/* Schedule header */
.p-schedule-archive {
	margin-top: -60px;
}

.p-schedule-header {
	margin-bottom: 0;
	padding: 60px 0 48px;
}

.p-schedule-header--sticky.is-active {
	background: rgba(255, 255, 255, 1);
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 10;
}

.p-schedule-header--sticky.is-animation {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translate3d(0, -100%, 0);
	transform: translate3d(0, -100%, 0);
	-webkit-transition-property: -webkit-transform, transform, opacity, visibility;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	transition-property: transform, opacity, visibility;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
}

.p-schedule-header--sticky.is-animation.is-active {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.p-schedule-header .p-archive-header {
	margin-bottom: 0;
}

.p-schedule__anchors {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
}

.p-archive-header + .p-schedule__anchors {
	margin-top: 46px;
}

.p-schedule__anchors li {
	font-size: 24px;
	line-height: 40px;
	margin-bottom: 3px;
	text-align: center;
}

.p-schedule__anchors li a {
	padding: 0 15px;
}

.p-schedule__anchors li a:hover,
.p-schedule__anchors li.is-active a {
	color: #d90000;
}

@media screen and (max-width: 767px) {
	.p-schedule-archive {
		margin-top: -20px;
	}

	.p-schedule-header {
		margin-left: -20px;
		margin-right: -20px;
		padding: 20px;
	}

	.p-archive-header + .p-schedule__anchors {
		margin-top: 18px;
	}

	.p-schedule__anchors {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		margin-right: -10px;
	}

	.p-schedule__anchors li {
		font-size: 16px;
		line-height: 1.6;
		margin-right: 10px;
	}

	.p-schedule__anchors li a {
		padding: 0;
	}

	.p-schedule__months {
		margin-right: 0;
	}

	.p-schedule__months li {
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
	}

	.p-schedule__months li:nth-child(n+7) {
		-webkit-order: 3;
		-ms-order: 3;
		order: 3;
	}

	.p-schedule__months::after {
		content: "";
		order: 2;
		width: 100%;
	}

	.p-schedule__months li a {
		display: block;
	}

	.p-schedule__months li:nth-child(-n+9) {
		padding-left: 0.5em;
	}
}

/* Schedule list */
.p-schedule-list {
}

.p-schedule-list + .p-schedule-list {
	margin-top: 58px;
}

.p-schedule__month {
	font-size: 32px;
}

.p-schedule__month--type1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.p-schedule__month--type1 .element-type1 {
	height: auto;
	margin-right: 10px;
}

.p-schedule__month--type1 .element-type1 img {
	display: block;
	height: 20px;
}

.p-schedule__month--type2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.p-schedule__month--type2 .element-type2 {
	flex: 0 0 5px;
	height: auto;
	margin: 0 10px 0 0;
	width: 5px;
}

.p-schedule-list__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 30px;
}

.p-schedule-list__item {
	width: 24%;
	margin-right: 1.333%;
	margin-top: 10px;
	border: 1px solid #ddd;
}

.p-schedule-btn {
	margin-top: 60px;
	text-align: center;
}

@media (min-width: 768px) {
	.p-schedule-list__item:nth-child(-n+4) {
		margin-top: 0;
	}

	.p-schedule-list__item:nth-child(4n) {
		margin-right: 0;
	}
}

@media screen and (max-width: 767px) {
	.p-schedule-list + .p-schedule-list {
		margin-top: 38px;
	}

	.p-schedule__month {
		font-size: 18px;
		line-height: 1.6;
	}

	.p-schedule-list__inner {
		margin-top: 7px;
	}

	.p-schedule-list__item {
		width: 49%;
		margin-top: 8px;
		margin-right: 2%;
	}

	.p-schedule-list__item:nth-child(-n+2) {
		margin-top: 0;
	}

	.p-schedule-list__item:nth-child(2n) {
		margin-right: 0;
	}

	.p-schedule-btn {
		margin-top: 40px;
	}
}

/* Schedule carousel */
.p-schedule-carousel {
	margin-right: -10px;
}

.p-schedule-carousel:not(.slick-initialized) .p-schedule-carousel__item:nth-child(n+5) {
	display: none;
}

.p-schedule-carousel__item {
	border: 1px solid #ddd;
	width: 22%;
	margin-right: 10px;
}

.p-schedule-carousel .slick-prev, .p-schedule-carousel .slick-next {
	height: 40px;
	width: 40px;
	top: 35%;
}

.p-schedule-carousel .slick-prev::before, .p-schedule-carousel .slick-next::before {
	color: #000;
	font-family: "design_plus";
	font-size: 20px;
}

.p-schedule-carousel .slick-prev {
	left: -45px;
}

.p-schedule-carousel .slick-prev::before {
	content: "\e90f";
}

.p-schedule-carousel .slick-next {
	right: -35px;
}

.p-schedule-carousel .slick-next::before {
	content: "\e910";
}

/* schedule single*/
.p-entry-schedule {
	background-color: #f4f2ef;
	border: none;
}

.p-entry-schedule__date {
	font-size: 14px;
	margin-top: 10px;
	margin-bottom: 0;
	text-align: center;
}

.p-entry-schedule .p-entry__body {
	margin-bottom: 0;
}

.p-entry-schedule .p-entry__share {
	margin-top: 50px;
	margin-bottom: 0;
}

.p-entry-schedule .c-share--official {
	margin-top: 50px;
	margin-bottom: 0;
}

.p-schedule-related {
	margin-top: 100px;
}

@media (min-width: 768px) {
	.p-entry-schedule__inner {
		padding: 80px;
	}
}

@media screen and (max-width: 767px) {
	.p-entry-schedule__inner {
		margin-top: 0;
		padding: 40px 20px 30px ;
	}

	.p-entry-schedule__date {
		margin-top: 7px;
	}

	.p-entry-schedule .p-entry__share {
		margin-top: 21px;
		margin-bottom: -4px;
	}

	.p-entry-schedule .c-share--official {
		margin-top: 21px;
		margin-bottom: -4px;
	}

	.p-schedule-related {
		margin-top: 40px;
	}
}

/* shinzen page */
.p-shinzen {
	margin-bottom: 0;
}

.p-shinzen .element-type1 {
	text-align: center;
	margin-bottom: 15px;
}

.p-shinzen .element-type2 {
	margin-bottom: 15px;
}

.p-shinzen-info {
	font-size: 16px;
	line-height: 2.3;
	margin: auto;
	margin-top: -10px;
	max-width: 825px;
	text-align: left;
}

.p-shinzen-info__btn {
	background-color: #f7f7f7;
	border: solid 1px #dddddd;
	margin: 50px auto 60px;
	max-width: 825px;
	padding: 25px 0;
}

.p-shinzen-image img {
	display: block;
	height: auto;
	width: 100%;
}

.p-shinzen__images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-shinzen__image {
	-webkit-flex: 1 1 100%;
	flex: 1 1 100%;
}

.p-shinzen__image img {
	display: block;
	height: auto;
	width: 100%;
}

.p-shinzen-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 60px;
}

.p-shinzen-table > tbody > tr {
	border: solid 1px #dddddd;
}

.p-shinzen-table > tbody > tr > th {
	border-right: solid 1px #dddddd;
	background-color: #f7f7f7;
	padding: 30px 52px;
	width: 400px;
	font-size: 24px;
	line-height: 1.5;
	text-align: left;
}

.p-shinzen-table > tbody > tr > th > small {
	font-size: 14px;
}

.p-shinzen-table > tbody > tr > td {
	line-height: 2.3;
	padding: 30px 57px;
}

.p-shinzen-table p {
	margin: 0;
}

.p-shinzen-table p + p {
	margin-top: 2.3em;
}

.p-shinzen-slider {
	margin-bottom: 100px !important;
	padding-bottom: 55px;
}

.p-shinzen-slider:not(.slick-initialized) .p-shinzen-slider__item:nth-child(n+2) {
	display: none;
}

.p-shinzen-slider__item img {
	display: block;
	height: auto;
	width: 100%;
}

.p-shinzen-slider .slick-dots {
	bottom: 0;
}

.p-shinzen-slider .slick-dots li {
	height: 5px;
	margin: 0 2.5px;
	width: 40px;
}

.p-shinzen-slider .slick-dots li button {
	background: #ddd;
	height: 5px;
	padding: 0;
	width: 40px;
	-webkit-transition: background 0.2s ease;
	transition: background 0.2s ease;
}

.p-shinzen-slider .slick-dots li button::before {
	display: none;
}

.p-shinzen-slider .slick-dots li button:hover, .p-shinzen-slider .slick-dots li.slick-active button {
	background: #d80100;
}

.p-shinzen-slider .slick-prev, .p-shinzen-slider .slick-next {
	height: 40px;
	width: 40px;
	z-index: 1;
}

.p-shinzen-slider .slick-prev::before, .p-shinzen-slider .slick-next::before {
	color: #fff;
	font-family: "design_plus";
	font-size: 20px;
	opacity: 1;
}

.p-shinzen-slider .slick-prev {
	left: 0;
}

.p-shinzen-slider .slick-prev::before {
	content: "\e90f";
}

.p-shinzen-slider .slick-next {
	right: 0;
}

.p-shinzen-slider .slick-next::before {
	content: "\e910";
}

@media screen and (max-width: 767px) {
	.p-shinzen {
		margin-bottom: 40px;
	}

	.p-shinzen-info {
		font-size: 14px;
		line-height: 2;
		margin: 40px 0;
		max-width: 100%;
	}

	.p-shinzen-info__btn {
		margin: 25px auto 0;
		padding: 17px 0;
	}


	.p-shinzen__images {
		display: flex;
		margin: -20px 0 20px;
	}

	.p-shinzen-table {
		margin-bottom: 40px;
	}

	.p-shinzen-table > tbody > tr > th {
		text-align: center;
		width: 130px;
		padding: 15px 0;
		font-size: 16px;
	}

	.p-shinzen-table > tbody > tr > th > small {
		font-size: 12px;
	}

	.p-shinzen-table > tbody > tr > td {
		font-size: 14px;
		padding: 15px 20px;
		line-height: 1.8;
	}

	.p-shinzen-slider {
		margin-bottom: 40px !important;
		padding-bottom: 25px;
	}
}

/* social nav */
.p-social-nav {
	margin-bottom: 0;
}

.p-social-nav__item {
	display: inline;
	margin-right: 12px;
	font-family: "design_plus";
	font-size: 14px;
}

.p-social-nav__item a:hover {
	color: #999;
}

.p-social-nav__item:last-child {
	margin-right: 0;
}

.p-social-nav__item--url a::before {
	content: "\e942";
}

.p-social-nav__item--twitter a::before {
	font-family: 'tiktok_x_icon'; content: "\e901";
}

.p-social-nav__item--facebook a::before {
	font-family: 'tiktok_x_icon'; content: "\e902";
}

.p-social-nav__item--instagram a::before {
	content: "\ea92";
}

.p-social-nav__item--tiktok a::before {
	font-family: 'tiktok_x_icon'; content: "\e900";
}

.p-social-nav__item--pinterest a::before {
	content: "\e905";
}

.p-social-nav__item--youtube a::before {
	font-family: 'footer_bar'; content: "\ea9d";
}

.p-social-nav__item--mail a::before,
.p-social-nav__item--contact a::before {
	content: "\f0e0";
}

.p-social-nav__item--rss a::before {
	content: "\e90b";
}

.color_type2 li.p-social-nav__item--twitter a:before { color:#000; }
.color_type2 li.p-social-nav__item--tiktok a:before { color:#000;  }
.color_type2 li.p-social-nav__item--facebook a:before { color:#1877f2;  }
.color_type2 li.p-social-nav__item--instagram a:before { color:#e4405f; }
.color_type2 li.p-social-nav__item--pinterest a:before { color:#bd081c; }
.color_type2 li.p-social-nav__item--youtube a:before { color:#f00;  }
.color_type2 li.p-social-nav__item--mail a:before { color:#00729f;  }
.color_type2 li.p-social-nav__item--rss a:before { color:orange;  }
.color_type2 li a:before { -webkit-transition: opacity 0.4s ease; transition: opacity 0.4s ease; }
.color_type2 li a:hover:before { opacity:0.5; }

/* Three Box Content */
.p-three-box {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding-top: 100px;
	margin-bottom: 60px;
}

.p-three-box__item {
	width: 33.333%;
}

.p-vertical__content {
	display: flex;
}

@media screen and (max-width: 767px) {
	.p-three-box {
		padding-top: 0;
		margin-bottom: 40px;
	}

	.p-three-box__img img {
		width: 100%;
	}
}

/* 404 */
body.error404 .p-breadcrumb {
	margin: 0;
}

body.error404 .p-archive-header {
	margin: 100px 0;
}

@media screen and (max-width: 767px) {
	body.error404 .p-archive-header {
		margin: 50px 0;
	}
}

/* Widget */
.p-widget {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 50px;
}

.p-widget:last-child {
	border-bottom: 0;
}

/* Widget title */
.p-widget__title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 20px;
	position: relative;
	text-align: left;
}

.p-widget__title--type1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.p-widget__title .element-type1 {
	-webkit-flex: 0 0 20px;
	-ms-flex: 0 0 20px;
	flex: 0 0 20px;
	display: inline-block;
	height: 20px;
	margin-right: 8px;
	width: 20px;
}

.p-widget__title .element-type1 img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.p-widget__title--type2 span {
	border-left: 5px solid #d90000;
	padding-left: 8px;
}

@media only screen and (max-width: 767px) {
	.p-widget {
		margin-bottom: 40px;
	}

	.p-widget__title {
		margin-bottom: 20px;
	}

	.p-widget__title {
		font-size: 16px;
	}
}

/* default widget */
.p-widget p {
	margin-bottom: 0.4em;
}

.p-widget ul {
	margin-bottom: -0.4em;
}

.p-widget li {
	margin-bottom: 0.4em;
}

.p-widget ul ul {
	margin-bottom: 0.4em;
	margin-top: 0.4em;
	padding-left: 0.75em;
}

.p-widget img {
	height: auto;
	max-width: 100%;
}

.p-widget select {
	display: block;
	padding: 16px 12px;
	width: 100%;
}

.p-widget .screen-reader-text {
	display: none;
}

.p-widget .calendar_wrap {
	text-align: center;
}

.p-widget .calendar_wrap caption {
	margin-bottom: 20px;
}

.p-widget .calendar_wrap tbody {
	line-height: 1.8;
	margin-bottom: 20px;
}

.p-widget .calendar_wrap tfoot {
	line-height: 1.8;
}

.p-widget .searchform {
	position: relative;
}

.p-widget .searchform #s {
	background: #fff;
	border: 1px solid #ddd;
	border-right: none;
	border-radius: 0;
	box-sizing: border-box;
	height: 50px;
	line-height: 50px;
	padding: 0 15px;
	width: -webkit-calc(100% - 50px);
	width: calc(100% - 50px);
	-webkit-appearance: none;
}

.p-widget .searchform #searchsubmit {
	background: #fff;
	border: 1px solid #ddd;
	border-left: none;
	border-radius: 0;
	box-sizing: border-box;
	color: #000;
	cursor: pointer;
	font-family: "design_plus";
	font-size: 18px;
	height: 50px;
	padding: 0;
	width: 50px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

@media only screen and (max-width: 767px) {
	.p-widget ul {
		margin-bottom: -5px;
	}

	.p-widget li {
		margin-bottom: 5px;
	}

	.p-widget ul ul {
		margin-bottom: 5px;
		margin-top: 5px;
	}
}

/* event widget */
.event_list_widget ol {
	margin-bottom: 0;
}

.event_list_widget .p-event-list__item {
	margin-bottom: 0;
	margin-top: 20px;
	width: 100%;
}

.event_list_widget .p-event-list__item:first-child {
	margin-top: 0;
}

.event_list_widget .p-article02__img {
	height: 85px;
}

.event_list_widget .p-article02__content {
	padding: 0 25px;
}

.event_list_widget .p-article02__title {
	font-size: 20px;
}

.event_list_widget .p-article02__category, .event_list_widget .p-article02__date {
	font-size: 12px;
	line-height: 1.6;
	margin: 0;
}

@media screen and (max-width: 767px) {
	.event_list_widget .p-event-list__item {
		margin-top: 10px;
	}

	.event_list_widget .p-article02__content {
		padding: 0 20px;
	}

	.event_list_widget .p-article02__title {
		font-size: 18px;
	}

	.event_list_widget .p-article02__category, .event_list_widget .p-article02__date {
		font-size: 12px;
	}
}

/* styled post widget */
.p-post-widget {
}

.p-post-widget__item {
	margin-bottom: 20px;
}

.p-post-widget__item:last-child {
	margin-bottom: 0;
}

.p-post-widget__item a {
	display: flex;
}

.p-post-widget__item .image {
	flex: 0 0 100px;
	display: block;
	overflow: hidden;
	width: 100px;
	height: 100px;
}

.p-post-widget__item .info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: 20px;
}

.p-post-widget__item .info .title {
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 0;
	max-height: 5.4em;
	overflow: hidden;
	word-break: break-word;
}

.p-post-widget__item .info time {
	font-size: 12px;
	color: #999999;
}

@media screen and (max-width: 767px) {
	.p-post-widget__item {
		margin-bottom: 14px;
	}
}

/* schedule widget */
.p-widget > .p-article05 {
	border: solid 1px #dddddd;
	width: 100%;
}

/* search widget */
.p-widget-search {
	position: relative;
}

.p-widget-search .p-widget-search__input {
	background: #fff;
	border: 1px solid #ddd;
	border-right: none;
	border-radius: 0;
	box-sizing: border-box;
	height: 50px;
	line-height: 50px;
	padding: 0 15px;
	width: -webkit-calc(100% - 50px);
	width: calc(100% - 50px);
	-webkit-appearance: none;
}

.p-widget-search .p-widget-search__submit {
	background: #fff;
	border: 1px solid #ddd;
	border-left: none;
	border-radius: 0;
	box-sizing: border-box;
	color: #000;
	cursor: pointer;
	font-family: "design_plus";
	font-size: 18px;
	height: 50px;
	padding: 0;
	width: 50px;
	position: absolute;
	top: 0;
	right: 0;
}

/* ad widget */
.ad_widget {
	text-align: center;
}

/* widget categories */
.p-widget-categories {
	background: #fff;
	border: 1px solid #ddd;
	border-top: none;
	margin: 0 !important;
	padding: 0;
}

.p-widget-categories li {
	border-top: 1px solid #ddd;
	margin: 0 !important;
	font-size: 14px;
}

.p-widget-categories li a {
	display: block;
	font-weight: normal;
	padding: 13px 22px;
	text-decoration: none;
}

.p-widget-categories li a:hover {
	background: #f5f5f5;
	color: #000;
}

.p-widget-categories .has-children {
	position: relative;
}

.p-widget-categories .has-children > a {
	padding-right: 32px;
}

.p-widget-categories .has-children .toggle-children {
	cursor: pointer;
	display: block;
	line-height: 48px;
	padding-right: 15px;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transition: -webkit-transform 0.5s ease;
	-moz-transition: -moz-transform 0.5s ease;
	-ms-transition: -ms-transform 0.5s ease;
	transition: transform 0.5s ease;
}

.p-widget-categories .has-children .toggle-children::before {
	content: '\e90e';
	font-family: "design_plus";
	opacity: 0.7;
}

.p-widget-categories .has-children.is-active > .toggle-children {
	-webkit-transform: rotateX(180deg);
	-moz-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
	transform: rotateX(180deg);
}

.p-widget-categories .children {
	margin: 0 !important;
	padding: 0 !important;
}

.p-widget-categories .children a {
	padding-left: 34px;
}

.p-widget-categories .children .children a {
	padding-left: 46px;
}

.p-widget-categories .children .children .children {
	padding-left: 58px;
}

/* schedule slider widget */
.p-widget-schedule-slider {
	position: relative;
}

.p-widget-schedule-slider::after {
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px 1px 1px;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 50%;
	z-index: -1;
}

.p-widget-schedule-slider__item {
}

.p-widget-schedule-slider:not(.slick-initialized) .p-widget-schedule-slider__item:nth-child(n+2) {
	display: none;
}

.p-widget-schedule-slider__item-image {
	overflow: hidden;
	padding-top: 64%;
	position: relative;
}

.p-widget-schedule-slider__item-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.p-widget-schedule-slider__item-date {
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 2px;
	margin: 14px 40px 2px;
	text-align: center;
}

.p-widget-schedule-slider__item-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 40px 16px;
	max-height: 1.4em;
	overflow: hidden;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-widget-schedule-slider .slick-prev, .p-widget-schedule-slider .slick-next {
	height: 72px;
	width: 40px;
	bottom: 0;
	top: auto;
	z-index: 10;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

.p-widget-schedule-slider .slick-prev::before, .p-widget-schedule-slider .slick-next::before {
	color: #000;
	font-family: "design_plus";
	font-size: 14px;
	opacity: 1;
}

.p-widget-schedule-slider .slick-prev {
	text-align: right;
	padding-right: 6px;
	left: 0;
}

.p-widget-schedule-slider .slick-prev::before {
	content: "\e90f";
}

.p-widget-schedule-slider .slick-next {
	text-align: left;
	padding-left: 6px;
	right: 0;
}

.p-widget-schedule-slider .slick-next::before {
	content: "\e910";
}

/* Front Page */
body.home .l-main {
	margin-bottom: 0 !important;
}

@media only screen and (min-width: 1200px) {
	body.home .l-main {
		margin-top: 0 !important;
	}

	body.home .p-logoset + .l-header__logo {
		display: none;
	}

	body.home .p-front-global-nav ~ .p-header-lang {
		display: none;
	}

	body.home .l-header--fixed.is-active .p-logoset {
		display: none;
	}

	body.home .l-header--fixed.is-active .p-logoset {
		display: none;
	}

	body.home .l-header--fixed.is-active .p-logoset + .l-header__logo, body.home .l-header--fixed.is-active .p-front-global-nav ~ .p-header-lang {
		display: block;
	}

	.p-front-global-nav {
		font-size: 16px;
		line-height: 1.8;
		margin: 46px 0 0 auto;
		padding-left: 180px;
	}

	.p-front-global-nav > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 0;
	}

	.p-front-global-nav > ul > li {
		margin-bottom: 14px;
	}

	.p-front-global-nav > ul > li > a {
		padding: 0 14px;
	}

	.p-front-global-nav > ul > li > .sub-menu {
		display: none;
	}

	.p-front-global-nav > ul > li > .sub-menu {
		display: none;
	}

	.p-front-global-nav.p-front-global-nav--type1 {
		font-size: 18px;
		margin: 50px auto 0;
		padding-left: 0;
	}

	.p-front-global-nav.p-front-global-nav--type1 > ul {
		flex-direction: row-reverse;
		height: 100%;
	}

	.p-front-global-nav.p-front-global-nav--type1 > ul > li > a {
		min-width: 2.8em;
		padding: 0 0.5em;
	}

	.p-front-global-nav.p-front-global-nav--type1 > ul > li {
		margin-bottom: 0;
	}

	.p-front-global-nav.p-front-global-nav--type1 > ul > li > a {
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		transition: transform 0.5s ease;
		transform: translateY(0);
	}

	.p-front-global-nav.p-front-global-nav--type1 > ul > li > a:hover {
		transition-duration: 0.3s;
		transform: translateY(12px);
	}

	.p-front-global-nav.p-front-global-nav--type2 > ul {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
}

@media only screen and (max-width: 1199px) {
	body.home .l-header--fixed.is-active .p-logoset {
		display: none;
	}

	.p-front-global-nav {
		display: none;
	}
}

/* page builder fix */
.pb_slider .slick-arrow::before {
	content: '' !important;
}

.pb_googlemap_embed {
	margin-bottom: 0;
}

.pb_googlemap_footer {
	border: 1px solid #ddd;
	border-top: 0;
	display: block;
	padding: 50px 20px;
}

.pb_googlemap_footer > * {
	margin: 0 auto;
	text-align: center;
}

.pb_googlemap_footer > * + * {
	margin-top: 10px;
}

.pb_googlemap_logo img {
	display: inline;
	height: auto;
	width: auto;
}

.pb_googlemap_address {
	font-size: 16px;
}

.pb_googlemap_footer_button {
	height: 60px;
	width: 240px;
}

.pb_googlemap_footer > * + .pb_googlemap_footer_button {
	margin-top: 15px;
}

.pb_googlemap_custom-overlay-inner {
	height: 60px !important;
	width: 60px !important;
	left: -30px;
	top: -74px;
}

@media screen and (max-width: 767px) {
	.pb_googlemap_footer_button {
		height: 45px;
		width: 200px;
	}
}

/**
 * WordPress Preset Style
 */

.p-entry__body {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* alignment */
.p-entry__body .alignright {
	float: right;
}

.p-entry__body .alignleft {
	float: left;
}

.p-entry__body .aligncenter {
	display: table;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 7px;
}

.p-entry__body blockquote.alignleft,
.p-entry__body img.alignleft {
	margin: 7px 24px 7px 0;
}

.p-entry__body .wp-caption.alignleft {
	margin: 7px 14px 7px 0;
}

.p-entry__body blockquote.alignright,
.p-entry__body img.alignright {
	margin: 7px 0 7px 24px;
}

.p-entry__body .wp-caption.alignright {
	margin: 7px 0 7px 14px;
}

.p-entry__body blockquote.aligncenter,
.p-entry__body img.aligncenter,
.p-entry__body .wp-caption.aligncenter {
	margin-top: 7px;
	margin-bottom: 7px;
}

/* text and headline */
.p-entry__body p {
	margin-bottom: 2em;
}
.p-entry__body h1,
.p-entry__body h2,
.p-entry__body h3,
.p-entry__body h4,
.p-entry__body h5,
.p-entry__body h6 {
	clear: both;
	line-height: 1.4;
	margin-bottom: 24.2px;
}

.p-entry__body h1 {
	font-size: 150%;
}

.p-entry__body h2 {
	font-size: 140%;
}

.p-entry__body h3 {
	font-size: 130%;
}

.p-entry__body h4 {
	font-size: 120%;
}

.p-entry__body h5 {
	font-size: 110%;
}

.p-entry__body h6 {
	font-size: 100%;
}

/* image */
.p-entry__body img[class*="align"],
.p-entry__body img[class*="wp-image-"],
.p-entry__body img[class*="attachment-"],
.p-entry__body .size-full,
.p-entry__body .size-large,
.p-entry__body .wp-post-image,
.p-entry__body img {
	max-width: 100%;
	height: auto;
}

/* list */
.p-entry__body li,
.p-entry__body dt,
.p-entry__body dd {
}

.p-entry__body li{ list-style: inherit; }


.p-entry__body ul,
.p-entry__body ol,
.p-entry__body dl {
	margin-bottom: 24px;
}

.p-entry__body ol {
	list-style: decimal outside none;
	margin-left: 1.5em;
}

.p-entry__body ul {
	list-style: circle outside none;
	margin-left: 1.3em;
}

.p-entry__body li > ul,
.p-entry__body li > ol {
	margin-bottom: 0;
}

.p-entry__body dt {
	font-weight: bold;
}

.p-entry__body dd {
	margin-bottom: 1em;
}

/* table */
.p-entry__body table {
	margin: 0 0 24px 0;
}
.p-entry__body td,
.p-entry__body th {
	border: 1px solid #ddd;
	padding: 10px 15px;
	line-height: 2;
	background: #fff;
	vertical-align: middle;
}

.p-entry__body th {
	background: #f5f5f5;
	font-weight: normal;
}

/* table style */
.table_no_border th,
.table_no_border td {
	border: none;
	padding-left: 0;
}
.table_border_horizontal th,
.table_border_horizontal td {
	border-left: none;
	border-right: none;
	padding-left: 0;
}

/* block quote */
.p-entry__body blockquote {
	margin: 0 0 25px 0;
	padding: 27px 30px 0;
	border: 1px solid #ddd;
	box-shadow: 0px 4px 0px 0px #f2f2f2;
	position: relative;
}

.p-entry__body blockquote:before {
	content: '"';
	font-style: italic;
	font-size: 30px;
	font-weight: normal;
	line-height: 40px;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 5px;
	left: 10px;
	color: #5cbcd7;
}

.p-entry__body blockquote:after {
	content: '"';
	font-style: italic;
	font-size: 30px;
	font-weight: normal;
	text-align: left;
	line-height: 60px;
	width: 30px;
	height: 30px;
	position: absolute;
	bottom: 7px;
	right: -2px;
	color: #5cbcd7;
}

.p-entry__body blockquote cite {
	border-top: 1px dotted #aaa;
	display: block;
	padding: 20px 0 0 0;
	font-style: italic;
	text-align: right;
	font-size: 90%;
}

/* captions */
.p-entry__body .wp-caption {
	margin-bottom: 24px;
	background: #fff;
	border: 1px solid #ddd;
	padding: 5px;
	max-width: 100%;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.p-entry__body .wp-caption-text {
	text-align: center;
	font-size: 12px;
	font-style: italic;
	line-height: 1.5;
	margin: 9px auto;
}

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

/* gallery */
.gallery {
	margin-bottom: 20px;
}

.gallery a img {
	border: 0 !important;
}

.gallery-item {
	float: left;
	margin: 0 4px 4px 0;
	overflow: hidden;
	position: relative;
}

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

.gallery-columns-2 .gallery-item {
	max-width: 48%;
	max-width: -webkit-calc(50% - 4px);
	max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
	max-width: 32%;
	max-width: -webkit-calc(33.3% - 4px);
	max-width: calc(33.3% - 4px);
}

.gallery-columns-4 .gallery-item {
	max-width: 23%;
	max-width: -webkit-calc(25% - 4px);
	max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
	max-width: 19%;
	max-width: -webkit-calc(20% - 4px);
	max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
	max-width: 15%;
	max-width: -webkit-calc(16.7% - 4px);
	max-width: calc(16.7% - 4px);
}

.gallery-columns-7 .gallery-item {
	max-width: 13%;
	max-width: -webkit-calc(14.28% - 4px);
	max-width: calc(14.28% - 4px);
}

.gallery-columns-8 .gallery-item {
	max-width: 11%;
	max-width: -webkit-calc(12.5% - 4px);
	max-width: calc(12.5% - 4px);
}

.gallery-columns-9 .gallery-item {
	max-width: 9%;
	max-width: -webkit-calc(11.1% - 4px);
	max-width: calc(11.1% - 4px);
}

.gallery-columns-10 .gallery-item {
	max-width: 7%;
	max-width: -webkit-calc(9.4% - 0px);
	max-width: calc(9.4% - 0px);
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n) {
	margin-right: 0;
}

.gallery-caption {
	background-color: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
	max-height: 50%;
	opacity: 0;
	padding: 6px 8px;
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: left;
	width: 100%;
}

.gallery-caption:before {
	content: '';
	height: 100%;
	min-height: 49px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.gallery-item:hover .gallery-caption {
	opacity: 1;
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
	display: none;
}

/* etc */
.p-entry__body .wp-smiley {
	border: 0;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

.p-entry__body address {
	margin: 0 0 24px 0;
	line-height: 2.2;
}

.p-entry__body pre {
	border-left: 5px solid #7fc120;
	font-size: 12px;
	margin: 0 0 27px 0;
	line-height: 25px;
	padding: 0 17px;
	overflow: auto;
}

.p-entry__body .mejs-container {
	margin: 12px 0 25px;
}

/**
 * Utility
 */

.u-center {
	text-align: center;
}

.u-clearfix::after {
	display: table;
	clear: both;
	content: " ";
}

.u-hidden {
	display: none;
}

@media only screen and (min-width: 768px) {
	.u-pc-hidden {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.u-sp-hidden {
		display: none;
	}
}

/* clearfix */
.u-clearfix::after {
	clear: both;
	content: " ";
	display: table;
}

/* Column layout - カラムレイアウト */
.post_row { margin-right: -25px; margin-left: -25px; line-height: 2.4; }
.post_row:before, .post_row:after { display: table; content: " "; }
.post_row:after { clear: both; }
.post_col, .post_col-2, .post_col-3 { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; width: 100%; min-height: 1px; margin-bottom: 2em; padding-right: 25px; padding-left: 25px; float: left; }
@media screen and (min-width: 768px) {
	.post_col-2 { width: 50%; }
	.post_col-3 { width: 33.33333%; }
}
@media screen and (min-width: 1024px) {
	.post_col-2 { width: 50%; }
	.post_col-3 { width: 33.33333%; }
}

/* headline - 見出しのスタイル */
.style3a, .style3b, .style4a, .style4b, .style5a, .style5b, .style6 {
	line-height: 1.6;
}

/* h2 */
.style2a {
	margin: 65px 0 30px !important;
	padding: 0 0 .9em;
	border-bottom: 3px solid #000;
	font-size: 26px !important;
}

.style2b {
	margin: 65px 0 30px !important;
	padding: .48em 1em .47em;
	background: #000; color: #fff;
	font-size: 26px !important;
}

/* h3 */
.style3a {
	margin: 3em 0 1.5em;
	padding: 1.1em .2em 1em;
	border-top: 1px solid #222;
	border-bottom: 1px solid #222;
	font-size: 22px;
	font-weight: 400;
}

.style3b {
	margin: 3em 0 1.5em;
	padding: 1.1em .9em 1em;
	border-top: 2px solid #222;
	border-bottom: 1px solid #ddd;
	background: #fafafa;
	-webkit-box-shadow: 0px 1px 2px #f7f7f7;
	box-shadow: 0px 1px 2px #f7f7f7;
	font-size: 22px;
	font-weight: 400;
}

/* h4 */
.style4a {
	margin: 2.5em 2px 1.2em;
	padding: .3em 0 .3em .8em;
	border-bottom: none;
	border-left: 2px solid #222;
	font-size: 18px;
	font-weight: 400;
}

.style4b {
	margin: 2.5em 0 1.2em;
	padding: .9em 0 .8em;
	border-bottom: 1px dotted #aaa;
	font-size: 18px;
	font-weight: 400;
}

/* h5 */
.style5a {
	margin: 2em 0 1em;
	padding: .5em .8em .3em 1em;
	background: #f5f5f5;
	-webkit-box-shadow: 0px 2px 0px 0px #f2f2f2;
	box-shadow: 0px 2px 0px 0px #f2f2f2;
	font-size: 18px;
	font-weight: 700;
}

.style5b {
	margin: 2em 0 1em;
	padding: .5em .8em .4em 1em;
	border-radius: 4px;
	background: #222;
	-webkit-box-shadow: 0px 2px 0px 0px #f2f2f2;
	box-shadow: 0px 2px 0px 0px #f2f2f2;
	color: #fff;
	font-size: 18px;
	font-weight: 400;
}

/* h6 */
.style6 {
	position: relative;
	margin: 2em 0 1em;
	padding: .5em .8em .8em 1.3em;
	color: #222;
	font-size: 16px;
	font-weight: bold;
}

.style6:before {
	position: absolute;
	top: .5em;
	left: .2em;
	width: 12px;
	height: 12px;
	background: #222;
	content: "";
}

.balloon {
	display: block;
	z-index: 0;
	position: relative;
	width: auto;
	min-width: 115px;
	margin: 50px 0 22px;
	padding: .5em 18px .5em;
	clear: both;
	border-bottom: 0;
	background: #222;
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	text-align: left;
}

.balloon:after {
	display: block;
	position: absolute;
	bottom: -10px;
	left: 30px;
	width: 0px;
	height: 0px;
	margin-left: -10px;
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #222 transparent transparent transparent;
	content: "";
}

/* flame - 囲み枠 */
.well {
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
	min-height: 20px;
	margin-bottom: 20px;
	padding: 19px;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	background-color: #f5f5f5;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
	line-height: 1.8;
}

.well2 {
	margin: 1em 0 30px;
	padding: 1em 1.5em;
	border: 1px solid #cdcdcd;
	background: #fcfcfc;
	-webkit-box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);
	box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);
	line-height: 1.8;
}

.well3 {
	margin: 2em 0 2.5em;
	padding: 1em 1.5em;
	border: 1px dashed #cdcdcd;
	background: #fcfcfc;
	-webkit-box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);
	box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);
	line-height: 1.8;
}

.wl_red {
	border-color: #ebccd1;
	background-color: #f2dede;
	color: #a94442;
}

.wl_yellow {
	border-color: #faebcc;
	background-color: #fcf8e3;
	color: #8a6d3b;
}

.wl_blue {
	border-color: #bce8f1;
	background-color: #d9edf7;
	color: #31708f;
}

.wl_green {
	border-color: #d6e9c6;
	background-color: #dff0d8;
	color: #3c763d;
}

/* button - CSSボタンのスタイル */
.q_button {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	min-width: 200px;
	max-width: 90%;
	margin: 0;
	padding: .6em 1.3em .5em;
	background-color: #535353;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	color: #fff !important;
	font-size: 100%;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}

.q_button:hover, .q_button:focus {
	background-color: #7d7d7d;
	-webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15) inset;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15) inset;
	color: #fff;
	text-decoration: none;
}

.q_button_wrap{ text-align:center; margin: 2em auto; }

/* Button option */
.rounded {
	border-radius: 6px;
}

.pill {
	border-radius: 50px;
}

.sz_full {
	display: block;
	min-width: 100px;
	max-width: 100%;
	padding: 1em 1.5em .9em;
	font-size: 110%;
}

.sz_l {
	min-width: 350px;
	max-width: 90%;
	padding: .8em 1.5em .7em;
	font-size: 110%;
}

@media screen and (max-width: 767px) {
	.sz_l {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}
}

.sz_s {
	min-width: 100px;
	max-width: 90%;
	padding: .4em 1em .3em;
	font-size: 85%;
}

.bt_red {
	background: #c01f0e;
	color: #fff;
}

.bt_red:hover, .bt_red:focus {
	background-color: #d33929;
	color: #fff;
}

.bt_yellow {
	background: #f1c40f;
	color: #fff;
}

.bt_yellow:hover, .bt_yellow:focus {
	background-color: #f9d441;
	color: #fff;
}

.bt_blue {
	background: #2980b9;
	color: #fff;
}

.bt_blue:hover, .bt_blue:focus {
	background-color: #3a91c9;
	color: #fff;
}

.bt_green {
	background: #27ae60;
	color: #fff;
}

.bt_green:hover, .bt_green:focus {
	background-color: #39c574;
	color: #fff;
}

/* Youtube responsive - Youtube動画のレスポンシブ表示 */
.ytube {
	position: relative;
	height: 0;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-top: 30px;
	padding-bottom: 56.25%;
	overflow: hidden;
}

.ytube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* Table responsive - テーブルのレスポンシブ表示 */
.rps_table {
	line-height: 2.0;
}

@media only screen and (max-width: 480px) {
	.rps_table tr {
		display: block;
		margin-bottom: 1.5em;
	}

	.rps_table th, .rps_table td {
		display: list-item;
		border: none;
		list-style-type: none;
	}
}

/* Cardlink style - カードリンクのスタイル */
.cardlink {
	word-wrap: break-word;
	max-width: 100%;
	margin: 10px 0;
	padding: 12px;
	border: 1px solid #ddd;
	background: #fafafa;
}

.cardlink_thumbnail {
	margin-right: 20px;
	float: left;
}

.cardlink_content {
	line-height: 1.6;
}

.cardlink_timestamp {
	display: inline;
	margin: 0;
	padding: 0;
	color: #222;
	font-size: 12px;
	line-height: 1.6;
	vertical-align: top;
}

.cardlink_title {
	margin: 0 0 5px;
	font-size: 14px;
}

.cardlink_title a {
	color: #000;
	font-weight: bold;
	text-decoration: none;
}

.cardlink_title a:hover {
	text-decoration: underline;
}

.cardlink_excerpt {
	overflow: hidden;
	color: #333;
	font-size: 12px;
	line-height: 1.8;
}

.cardlink_footer {
	clear: both;
}

.clear {
	clear: both;
}

@media screen and (max-width: 767px) {
	.cardlink_thumbnail {
		float: none;
	}

	.cardlink_timestamp {
		line-height: 2.4;
		vertical-align: middle;
	}

	.cardlink_excerpt {
		float: none;
	}
}

/* Contactform - お問い合わせフォーム */
.wpcf7 {
	width: 100%;
	margin: 0 0 2.5em !important;
	padding: 0;
	border: 1px solid #ddd;
	background: #fafafa;
	font-size: 14px;
	box-sizing: border-box;
}

.wpcf7 form {
	margin: 1.5em 1.5em 0;
}

.wpcf7 p {
	margin-bottom: 1em;
	font-size: 12px;
}

.wpcf7 input, .wpcf7 textarea {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	border: 1px solid #ccc;
	line-height: 1.2;
}

.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] {
	width: auto;
	max-width: 97%;
	padding: 8px;
	border: 1px solid #ccc;
}

.wpcf7 select, .wpcf7 .wpcf7-list-item-label {
	font-size: 14px;
	line-height: 1.2;
}

.wpcf7 .wpcf7-list-item {
	display: block;
}

.wpcf7 textarea {
	height: 300px;
}

.wpcf7 input:focus, .wpcf7 textarea:focus {
	border: 1px solid #bbb;
	outline: none;
	-webkit-box-shadow: inner 0 0 5px rgba(0, 0, 0, 0.5);
	box-shadow: inner 0 0 5px rgba(0, 0, 0, 0.5);
}

.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
	-webkit-transition: all .3s;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	position: relative;
	width: 225px;
	height: 48px;
	margin: 30px auto 0;
	border: none !important;
	outline: none;
	background-color: #333333;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all .3s;
}

.wpcf7 .wpcf7-submit:before, .wpcf7 .wpcf7-submit:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover {
	background-color: #666666;
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid {
	background: pink;
}

.wpcf7 .wpcf7-submit .wpcf7-response-output {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	margin: 10px 0 0;
	padding: 8px 35px 8px 14px;
	border-radius: 4px;
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
	border: 1px solid #EED3D7;
	background-color: #F2DEDE;
	color: #B94A48;
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
	border: 1px solid #BCE8F1;
	background-color: #D9EDF7;
	color: #3A87AD;
}

.wpcf7 .wpcf7-previous + br {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 2em;
	padding:0;
	border: none;
	text-align:center;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	color:#dc3232;
	font-size: 1em;
}

/* font-size - フォントサイズ */
.text70 {
	font-size: 70%;
}

.text80 {
	font-size: 80%;
}

.text90 {
	font-size: 90%;
}

.text100 {
	font-size: 100%;
}

.text110 {
	font-size: 110%;
}

.text120 {
	font-size: 120%;
}

.text130 {
	font-size: 130%;
}

.text140 {
	font-size: 140%;
}

.text150 {
	font-size: 150%;
}

.text160 {
	font-size: 160%;
}

.text170 {
	font-size: 170%;
}

.text180 {
	font-size: 180%;
}

.text190 {
	font-size: 190%;
}

.text200 {
	font-size: 200%;
}

.text210 {
	font-size: 210%;
}

.text220 {
	font-size: 220%;
}

/* 太字 */
.b {
	font-weight: 700;
}

/* 下線 */
.u {
	text-decoration: underline;
}

/* 打ち消し線 */
.del {
	text-decoration: line-through;
}

/* font-color - フォントカラー */
.red {
	color: red;
}

.blue {
	color: #2ca9e1;
}

.green {
	color: #82ae46;
}

.orange {
	color: #ff7d00;
}

.yellow {
	color: #fff000;
}

.pink {
	color: #ff0084;
}

.gray {
	color: #999999;
}

/* background-color - 背景色 */
/* 青色の文字背景 */
.bg-blue {
	padding: 2px;
	background-color: #4ab0f5;
}

/* 赤色の文字背景 */
.bg-red {
	padding: 2px;
	background-color: red;
}

/* 黄色の文字背景 */
.bg-yellow {
	padding: 2px;
	background-color: #ff0;
}

/* text-align - 配置 */
/* 中央寄せ */
.align1 {
	text-align: center !important;
}

/* 右寄せ */
.align2 {
	text-align: right !important;
}

/* 左寄せ */
.align3 {
	text-align: left !important;
}

/* float - 回り込み */
/* 右に回り込み */
.r-flo {
	margin: 10px;
	float: right;
}

/* 左に回り込み */
.l-flo {
	margin: 10px;
	float: left;
}

/* 回り込みの解除 */
.f-clear {
	clear: both;
}

/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade {
	-webkit-transition: all .3s;
	outline: none;
	background: none !important;
	transition: all .3s;
}

a:hover img.fade {
	-ms-filter: "alpha( opacity=70 )";
	background: none !important;
	filter: alpha(opacity=70);
	opacity: 0.7;
}

/* text-style - テキストスタイル */
/* 注意書き等で二行目以降を字下げ */
.att {
	padding-left: 1em;
	text-indent: -1em;
}

/* テキストボックス */
.att_box {
	margin: 2em 0 2.5em;
	padding: 1em 1.2em;
	border: 1px dotted #cccccc;
	background: #fcfcfc;
	-webkit-box-shadow: 0px 4px 0px 0px #f7f7f7;
	box-shadow: 0px 4px 0px 0px #f7f7f7;
	line-height: 2.0;
}

/* margin - 要素の外側の余白 */
/* margin 0px を指定するクラス */
.m0 {
	margin: 0 !important;
}

/* margin-top0px を指定するクラス */
.mt0 {
	margin-top: 0 !important;
}

/* margin-right0px を指定するクラス*/
.mr0 {
	margin-right: 0 !important;
}

/* margin-bottom0px を指定するクラス*/
.mb0 {
	margin-bottom: 0 !important;
}

/* margin-left0px を指定するクラス*/
.ml0 {
	margin-left: 0 !important;
}

.m5 {
	margin: 5px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.m50 {
	margin: 50px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.m55 {
	margin: 55px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.m60 {
	margin: 60px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.m65 {
	margin: 65px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mr65 {
	margin-right: 65px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.m70 {
	margin: 70px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.m75 {
	margin: 75px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mr75 {
	margin-right: 75px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.ml75 {
	margin-left: 75px !important;
}

.m80 {
	margin: 80px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.mt150 {
	margin-top: 150px !important;
}

.mb150 {
	margin-bottom: 150px !important;
}

/* padding - 要素の内側の余白 */
.p0 {
	padding: 0 !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pr0 {
	padding-right: 0 !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pl0 {
	padding-left: 0 !important;
}

.p5 {
	padding: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pr5 {
	padding-right: 5px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pl5 {
	padding-left: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.p20 {
	padding: 20px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.p25 {
	padding: 25px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.p30 {
	padding: 30px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.p35 {
	padding: 35px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.p40 {
	padding: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.p45 {
	padding: 45px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.p50 {
	padding: 50px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.p55 {
	padding: 55px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pr55 {
	padding-right: 55px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.pl55 {
	padding-left: 55px !important;
}

.p60 {
	padding: 60px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pr60 {
	padding-right: 60px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pl60 {
	padding-left: 60px !important;
}

.p65 {
	padding: 65px !important;
}

.pt65 {
	padding-top: 65px !important;
}

.pr65 {
	padding-right: 65px !important;
}

.pb65 {
	padding-bottom: 65px !important;
}

.pl65 {
	padding-left: 65px !important;
}

.p70 {
	padding: 70px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pr70 {
	padding-right: 70px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.pl70 {
	padding-left: 70px !important;
}

.p75 {
	padding: 75px !important;
}

.pt75 {
	padding-top: 75px !important;
}

.pr75 {
	padding-right: 75px !important;
}

.pb75 {
	padding-bottom: 75px !important;
}

.pl75 {
	padding-left: 75px !important;
}

.p80 {
	padding: 80px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pr80 {
	padding-right: 80px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pl80 {
	padding-left: 80px !important;
}


/* クイックタグ追加分 */
h2.style_h2 { font-size:26px; font-weight:600; line-height:1.4; margin: 3em 0 1.3em 0; text-align:center; }
h3.style_h3 { font-size:22px; font-weight:600; line-height:1.6; margin: 3em 0 1.3em 0; }
h4.style_h4 { font-size:20px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h5.style_h5 { font-size:18px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h6.style_h6 { font-size:16px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
@media screen and (max-width: 800px) {
  h2.style_h2 { font-size:20px; margin: 2.5em 0 1em 0; }
  h3.style_h3 { font-size:18px; margin: 2.3em 0 1em 0; }
  h4.style_h4 { font-size:16px; margin: 2.2em 0 1em 0; }
  h5.style_h5 { font-size:16px; margin: 2.2em 0 1em 0; }
  h6.style_h6 { font-size:14px; margin: 2.2em 0 1em 0; }
}
@media screen and (max-width: 600px) {
  h2.style_h2 { margin: 2.3em 0 1em 0; }
  h3.style_h3 { margin: 2em 0 1em 0; }
  h4.style_h4 { margin: 2em 0 1em 0; }
  h5.style_h5 { margin: 2em 0 1em 0; }
  h6.style_h6 { margin: 2em 0 1em 0; }
}

/* ----------------------------------------------------------------------
 汎用スタイルの追加
 https://tcd-theme.com/2023/09/utility-classes.html
---------------------------------------------------------------------- */
.p-entry .a_break { display: inline-block; }
@media (max-width: 767px) {
  .p-entry .is-pc { display:none!important; }
}
@media not all and (max-width: 767px) {
  .p-entry .is-sp { display:none!important; }
}
.p-entry .e_link {
  display: inline-block; position: relative; padding-right:1em;
}
.p-entry .e_link:after {
  font-family: 'design_plus'; content: '\e92a'; font-size: 100%; display: block;
  position: absolute; transition:none; margin-top:-0.1em;
  right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
.p-entry img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc;
}


/* ----------------------------------------------------------------------
 ブロックエディターのYotutubeのレスポンシブ対応
---------------------------------------------------------------------- */
.wp-block-embed { margin:0 0 2em 0; }

/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-table.is-style-stripes td,
.wp-block-table .has-background td{
  background-color: transparent;
}


/* ----------------------------------------------------------------------
クラシックエディターのテーブルの横スクロール対応
---------------------------------------------------------------------- */
@media (max-width: 767px) {
.p-entry__body .s_table{ overflow: auto; white-space: nowrap; margin-bottom: 2em; }
.p-entry__body .s_table table { margin-bottom: 0; }
}



/* 基本設定 */
.p-widget ul { margin:0; }
.p-widget li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.p-widget a { text-decoration:none; } 

/* デフォルトのRSS */
.widget_rss .rss-widget-feed { display:none; }
.widget_rss .rss-widget-title { text-decoration: none; }
.widget_rss li { border-bottom:1px solid #ddd; margin:0 0 -1px 0; padding:20px 30px 15px; font-size:14px;}
.widget_rss li:last-of-type { border:none; }
.widget_rss ul li { padding:20px 0px; border-bottom:1px solid #ddd; margin-top:-1px; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.widget_rss ul li:not(:first-child) { border-top:1px solid #ddd; }
.widget_rss ul li .rss-date { -ms-flex-order:1; order:1; color:#999; font-size:13px; line-height:1; margin-right:10px; padding:0 0 0 22px; position:relative; }
.widget_rss ul li .rss-date:before {font-family: 'design_plus';
  content: '\e94e';font-size:16px; position:absolute; top:-2px; left:0px; -webkit-font-smoothing: antialiased; }
.widget_rss ul li cite { -ms-flex-order:2; order:2; color:#999; font-size:13px; line-height:1; }
.widget_rss ul li .rsswidget { -ms-flex-order:3; order:3; display:block; width:100%; margin:0; }
.widget_rss ul li .rssSummary { -ms-flex-order:4; order:4; color:#999; font-size:13px; margin: -0.35em 0; }
.widget_rss .rss-date { position:relative; font-family:Arial; }
.widget_rss .rsswidget ~ .rss-date, .widget_rss .rsswidget ~ cite { margin-bottom:10px; }
.widget_rss .rsswidget ~ .rssSummary { margin-top:calc(10px - 0.35em); }

/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
	margin:0 0 -6px 0; padding:0; position:relative;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.widget_tag_cloud .tagcloud a { margin:0 6px 6px 0; font-size:14px !important; display:block; background:#fff; padding:0px 20px; border-radius:5px; height:36px; line-height:36px; border: 1px solid #ddd;}
.widget_tag_cloud .tagcloud a:hover { background:#000; color:#fff; }

/* デフォルトの最近の記事 */
.widget_recent_entries li { border-bottom:1px solid #ddd; padding:0 0 15px 0; margin-bottom:15px; }
.widget_recent_entries li:last-child { border:none; padding:0; margin:0; }
.widget_recent_entries li a { display:block; }
.widget_recent_entries .post-date { position:relative; color:#999; font-size:14px; display:block; margin-top:3px; }
.widget_recent_entries .post-date:before {
  font-family:'design_plus'; content:'\e94e'; font-size:13px; display:inline-block; margin:0 7px 0 0; vertical-align:-1px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* デフォルトのカテゴリー */
.category_list_widget ul { margin:0; }
.category_list_widget ul ul { margin-left:1em; }
.category_list_widget ul li { margin:0; padding:0; line-height:1; }
.category_list_widget ul li a { display:block; line-height:1.6; padding:10px 0; }
.category_list_widget .widget_headline + ul { margin:-12px 0 -14px; }
.widget_categories ul { margin:0; }
.widget_categories ul ul { margin-left:1em; }
.widget_categories ul li { margin:0; padding:0; line-height:1; }
.widget_categories ul li a { display:inline-block; line-height:1.6; padding:10px 0; }
.widget_categories ul li { color:#999; }
.widget_categories .widget_headline + ul { margin:-12px 0 -14px; }



/* デフォルトの固定ページ */
.widget_pages ul { margin:0; }
.widget_pages ul ul { margin-left:1em; }
.widget_pages ul li { margin:0; padding:0; line-height:1; }
.widget_pages ul li a { display:block; line-height:1.6; padding:10px 0; }
.widget_pages .widget_headline + ul { margin:-12px 0 -14px; }


/* デフォルトのナビ　*/
.widget_nav_menu ul { margin:0; }
.widget_nav_menu ul ul { margin-left:1em; }
.widget_nav_menu ul li { margin:0; padding:0; line-height:1; }
.widget_nav_menu ul li a { display:block; line-height:1.6; padding:10px 0; }
.widget_nav_menu .widget_headline + ul { margin:-12px 0 -14px; }

/* デフォルトのコメントウィジェット */
.widget_recent_comments li { color:#999; }

/* デフォルトのテキストウィジェット */
.widget_text .post_content { font-size:16px; line-height: 1.6; }

/* デフォルトのブロック */
.widget_block { font-size:16px; line-height:1.6; }

/* デフォルトのメタウィジェット */
.widget_meta ul { margin-bottom:-8px; }

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 18px; font-size:16px; cursor:pointer;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-appearance:none; appearance:none;
}
.widget_archive .screen-reader-text, .widget_categories .screen-reader-text  {
	display:block; clip:auto; clip-path:none; pointer-events:none;
	height:60px; width:50px; margin:0;
	left:calc(100% - 50px); text-indent:-100vw;
}
.widget_archive .select_wrap,.widget_categories .select_wrap{
  position: relative;
}
.widget_archive .select_wrap:before, .widget_categories .select_wrap:before {
  font-family:'design_plus'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px;
  position:absolute; right:15px; top:25px;
}

/* カレンダー */
#calendar_wrap { padding:0; margin:-6px 0 -20px; }
#wp-calendar { margin:0 auto; width:100%; font-size:14px; border-collapse:collapse; table-layout:fixed;}
#wp-calendar caption { padding:12px 0; font-size:16px; font-weight:600; }
#wp-calendar thead th, #wp-calendar tfoot td { padding:12px 10px; line-height:2; }
#wp-calendar thead th { font-weight:500; }
#wp-calendar tbody th, #wp-calendar tbody td { padding:0; margin:0; line-height:1; text-align:center; }
#wp-calendar tbody span { display:block; padding:15px 10px; }
#wp-calendar tbody a { display:block; width:30px; height:30px; line-height:30px; border-radius:30px; margin:0 auto; text-decoration:none; background-color:#000; color:#fff; }
#wp-calendar td a:hover { text-decoration:none; color:#fff; background:#aaa; }
#wp-calendar #today { font-weight:600; }
.wp-calendar-nav { font-size:14px; padding:20px 0; width:100%; font-size:14px; }
.wp-calendar-nav .wp-calendar-nav-prev { width:40%; float:left; }
.wp-calendar-nav .wp-calendar-nav-next { width:40%; float:right; text-align:right; }


/* デフォルトのギャラリー */
.widget_media_gallery .gallery-caption {
  background-color:#000; color:#fff; font-size:12px; line-height:1.5; margin:0 0 2.5px; max-height:50%;  transform: translateY(50%);
  opacity:0; padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.widget_media_gallery .gallery-item { margin-top:0 !important; }
.widget_media_gallery .gallery-item img{border: none!important;}
.widget_media_gallery .gallery-caption:before { content: ""; height:100%; min-height:49px; position:absolute; top:0; left:0; width:100%;  }
.widget_media_gallery .gallery-item:hover .gallery-caption { opacity: .7; transition: all .25s ease; transform: translateY(0%);}

