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

:root {
	--main-font: "Noto Sans JP", serif;
	--secondary-font: fot-udkakugoc60-pro, sans-serif;
	--main-color: rgba(229,0,90,1.0);	/* #e5005a */
	--main-color_09: rgba(229,0,90,0.9);
	--main-color_08: rgba(229,0,90,0.8);
	--main-color_07: rgba(229,0,90,0.7);
	--main-color_06: rgba(229,0,90,0.6);
	--main-color_05: rgba(229,0,90,0.5);
	--main-color_04: rgba(229,0,90,0.4);
	--main-color_03: rgba(229,0,90,0.3);
	--main-color_02: rgba(229,0,90,0.2);
	--main-color_01: rgba(229,0,90,0.1);
	--main-color_005: rgba(229,0,90,0.05);
	--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);
	--tertiary-color: rgba(0,22,57,1.0);	/* #001639 */
	--tertiary-color_05: rgba(0,22,57,0.5);
	--tertiary-color_04: rgba(0,22,57,0.4);
	--tertiary-color_03: rgba(0,22,57,0.3);
	--tertiary-color_02: rgba(0,22,57,0.2);
	--tertiary-color_01: rgba(0,22,57,0.1);
	--pc_main-width: 1180px;
	--pc_header-height: 104px;
	--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(--main-font);
	color: var(--tertiary-color);
}

/* animeBtn
----------------------------------- */
.animeBtn {
	display: block;
	color: transparent;
	border-radius: 100px;
	margin: 0 auto;
	position: relative;
}
.animeBtn:after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.animeBtn_inn {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	font-weight: bold;
	letter-spacing: 0.1em;
	transition: text-shadow 0.2s;
}

/* --------------------------------------------------
header
-------------------------------------------------- */
header {
	width: 100%;
}
header h1 {
	color: var(--tertiary-color);
	font-weight: normal;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: transparent;
}
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_btn {
}
header .globalmenu .globalmenu_jp {
}
header .globalmenu .globalmenu_en {
}

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

/* introduction
----------------------------------- */
#introduction {
}
.introduction .introduction_inn {
}

/* pankuzu
----------------------------------- */
#pankuzu {
	width: 100%;
	margin-bottom: 2vw;
}
#pankuzu .pankuzu_items {
	display: flex;
}
#pankuzu .pankuzu_item {
	position: relative;
}
#pankuzu .pankuzu_item:after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
	color: #333;
}
#pankuzu .pankuzu_item:last-child:after {
	content: none;
}
#pankuzu a.pankuzu_link {
	color: var(--main-color);
}
#pankuzu span.pankuzu_link {
	color: #333;
}
.pageTitle {
}
.pageTitle .pageTitle_text {
}
.pageTitle .pageTitle_text_en {
	display: none;
}
.pageTitle .pageTitle_text_jp {
}

/* mainColumn
----------------------------------- */
#mainColumn {
}

/* --------------------------------------------------
bottomFix
-------------------------------------------------- */
.bottomFix {
	display: none;
	position: fixed;
	z-index: 10;
}
.bottomFix .bottomFix_link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	background: var(--secondary-color);
	border: 2px solid rgba(255,255,255,0.4);
	border-radius: 100%;
	box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
}
.bottomFix .bottomFix_link i {
}

/* --------------------------------------------------
footer
-------------------------------------------------- */
footer {
	width: 100%;
	background: var(--tertiary-color);
}
footer .footer_inn {
}
footer .footer_logo {
}
footer .footer_logo_image {
}
footer .globalmenu {
}
footer .globalmenu_items {
}
footer .globalmenu_item {
	font-family: var(--secondary-font);
}
footer .globalmenu_link {
}
footer .globalmenu_jp {
}
footer .globalmenu_en {
}
footer .footer_text {
	background: rgba(255,255,255,0.85);
}
footer .footer_copy {
}


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

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

	/* animeBtn
	----------------------------------- */
	.animeBtn {
		padding: 18px 0;
	}
	.animeBtn:after {
		right: 20px;
	}
	.animeBtn_inn {
		font-size: 16px;
	}

	/* --------------------------------------------------
	header
	-------------------------------------------------- */
	header {
		position: fixed;
		top: 0;
		left: 0;
		height: var(--pc_header-height);
		background: rgba(255,255,255,0.95);
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		z-index: 900;
	}

	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-size: 16px;
		color: #333;
		font-weight: 800;
		line-height: 1;
		margin-bottom: 3px;
	}
	header .globalmenu .globalmenu_en {
		display: block;
		font-size: 11px;
		color: var(--main-color);
		line-height: 1;
	}
	header .globalmenu_item.globalmenu_btn {
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--secondary-color);
		border-radius: 100px;
	}
	header .globalmenu_item.globalmenu_btn .globalmenu_link {
		margin-bottom: 0 !important;
		padding: 0 30px !important;
	}
	header .globalmenu_item.globalmenu_btn .globalmenu_jp {
		color: #fff;
		margin-bottom: 0;
	}
	header .globalmenu_item.globalmenu_btn .globalmenu_en {
		display: none;
	}

	/* --------------------------------------------------
	main
	-------------------------------------------------- */
	main {
		padding-top: 100px;
	}

	/* introduction
	----------------------------------- */
	#introduction {
		display: flex;
		align-items: center;
		height: 210px;
	}
	#introduction .introduction_inn {
		width: var(--pc_main-width);
		margin: 0 auto;
	}

	/* pankuzu
	----------------------------------- */
	#pankuzu {
		margin-bottom: 20px;
	}
	#pankuzu .pankuzu_items {
	}
	#pankuzu .pankuzu_item {
		margin-right: 20px;
	}
	#pankuzu .pankuzu_item:after {
		right: -14px;
		font-size: 10px;
		margin-top: 2px;
	}
	#pankuzu .pankuzu_link {
		font-size: 13px;
	}
	.pageTitle {
	}
	.pageTitle .pageTitle_text {
	}
	.pageTitle .pageTitle_text_en {
	}
	.pageTitle .pageTitle_text_jp {
		font-size: 60px;
		line-height: 1;
	}

	/* mainColumn
	----------------------------------- */
	#mainColumn {
		width: var(--pc_main-width);
		margin: 0 auto;
		padding: 20px 0 120px;
	}

	/* --------------------------------------------------
	bottomFix
	-------------------------------------------------- */
	.bottomFix {
		bottom: 20px;
		right: 20px;
	}
	.bottomFix .bottomFix_link {
		width: 100px;
		height: 100px;
		font-size: 12px;
	}
	.bottomFix .bottomFix_link i {
		font-size: 26px;
		margin-top: 4px;
	}

	/* --------------------------------------------------
	footer
	-------------------------------------------------- */
	footer {
		overflow: hidden;
		padding-top: 30px;
	}
	footer .footer_inn {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: var(--pc_main-width);
		margin: 0 auto 26px;
	}
	footer .footer_logo {
		width: 25%;
		opacity: 0.85;
	}
	footer .footer_logo_image {
		width: 100%;
	}
	footer .globalmenu {
	}
	footer .globalmenu .globalmenu_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	footer .globalmenu .globalmenu_item {
		margin: 0 8px;
	}
	footer .globalmenu .globalmenu_link {
		color: rgba(255,255,255,0.85);
		position: relative;
	}
	footer .globalmenu .globalmenu_link:hover {
		color: #fff;
	}
	footer .globalmenu .globalmenu_jp {
		display: block;
		font-size: 17px;
		font-weight: 800;
		line-height: 1;
		margin-bottom: 3px;
	}
	footer .globalmenu .globalmenu_en {
		display: block;
		font-size: 11px;
		color: yellow;
		line-height: 1;
	}
	footer .footer_text {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 8px 0;
	}
	footer .footer_copy {
		font-size: 12px;
		margin: 0 2px;
	}
}


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

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

	/* animeBtn
	----------------------------------- */
	.animeBtn {
		padding: 3.5vw 0;
	}
	.animeBtn:after {
		right: 4.0vw;
	}
	.animeBtn_inn {
		font-size: 3.5vw;
	}

	/* --------------------------------------------------
	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 0px 3px rgba(0,0,0,0.2);
		z-index: 9000;
	}
	header h1 {
		display: block;
		height: var(--sp-header-h1-height);
		font-size: 11px;
		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%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		width: 170px;
	}
	header .header_logo_link {
	}
	header .header_logo_image {
		width: 100%;
	}

	header .header_menu {
	}

	/* ハンバーガーメニュー */
	header .headMenubtn {
		position: fixed;
		top: 31px;
		right: 9px;
		width: 44px;
		height: 44px;
		/*
		background-color: var(--main-color);
		border: 1px solid var(--main-color);
		border-radius: 5px;
		*/
		z-index: 150;
	}
	header .headMenubtn span {
		position: absolute;
		left: 10px;
		width: 22px;
		height: 2px;
		background: var(--tertiary-color);
		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;
	}

	/* introduction
	----------------------------------- */
	#introduction {
		padding: 5vw;
	}
	#introduction .introduction_inn {
	}

	/* pankuzu
	----------------------------------- */
	#pankuzu {
	}
	#pankuzu .pankuzu_items {
		width: 100%;
		overflow-x: scroll;
		white-space: nowrap;
	}
	#pankuzu .pankuzu_item {
		margin-right: 4vw;
	}
	#pankuzu .pankuzu_item:after {
		right: -2.75vw;
		font-size: 2vw;
		margin-top: 0.4vw;
	}
	#pankuzu .pankuzu_link {
		font-size: 3vw;
	}
	.pageTitle {
	}
	.pageTitle .pageTitle_text {
	}
	.pageTitle .pageTitle_text_en {
	}
	.pageTitle .pageTitle_text_jp {
		font-size: 8vw;
		line-height: 1;
	}

	/* mainColumn
	----------------------------------- */
	#mainColumn {
		padding-bottom: 10vw;
	}

	/* --------------------------------------------------
	bottomFix
	-------------------------------------------------- */
	.bottomFix {
		bottom: 2.5vw;
		right: 2.5vw;
	}
	.bottomFix .bottomFix_link {
		width: 20vw;
		height: 20vw;
		font-size: 2.5vw;
	}
	.bottomFix .bottomFix_link i {
		font-size: 5vw;
		margin-top: 0.3vw;
	}

	/* --------------------------------------------------
	footer
	-------------------------------------------------- */
	footer {
		padding-top: 5vw;
	}
	footer .footer_inn {
		display: flex;
		flex-direction: column;
		margin-bottom: 6vw;
	}
	footer .footer_logo {
		order: 2;
		opacity: 0.5;
	}
	footer .footer_logo_image {
		display: block;
		width: 45vw;
		margin: 0 auto;
	}
	footer .globalmenu {
		order: 1;
		margin-bottom: 4.5vw;
	}
	footer .globalmenu .globalmenu_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 3vw;
	}
	footer .globalmenu .globalmenu_item {
	}
	footer .globalmenu .globalmenu_item:after {
	}
	footer .globalmenu .globalmenu_item:last-child {
	}
	footer .globalmenu .globalmenu_link {
		color: rgba(255,255,255,0.9);
		text-align: left;
		padding: 2vw;
	}
	footer .globalmenu .globalmenu_jp {
		font-size: 3.5vw;
	}
	footer .globalmenu .globalmenu_en {
		display: none;
	}
	footer .footer_text {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 1.5vw 0;
	}
	footer .footer_copy {
		font-size: 2.75vw;
	}
}
