@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html,
body {
	background: #fff none;
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.6;
	color: #333;
	letter-spacing: 0;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"メイリオ", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.ovh {
	overflow: hidden !important;
}
body.ovh #wrapper {
	height: 100%;
	position: fixed;
	width: 100%;
}
*::selection {
	background: rgba(0, 0, 0, 0.2);
}
*::-moz-selection {
	background: rgba(0, 0, 0, 0.2);
}

/* ---------------------------------------------------------------- wrapper ---- */

@media screen and (min-width: 767px) {
	.site-content {
		min-width: 1024px;
	}
}
.site-content {
	overflow: hidden;
}

/* ---------------------------------------------------------------- header ---- */

#header {
	width: 100%;
	margin: 0 auto;
	z-index: 11;
	position: fixed;
	transition: all 0.6s ease;
	height: 110px;
	right: 0;
	left: 0;
	top: 4vh;
}

.header_inner {
	width: calc(100% - 8vh);
	margin: auto;
	height: 100%;
}

header#header.header_scroll {
	background-color: #fff;
	top: 0;
}
.site-branding-txt {
	font-size: 12px;
	text-align: center;
	margin-bottom: 5px;
}
.site-title img {
	width: 120px;
	height: auto;
	display: block;
	/*margin: auto;*/
}
/* ---------------------------------------------------------------- ヘッダー ---- */
.menu-btn {
	/*position: fixed;*/
	z-index: 999;
	display: block;
	width: 70px;
	height: 70px;
	right: 0;
	top: 0;
}
.menu-btn a {
	display: flex;
	position: relative;
	width: 70px;
	height: 70px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}
.btn-open span,
.btn-close span {
	display: inline-block;
	transition: all 0.3s;
	position: relative;
	width: 33px;
	height: 3px;
	background-color: #e35d17;
	margin-top: 4px;
	margin-bottom: 4px;
}
/* ---------------------------------------------------------------- animation ---- */
.btn-open span:nth-of-type(2)::after,
.btn-close span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #e35d17;
	border-radius: 4px;
	transition: all 0.4s;
}

.btn-close span:nth-of-type(1) {
	transform: translateY(20px) scale(0);
}
.btn-close span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.btn-close span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.btn-close span:nth-of-type(3) {
	transform: translateY(-20px) scale(0);
}
/* ---------------------------------------------------------------- 開いた時 ---- */
.menu-btn a.btn-close {
	/*position: fixed;
	right: 0;
	top: 6px;
	color: #e35d17;*/
}
.btn-close span,
.btn-close span:nth-of-type(2)::after {
	background-color: #e35d17;
}
.btn-close .btn-menu-txt {
	color: #e35d17;
}

/* OVERLAY */
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 101;
	display: none;
	overflow: auto;
	width: 100%;
	height: 100%;
	background: rgba(51, 51, 51, 0.9);
}
.header-menu-list {
	padding: 70px 0;
	flex-direction: column;
	color: #fff;
}
.header-menu-list li a {
	display: block;
	padding: 10px 15px;
}
.header-menu__item,
.header-menu__item:not(:last-child) {
	margin: 0 auto;
	color: #fff;
}
.header-menu__link {
	/*display: block;*/
	position: relative;
	padding: 10px 0.5em;
	/*width: 100%;*/
}

/* ---------------------------------------------------------------- main ---- */
#main {
}

/* ---------------------------------------------------------------- box ---- */
.breadcrumbs {
	z-index: 1;
	position: relative;
}
.breadcrumbs-list {
	margin-left: auto;
	margin-right: auto;
	font-size: 0;
	padding: 15px 0;
}
.breadcrumbs-item {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #4f4f4f;
}
.breadcrumbs-item__link {
	display: inline-block;
	position: relative;
}
.breadcrumbs-item__link:after {
	content: ">";
	display: inline-block;
	position: relative;
	margin: 0 5px;
}
.breadcrumbs-item__link::before {
	position: absolute;
	bottom: 0.3em;
	left: 0;
	content: "";
	width: calc(100% - 15px);
	height: 1px;
	background-color: #004386;
	opacity: 0;
	transition: 0.3s;
}

@media screen and (min-width: 767px) {
	.breadcrumbs-list {
		width: 1000px;
	}
	.breadcrumbs-item__link:hover::before {
		bottom: 0;
		opacity: 1;
	}
}

.backtotop {
	width: 100%;
	background-color: #444;
	text-align: center;
	color: #fff;
	font-size: 3em;
}
.backtotop a {
	display: inline-block;
	width: 100%;
	height: 100%;
}

/* ---------------------------------------------------------------- footer ---- */
#footer {
	width: 100%;
	position: relative;
	background-color: #444;
	color: #fff;
}
.footer-in {
	padding: 40px 0;
	align-items: stretch;
}
.footer-item {
	width: 48%;
	padding: 50px;
	border: 1px solid #fff;
}

/* コラムエリア */
.clm_title {
	font-size: 2em;
	text-align: center;
	margin-bottom: 20px;
}
.column_item {
	justify-content: flex-start;
}
.column_item-day {
	margin-right: 20px;
}
.column_item-ttl a {
	transition: all 0.6s ease;
}
.column_item-ttl a:hover {
	color: rgba(242, 150, 0, 1);
}
.site-info {
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	padding: 15px 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.comment-content:before,
.comment-content:after {
	content: "";
	display: table;
	table-layout: fixed;
}
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}
/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}
.sticky {
	display: block;
}
.hentry {
	margin: 0 0 1.5em;
}
.byline,
.updated:not(.published) {
	display: none;
}
.single .byline,
.group-blog .byline {
	display: inline;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
embed,
iframe,
object {
	max-width: 100%;
	height: inherit;
}
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 5px 0;
	font-size: 0.7em;
}

@media screen and (max-width: 767px) {
	/* ---------------------------------------------------------------- SP Style ---- */
	html,
	body {
		font-size: 14px;
	}
	/* ---------------------------------------------------------------- header ---- */

	#header {
		height: 55px;
		top: 0;
	}
	.header_inner {
		width: 100%;
		position: relative;
		height: 100%;
		padding: 0 15px;
	}
	.site-title img {
		width: 95px;
	}
	.header-menu-list li a {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.menu-btn,
	.menu-btn a {
		width: 55px;
		height: 55px;
	}
	/* ---------------------------------------------------------------- box ---- */
	.site-content {
		padding-top: 55px;
	}

	/* ---------------------------------------------------------------- box ---- */
	.breadcrumbs {
		display: none;
	}
	/* ---------------------------------------------------------------- box ---- */
	.footer-in {
		padding: 40px 0;
		flex-direction: column;
	}
	.footer-item {
		width: 100%;
		padding: 20px 10px;
	}
	.footer-item:not(:last-child) {
		margin-bottom: 15px;
	}
	.clm_title {
		font-size: 1.5em;
		margin-bottom: 15px;
	}
}
