@charset "utf-8";

/* SVG Sprite Hidden Helper */
.c_svg_hidden {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* Components */

/* Arrow Button Component*/
.c_arrow,
.main_btn_arrow {
	border-radius: 360px;
	padding: var(--padding-regular);
	min-width: 40px;
	max-width: 40px;
	width: 100%;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_arrow_icon {
	width: 50px;
	height: 25px;
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
	transition: transform 0.3s ease, stroke 0.3s ease;
}

/* Arrow Stroke Color Classes */
.c_arrow_stroke_white,
.stroke-white,
.fourth-arrow-btn .c_arrow_icon,
.primary-arrow-btn .c_arrow_icon,
.secondary-arrow-btn .c_arrow_icon,
.tertiary-arrow-btn .c_arrow_icon,
.primary-btn-color .c_arrow_icon,
.secondary-btn-color .c_arrow_icon,
.tertiary-btn-color .c_arrow_icon,
.fourth-btn-color .c_arrow_icon,
.c_arrow_stroke_green,
.green-arrow-btn .c_arrow_icon {
	stroke: #ffffff !important;
	color: #ffffff !important;
	fill: none;
}

.c_arrow_stroke_navy,
.stroke-navy,
.c_arrow_stroke_default,
.c_arrow_stroke_lime,
.lime-arrow-btn .c_arrow_icon,
.transparent-arrow-btn .c_arrow_icon {
	stroke: var(--primary-color, #434343) !important;
	color: var(--primary-color, #434343) !important;
	fill: none;
}


.s_access .s_ac_button_container .c_arrow_icon {
	stroke: var(--accent-three-color) !important;
	color: var(--accent-three-color) !important;
	fill: none;
}

.s_contact .s_ac_button_container .c_arrow_icon {
	stroke: var(--accent-one-color) !important;
	color: var(--accent-one-color) !important;
	fill: none;
}

.c_arrow {
	margin-left: 10px;
	transition: all .6s ease-in-out;
}

.c_arrow:hover {
	transform: scale(1.3);
	transition: .6s ease-in-out;
}

.c_arrow:hover .c_arrow_right,
.c_arrow:hover .c_arrow_icon {
	transform: scale(.9);
	transition-delay: 1s;
	transition: 1s ease-in-out;
}

.main_btn_arrow {
	margin-right: 10px;
}

.primary-arrow-btn {
	background: var(--accent-two-color);
}

.secondary-arrow-btn {
	background: var(--accent-three-color);
}

.tertiary-arrow-btn {
	background: var(--accent-one-color);
}

.fourth-arrow-btn {
	background: var(--accent-four-color);
}

.transparent-arrow-btn {
	border: 1px solid var(--secondary-color);
	background: transparent;
}

.lime-arrow-btn,
.green-arrow-btn {
	background: var(--secondary-color);
}

/* Section Title Component*/

.c_title_header {
	font-family: var(--primary-font);
	font-size: var(--header-font);
	font-style: normal;
	font-weight: 700;
	line-height: 40px;
}

.c_title_sub {
	font-family: var(--secondary-font);
	font-size: var(--sub-font);
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
}

/* Main Button with arrow Component*/
.c_main_button {
	position: relative;
	width: 100%;
	max-width: 300px;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border-radius: 100px;
	border: 1px solid var(--primary-color);
	transition: all ease .3s;
}

.main_btn_arrow {
	position: absolute;
	transition: all ease .3s;
	left: 10px;
}

.c_button-title {
	font-family: var(--primary-font);
	font-size: 1.375em;
	font-style: normal;
	font-weight: 600;
	line-height: 40px;
	color: var(--primary-color);
	transition: all ease .3s;
}

.c_main_button:hover .main_btn_arrow {
	left: calc(100% - 10px);
	transform: translateX(-100%);
}


/* page title componet */
.c_page_title_container {
	display: flex;
	align-items: center;
	justify-content: start;
	height: 100%;
	padding: var(--padding-container);
}

.c_title_border {
	width: 16px;
	height: 100%;
	min-height: 110px;
	border-radius: 10px;
	background: var(--accent-one-color);
	opacity: 40%;
	margin-right: 10px;
}

.c_title_header_jpn {
	color: var(--primary-color);
	font-size: var(--header-font);
	font-family: var(--primary-font);
	font-weight: 500;
	line-height: 40px;
	word-wrap: break-word
}

.c_title_sub_en {
	color: var(--primary-color);
	font-size: 4.375em;
	line-height: 75px;
	font-family: var(--secondary-font);
	font-weight: 400;
	letter-spacing: 3.50px;
	word-wrap: break-word
}

@media (max-width: 500px) {
	.c_title_sub_en {
		font-size: 3.5em !important;
	}

	.c_title_border {
		min-height: 90px;
	}
}

/* Floating Component */
.c_topic_parent_container {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.c_topic_container {
	position: relative;
	background: rgba(255, 255, 255, 75%);
	padding: var(--padding-medium-container);
	border-radius: 20px;
	width: 100%;
	max-width: 400px;
	min-height: auto;
	box-shadow: 0 0 5px rgba(88, 88, 88, 0.25);
	margin-top: 0px;
}

.c_topic_title_container {
	margin-bottom: 20px;
	color: var(--primary-color);
}

.c_topic_title_container img {
	margin: auto;
	text-align: center;
}

.c_topic_list {
	list-style: unstyled;
}

.c_topic_list_item,
.c_topic_content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.c_topic_list_item {
	border-top: 1px solid var(--primary-color);
	padding: 10px 0;
	color: var(--primary-color);
}

.c_topic_list_item:last-child {
	border-bottom: 1px solid var(--primary-color);
}

.c_topic_list_item:hover,
.c_topic_list_item.is_active,
.c_topic_list_item.active {
	color: var(--accent-two-color);
}

.c_topic_list_item:hover .c_topic_content_topic,
.c_topic_list_item.is_active .c_topic_content_topic,
.c_topic_list_item.active .c_topic_content_topic,
.c_topic_content.is_active .c_topic_content_topic,
.c_topic_content.active .c_topic_content_topic {
	color: var(--accent-two-color);
}

.c_topic_list_item:hover .c_arrow,
.c_topic_list_item.is_active .c_arrow,
.c_topic_list_item.active .c_arrow {
	transform: scale(1.3);
	transition: .6s ease-in-out;
}

.c_topic_list_item:hover .c_arrow:hover .c_arrow_right,
.c_topic_list_item.is_active .c_arrow .c_arrow_right,
.c_topic_list_item.active .c_arrow .c_arrow_right {
	transform: scale(.9);
	transition-delay: 1s;
	transition: 1s ease-in-out;
}

.c_topic_content_topic {
	font-family: var(--secondary-font);
	font-size: var(--paragraph-font);
	color: var(--primary-color);
	font-weight: 500;
	font-style: normal;
	line-height: normal;
	margin-right: 20px;
}

.c_element_container {
	position: relative;
	width: 100%;
	padding-top: 450px;
}

.element_top-left {
	position: absolute;
	background: var(--accent-three-color);
	width: 100%;
	max-width: 330px;
	height: 250px;
	border-radius: 50% 10px 10px 50%;
	opacity: 50%;
	right: 0%;
	top: 30%;
}

.element_bottom-left {
	position: absolute;
	background: var(--accent-two-color);
	width: 100%;
	max-width: 330px;
	height: 300px;
	border-radius: 10px 50% 50% 10px;
	opacity: 50%;
	bottom: -20%;
	left: 10%;
}

@media (max-width: 1200px) {
	.c_element_container {
		position: absolute;
		width: 100%;
		padding-top: 350px;
	}

	.element_top-left {
		max-width: 250px;
		height: 200px;
		right: 0%;
		top: -20%;
	}

	.element_bottom-left {
		max-width: 280px;
		height: 230px;
		bottom: -30%;
		left: 0%;
	}
}

@media (height: 850px) {
	.c_topic_parent_container {
		margin-top: 0px;
	}

	.c_element_container {
		padding-top: 350px;
	}

	.element_top-left {
		max-width: 250px;
		height: 200px;
		right: 0%;
		top: 30%;
	}

	.element_bottom-left {
		max-width: 280px;
		height: 230px;
		bottom: -20%;
		left: 10%;
	}
}

@media (max-width: 500px) {
	.c_topic_parent_container {
		padding: var(--padding-container);
	}

	.element_bottom-left {
		left: 0% !important;
		top: 40%;
	}

	.c_topic_container {
		max-width: 400px;
		min-height: auto;
		padding: 30px 20px;
	}

	.c_pages .c_title_header,
	.c_pages .c_title_sub {
		font-size: 1.5em;
		line-height: 1.2;
	}
}

@media (max-height: 750px) {
	.element_bottom-left {
		max-width: 230px;
		height: 200px;
		bottom: 20%;
	}

	.c_element_container {
		padding-top: 350px;
	}

	.element_top-left {
		max-width: 230px;
		height: 200px;
	}

	.c_topic_parent_container {
		margin-top: -100px;
	}
}

/* list component */
.c_list {
	list-style: unstyled;
}

.c_item {
	position: relative;
	height: auto;
	min-height: auto;
	padding: var(--padding-container);
	border-radius: 10px;
	overflow: hidden;
}

.c_item.c_left_item::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: var(--accent-one-color);
	opacity: .4;
	z-index: 0;
}

.c_list_item {
	display: flex;
	width: 100%;
	gap: 10px;
	margin-bottom: 10px;
	align-items: stretch !important;
	justify-content: stretch;
}

.c_left_item {
	display: flex;
	align-self: stretch;
	justify-content: stretch;
	flex: 0 0 17%;
	min-height: 100%;
	align-items: center;
	border-right: 10px white;
	height: auto;
	min-width: 180px;
}

.c_right_item {
	display: flex;
	align-self: stretch;
	justify-content: stretch;
	flex: 1;
	flex-direction: column;
	background: var(--grey-color);
	height: auto;
}

.c_item_title,
.c_item_description {
	position: relative;
	color: var(--primary-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	z-index: 1;
}

#job .c_item_description_title {
	margin-bottom: 0;
}

.c_company_multi_items .c_item_description_title:first-child {
	margin-bottom: 0 !important;
}

.c_item_description_title {
	color: var(--primary-color);
	font-family: var(--primary-font);
	font-size: 1.5em;
	font-style: normal;
	font-weight: 500;
	line-height: 25px;
	margin-bottom: 10px;
}

.c_item_description {
	word-break: break-all;
}

.c_item_title_large {
	font-family: var(--secondary-font);
	font-size: 3em !important;
	text-align: center !important;
}


@media (max-width: 500px) {
	.c_left_item {
		min-width: 125px;
	}

	.c_left_item {
		flex: 0 0 13%;
	}

	.c_item {
		padding: 10px;
	}

	.c_item_title_large {
		font-size: 1.75em !important;
	}

	.c_item_title,
	.c_item_description {
		font-size: .95em;
	}
}

@media (max-width: 360px) {
	.c_left_item {
		min-width: 120px;
	}

	.c_item_title,
	.c_item_description {
		font-size: .8em;
	}
}

/* 404 */
.c_page_404_title {
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 2em;
	font-style: normal;
	font-weight: 500;
	line-height: 70px;
	margin-bottom: 20px;
}

.c_page_404_description {
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
}

.c_page_404_button {
	color: var(--secondary-color);
	font-family: var(--primary-font);
	font-size: 1em;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1.3px;

	border-radius: 10px;
	background: var(--accent-two-color);
	padding: 15px 60px;
	margin: 40px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	transition: all .5s ease;
}

.c_page_news_button {
	color: var(--secondary-color);
	font-family: var(--primary-font);
	font-size: 1.25em;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1.3px;

	border-radius: 20px;
	background: var(--accent-two-color);
	padding: 15px 60px;
	margin: 40px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	transition: all .5s ease;
	gap: 20px;
}

.c_page_news_button .c_arrow_icon {
	border-radius: 50%;
	height: 40px;
	width: 40px;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c_page_news_button .c_arrow_icon svg {
	height: 25px;
	width: 25px;
	fill: var(--accent-two-color);
}

.c_page_404_button:hover,
.c_page_news_button:hover {
	background: var(--accent-three-color);
}

/* Divider */
.divider {
	width: 100%;
	padding: 100px 20px;
	display: flex;
	align-items: center;
	justify-content: end;
	margin: auto;
}

.divider-one,
.divider-two,
.divider-three {
	border-radius: 10px;
	width: 100%;
	max-width: 460px;
	height: 10px;
	opacity: 0.4;
}

.divider-one {
	background: var(--accent-one-color);
	margin-right: -30px;
}

.divider-two {
	background: var(--accent-four-color);
}

.divider-three {
	background: var(--accent-two-color);
	margin-left: -30px;
}

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

@media (max-width: 500px) {

	.company_title,
	.recruit_title {
		font-size: 1.688em !important;
		line-height: 50px !important;
	}

	.company_description,
	.recruit_description {
		line-height: 30px !important;
	}

	.divider {
		padding: 30px 20px;
	}

	.c_page_404_title {
		font-size: 1.5em;
		line-height: 1.5;
	}

	.c_page_404_button {
		margin: 40px auto;
	}

	.c_page_404_button,
	.c_page_news_button {
		font-size: 1.25em;
		padding: 15px 20px;
		max-width: 300px;
		width: 100%;
	}

	.c_page_news_button .c_arrow_icon {
		height: 25px;
		width: 25px;
	}
}

/*----------------------------------------------
共通設定
---------------------------------------------*/

.c_tac {
	text-align: center;
}

.c_tar {
	text-align: right;
}

.c_tal {
	text-align: left;
}

.c_flexc {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.c_link {
	transition: .3s;
}

.c_link:hover {
	filter: opacity(0.7);
}

/*幅の設定
---------------------------------------------*/
.c_page_head {
	padding: 100px 0;
}


/*----------------------------------------------
共通タイトル
---------------------------------------------*/
.c_ttl {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.c_ttl-c {
	align-items: center;
}

.c_ttl_en {
	font-weight: 700;
	font-size: 2.5rem;
	letter-spacing: 1rem;
	line-height: 1;
}

.c_ttl_jp {
	font-weight: 700;
	font-size: 4.5rem;
	line-height: 1;
}


/* Major Components */
.d-flex {
	display: flex;
}

.justify-content-between {
	justify-content: space-between;
}

.justify-content-start {
	justify-content: start;
}

.justify-content-center {
	justify-content: center !important;
}

.justify-content-end {
	justify-content: end;
}

.align-items-start {
	align-items: start !important;
}

.align-items-center {
	align-items: center;
}

.align-items-end {
	align-items: end;
}

.lp-container {
	max-width: 1200px;
	margin: auto;
}

.cursor_pointer {
	cursor: pointer;
}

.gap-3 {
	gap: 3;
}

.gap-5 {
	gap: 5;
}

.s_left_container,
.s_right_container {
	width: 50%;
}

.s_paragraph_container {
	line-height: 35px;
	max-width: 490px;
	font-size: var(--paragraph-font);
}

.primary-color {
	color: var(--primary-color);
}

.primary-btn-color {
	background: var(--accent-one-color);
}

.secondary-btn-color {
	background: var(--accent-three-color);
}

.tertiary-btn-color {
	background: var(--accent-one-color);
}

.fourth-btn-color {
	background: var(--accent-two-color);
}

.primary-bg-color {
	background: var(--accent-two-alpha);
}

.secondary-bg-color {
	background: var(--accent-three-alpha);
}

.tertiary-bg-color {
	background: var(--accent-four-alpha);
}

.fourth-bg-color {
	background: var(--accent-two-color);
}

.primary-font-color {
	color: var(--accent-two-color);
}

.secondary-font-color {
	color: var(--accent-three-color);
}

.tertiary-font-color {
	color: var(--accent-one-color);
}

.c_spacer {
	padding-top: 100px;
}


/* Text */
.c_normal {
	font-weight: 400;
}

.c_medium {
	font-weight: 500;
}

.c_semibold {
	font-weight: 600;
}

.c_bold {
	font-weight: 700;
}

.c_bolder {
	font-weight: 800;
}

.c_black {
	font-weight: 900;
}

.c_fs_20 {
	font-size: 1.25em;
}


/* color */
.c_accent_one_color {
	color: var(--accent-one-color);
}

.c_accent_two_color {
	color: var(--accent-two-color);
}

.c_accent_three_color {
	color: var(--accent-three-color);
}

.c_accent_four_color {
	color: var(--accent-one-color);
}

/* font family */
.c_primary_font {
	font-family: var(--primary-font);
}

.c_secondary_font {
	font-family: var(--secondary-font);
}

/* Wordbreak */
.c_break_nsm,
.c_break_nmd {
	display: none;
}

@media (max-width: 1200px) {
	.c_spacer {
		padding-top: 50px;
	}
}

@media (max-width: 850px) {
	.c_break_md {
		display: none;
	}

	.c_break_nmd {
		display: flex;
	}
}

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

	.c_break_nsm {
		display: flex;
	}
}

/*----------------------------------------------
共通の動き
---------------------------------------------*/

.c_poyo,
.c_fuwa,
.c_mvfade,
.c_fadeUp,
.c_fadeLeft,
.c_fadeRight,
.c_fadeScale {
	opacity: 0;
}

/* その場で */
.is_fadeIn {
	animation-name: fadeInAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeInAnime {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* 下から */

.is_fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 右から */
.is_fadeRight {
	animation-name: fadeRightAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.is_fadeRight_Half_Opacity {
	animation-name: fadeRightHalfOpacity;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightHalfOpacity {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 左から */
.is_fadeLeft {
	animation-name: fadeLeftAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.is_fadeLeft_Half_Opacity {
	animation-name: fadeLeftHalfOpacity;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftHalfOpacity {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: .5;
		transform: translateX(0);
	}
}

.is_fadeScale {
	animation-name: fadeScaleAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;

}

@keyframes fadeScaleAnime {
	from {
		transform: scale(0.5) translateY(200px);
		opacity: 0;
	}

	to {
		opacity: 1;
		transform: scale(1) translateY(0px);
	}
}

.is_poyo {
	animation: poyoyon2 1s ease-in-out forwards;
}

@keyframes poyoyon2 {
	0% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}

	15% {
		transform: scale(0.98, 0.9) translate(0, 5px);
	}

	30% {
		transform: scale(1.02, 1.0) translate(0, 8px);
	}

	50% {
		transform: scale(0.98, 1.05) translate(0, -8px);
	}

	70% {
		transform: scale(1.0, 0.9) translate(0, 5px);
	}

	100% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}

	0%,
	100% {
		opacity: 1;
	}
}

/* Pages */
.c_pages {
	padding-bottom: 0px;
	width: 100%;
	/* overflow: hidden; */
	overflow: visible;
}

.c_pages .lp-container {
	max-width: 1200px;
	padding: var(--padding-container);
}

.section_pages {
	width: 100%;
}

.section_pages .lp-container {
	max-width: 1200px;
	padding: var(--padding-container);
}

.c_pages .c_title_sub,
.section_pages .c_title_sub {
	font-size: 1.5em
}


/* News */
.news_page {
	display: flex;
}

.c_page_container {
	width: 70%;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: end;
	margin-top: 100px;
}

.c_static_container {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	width: 30%;
	height: 100vh;
	align-self: flex-start;
}

.c_standard_container {
	position: relative;
	width: 30%;
	height: 100%;
}

.c_section_container {
	width: 100%;
	max-width: 1000px;
	padding: 50px 0;
}

.c_page_img {
	width: 100%;
	margin-top: 10px;
	border-radius: 0 460px 460px 0;
}

.c_bottom_container {
	display: none;
}

@media (max-width: 1200px) {
	.c_standard_container {
		margin: 100px 0;
	}

	.c_page_container {
		width: 100%;
	}

	.c_bottom_container {
		display: flex;
		width: 100%;
	}

	.c_top_container {
		display: none;
	}

	.c_page_img_container {
		padding-right: 20px;
	}

	.c_section_container {
		width: 100%;
		max-width: 1100px;
		margin: auto;
	}

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

@media (max-width: 500px) {
	.c_standard_container .c_topic_parent_container {
		margin-top: 0px !important;
	}

	.element_top-left {
		max-width: 120px !important;
		height: 100px !important;
		top: 0% !important;
	}

	.element_bottom-left {
		max-width: 180px !important;
		height: 130px !important;
		bottom: -20% !important;
	}

	.c_standard_container {
		margin: 20px 0;
	}

}

.c_pagination {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	gap: 10px;
	margin-top: 50px;
}

.page-numbers {
	border-radius: 360px;
	color: var(--secondary-color);
	background-color: var(--accent-two-color);
	font-family: var(--tertiary-font);
	font-size: 1.375em;
	font-style: normal;
	font-weight: 700;
	line-height: 25.2px;
	letter-spacing: 1.1px;
	min-width: 40px;
	max-width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: .3s ease all;
}

.page-numbers:hover {
	background-color: var(--accent-three-color);
}

.current {
	color: var(--primary-color);
	background-color: var(--grey-color);
}


@media (max-width: 1400px) {
	.c_page_container {
		margin-top: 100px;
	}
}

@media (max-width: 1200px) {
	.c_pagination {
		margin-bottom: 0px;
		padding-bottom: 0;
	}
}

@media (max-width: 500px) {
	.c_page_container {
		margin-top: 80px;
	}
}

/* Page Settings */
.c_pages_section_container {
	width: 100%;
	margin: auto;
	padding: 50px 0;
}

.c_page_404_button .c_btn_arrow {
	margin-left: 20px;
}



@media (max-width: 500px) {
	.c_section_container .c_page_404_button {
		margin: 40px auto;
		padding: 10px auto;
		font-size: 1em;
	}

	.c_section_container {
		padding: 0;
	}

	.c_page_404_button .c_btn_arrow {
		width: 20px;
		height: 20px;
	}
}

/* single post */
.c_single {
	padding-top: 50px;
}

.c_single_title {
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 1.5em;
	font-style: normal;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
}

.c_details {
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 20px;
	margin-bottom: 50px;
}

.c_single_category a {
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: .8em;
	font-style: normal;
	font-weight: 500;
	line-height: 70px;
}

.c_single_content,
.wp-block-paragraph {
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 400;
	line-height: 2;
}

.c_single_date {
	color: var(--blk-color);
	font-family: var(--secondary-font);
	font-size: 1em;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

.c_single_category {
	color: var(--secondary-color);
	font-family: var(--primary-font);
	font-size: .8em;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

.c_details .s_category_button {
	margin: 0;
}

.c_single .c_page_404_button {
	margin-top: 100px;
}

/*----------------------------------------------
        Container System / コンテナ設計
---------------------------------------------*/
.c_lg_container,
.lp-container {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 20px;
}

.c_md_container {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 0 20px;
}

.c_sm_container {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	padding: 0 20px;
}

/*----------------------------------------------
        Utility Classes / ユーティリティクラス
---------------------------------------------*/
.c_mauto {
	margin: 0 auto;
}

/* Margin Top Utilities */
.c_mat5 {
	margin-top: 5px;
}

.c_mat10 {
	margin-top: 10px;
}

.c_mat20 {
	margin-top: 20px;
}

.c_mat40 {
	margin-top: 40px;
}

.c_mat50 {
	margin-top: 50px;
}

.c_mat60 {
	margin-top: 60px;
}

.c_mat100 {
	margin-top: 100px;
}

/* Margin Bottom Utilities */
.c_mab5 {
	margin-bottom: 5px;
}

.c_mab10 {
	margin-bottom: 10px;
}

.c_mab20 {
	margin-bottom: 20px;
}

.c_mab40 {
	margin-bottom: 40px;
}

.c_mab50 {
	margin-bottom: 50px;
}

.c_mab60 {
	margin-bottom: 60px;
}

.c_mab100 {
	margin-bottom: 100px;
}

/* Padding Top Utilities */
.c_pat5 {
	padding-top: 5px;
}

.c_pat10 {
	padding-top: 10px;
}

.c_pat20 {
	padding-top: 20px;
}

.c_pat40 {
	padding-top: 40px;
}

.c_pat50 {
	padding-top: 50px;
}

.c_pat60 {
	padding-top: 60px;
}

.c_pat100 {
	padding-top: 100px;
}

/* Padding Bottom Utilities */
.c_pab5 {
	padding-bottom: 5px;
}

.c_pab10 {
	padding-bottom: 10px;
}

.c_pab20 {
	padding-bottom: 20px;
}

.c_pab40 {
	padding-bottom: 40px;
}

.c_pab50 {
	padding-bottom: 50px;
}

.c_pab60 {
	padding-bottom: 60px;
}

.c_pab100 {
	padding-bottom: 100px;
}

/* ==========================================================================
   Single News Variation Styles / 投稿詳細バリエーション CSS
   ========================================================================== */

/* Variation 1: Table & Structured Initiatives */
.c_news_initiatives_box {
	background-color: #F8F9FA;
	border-radius: 8px;
	padding: 40px 30px;
	margin: 30px 0 40px;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.c_news_initiative_row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
}

.c_news_initiative_label {
	width: 30%;
	min-width: 180px;
	font-weight: 700;
	color: #434343;
	font-size: 1.125em;
	line-height: 1.6;
	text-align: center;
}

.c_news_initiative_desc {
	flex: 1;
	border-left: 3px solid #FDA4AF;
	padding-left: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c_news_initiative_desc p {
	margin: 0;
	font-size: .9em;
	line-height: 1.8;
	color: #000000;
}

@media (max-width: 768px) {
	.c_news_initiative_row {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.c_news_initiative_label {
		width: 100%;
		text-align: left;
	}
}

.c_news_table_content table,
.c_news_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 30px 0;
	border: 1px solid var(--tertiary-color, #E5E7EB);
	border-radius: 8px;
	overflow: hidden;
}

.c_news_table_content th,
.c_news_table th {
	background-color: var(--secondary-bg-color, #F3F4F6);
	color: var(--blk-color);
	font-weight: 700;
	padding: 16px 20px;
	width: 25%;
	text-align: left;
	border-bottom: 1px solid #E5E7EB;
	border-right: 1px solid #E5E7EB;
}

.c_news_table_content td,
.c_news_table td {
	padding: 16px 20px;
	color: var(--blk-color);
	border-bottom: 1px solid #E5E7EB;
	line-height: 1.7;
}

.c_news_table_content tr:last-child th,
.c_news_table_content tr:last-child td {
	border-bottom: none;
}

/* Variation 2: External Reference Links Box */
.c_news_ref_box {
	margin: 50px 0;
}

.c_news_ref_box a {
	color: var(--blk-color);
	font-size: 1em;
	transition: .3s ease all;
	text-wrap: wrap;
	white-space: wrap;
	word-break: break-all;
	display: inline-block;
}

.c_news_ref_box a:hover {
	color: var(--accent-one-color);
}

.c_news_ref_ttl {
	font-size: 1.1em;
	font-weight: 700;
	color: var(--blk-color);
	margin-bottom: 12px;
}

.c_news_ref_link {
	display: block;
	color: var(--primary-color, #2B4C7E);
	word-break: break-all;
	font-size: 0.95em;
	margin-bottom: 8px;
	text-decoration: underline;
	transition: opacity 0.2s ease;
}

.c_news_ref_link:hover {
	opacity: 0.75;
}

/* Variation 3: Action Guidelines / Policy Bulletins */
.c_news_guideline_ttl {
	font-size: 1.2em;
	font-weight: 700;
	color: var(--blk-color);
	border-bottom: 2px solid var(--tertiary-color, #4A5568);
	padding-bottom: 8px;
	margin: 35px 0 15px;
}

.c_news_guideline_subttl {
	margin-bottom: 40px;
}

.c_news_guideline_item {
	margin-bottom: 40px;
}

.c_news_guideline_item p {
	margin: 0;
	line-height: 1.7;
}