@charset "utf-8";
/* CSS Document */

:root {
	--font-gothic: "Noto Sans JP", serif;
	--font-mincho: "zen-old-mincho", sans-serif;
	--main-color: rgba(25,20,122,1.0);	/* #19147a */
	--main-color_09: rgba(25,20,122,0.9);
	--main-color_08: rgba(25,20,122,0.8);
	--main-color_07: rgba(25,20,122,0.7);
	--main-color_06: rgba(25,20,122,0.6);
	--main-color_05: rgba(25,20,122,0.5);
	--main-color_04: rgba(25,20,122,0.4);
	--main-color_03: rgba(25,20,122,0.3);
	--main-color_02: rgba(25,20,122,0.2);
	--main-color_01: rgba(25,20,122,0.1);
	--secondary-color: rgba(0,98,196,1.0);	/* #0062c4 */
	--secondary-color_09: rgba(0,98,196,0.9);
	--secondary-color_08: rgba(0,98,196,0.8);
	--secondary-color_07: rgba(0,98,196,0.7);
	--secondary-color_06: rgba(0,98,196,0.6);
	--secondary-color_05: rgba(0,98,196,0.5);
	--secondary-color_04: rgba(0,98,196,0.4);
	--secondary-color_03: rgba(0,98,196,0.3);
	--secondary-color_02: rgba(0,98,196,0.2);
	--secondary-color_01: rgba(0,98,196,0.1);
	--pc_main-width: 1180px;
	--sp-header-h1-height: 20px;
	--sp-header-height: 66px;
	--sp_main-width: 90vw;
	--line-color: rgba(0,185,0,1.0);	/* #00b900 */
}

/* --------------------------------------------------
基本設定
-------------------------------------------------- */
* {
	overflow-wrap: break-word;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
a {
	text-decoration: none;
}
a:focus {
	outline: none !important;
}
a:hover {
	outline: none;
}
img {
	height: auto;
}
body {
	font-family: var(--font-mincho);
	color: #111;
}

/* --------------------------------------------------
header
-------------------------------------------------- */
header {
	width: 100%;
}
header h1 {
	color: #fff;
	font-weight: normal;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: var(--main-color);
}
header .header_main {
}
header .header_logo {
}
header .header_logo_link {
	display: block;
}
header .header_logo_image {
	display: block;
}


header .header_menu {
}
header .globalmenu {
}
header .globalmenu .globalmenu_items {
}
header .globalmenu .globalmenu_item {
}
header .globalmenu .globalmenu_link {
}
header .globalmenu .globalmenu_jp {
}
header .globalmenu .globalmenu_en {
}


/* --------------------------------------------------
main
-------------------------------------------------- */


/* --------------------------------------------------
footer
-------------------------------------------------- */
footer {
	background-color: var(--main-color);
}
footer:after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-color: red;
}
footer .footer_main {
}
footer .footer_logo {
}
footer .footer_logo_link {
	display: block;
}
footer .header_logo_image {
	display: block;
}
footer .footer_menu {
}
footer .globalmenu_items {
}
footer .globalmenu_item {
}
footer .globalmenu_link {
}
footer .globalmenu_jp {
	color: #eee;
}
footer .globalmenu_en {
}
footer .footer_text {
	font-family: var(--font-gothic);
	background: rgba(0,0,0,0.5);
}
footer .footer_copy {
	color: #fff;
}
footer .footer_bwork {
	color: #fff;
}
footer .footer_bwork a {
	color: #fff;
}


/* --------------------------------------------------
PC
-------------------------------------------------- */
@media screen and (min-width: 768px) {

	.pc_show {
		display: block;
	}
	.pc_hide {
		display: none;
	}
	.pc_block {
		display: block;
	}

	/* --------------------------------------------------
	header
	-------------------------------------------------- */
	header {
	}
	header h1 {
		font-size: 10px;
		padding: 3px 0;
	}
	header .header_main {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: var(--pc_main-width);
		margin: 0 auto;
		padding: 10px 0;
	}
	header .header_logo {
		width: 280px;
	}
	header .header_logo_link {
	}
	header .header_logo_image {
	}


	header .header_menu {
	}
	header .globalmenu {
		display: block !important;
	}
	header .globalmenu .globalmenu_items {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	header .globalmenu .pc_header_hide {
		display: none;
	}
	header .globalmenu .globalmenu_link {
		display: block;
		text-decoration: none;
		width: 100%;
		padding: 7px 28px 5px 0;
		position: relative;
	}
	header .globalmenu .globalmenu_jp {
		display: block;
		font-family: var(--font-mincho);
		font-size: 16px;
		color: #333;
		line-height: 1;
		margin-bottom: 3px;
	}
	header .globalmenu .globalmenu_en {
		display: block;
		font-size: 11px;
		color: var(--main-color);
		line-height: 1;
	}


	/* --------------------------------------------------
	main
	-------------------------------------------------- */


	/* --------------------------------------------------
	footer
	-------------------------------------------------- */
	footer {
	}
	footer .footer_main {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: var(--pc_main-width);
		margin: 0 auto;
		padding: 10px 0;
	}
	footer .footer_logo {
		width: 280px;
	}
	footer .footer_logo_link {
	}
	footer .header_logo_image {
	}
	footer .footer_menu {
	}
	footer .globalmenu_items {
		display: flex;
		flex-wrap: wrap;
	}
	footer .globalmenu_item {
		margin-left: 15px;
	}
	footer .globalmenu_item:first-child {
		margin-left: 0;
	}
	footer .globalmenu_link {
	}
	footer .globalmenu_jp {
		font-size: 15px;
	}
	footer .globalmenu_en {
		display: none;
	}
	footer .footer_text {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 10px 0;
	}
	footer .footer_copy {
		font-size: 12px;
		margin: 0 2px;
	}
	footer .footer_bwork {
		font-size: 12px;
		margin: 0 2px;
	}
	footer .footer_bwork a {
	}
}


/* --------------------------------------------------
スマホ
-------------------------------------------------- */
@media all and (max-width: 767px) {

	.sp_show {
		display: block;
	}
	.sp_hide {
		display: none;
	}
	.sp_block {
		display: block;
	}

	/* --------------------------------------------------
	header
	-------------------------------------------------- */
	header {
		position: fixed;
		top: 0;
		height: calc(var(--sp-header-height) + var(--sp-header-h1-height));
		background: rgba(255,255,255,0.95);
		box-shadow: 0px 1px 3px rgba(0,0,0,0.15);
		z-index: 9000;
	}
	header h1 {
		display: block;
		height: var(--sp-header-h1-height);
		font-size: 10px;
		padding: 2px 10px 0;
	}
	header .header_main {
		width: 100%;
		height: var(--sp-header-height);
		padding: 0 10px;
		position: relative;
	}
	header .header_logo {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
		width: 170px;
	}
	header .header_logo_link {
	}
	header .header_logo_image {
		width: 100%;
	}

	header .header_menu {
	}

	/* ハンバーガーメニュー */
	header .headMenubtn {
		position: fixed;
		top: 32px;
		right: 10px;
		width: 44px;
		height: 44px;
		border-radius: 5px;
		z-index: 150;
	}
	header .headMenubtn span {
		position: absolute;
		left: 10px;
		width: 22px;
		height: 1px;
		background: #111;
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	header .headMenubtn span:nth-child(1) { top: 12px; }
	header .headMenubtn span:nth-child(2) { top: 20px; }
	header .headMenubtn span:nth-child(3) { top: 28px; }
	header .headMenubtn.open {
	}
	header .headMenubtn.open span {
	}
	header .headMenubtn.open span:nth-child(1) {
		top: 20px;
		-webkit-transform: translateY(0px) rotate(-45deg);
		transform: translateY(0px) rotate(-45deg);
	}
	header .headMenubtn.open span:nth-child(2) {
		opacity: 0;
	}
	header .headMenubtn.open span:nth-child(3) {
		top: 38px;
		-webkit-transform: translateY(-18px) rotate(45deg);
		transform: translateY(-18px) rotate(45deg);
	}

	/* ヘッダーメニュー */
	header .globalmenu {
		display: none;
		position: absolute;
		/*top: calc(var(--sp-header-height) + var(--sp-header-h1-height));*/
		top: calc(var(--sp-header-height));
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(255,255,255,0.95);
		padding: 3vw;
	}
	header .globalmenu_items {
	}
	header .globalmenu_item {
		border-bottom: 1px solid #ccc;
	}
	header .globalmenu_link {
		display: block;
		color: #333;
		font-weight: bold;
		padding: 3.5vw 2.5vw;
		position: relative;
	}
	header .globalmenu_link:after {
		position: absolute;
		top: 50%;
		right: 2%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		font-family: "Font Awesome 6 free";
		font-weight: bold;
		content: '\f105';
	}
	header .globalmenu_jp {
		display: block;
		font-size: 4vw;
		line-height: 1;
		margin-bottom: 1.5vw;
	}
	header .globalmenu_en {
		display: block;
		font-size: 3vw;
		line-height: 1;
	}
	header .closeBtnBox {
		text-align: center;
		padding: 10vw 0;
	}
	header .closeBtnBox .closeBtn {
		font-size: 3.5vw;
		border: 1px solid #999;
		border-radius: 20vw;
		padding: 3vw 10vw;
	}
	header .closeBtnBox .closeBtn:before {
		font-family: "Font Awesome 6 free";
		font-weight: bold;
		content: '\f00d';
		margin-right: 1vw;
	}


	/* --------------------------------------------------
	main
	-------------------------------------------------- */
	main {
		padding: calc( var(--sp-header-height) + var(--sp-header-h1-height) ) 0 0;
	}


	/* --------------------------------------------------
	footer
	-------------------------------------------------- */
	footer {
	}
	footer .footer_main {
		display: flex;
		flex-direction: column;
		padding: 7.5vw 0;
	}
	footer .footer_logo {
		order: 2;
		width: 60vw;
		margin: 0 auto;
	}
	footer .footer_logo_link {
	}
	footer .header_logo_image {
	}
	footer .footer_menu {
		order: 1;
		margin-bottom: 3vw;
	}
	footer .globalmenu_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	footer .globalmenu_item {
		margin: 0 1.5vw;
	}
	footer .globalmenu_link {
	}
	footer .globalmenu_jp {
		font-size: 3.25vw;
	}
	footer .globalmenu_en {
		display: none;
	}
	footer .footer_text {
		padding: 3vw 0;
	}
	footer .footer_copy {
		font-size: 2.75vw;
		text-align: center;
	}
	footer .footer_bwork {
		font-size: 2.75vw;
		text-align: center;
	}
	footer .footer_bwork a {
	}
}
