@charset "utf-8";
:root {
/* 共通設定 */
	--color--black: #0B1013;
	--color--white: #FFFFFF;
	--color--red: #D92620;
	--color--green: #90AC46;

	--color--hover_color: #81A8C7;
}

body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--black);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--white);
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	letter-spacing: 0em;
}

.white_section {
	background-color: #F2F2F2;
	background-image: url('../image/corporate/section-bg_image.webp');
	background-position: center;
	background-repeat: repeat-y;
	background-size: 100% auto;
	color: var(--color--black);
}

#header {
	width: 100%;
	height: 90px;
	background-color: var(--color--black);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
	.header__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-right: 16px;
	}
		.header__logo {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 198px;
			height: auto;
		}
			.header__logo__inner {
				display: block;
				width: 133px;
				height: auto;
			}
		.global_nav {
			width: auto;
			height: auto;
		}
			.global_nav__contents {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				column-gap: 24px;
				width: auto;
				height: auto;
			}
				.global_nav__main_menu {
					width: auto;
					height: auto;
				}
					.global_nav__main_menu__list {
						display: flex;
						justify-content: flex-end;
						align-items: center;
						column-gap: 15px;
						width: auto;
						height: auto;
						font-size: 14px;
						font-weight: 500;
						line-height: calc(24 / 14);
					}
						.global_nav__main_menu__list__item {
							width: auto;
							height: auto;
						}
							.global_nav__main_menu__list__item a {
								color: var(--color--white);
							}
						@media (any-hover: hover) {
							.global_nav__main_menu__list__item a {
								transition: .3s;
							}
							.global_nav__main_menu__list__item a:hover {
								color: var(--color--hover_color);
							}
						}
				.global_nav__sub_menu {
					width: auto;
					height: auto;
				}
					.global_nav__sub_menu__list {
						display: flex;
						justify-content: flex-end;
						align-items: center;
						column-gap: 10px;
						width: auto;
						height: auto;
					}
						.global_nav__sub_menu__list__item {
							width: 130px;
							height: 42px;
						}

#page_cta {
	width: 100%;
	height: auto;
	padding: 40px 0 60px;
	background-color: var(--color--black);
}
	.page_cta__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		.page_cta__list {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: auto;
		}
			.page_cta__list__item {
				width: 46.7%;
				position: relative;
			}
			.page_cta__list__item._recruit {
				background-color: var(--color--red);
			}
			.page_cta__list__item._contact {
				background-color: var(--color--green);
			}
				.page_cta__list__item__obj {
					width: calc((58 / 467) * 100%);
					height: calc((26 / 138) * 100%);;
					background-color: var(--color--black);
					position: absolute;
					z-index: 1;
				}
				.page_cta__list__item__obj._left {
					top: calc((9 / 138) * 100%);
					left: calc((8 / 467) * 100%);
					transform: translate(-50%,-50%) rotate(-45deg);
				}
				.page_cta__list__item__obj._right {
					bottom: calc((9 / 138) * 100%);
					right: calc((8 / 467) * 100%);
					transform: translate(50%,50%) rotate(-45deg);
				}
				._recruit .page_cta__list__item__obj._left {
					border-bottom: solid 1px var(--color--red);
				}
				._recruit .page_cta__list__item__obj._right {
					border-top: solid 1px var(--color--red);
				}
				._contact .page_cta__list__item__obj._left {
					border-bottom: solid 1px var(--color--green);
				}
				._contact .page_cta__list__item__obj._right {
					border-top: solid 1px var(--color--green);
				}
					.page_cta__list__item__obj img {
						display: none;
					}
				.page_cta__list__item__inner {
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: flex-start;
					width: 100%;
					height: 138px;
					padding-left: calc((37 / 467) * 100%);
					position: relative;
				}
					.page_cta__list__item__ttl_ja {
						margin-bottom: 8px;
						font-size: 32px;
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.08em;
						color: var(--color--white);
					}
					.page_cta__list__item__ttl_en {
						font-size: 16px;
						font-weight: 500;
						line-height: 1;
					}
					.page_cta__list__item__btn_wrap {
						width: calc((161 / 467) * 100%);
						min-width: 140px;
						height: 42px;
						position: absolute;
						top: 45px;
						right: calc((53 / 467) * 100%);
						z-index: 1;
					}
							._recruit .page_cta__btn__txt.btn__txt {
								color: var(--color--red);
							}
							._contact .page_cta__btn__txt.btn__txt {
								color: var(--color--green);
							}

#footer {
	width: 100%;
	height: auto;
	padding: 58px 0 30px;
	background-color: var(--color--white);
}
	.footer__inner {
		width: 90%;
		max-width: 994px;
		height: auto;
		margin: 0 auto;
		position: relative;
	}
		.footer__softbank {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: auto;
			margin: 0 auto 24px;
		}
			.footer__softbank__txt {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				color: var(--color--black);
			}
			.footer__softbank__image {
				width: 26.4%;
				max-width: 264px;
				height: auto;
			}
		.footer__banner_list {
			display: grid;
			grid-template-columns: 1fr 1fr 1fr 1fr;
			gap: 12px;
			width: 100%;
			height: auto;
			margin: 0 auto 86px;
		}
			.footer__banner_btn {
				display: block;
				height: auto;
			}
		@media (any-hover: hover) {
			.footer__banner_btn {
				transition: .3s;
				opacity: 1;
			}
			.footer__banner_btn:hover {
				opacity: .6;
			}
		}
		.footer__main {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: auto;
		}
			.footer__main__logo {
				width: 195px;
				height: auto;
			}
			.footer__main__menu {
				width: calc((660 / 994) * 100%);
				height: auto;
			}
				.footer__menu__list {
					display: flex;
					justify-content: flex-start;
					align-items: flex-start;
					flex-wrap: wrap;
					column-gap: 20px;
					row-gap: 5px;
					width: 100%;
					height: auto;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.5;
				}
					.footer__menu__list__item {
						width: auto;
						height: auto;
					}
						.footer__menu__list__item a {
							color: var(--color--black);
							position: relative;
						}
							.footer__menu__list__item a::after {
								content: '';
								display: block;
								width: 100%;
								height: 1px;
								background-color: var(--color--black);
								position: absolute;
								bottom: 0;
								left: 0;
								pointer-events: none;
								opacity: 0;
							}
						@media (any-hover: hover) {
							.footer__menu__list__item a::after {
								transition: .3s;
							}
							.footer__menu__list__item a:hover::after {
								opacity: 1;
							}
						}
		.footer__sub__menu {
			width: 100%;
			height: auto;
		}
			.footer__sub__menu__list {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				flex-wrap: wrap;
				column-gap: 20px;
				width: calc((660 / 994) * 100%);
				height: auto;
				margin: 0 0 0 auto;
			}
				.footer__sub__menu__list__item {
					font-size: 14px;
					font-weight: 500;
					line-height: 1.5;
				}
					.footer__sub__menu__list__item a {
						color: var(--color--black);
						position: relative;
					}
						.footer__sub__menu__list__item a::after {
							content: '';
							display: block;
							width: 100%;
							height: 1px;
							background-color: var(--color--black);
							position: absolute;
							bottom: 0;
							left: 0;
							pointer-events: none;
							opacity: 1;
						}
					@media (any-hover: hover) {
						.footer__sub__menu__list__item a::after {
							transition: .3s;
						}
						.footer__sub__menu__list__item a:hover::after {
							opacity: 0;
						}
					}
		.footer__info {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
			width: 100%;
			height: auto;
			margin: 24px auto 0;
		}
			.footer__info__address {
				width: auto;
				height: auto;
				font-size: 16px;
				font-weight: 500;
				line-height: calc(27 / 16);
				color: var(--color--black);
			}
			.footer__info__site {
				width: calc((660 / 994) * 100%);
				height: auto;
			}
				.footer__info__site_btn {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 184px;
					height: 34px;
					padding-right: 6px;
					border-radius: 2px;
					background-color: #152441;
					border: solid 1px #152441;
					font-size: 14px;
					font-weight: 500;
					line-height: 1;
					position: relative;
				}
					.footer__info__site_btn__txt {
						color: #EAC278;
					}
					.footer__info__site_btn__icon {
						width: 9px;
						height: 9px;
						border-left: solid 1px #EAC278;
						border-bottom: solid 1px #EAC278;
						position: absolute;
						top: 12px;
						right: 15px;
					}
						.footer__info__site_btn__icon::after {
							content: '';
							display: block;
							width: 6px;
							height: 6px;
							border: solid 1px #EAC278;
							position: absolute;
							top: 0;
							right: 0;
						}
			@media (any-hover: hover) {
				.footer__info__site_btn {
					transition: .3s;
				}
				.footer__info__site_btn:hover {
					background-color: #EAC278;
				}
					.footer__info__site_btn__txt {
						transition: .3s;
					}
					.footer__info__site_btn:hover .footer__info__site_btn__txt {
						color: #152441;
					}
					.footer__info__site_btn__icon {
						transition: .3s;
					}
					.footer__info__site_btn:hover .footer__info__site_btn__icon {
						border-left: solid 1px #152441;
						border-bottom: solid 1px #152441;
					}
						.footer__info__site_btn__icon::after {
							transition: .3s;
						}
						.footer__info__site_btn:hover .footer__info__site_btn__icon::after {
							border: solid 1px #152441;
						}
			}
		.footer__copyright {
			font-size: 14px;
			font-weight: 500;
			line-height: 1;
			color: var(--color--black);
			position: absolute;
			right: 0;
			bottom: 0;
		}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding-right: 26px;
	border-radius: 9999px;
	position: relative;
}
.btn._red {
	border: solid 1px var(--color--red);
	background-color: var(--color--red);
}
.btn._green {
	border: solid 1px var(--color--green);
	background-color: var(--color--green);
}
.btn._white {
	border: solid 1px var(--color--white);
	background-color: var(--color--white);
}
	.btn__txt {
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
	}
	._red .btn__txt,
	._green .btn__txt {
		color: var(--color--white);
	}
	._white .btn__txt {
		color: var(--color--black);
	}
	.btn__icon {
		width: 30px;
		height: auto;
		position: absolute;
		top: 50%;
		right: 7px;
		transform: translate(0%,-50%);
	}
@media (any-hover: hover) {
.btn {
	transition: .3s;
}
.btn._red:hover {
	background-color: var(--color--white);
}
.btn._green:hover {
	background-color: var(--color--white);
}
.btn._white:hover {
	background-color: var(--color--black);
}
	.btn__txt {
		transition: .3s;
	}
	.btn._red:hover .btn__txt {
		color: var(--color--red);
	}
	.btn._green:hover .btn__txt {
		color: var(--color--green);
	}
	.btn._white:hover .btn__txt {
		color: var(--color--white);
	}
}

.container_frame {
	position: relative;
}
	.container_frame::before,
	.container_frame::after {
		content: '';
		display: block;
		width: 145px;
		height: 63px;
		background-color: var(--color--red);
		position: absolute;
		z-index: 2;
	}
	.container_frame::before {
		top: 22px;
		left: 22px;
		transform: translate(-50%,-50%) rotate(-45deg);
	}
	.container_frame::after {
		bottom: 22px;
		right: 22px;
		transform: translate(50%,50%) rotate(-45deg);
	}
	.container_frame::before {
		border-bottom: solid 1px var(--color--black);
	}
	.container_frame::after {
		border-top: solid 1px var(--color--black);
	}

.page_breadcrumb {
	width: 100%;
	height: auto;
	padding: 18px 0;
}
	.page_breadcrumb__list {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 90%;
		max-width: 1020px;
		height: auto;
		margin: 0 auto;
	}
		.page_breadcrumb__list__item {
			width: auto;
			height: auto;
			font-size: 12px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0em;
		}
		.page_breadcrumb__list__item:not(:last-of-type)::after {
			content: '>';
			display: inline-block;
			margin: 0 6px;
		}
			a.page_breadcrumb__list__item__txt {
				color: var(--color--white);
				text-decoration: underline;
			}
			span.page_breadcrumb__list__item__txt {
				color: var(--color--white);
			}

.page_heading {
	width: 100%;
	height: auto;
	padding: 54px 0 32px;
}
	.page_heading__mark {
		width: 50px;
		height: auto;
		margin: 0 auto 20px;
	}
	.page_heading__main_txt {
		width: 100%;
		height: auto;
		margin-bottom: 14px;
		font-size: 32px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.08em;
		text-align: center;
	}
	._white .page_heading__main_txt {
		color: var(--color--black);
	}
	.page_heading__sub_txt {
		width: 100%;
		height: auto;
		font-size: 16px;
		font-weight: 500;
		line-height: calc(17 / 16);
		letter-spacing: 0.08em;
		text-align: center;
	}
	._white .page_heading__sub_txt {
		color: var(--color--black);
	}

/* PC ================================================== */
@media all and (min-width: 1101px){
/* header */
		.hamburger {
			display: none;
		}
							.global_nav__main_menu__list__item a {
								color: var(--color--white);
							}
								.global_nav__main_menu__list__item__icon {
									display: none;
								}
}

@media all and (min-width: 769px){
.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_pc {display: block;}
body {
	padding-top: 90px;
}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

}

@media all and (max-width: 1100px){
		.global_nav {
			width: 500px;
			height: calc(100dvh - 90px);
			background: var(--color--black);
			position: fixed;
			top: 90px;
			right: -500px;
			z-index: 99;
			padding-right: 0;
			transition: .5s;
		}
		.global_nav.active {
			right: 0;
		}
			.global_nav__contents {
				display: block;
				width: 100%;
				padding: 11px 0 100px;
				overflow: auto;
			}
				.global_nav__main_menu {
					width: calc((350 / 390) * 100%);
					margin: 0 auto 24px;
				}
					.global_nav__main_menu__list {
						display: block;
						width: 100%;
					}
						.global_nav__main_menu__list__item {
							width: 100%;
							border-bottom: solid 1px #21272B;
						}
							.global_nav__main_menu__list__item a {
								display: block;
								width: 100%;
								height: auto;
								padding: 11px 0 12px;
								position: relative;
							}
								.global_nav__main_menu__list__item__icon {
									width: 10px;
									height: auto;
									position: absolute;
									top: 24px;
									right: 15px;
								}
				.global_nav__sub_menu {
					width: calc((350 / 390) * 100%);
					margin: 0 auto;
				}
					.global_nav__sub_menu__list {
						display: grid;
						grid-template-columns: 1fr 1fr;
						column-gap: 10px;
						width: 100%;
					}
						.global_nav__sub_menu__list__item {
							width: 100%;
						}

		.hamburger {
			width: 46px;
			height: 46px;
		}
			.hbg_btn {
				width: 100%;
				height: 100%;
				padding: 6px 0 0;
				border-radius: 9999px;
				border: solid 1px var(--color--white);
				cursor: pointer;
			}
				.hbg_btn__icon {
					display: block;
					width: 4px;
					height: 4px;
					margin: 0 auto 4px;
					border-radius: 9999px;
					background-color: var(--color--white);
					position: relative;
				}
					.hbg_btn__icon::before,
					.hbg_btn__icon::after {
						content: '';
						display: block;
						width: 4px;
						height: 4px;
						border-radius: 9999px;
						background-color: var(--color--white);
						position: absolute;
						top: 0;
					}
					.hbg_btn__icon::before {
						left: -8px;
					}
					.hbg_btn__icon::after {
						right: -8px;
					}
				.hbg_btn__txt {
					display: block;
					width: 100%;
					height: 10px;
					font-size: 10px;
					font-weight: 500;
					line-height: 1;
					letter-spacing: -0.06em;
					text-align: center;
					color: var(--color--white);
					position: relative;
					overflow: hidden;
				}
					.hbg_btn__txt__open,
					.hbg_btn__txt__close {
						display: block;
						transition: .3s;
					}
					.hbg_btn__txt__open {
						position: relative;
						top: 0;
						left: 0;
					}
					.open .hbg_btn__txt__open {
						top: -10px;
					}
					.hbg_btn__txt__close {
						position: absolute;
						top: 10px;
						left: 50%;
						transform: translate(-50%,0%);
					}
					.open .hbg_btn__txt__close {
						top: 0;
					}

/* page_cta */
				.page_cta__list__item__inner {
					height: 120px;
					padding-left: calc((32 / 467) * 100%);
				}
					.page_cta__list__item__ttl_ja {
						margin-bottom: 6px;
						font-size: 24px;
					}
					.page_cta__list__item__ttl_en {
						font-size: 14px;
					}
					.page_cta__list__item__btn_wrap {
						height: 40px;
						top: 40px;
						right: calc((30 / 467) * 100%);
					}
						.page_cta__btn {
							justify-content: left;
							padding-left: 16px;
							padding-right: 7px;
						}
					@media (any-hover: hover) {
						.page_cta__btn {
							transition: .3s;
						}
						._recruit .page_cta__btn:hover {
							background-color: var(--color--red);
						}
						._contact .page_cta__btn:hover {
							background-color: var(--color--green);
						}
							.page_cta__btn__txt {
								transition: .3s;
							}
							.page_cta__btn:hover .page_cta__btn__txt {
								color: var(--color--white) !important;
							}
					}

/* footer */
		.footer__softbank {
			margin: 0 auto 14px;
		}
			.footer__softbank__txt {
				font-size: 14px;
			}
		.footer__main {
			flex-direction: column;
			align-items: stretch;
		}
			.footer__main__logo {
				width: 140px;
			}
			.footer__main__menu {
				width: 100%;
				height: auto;
			}
				.footer__menu__list {
					justify-content: flex-end;
					column-gap: 14px;
					font-size: 14px;
				}
			.footer__sub__menu__list {
				justify-content: flex-end;
			}
		.footer__info {
			display: block;
			margin: 24px auto 0;
		}
			.footer__info__address {
				margin: 0 auto 20px;
				font-size: 14px;
			}
			.footer__info__site {
				width: calc((715 / 994) * 100%);
			}
		.footer__copyright {
			font-size: 12px;
		}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: block;}
body {
	padding-top: 80px;
}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

#header {
	height: 80px;
}
		.header__logo {
			width: 178px;
		}
			.header__logo__inner {
				width: 118px;
			}
		.global_nav {
			width: 100%;
			height: calc(100dvh - 80px);
			top: 80px;
			right: -100%;
		}

#page_cta {
	display: none;
}

/* footer */
#footer {
	padding: 32px 0 28px;
}
	.footer__inner {
		width: calc((334 / 390) * 100%);
	}
		.footer__softbank {
			flex-direction: column;
			justify-content: flex-start;
			margin: 0 auto 10px;
		}
			.footer__softbank__txt {
				width: 100%;
				margin: 0 auto 18px;
				font-size: 14px;
				line-height: calc(24 / 14);
				text-align: center;
			}
			.footer__softbank__image {
				width: 100%;
				max-width: 400px;
				margin: 0 auto;
			}
		.footer__banner_list {
			grid-template-columns: 1fr 1fr;
			column-gap: 8px;
			row-gap: 10px;
			max-width: 400px;
			margin: 0 auto 60px;
		}
		.footer__main {
			flex-direction: column;
			justify-content: flex-start;
		}
			.footer__main__logo {
				width: 140px;
				margin: 0 auto 20px;
			}
			.footer__main__menu {
				display: none;
			}
			.footer__sub__menu__list {
				justify-content: center;
				align-items: center;
				width: 100%;
				margin: 0 auto;
			}
		.footer__info {
			margin: 32px auto 0;
		}
			.footer__info__address {
				width: 100%;
				font-size: 14px;
				line-height: calc(24 / 14);
				text-align: center;
			}
			.footer__info__site {
				width: 100%;
				margin: 0 auto 42px;
			}
				.footer__info__site_btn {
					margin: 0 auto;
				}
		.footer__copyright {
			text-align: center;
			position: initial;
		}

/* container_frame */
	.container_frame::before,
	.container_frame::after {
		width: 100px;
		height: 42px;
	}
	.container_frame::before {
		top: 13px;
		left: 14px;
	}
	.container_frame::after {
		bottom: 13px;
		right: 14px;
	}

/* page_breadcrumb */
.page_breadcrumb {
	padding: 12px 0;
}
	.page_breadcrumb__list {
		width: calc((344 / 390) * 100%);
	}

/* page_heading */
.page_heading {
	padding: 32px 0 28px;
}
	.page_heading__mark {
		width: 40px;
		margin: 0 auto 16px;
	}
	.page_heading__main_txt {
		margin-bottom: 10px;
		font-size: 24px;
	}
	.page_heading__sub_txt {
		font-size: 14px;
	}

}

/* SP ================================================== */
@media all and (max-width: 575px){

}