@charset "utf-8";

/* Component */
.c_lg_container,
.c_md_container,
.c_sm_container {
	width: 100%;
	margin: auto;
}

.c_tar {
	text-align: right;
}

.c_lg_container {
	max-width: 1260px;
}

.c_md_container {
	max-width: 960px;
}

.c_sm_container {
	max-width: 500px;
}

.c_ms_20 {
	margin-top: 20px;
}

.c_mat20 {
	margin-top: 40px;
}

.c_mat40 {
	margin-top: 40px;
}

.c_mab20 {
	margin-bottom: 40px;
}

.c_mab40 {
	margin-bottom: 40px;
}

.s_mainlist {
	padding-left: 20px;
}

.s_sublist {
	padding-left: 40px;
}

li.s_notlist {
	counter-increment: none !important;
}

li.s_notlist::before {
	content: none !important;
}

ol {
	list-style-type: none;
	counter-reset: my-list-counter;
}

ol li {
	display: flex;
	align-items: flex-start;
	counter-increment: my-list-counter;
}

ol li::before {
	content: counter(my-list-counter) ".";
	margin-right: 12px;
	flex-shrink: 0;
	font-weight: bold;
}

ol li .list-content {
	text-align: justify;
}


.is_fl_jc_end {
	display: flex;
	justify-content: end;
}

/*----------------------------------------------
        c_btn (button components)
---------------------------------------------*/
.c_btn_container {
	display: flex;
	max-width: 100%;
}

.c_btn_container_bx {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	text-decoration: none;
	padding: 15px 15px 15px 0;
	margin-top: 50px;
	transition: 0.3s;
	height: fit-content;
	max-width: fit-content;
	justify-content: space-between;
}

.l_page .c_btn_container_bx {
	max-width: fit-content;
}

.c_btn_navy_dv {
	border-bottom: 2px solid var(--navy);
}

.c_btn_wh_dv {
	border-bottom: 2px solid var(--wh);
}

.c_btn_top_label {
	font-family: 'Zen Kaku Gothic New';
	font-weight: 700;
	font-size: 28px;
	color: var(--navy);
}

.c_btn_cta_label {
	font-family: 'Zen Kaku Gothic New';
	font-weight: 700;
	font-size: 28px;
	color: var(--wh);
}

.c_btn_container_bx:hover {
	background-color: var(--navy) !important;
}

.c_btn_container_bx:hover .c_btn_top_label {
	color: var(--wh);
	text-decoration: none !important;
}

.c_btn_txt {
	color: var(--dpa);
}

.c_btn_404,
.c_btn_thanks,
.c_btn_single {
	background-color: var(--navy);
}

.c_btn_404:hover,
.c_btn_thanks:hover,
.c_btn_single:hover {
	background-color: var(--wh);
	opacity: 1;
}

@media (max-width: 1150px) {
	.c_btn_top_label {
		font-size: 20px;
	}
}

@media (max-width: 850px) {
	.c_btn_container_bx {
		margin-top: 20px;
	}
}

@media (max-width:500px) {
	.c_btn_cta_label {
		font-size: 20px;
	}
}

/*----------------------------------------------
        c_icon (arrow & circle svg mask icons)
---------------------------------------------*/
.c_icon_circle {
	display: inline-block;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	position: relative;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.c_icon_cc_navy {
	color: var(--wh);
	background-color: var(--navy);
}

.c_icon_cc_purple {
	color: var(--wh);
	background-color: var(--dpa);
}

.c_icon_cc_wh {
	color: var(--navy);
	background-color: var(--wh);
}

.c_btn_container_bx:hover .c_icon_circle {
	color: var(--navy);
	background-color: var(--wh);
}

.c_icon_circle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 35px;
	height: 35px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
	mask-position: center;
	background-color: currentColor;
}

.c_icon_cc {
	color: var(--wh);
	background-color: var(--dpa);
}

.c_news_notice:hover .c_icon_cc {
	color: var(--wh);
	background-color: var(--navy);
}

.c_side_nav_icon {
	background-color: var(--navy);
	color: var(--wh);
	margin-right: 10px;
}

/*----------------------------------------------
        c_news (news row & list component)
---------------------------------------------*/
.c_wrap_content {
	display: flex;
	justify-content: left;
	align-items: center;
	height: fit-content;
}


section.c_wrap_news_block {
	max-width: 100%;
	margin: 50px 200px 0px 200px;
}

.c_news_row {
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: 0.3s;
}

.c_news_list {
	list-style-type: none;
}


.c_news_notice {
	display: grid;
	grid-template-columns: auto 1fr;
	width: 100%;
	box-sizing: border-box;

	border-bottom: 1px solid var(--dpa);
	cursor: pointer;
	transition: 0.3s;
	text-decoration: none;
	padding: 20px 0;
}

.c_news_notice .c_wrap_content:nth-child(2) {
	align-items: center;
}

.c_news_date {
	font-weight: 700;
	font-size: 18px !important;
	color: var(--bk);
	margin-right: 10px;
	transition: 0.3s;
	line-height: 2;
}

.c_news_category {
	font-weight: 500;
	color: var(--wh);
	padding: 5px 20px;
	border-radius: 18px;
	margin: 3px 10px 0 0;
	transition: 0.3s;
	font-size: 18px;
	line-height: 1;
	background-color: var(--dpa);
}

.c_news_notice:hover .c_news_category {
	background-color: var(--navy);
}

.c_news_bx_pg {
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_news_title {
	flex: 1;
	font-family: 'Zen Kaku Gothic New';
	font-weight: 500;
	font-size: 18px !important;
	line-height: 1.4;
	color: #1F1F1F;
	margin: 0;
	max-width: 100%px;
	text-wrap: wrap;
}

.c_news_title:hover {
	color: #1F1F1F;
}

.c_divider {
	border-bottom: 1px solid var(--dpa);
	padding-bottom: 10px;
}

.c_mg_btm {
	margin-bottom: 30px;
}


.c_news_pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 50px;
	padding-bottom: 20px;
}

.c_news_pagination a,
.c_news_pagination span,
.c_news_pagination .prev,
.c_news_pagination .next {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
	width: 45px;
	height: 45px;
	background-color: rgba(11, 7, 126, 0.20);
	color: var(--navy);
	font-weight: 900 !important;
	text-decoration: none;
	transition: 0.3s ease;
	border-radius: 5px;
}

.c_news_pagination a:hover,
.c_news_pagination .current {
	background-color: var(--navy) !important;
	color: var(--wh) !important;
	font-weight: 900 !important;
}

.c_news_pagination a.prev,
.c_news_pagination a.next {
	font-size: 24px;
	line-height: 1;
	padding-bottom: 5px;
}

.c_news_pagination span.prev,
.c_news_pagination span.next {
	opacity: 0.5;
	cursor: not-allowed;
}

@media (max-width: 768px) {
	.c_news_notice {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.c_wrap_content:nth-child(2) {
		gap: 20px;
	}
}

@media (max-width: 400px) {
	.c_wrap_content:first-child {
		flex-direction: column;
		align-items: start;
		gap: 10px;
	}
}

/*----------------------------------------------
        c_profile_table (tables)
---------------------------------------------*/
.c_profile_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--dpa);
}

.c_profile_table th,
.c_profile_table td {
	padding: 25px 20px;
	font-size: 20px;
	color: var(--bk);
	border: 1px solid var(--dpa);
	line-height: 1.6;
}

.c_profile_table th {
	background-color: transparent;
	min-width: 110px;
	font-weight: 700;
	text-align: start;
	white-space: nowrap;
}

.c_profile_table td {
	width: 75%;
	font-weight: 500;
}

.c_profile_table tr {
	border: 1px solid var(--dpa);
}

@media (max-width: 500px) {
	.c_profile_table th {
		white-space: wrap;
	}

	.c_profile_table th,
	.c_profile_table td {
		font-size: 16px;
	}
}

/*----------------------------------------------
        c_timeline (timeline system)
---------------------------------------------*/
.c_timeline_container {
	border-top: 1px solid var(--dpa);
	border-bottom: 1px solid var(--dpa);
	padding: 80px 0;
	margin-bottom: 100px;
}

.c_timeline_wrapper {
	position: relative;
	margin-top: 50px;
}

.c_timeline_row {
	display: grid;
	grid-template-columns: 40px 200px 1fr;
	gap: 20px;
	padding-bottom: 40px;
	position: relative;
}

.c_timeline_row::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 19px;
	width: 2px;
	height: 100%;
	background-color: var(--navy);
	z-index: 1;
}

.c_timeline_row:last-child::before {
	display: none;
}

.c_timeline_marker {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	padding-top: 15px;
}

.c_dot {
	width: 12px;
	height: 12px;
	background-color: var(--navy);
	border-radius: 50%;
}

.c_timeline_date {
	display: flex;
	align-items: flex-start;
}

.c_date_badge {
	background-color: var(--navy);
	color: var(--wh);
	font-family: 'Prompt', sans-serif;
	font-weight: 600;
	font-size: 24px;
	padding: 8px 20px;
	border-radius: 100px;
	display: inline-block;
	width: 250px;
	line-height: 1;
	text-align: center;
}

.c_timeline_desc {
	font-size: 18px;
	line-height: 1.8;
	color: var(--bk);
	padding-top: 2px;
	font-weight: 500;
}

@media screen and (max-width: 1024px) {
	.c_timeline_row {
		grid-template-columns: 40px 1fr;
	}

	.c_timeline_date {
		grid-column: 2;
		margin-bottom: 10px;
	}

	.c_timeline_desc {
		grid-column: 2;
	}
}

@media screen and (max-width: 400px) {
	.c_date_badge {
		width: 180px;
	}
}

/*----------------------------------------------
        c_greeting (greeting block)
---------------------------------------------*/
.c_greeting_container {
	padding-bottom: 100px;
}

.c_greeting_grid {
	display: grid;
	grid-template-columns: 55% 40%;
	gap: 40px;
	position: relative;
	align-items: start;
}

.c_greeting_catchphrase {
	position: relative;
	z-index: 10;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 40px;
}

.c_greeting_catchphrase .c_dsk_overlap {
	margin-top: 10px;
}

.c_greeting_description p {
	font-size: 16px;
	line-height: 2.2;
	color: var(--bk);
	margin-bottom: 40px;
}

.c_greeting_signature {
	text-align: right;
	margin: 100px 0px 50px 0px;
}

.c_sig_title {
	font-size: 16px;
	font-weight: 500;
	color: var(--navy);
}

.c_sig_name {
	font-size: 24px;
	font-weight: 700;
}

.c_greeting_image_col img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	border-radius: 10px;
}

.c_bg_white {
	background-color: #fff;
	padding: 2px 8px;
}

.c_overlap {
	display: inline-block;
}

@media (max-width: 850px) {
	.c_greeting_container {
		padding: 50px 0px !important;
	}
}

@media (max-width: 768px) {
	.c_greeting_catchphrase {
		font-size: 22px;
	}
}

@media (max-width: 500px) {
	.c_greeting_signature {
		margin: 40px 0 0;
	}

	.c_greeting_catchphrase {
		font-size: 20px;
	}

	.c_greeting_image_col img {
		width: 60%;
		margin: auto;
	}
}

/*----------------------------------------------
        c_env (environment cards)
---------------------------------------------*/
.c_env_container_list {
	margin-bottom: 40px;
}

.c_env_card {
	background-color: var(--wh);
	padding: 60px 40px 40px;
	border-radius: 12px;
	position: relative;
}

.c_badge_container {
	position: absolute;
	width: 100%;
}

.c_env_number_badge {
	position: relative;
	font-family: 'Prompt', sans-serif;
	font-size: 64px;
	font-style: italic;
	font-weight: 600;
	line-height: 1;
	color: var(--navy);
	transform: translateY(-50px);
}

.c_env_highlight_title {
	position: relative;
	font-size: 32px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 20px;
	border-radius: 50px;
	background: rgba(11, 7, 126, 0.10);
	padding: 5px 40px;
	text-align: center;
	width: 90%;
	margin: auto;
	margin-bottom: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-wrap: nowrap;
}

.c_env_desc {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 30px;
}

.c_env_image_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.c_env_image_grid img {
	object-fit: cover;
	width: 100%;
	height: 220px;
	border-radius: 10px;
}

@media (max-width: 1260px) {
	.c_env_card {
		padding-top: 70px;
	}

	.c_env_number_badge {
		transform: translateY(-40px);
	}

	.c_env_highlight_title {
		font-size: 26px;
	}
}

@media (max-width: 850px) {
	.c_env_card {
		padding: 50px 20px 20px;
	}
}

@media (max-width: 650px) {
	.c_env_highlight_title {
		font-size: 24px;
	}

	.c_env_number_badge {
		font-size: 40px;
	}
}

@media (max-width: 550px) {
	.c_env_highlight_title {
		font-size: 16px;
		width: 100%;
		transform: translateY(30%);
		margin-top: 20px;
	}

	.c_env_card {
		padding: 30px 20px 20px;
	}

	.c_env_number_badge {
		font-size: 40px;
	}

	.c_env_number_badge {
		transform: translateY(-30px);
	}

	.s_recruit_container .c_section_title {
		font-size: 20px;
	}
}

/*----------------------------------------------
        c_title_area & utilities
---------------------------------------------*/
.c_title_area {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 5px;
	margin-bottom: 40px;
}

.c_accent_line {
	width: 60px;
	height: 6px;
	background-color: var(--navy);
}

.c_accent_line_thin {
	width: 28px;
	height: 4px;
	background-color: var(--navy);
}

.c_section_title {
	font-size: 32px;
	font-weight: 700;
	color: var(--bk);
}

.c_spacer {
	height: 60px;
}

.c_anchor_target {
	scroll-margin-top: 100px;
}

.c_pd_70 {
	padding-bottom: 70px;
}

.c_ps_40 {
	padding-left: 40px;
}

.c_mg_50 {
	margin-top: 20px;
}

.c_p_align {
	font-weight: bold;
}

.c_num_txt {
	color: var(--navy);
	font-weight: bold;
}

.c_page_head {
	padding: 100px 40px 20px;
}

.c_page_en {
	font-family: 'Prompt', sans-serif;
	color: var(--navy);
	font-size: 20px;
	font-weight: 700;
	line-height: 25.20px;
	letter-spacing: 1px;
	word-wrap: break-word;
}

.c_page_jp {
	color: var(--bk);
	font-weight: 700;
	font-size: 48px;
	letter-spacing: 2.40px;
	line-height: 60.50px;
	word-wrap: break-word;
}

.c_page_img {
	margin-top: 50px !important;
}

.c_404_container,
.c_thanks_container,
.c_single_container {
	justify-content: center;
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 50px 20px;
}

.c_detail {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 20px;
	margin-top: 20px;
	margin-bottom: 40px;
}

.c_404_container {
	text-align: center;
}

.c_404_container .c_page_subttl br {
	display: flex !important;
}

.c_br_sp {
	display: none;
}

.c_desc {
	justify-content: center;
	align-items: center;
	display: flex;
}

.c_sp_overlap {
	display: none;
}

.c_mg_news {
	margin-top: 10px;
}

.c_mg_service {
	margin-top: 10px;
}

.c_mg_company {
	margin-top: 10px;
}

.c_mg_bottom {
	margin-bottom: 10px;
}

.c_ttl_gap {
	margin: 50px 550px 10px 0px;
}

.c_f_logo {
	margin: 0 auto;
	display: block;
}

.c_f_container {
	padding-bottom: 30px;
}

.c_tac {
	font-weight: 500;
	margin-top: 30px;
}

.c_mb10 {
	font-size: 20px;
	font-weight: bold;
}

.c_mb5 {
	font-size: 16px;
}

.c_mb30 {
	margin: 30px;
	display: block;
}

.c_mb40 {
	display: grid;
	grid-template-columns: 568px 568px;
	justify-content: center;
	align-items: center;
	gap: 0px;
}

.c_tel_txt {
	border: 2px solid #fff;
	color: #fff;
	padding: 15px 40px;
	font-weight: 500;
	text-decoration: none;
	width: 568px;
	font-size: 35px;
	justify-content: center;
	align-items: center;
	font-family: 'Prompt', sans-serif;
}

.c_mb50 {
	border-width: 2px 2px 2px 0px;
	border-style: solid;
	color: #fff;
	padding: 15px 40px;
	font-weight: bold;
	text-decoration: none;
	width: 568px;
	font-size: 35px;
}

.c_f_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.c_f_copy {
	font-size: 12px;
	margin-top: 20px;
	text-align: center;
}

.c_entry_content {
	line-height: 2.2;
	font-size: 1rem;
	font-weight: 500;
}

.c_dsk_overlap {
	white-space: nowrap;
}

.c_btn_single_label {
	color: var(--wh);
	max-width: 200px;
}

@media screen and (max-width: 1150px) {
	.c_mb40 {
		grid-template-columns: auto;
		gap: 20px;
		margin: 30px;
	}

	.c_mb50 {
		border-width: 2px;
	}

	.c_f_btn {
		display: flex;
		gap: 10px;
		justify-content: center;
		align-items: center;
	}

	.c_page_en {
		font-size: 20px;
		line-height: 10px;
	}

	.c_page_jp {
		font-size: 30px;
	}

	.c_greeting_grid {
		display: flex;
		flex-direction: column-reverse;
	}
}

@media screen and (max-width: 850px) {
	.c_page_head {
		padding: 100px 20px 50px;
	}
}

@media screen and (max-width: 768px) {
	.c_mb40 {
		grid-template-columns: 350px;
		gap: 10px;
		margin-bottom: 20px;
	}

	.c_tel_txt,
	.c_mb50 {
		padding: 15px 40px;
		width: 350px;
		font-size: 20px;
	}

	.c_dsk_overlap {
		white-space: wrap;
	}
}

@media screen and (max-width: 500px) {
	.c_page_head {
		padding: 100px 20px 20px;
	}

	.c_page_head .c_lg_container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
}

@media screen and (max-width: 400px) {

	.c_tel_txt,
	.c_mb50 {
		width: 100%;
		max-width: 300px;
		font-size: 16px;
		margin: auto;
	}

	.l_footer_icon {
		margin-top: 5px;
		height: 20px;
	}
}

/* Linebreak */
.c_break_sm {
	display: none;
}

@media (max-width: 500px) {
	.c_break_sm {
		display: flex;
	}

	.c_section_title {
		font-size: 24px;
	}
}

/* Single  */
.c_single_container {
	padding: 50px 20px;
}

.c_single_title {
	font-size: 36px;
	font-weight: 700;
	color: var(--bk);
}

.c_single_category {
	width: fit-content;
	height: auto;
}

.s_single .c_detail a {
	font-weight: 500;
	color: var(--wh);
	padding: 5px 20px;
	border-radius: 18px;
	transition: 0.3s;
	font-size: 18px;
	line-height: 1;
	background-color: var(--dpa);
}

.c_single_category a {
	font-weight: 500;
	color: var(--wh) !important;
}

.c_single_content {
	font-weight: 400;
	color: var(--bk);
	font-size: 18px;
}

@media (max-width: 500px) {
	.c_single_title {
		font-size: 18px;
	}

	.c_news_category {
		font-size: 16px;
	}
}