@charset "UTF-8";
html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	line-height: 1.75;
}
a {
	transition: 0.4s;
}
a:hover {
	opacity: 0.6;
	transition: 0.4s;
}
/* ボタンクリック時CSS */
.active {
	color: #000 !important;
}
.sp_only {
	display: none;
}
.p-r {
	position: relative;
}
.p-a {
	position: absolute;
}
.ta-c {
	text-align: center;
}
.m-0a {
	margin: 0 auto;
}
.flex,
.flex_r,
.flex_row {
	display: flex;
	justify-content: space-between;
}
.col-2,
.col-3,
.col-4 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.col-2 > * {
	width: calc(100% / 2 - 5%);
}
.col-3 > * {
	width: calc(100% / 3 - 5%);
}
.col-4 > * {
	width: calc(100% / 4 - 5%);
}

/* 端数のコンテンツ数でも左から並べる */
/* .col-3 {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.col-3 > * {
	width: calc(100% / 3);
}
.col-3 > *:nth-of-type(3n + 1) {
	padding-right: 2%;
}
.col-3 > *:nth-of-type(3n + 2) {
	padding: 0 1%;
}
.col-3 > *:nth-of-type(3n) {
	padding-left: 2%;
}
.col-3 > *:nth-of-type(n + 4) {
	margin-top: 30px;
} */

.border-top:before,
.border-bottom:after {
	content: "";
	width: 100%;
	height: 20px;
	display: inline-block;
	background: url(../img/border.png) repeat-x;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
}
.border-top:before {
	top: 0;
}
.border-bottom:after {
	bottom: 0;
}

.bg-stripe {
	position: relative;
	margin-bottom: 30px;
	padding: 5px;
	color: #fff;
	border: 1px solid #011564;
	background-image: linear-gradient(-45deg, #051b67 25%, #10226d 25%, #10226d 50%, #051b67 50%, #051b67 75%, #10226d 75%, #10226d);
	background-size: 12px 12px;
	text-align: center;
	font-size: 36px;
	font-size: 2.25rem;
	background-size: 12px 12px;
	font-weight: 900;
}
.bg-stripe:after {
	position: absolute;
	top: 1px;
	left: 1px;
	content: "";
	display: block;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	border: 1px solid rgba(255, 255, 255, 0.79);
}

.container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

/* ----- main ----- */
@media screen and (max-width: 768px) {
	html {
		font-size: 10px;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
	.flex {
		flex-direction: column;
	}
	.flex_r {
		flex-direction: column-reverse;
	}
	.flex_row {
		flex-direction: row;
	}
	.flex > *,
	.flex_r > * {
		width: 100%;
	}
}

/* 外部リンクにアイコン付与 */
/* a[target="_blank"]:after {
  content: "\f08e";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 12px;
  text-decoration: none;
  margin: 0 3px;
} */

/* カレントCSS */
.current {
	border-bottom: 2px solid #68c239;
}

/* トップへ戻るボタン */
#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 0;
	bottom: 50px;
	background: #3f98ef;
	opacity: 0.6;
	border-radius: 50%;
}
#page_top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page_top a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f102";
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -5px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

/* プルダウンメニュー */
.pulldown {
	position: relative;
}
.pulldown select::-ms-expand {
	display: none;
}
.pulldown:after {
	content: "◀▶";
	font: 12px "Consolas", monospace;
	color: #333;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	right: 11px;
	top: 18px;
	padding: 0 0 2px;
	position: absolute;
	pointer-events: none;
}
.pulldown select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	max-width: 320px;
	height: 50px;
	float: right;
	margin: 5px 0px;
	padding: 0px 24px;
	font-size: 16px;
	line-height: 1.75;
	color: #333;
	background-color: #ffffff;
	background-image: none;
	border-top: 2px solid #ffaabe;
	border-right: 2px solid #ffaabe;
	border-bottom: 2px solid #abeaed;
	border-left: 2px solid #abeaed;
	-ms-word-break: normal;
	word-break: normal;
}

/* クリック ドロップダウンメニュー */
#clickMenu div {
	position: relative;
}

#clickMenu span {
	cursor: pointer;
	display: block;
	padding: 10px 1rem;
}

#clickMenu ul {
	display: none;
	position: absolute;
}

/* ハンバーガーメニュー */
.hamburger {
	display: block;
	position: fixed;
	z-index: 3;
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
}
.hamburger span {
	display: block;
	position: absolute;
	width: 30px;
	height: 2px;
	left: 6px;
	background: #555;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
	top: 10px;
}
.hamburger span:nth-child(2) {
	top: 20px;
}
.hamburger span:nth-child(3) {
	top: 30px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
	top: 16px;
	left: 6px;
	background: #fff;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
	top: 16px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
nav.globalMenuSp {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	color: #fff;
	background: rgba(0, 0, 0, 0.7);
	text-align: center;
	width: 100%;
	height: auto;
	overflow: scroll;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease, visibility 0.6s ease;

	/* ヘッダー高さ分の余白を上下に付ける */
	/* margin-top: 0;
	padding-bottom: 0; */
}
nav.globalMenuSp ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
nav.globalMenuSp ul li {
	list-style-type: none;
	padding: 0;
	width: 100%;
	transition: 0.4s all;
}
nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
}
nav.globalMenuSp ul li:hover {
	background: #ddd;
}
nav.globalMenuSp ul li a {
	display: block;
	color: #fff;
	padding: 1em 0;
	text-decoration: none;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
	visibility: visible;
	opacity: 100;
}
