@charset "UTF-8";

/* CSS Document */
* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	word-break: normal;
	word-wrap: break-word;
}

*:focus {
	outline: none;
}

html {
	font-size: 20px;
	line-height: 2;
	width: 100%;
	overflow-x: hidden;
}

/* English: Montserrat / Japanese: Noto Sans JP */
.eigo {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.avenir {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
}

body {
	font-family: YuGothic, "Noto Sans JP", sans-serif;
	background-color: #F5F5F5;
	color: #231815;
	line-height: 2;
	font-size: 16px;
}

img {
	vertical-align: bottom;
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 100%;
}

.clearfix:before,
.clearfix:after {
	display: table;
	content: " ";
}

.clearfix:after {
	clear: both;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

td,
th {
	padding: 0;
}

table {
	background-color: transparent;
}

table col[class*=col-] {
	position: static;
	display: table-column;
	float: none;
}

table td[class*=col-],
table th[class*=col-] {
	position: static;
	display: table-cell;
	float: none;
}

ul li {
	list-style: none;
}

h1,
h2,
h3 {
	font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0px;
	line-height: 2;
}

.fixedcontainer {
	max-width: 1280px;
	width: 90%;
	margin: 0 auto;
	padding: 0px;
}

a:visited,
a:link,
a:hover,
a:active,
a:focus {
	outline: none;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	transition: opacity 0.5s ease;
}

.red {
	color: #ed1c24;
}

.yellow {
	color: #e58e55;
}

.bkyellow {
	background-color: #fff100;
}

.bold {
	font-weight: bold;
}

.btline {
	text-decoration: underline;
}

.underline {
	text-decoration: underline;
}

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

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.visible-sp {
	display: none;
}

.hidden-sp {
	display: block;
}

.visible-xs {
	display: none;
}

.hidden-xs {
	display: block;
}

.visible-500 {
	display: none;
}

.hidden-500 {
	display: block;
}

.flex_part .flex_img_left {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.flex_part .flex_img_left>img {
	-o-object-fit: contain;
	object-fit: contain;
}

.flex_part .flex_img_center {
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.flex_part .flex_body {
	flex: 1;
}

.flex_part .flex_img_right {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.flex_part .flex_img_right>img {
	-o-object-fit: contain;
	object-fit: contain;
}

.line_controll {
	display: inline-block;
}

/* slick (arrows use slick-theme.css) */
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 50px;
	height: 50px;
	padding: 0;
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 100;
}

.slick-dots {
	bottom: -25px;
}

.slick-dots li button:before {
	content: none;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #a5a5a5;
}

.slick-dots li.slick-active button {
	background: #231815;
}

.fade-top {
	opacity: 0.1;
	transform: translate(0, 80px);
	transition: all 300ms ease-out 0s;
}

.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

body.menu-open {
	overflow: hidden;
}

body.menu-open .menu-trigger {
	opacity: 1;
	visibility: visible;
}

#header {
	position: fixed;
	z-index: 101;
	top: 0;
	left: 0;
	width: 100%;
	background: transparent;
}

#header.scrolled .left_nav {
	opacity: 0;
	pointer-events: none;
}

#header.scrolled a img {
	/* width: 120px; */
}

#header.scrolled .menu-trigger {
	opacity: 1;
	visibility: visible;
}

#header.subpage .entry-button {
	border-color: #231815;
	color: #231815;
}

#header .header_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px 0;
	min-height: 64px;
}

#header .entry-button {
	width: 196px;
	height: 36px;
	border-radius: 18px;
	border: 1px solid white;
	letter-spacing: 0.03em;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	margin-right: 36px;
}

#header .header_left {
	display: flex;
	align-items: center;
	line-height: 1;
	gap: 48px;
	flex: 1;
}

#header h1 {
	flex-shrink: 0;
	transition: all 0.35s ease;
	margin: 0;
	width: 174px;
	z-index: 1003;
}

#header h1 a {
	display: block;
	line-height: 1;
}

#header h1 a img {
	width: 100%;
	height: auto;
	transition: width 0.35s ease;
}

#header .left_nav {
	opacity: 1;
	transition: opacity 0.35s ease;
}

#header .left_nav ul {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

#header .left_nav a {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	letter-spacing: 0.02em;
}

#header .left_nav a:hover {
	opacity: 0.85;
}

#header.header-back .menu-trigger span {
	background: #231815;
}

#header.header-back .menu-trigger.active span {
	background: #231815;
}

#header .sub-page .menu-trigger {
	opacity: 1 !important;
	visibility: visible !important;
}

#header.subpage .menu-trigger {
	visibility: visible !important;
	opacity: 1 !important;
}

#header.subpage .menu-trigger span {
	background: #231815;
}

#header .menu-trigger {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	z-index: 1002;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

#header .menu-trigger span {
	position: absolute;
	left: 0%;
	margin-left: 0;
	width: 24px;
	height: 2px;
	background: #fff;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

#header .menu-trigger span:nth-of-type(1) {
	top: 3px;
}

#header .menu-trigger span:nth-of-type(2) {
	top: 11px;
}

#header .menu-trigger span:nth-of-type(3) {
	top: 19px;
}

#header .menu-trigger.active span {
	background: #fff;
}

#header .menu-trigger.active span:nth-of-type(1) {
	background: white;
	top: 10px;
	transform: translateY(-50%) rotate(-45deg);
}

#header .menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

#header .menu-trigger.active span:nth-of-type(3) {
	top: 10px;
	background: white;
	transform: translateY(-50%) rotate(45deg);
}

#header .g_nav {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 480px;
	height: 100vh;
	background: #000000;
	z-index: 100;
	transform: translateX(100%);
	transition: transform 0.4s ease;
	pointer-events: none;
	overflow-y: auto;
}

#header .g_nav.active {
	transform: translateX(0);
	pointer-events: auto;
}

#header .g_nav .nav_body {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 120px 48px 60px;
}

#header .g_nav>.nav_body>ul {
	margin: 0;
	padding: 0;
	list-style: none;
	letter-spacing: 0.02em;
	width: 100%;
}

#header .g_nav>.nav_body>ul>li {
	margin: 0 0 24px;
	padding: 10px;
	padding-right: 16px;
}

#header .g_nav>.nav_body>ul>li>a {
	display: block;
	color: #fff;
	position: relative;
	font-size: 16px;
	text-decoration: none;
	padding: 0 0;
	transition: opacity 0.25s ease;
}

#header .g_nav>.nav_body>ul>li>a:hover {
	opacity: 0.85;
}

#header .g_nav>.nav_body>ul>li>a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

#header .g_nav>.nav_body>ul>li:last-child {
	border: 1px solid white;
}

@keyframes slideUp {
	0% {
		transform: translateY(0);
		opacity: 1;
	}

	100% {
		transform: translateY(-20px);
		opacity: 0;
	}
}

@keyframes slideDown {
	0% {
		transform: translateY(-20px);
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes opacityAnim {
	0% {
		opacity: 0;
	}

	20% {
		opacity: 1;
	}
}

/*-------------header----------------------*/
/* ========== トップページ（空き家のURI・KAI） ========== */

/* 背景ホバーギミック */
.top_bg_wrapper {
	position: relative;
}

.top_bg_color,
.top_bg_mono {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: opacity 0.5s ease;
	z-index: -10;
	background-repeat: no-repeat;
}

.top_bg_color {
	opacity: 0;
	/* z-index: 2; */
}

.top_bg_mono {
	opacity: 1;
	/* z-index: 1; */
}

.top_bg_wrapper:hover .top_bg_color {
	opacity: 1;
}

.btn_more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 80px 5px 40px;
	border: 1px solid #fff;
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.02em;
	transition: opacity 0.25s ease;
	position: relative;
	font-weight: 100;
	white-space: nowrap;
}

.btn_more .arrow_r {
	display: block;
	position: absolute;
	right: 40px;
	top: 14px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

.btn_more:hover {
	opacity: 0.9;
}

.sec_hero .hero_inner {
	display: flex;
	width: 100%;
	height: 100dvh;
}

.sec_hero .hero_block {
	flex: 0 1 50%;
	padding: 193px 55px 43px;
}

.sec_hero .top_bg_urikai_mono {
	background: url(./../images/c2c_bg.jpg);
}

.sec_hero .top_bg_urikai_color {
	background: url(/wp-content/uploads/2026/03/c2c_bg_hover.jpg);
}

.sec_hero .top_bg_investor_mono {
	background: url(./../images/investor_bg.jpg);
}

.sec_hero .top_bg_investor_color {
	background: url(/wp-content/uploads/2026/03/investor_bg_hover.jpg);
}

.sec_hero .hero_bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-color: #1a1a1a;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_hero .hero_overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

.sec_hero .hero_logo {
	max-width: 592px;
	text-align: center;
}

.sec_hero .hero_logo .hero_sub {
	display: block;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: 24px;
	color: #fff;
	margin-bottom: 8px;
}

.sec_hero .hero_catch {
	font-size: 23px;
	display: inline-block;
	padding: 5px 28px;
	margin: 0;
	background: white;
	margin-top: 116px;
	margin-bottom: 40px;
	line-height: 1.43;
}

.sec_hero .hero_desc {
	line-height: 2.1;
	color: #fff;
	margin-bottom: 30px;
	font-size: 18px;
}

.sec_hero .link {
	text-align: right;
}

.sec_partnership {
	height: 100vh;
	position: relative;
}

@media screen and (min-width: 1024px) {
	.sec_partnership {
		height: 100vh;
		width: 100vw;
		overflow-x: hidden;
	}
}

.sec_partnership .sec_ttl {
	position: absolute;
	width: 100%;
	z-index: 2;
	top: 60px;
	text-align: center;
	font-size: 45px;
	color: #fff;
	font-weight: 100;
	letter-spacing: 0.02em;
}

.sec_partnership .partnership_inner {
	display: flex;
	height: 100vh;
	width: 100vw;
	overflow: hidden;
	align-items: stretch;
}

.sec_partnership .partnership_block {
	flex: 0 1 50%;
	align-items: center;
	padding: 60px 24px;
	min-height: 400px;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.25s ease;
	text-align: center;
	display: flex;
	justify-content: center;
}

.sec_partnership .top_bg_jichitai_mono {
	background-image: url(./../images/partnership1_bg.jpg);
}

.sec_partnership .top_bg_jichitai_color {
	background-image: url(/wp-content/uploads/2026/03/partnership1_bg_hover.jpg);
}

.sec_partnership .top_bg_sport_mono {
	background-image: url(./../images/partnership2_bg.jpg);
}

.sec_partnership .top_bg_sport_color {
	background-image: url(/wp-content/uploads/2026/03/partnership2_bg_hover.png);
}


.sec_partnership .partnership_block_inner {
	/* position: absolute;
	top: 310px;
	left: 50%;
	transform: translateX(-50%); */
}

.sec_partnership .partnership_ttl {
	font-size: 55px;
	font-weight: 500;
	line-height: 1.43;
	margin-bottom: 30px;
}

.sec_partnership .partnership_block .btn_more {}


.sec_recruit .top_bg_recruit_mono {
	background-image: url(/wp-content/uploads/2026/03/recruit_bg.jpg);
}

.sec_recruit .top_bg_recruit_color {
	background-image: url(/wp-content/uploads/2026/03/recruit_bg_hover.jpg);
}

/* @media screen and (min-width: 1024px) {
	.sec_recruit {
		height: 100vh;
		width: 100vw;
		overflow-x: hidden;
	}
} */

.sec_recruit .recruit_overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

.sec_recruit .recruit_content {
	position: absolute;
	z-index: 2;
	max-width: 100%;
	bottom: 125px;
	right: 4%;
}

.sec_recruit .recruit_container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.sec_recruit .recruit_container .recruit_content {
	max-width: 610px;
	width: 100%;
}

.sec_recruit .recruit_container .link {
	text-align: right;
}

.sec_recruit .recruit_container .link .btn_more {
	background: white;
	color: #231815;
}

.sec_recruit .recruit_container .link .btn_more .arrow_r {
	border-top: 1px solid #231815;
	border-right: 1px solid #231815;
}

.sec_recruit .sec_ttl {
	font-size: 45px;
	color: #fff;
	font-weight: 100;
	margin-bottom: 24px;
	letter-spacing: 0.02em;
}

.sec_recruit .recruit_txt {
	font-size: 18px;
	color: #fff;
	margin-bottom: 64px;
}

.fp-warning {
	display: none;
}

.fp-warning,
.fp-watermark {
	display: none !important;
}

.sec_news {
	background: #EDEDED linear-gradient(to right, rgba(37, 40, 47, 0.9), 50%, rgba(37, 40, 47, 0.9), 50%, #EDEDED);
}

@media screen and (min-width: 1024px) {
	.sec_news {
		height: auto;
	}
}

.sec_news .sec_ttl {
	font-size: 45px;
	color: #fff;
	font-weight: 100;
	margin-bottom: 40px;
	letter-spacing: 0.02em;
}

.sec_news .news_inner {
	display: flex;
	height: 100dvh;
}

.sec_news .news_left {
	flex-shrink: 0;
	width: 380px;
	padding: 60px 55px;
}

.sec_news .news_nav {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sec_news .news_nav a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-size: 24px;
	text-decoration: none;
	transition: opacity 0.25s ease;
	position: relative;
}

.sec_news .news_nav a .arrow_r {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-top: 1px solid white;
	border-right: 1px solid white;
	transform: rotate(45deg);
}

.sec_news .news_nav a:hover {
	opacity: 0.85;
}

.sec_news .news_right {
	flex: 1;
	background: #EDEDED;
	padding: 68px 75px;
}

.sec_news .news_list {
	list-style: none;
	margin: 0 0 0;
	padding: 0;
}

.sec_news .news_item {
	padding-bottom: 32px;
}

.sec_news .news_item:last-child {
	border-bottom: none;
}

.sec_news .news_link {
	color: #231815;
	display: flex;
	gap: 30px;
}

.sec_news .news_item .news_item_header {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sec_news .news_item .news_item_header .news_category {
	font-size: 12px;
	background: #231815;
	color: #fff;
	padding-inline: 12px;
	border-radius: 20px;
	line-height: 1.43;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
}

.sec_news .news_item .news_item_header .news_date {
	font-size: 12px;
	color: #231815;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
}

.sec_news .news_item .news_ttl {
	color: #231815;
	line-height: 1.67;
}

.sec_news .news_item .news_icon {
	color: #231815;
}

.sec_news .news_item .news_desc {
	color: #231815;
}

.sec_news .news_item .news_icon img {
	width: 195px;
	height: 116px;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_news .news_icon {
	flex-shrink: 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}

.sec_news .news_body {
	flex: 1;
	margin-top: 18px;
}

.sec_news .news_ttl {
	font-size: 16px;
	color: #fff;
	font-weight: 100;
	margin-top: 15px;
}

.sec_news .news_desc {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
	margin: 0;
}

.sec_news .link {
	text-align: right;
}

.sec_news .link .btn_more.align_r {
	border: 1px solid #231815;
	color: #231815;
	display: inline-flex;
	margin-left: auto;
}

.sec_news .link .btn_more.align_r .arrow_r {
	border-top: 1px solid #231815;
	border-right: 1px solid #231815;
}

.sec_news .link .btn_more.align_r:hover {
	opacity: 0.85;
}

.common_fv {
	background: url(./../images/common_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	padding-bottom: 38px;
}

.common_fv .breadcrumb {
	padding-top: 81px;
	font-size: 12px;
	color: #231815;
	text-align: right;
	line-height: 1.73;
}

.common_fv .breadcrumb a {
	color: #231815;
	text-decoration: none;
}

.common_fv .breadcrumb a:hover {
	opacity: 0.85;
}

.common_fv h1 {
	font-size: 36px;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	color: #231815;
	line-height: 1.73;
}

.common_fv.recruit_fv {
	background: #EDEDED url(./../images/recruit_fv.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	min-height: 100dvh;
}

.recruit_fv_img {
	display: none;
}

.common_fv.recruit_fv h1 {
	font-size: 53px;
	line-height: 1.5;
	font-weight: bold;
}

.common_fv.recruit_fv h2 {
	font-size: 32px;
	line-height: 1.5;
}

.common_fv.recruit_fv p {
	max-width: 620px;
	font-size: 16px;
	margin-top: 60px;
}

.common_fv.recruit_fv .link {
	margin-top: 44px;
}

.common_fv.recruit_fv .link a {
	width: 386px;
	color: #231815;
	font-size: 17px;
	height: 64px;
	border: 1px solid #231815;
}

.common_fv.recruit_fv .link a .arrow_r {
	border-color: #231815;
	top: 27px;
}

.common_fv.interview_fv {
	background: none;
}

/* ========== sec_news_list（ニュース一覧ページ） ========== */
.sec_news_list {
	padding: 0 0 80px;
}

.news_list_inner {
	max-width: 1200px;
}

.news_list_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 50px 0 70px;
}

.news_list_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.news_list_controls {
	display: flex;
	align-items: center;
	gap: 16px;
}

.news_list_year {
	padding: 10px 16px;
	font-size: 14px;
	color: #231815;
	border: 1px solid #DDE2E4;
	border-radius: 8px;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
	cursor: pointer;
}

.news_list_search {
	display: flex;
	align-items: center;
	border: 1px solid #DDE2E4;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}

.news_search_input {
	width: 220px;
	padding: 10px 14px;
	font-size: 14px;
	border: none;
	font-family: "Noto Sans JP", sans-serif;
	border-color: #DDE2E4;
}

.news_search_input::-moz-placeholder {
	color: #999;
}

.news_search_input::placeholder {
	color: #999;
}

.news_search_btn {
	padding: 10px 14px;
	border: none;
	background: transparent;
	cursor: pointer;
}

.news_search_icon {
	display: block;
	width: 18px;
	height: 18px;
	border: 2px solid #666;
	border-radius: 50%;
	position: relative;
}

.news_search_icon::after {
	content: "";
	position: absolute;
	right: -4px;
	bottom: -4px;
	width: 8px;
	height: 2px;
	background: #666;
	transform: rotate(45deg);
}

.news_list_filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.news_filter_btn {
	padding: 2px 20px;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	background: #BABABA;
	border: none;
	border-radius: 15px;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	transition: background 0.2s;
}

.news_filter_btn:hover {
	background: #666;
}

.news_filter_btn.is_active {
	background: #231815;
}

.news_filter_btn.is_active:hover {
	background: #231815;
}

.news_list_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 64px;
	margin-bottom: 48px;
}

.news_card {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s;
}

.news_card:hover {
	opacity: 0.85;
}

.news_card .news_card_text {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
}

.news_card_thumb {
	aspect-ratio: 16/10;
	overflow: hidden;
	background: #e8e8e8;
	margin-bottom: 12px;
}

.news_card_thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	vertical-align: top;
}

.news_card_cat {
	display: inline-block;
	font-size: 12px;
	color: #fff;
	background: #231815;
	padding: 4px 10px;
	line-height: 1;
	border-radius: 10px;
	margin-bottom: 8px;
	font-family: "Montserrat", sans-serif;
}

.news_card_date {
	display: block;
	font-size: 12px;
	color: #231815;
	margin-bottom: 8px;
	font-family: "Montserrat", sans-serif;
}

.news_card_ttl {
	font-size: 16px;
	line-height: 1.6;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.news_pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 80px;
}

.news_page_link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	font-size: 15px;
	color: #231815;
	border-bottom: 1px solid #231815;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
	transition: border-color 0.2s, background 0.2s;
}

.news_page_link:hover {
	border-color: #231815;
	font-weight: bold;
}

.news_page_link.news_page_current {
	border-bottom: none;
	font-weight: bold;
}

.news_page_ellipsis {
	padding: 0 4px;
	font-size: 14px;
	color: #666;
}

/* ========== sec_news_detail（ニュース詳細ページ） ========== */
.sec_news_detail {
	background: #fff;
	padding: 48px 0 56px;
}

.news_detail_header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 16px;
}

.news_detail_inner {
	display: flex;
	gap: 60px;
}

.news_detail_image {
	width: 272px;
}

.news_detail_image img {
	height: auto;
	width: 100%;
}

.news_detail_inner_body {
	flex: 1;
}

.news_detail_cat {
	display: inline-block;
	font-size: 18px;
	font-weight: 100;
	color: #fff;
	background: #231815;
	padding: 3px 20px;
	border-radius: 20px;
	font-family: "Montserrat", sans-serif;
}

.news_detail_date {
	font-size: 18px;
	color: #231815;
	font-weight: 100;
	font-family: "Montserrat", sans-serif;
}

.news_detail_ttl {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.5;
	color: #231815;
	margin: 0 0 24px;
	padding-bottom: 10px;
	font-family: "Noto Sans JP", sans-serif;
}

.news_detail_body {
	display: flex;
	gap: 48px;
	align-items: flex-start;
	margin-bottom: 40px;
}

.news_detail_text {
	flex: 1;
	min-width: 0;
}

.news_detail_text p {
	font-size: 15px;
	line-height: 1.8;
	color: #333;
	margin: 0 0 1em;
	font-family: "Noto Sans JP", sans-serif;
}

.news_detail_text p:last-child {
	margin-bottom: 0;
}

.news_detail_text a {
	color: #231815;
	text-decoration: underline;
}

.news_detail_link {
	text-decoration: none;
}

.news_detail_link:hover {
	opacity: 0.85;
}

.news_detail_visual {
	flex: 0 0 320px;
	width: 320px;
	border-radius: 4px;
	overflow: hidden;
	background: #e8e8e8;
}

.news_detail_visual img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.news_detail_back_wrap {
	margin: 0;
	margin-top: 20px;
}

.news_detail_back {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 336px;
	height: 44px;
	padding: 0 40px;
	font-size: 17px;
	color: #231815;
	border: 1px solid #231815;
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s;
}

.news_detail_back:hover {
	border-color: #666;
	background: #f5f5f5;
}

.news_detail_back_arrow {
	font-weight: 700;
}

/* ========== sec_news_related（関連する記事） ========== */
.sec_news_related {
	background: #F5F5F5;
	padding: 33px 0 80px;
}

.news_related_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin: 0 0 24px;
	font-family: "Noto Sans JP", sans-serif;
}

.news_related_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 24px;
}

.sec_news_related .news_card_date {
	color: #666;
}

/* ========== IR情報ページ（sec_ir_*） ========== */
.ir_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.ir_sec_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin: 0 0 24px;
	font-family: "Noto Sans JP", sans-serif;
}

/* 投資家の皆様へ */
.sec_ir_investors {
	background: #fff;
	padding: 56px 0 64px;
}

.ir_investors_blocks {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.ir_investors_block {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	padding: 32px 24px;
	font-size: 16px;
	color: #231815;
	background: #D9D9D9;
	border-radius: 4px;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
	transition: background 0.2s;
}

.ir_investors_block:hover {
	background: #ddd;
}

/* IRニュースリリース */
.sec_ir_news {
	background: #fff;
	padding: 0 0 64px;
}

.ir_news_wrap {
	display: flex;
	gap: 76px;
	align-items: flex-start;
}

.ir_news_all_btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-size: 24px;
	color: #231815;
	border: 1px solid #231815;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
	width: 236px;
	height: 50px;
	padding: 0 40px;
}

.ir_news_all_arrow {
	font-weight: 700;
}

.ir_news_list {
	flex: 1;
	min-width: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ir_news_item {
	padding: 12px 0;
}

.ir_news_item:first-child {
	padding-top: 0;
}

.ir_news_date {
	display: block;
	font-size: 12px;
	color: #666;
	margin-bottom: 0;
	font-family: "Montserrat", sans-serif;
}

.ir_news_ttl {
	font-size: 16px;
	line-height: 1.5;
	color: #231815;
	margin: 0;
}

/* IRライブラリー・IRカレンダー（プレースホルダー） */
.sec_ir_library,
.sec_ir_calendar {
	background: #fff;
	padding: 0 0 64px;
}

.ir_placeholder {
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e8e8e8;
	border-radius: 4px;
}

.ir_placeholder p {
	font-size: 15px;
	color: #666;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

/* ========== 新卒採用ページ（grad_*） ========== */
.grad_hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 170px 0 130px;
}

.grad_hero_bg {
	position: absolute;
	inset: 0;
	background: url(./../images/graduated_recruit_bg.jpg) no-repeat center/cover;
}

.grad_hero_inner {
	position: relative;
	text-align: left;
	z-index: 1;
	color: #fff;
}

.grad_hero_breadcrumb {
	font-size: 12px;
	margin-bottom: 24px;
}

.grad_hero_breadcrumb a,
.grad_hero_breadcrumb span {
	color: #fff;
	opacity: 0.9;
}

.grad_hero_breadcrumb a:hover {
	opacity: 1;
}

.grad_hero_ttl {
	font-size: 47px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 8px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_hero_ttl_sub {
	font-size: 47px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 40px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_hero_txt {
	font-size: 20px;
	line-height: 2;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

/* PROLOGUE */
.sec_grad_prologue {
	position: relative;
	padding: 80px 0;
	height: 700px;
	color: #fff;
}

.grad_prologue_bg {
	position: absolute;
	inset: 0;
	background: #1a1a1a url(./../images/graduated_recruit2_bg.jpg) no-repeat center/cover;
}

.grad_prologue_inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.grad_prologue_label {
	font-size: 22px;
	letter-spacing: 0.2em;
	margin: 0 0 15px;
}

.grad_prologue_ttl {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.55;
	margin: 0 0 50px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_prologue_txt {
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.grad_prologue_txt p {
	margin: 0 0 1em;
}

.grad_prologue_txt p:last-child {
	margin-bottom: 0;
}

.grad_prologue_txt {
	font-family: "Noto Sans JP", sans-serif;
}

/* CONCEPT（2カラム） */
.sec_grad_concept {
	display: flex;
	min-height: 480px;
	align-items: stretch;
}

.grad_concept_left {
	position: relative;
	flex: 0 0 calc(50% - 280px);
	width: calc(50% - 280px);
	min-width: 400px;
	display: flex;
	align-items: flex-start;
	position: sticky;
	top: 0;
}

.grad_concept_left_bg {
	position: absolute;
	inset: 0;
	background: url(./../images/graduated_recruit_concept_bg1.jpg) no-repeat center/cover;
}

.grad_concept_left_inner {
	position: relative;
	z-index: 1;
	padding: 48px 40px;
	color: #fff;
}

.grad_concept_label {
	font-size: 22px;
	letter-spacing: 0.2em;
	margin: 0 0 50px;
}

.grad_concept_ttl {
	font-size: 38px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_concept_right {
	flex: 1;
	background: #e8e8e8;
	padding: 48px 40px;
	overflow-y: auto;
	padding-bottom: 120px;
}

.grad_concept_right_inner {
	flex: 1;
}

.grad_concept_item {
	margin-bottom: 32px;
}

.grad_concept_item:last-child {
	margin-bottom: 0;
}

.grad_concept_item {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 80px;
	padding-bottom: 10px;
}

.grap_concept_number {
	text-align: center;
	width: 108px;
}

.grad_concept_num {
	display: block;
	font-size: 190px;
	line-height: 150px;
	color: #231815;
	margin-bottom: 4px;
	font-family: "Montserrat", sans-serif;
}

.grad_concept_cap {
	font-size: 16px;
	margin: 0 0 8px;
	line-height: 1;
	font-family: "Montserrat", sans-serif;
}

.grad_concept_item_ttl {
	width: 230px;
	font-size: 22px;
	line-height: 1.7;
	font-weight: 700;
	color: #231815;
	margin: 0 0 12px;
	padding-right: 10px;
	padding-left: 20px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_concept_item_txt {
	flex: 1;
	font-size: 16px;
	line-height: 1.8;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_concept_item_txt strong {
	display: block;
	margin-bottom: 20px;
	font-weight: 700;
}

/* CULTURE / TARGET（ダーク背景） */
.sec_grad_culture,
.sec_grad_target {
	position: relative;
	padding: 114px 0 130px;
	color: #fff;
	align-content: center;
}

.grad_dark_bg {
	position: absolute;
	inset: 0;
	background: url(./../images/graded_recruit_culture.jpg) no-repeat center/cover;
}

.sec_grad_target .grad_dark_bg {
	background-image: url(./../images/graduated_recruit_target_bg.jpg);
}

.grad_dark_inner {
	position: relative;
	text-align: center;
	z-index: 1;
}

.grad_dark_label {
	font-size: 22px;
	font-weight: 400;
	font-family: "Montserrat", sans-serif;
}

.grad_dark_ttl {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 74px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_dark_txt {
	font-size: 22px;
	line-height: 1.7;
	margin: 0 auto;
	max-width: 1000px;
	width: 90%;
	font-family: "Noto Sans JP", sans-serif;
}

/* GROWTH（3つの武器・円） */
.sec_grad_growth {
	background: #fff;
	padding: 80px 0 100px;
}

.grad_growth_inner {
	text-align: center;
}

.grad_growth_label {
	font-size: 22px;
	line-height: 1.8;
	color: #231815;
	margin: 0 0 12px;
	font-family: "Montserrat", sans-serif;
}

.grad_growth_ttl {
	font-size: 48px;
	line-height: 1;
	font-weight: 700;
	color: #231815;
	margin: 0 0 48px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_growth_circles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.grad_growth_circle {
	aspect-ratio: 1;
	border-radius: 50%;
	background: linear-gradient(135deg, #2d4a6f 0%, #1a2d45 100%);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 28px;
	text-align: center;
}

.grad_growth_circle_ttl {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 16px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_growth_circle_txt {
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	opacity: 0.95;
}

/* SUPPORT（2カラム・テキスト＋画像） */
.sec_grad_support {
	background: #fff;
	position: relative;
	padding: 0 0 0;
	height: 700px;
}

.grad_support_inner {
	display: flex;
	align-items: center;
	gap: 120px;
}

.grad_support_left {
	flex: 1;
	min-width: 0;
}

.grad_support_label {
	font-size: 22px;
	letter-spacing: 0.2em;
	color: #231815;
	margin: 0 0 12px;
	padding-top: 80px;
	font-family: "Montserrat", sans-serif;
}

.grad_support_ttl {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.5;
	color: #231815;
	margin: 0 0 80px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_support_txt {
	font-size: 15px;
	line-height: 1.9;
	color: #333;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_support_bg {
	position: absolute;
	inset: 0;
	background: url(./../images/graduate_img1.jpg) no-repeat center/cover;
	top: 0;
	right: 0;
	left: auto;
	width: calc(50% - 180px);
	height: 100%;
	z-index: 1;
}

.grad_support_bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(35, 24, 21, 0.8);
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
}

.grad_support_right {
	flex: 0 0 calc(50% - 180px);
}

/* キャリアパス */
.sec_grad_career {
	background: white;
	align-content: center;
}

.grad_career_label {
	font-size: 22px;
	line-height: 1.5;
	color: #231815;
	font-family: "Montserrat", sans-serif;
	max-width: 1280px;
	width: 90%;
	margin-inline: auto;
}

.grad_career_ttl {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.5;
	color: #231815;
	margin-bottom: 40px;
	font-family: "Noto Sans JP", sans-serif;
	max-width: 1280px;
	width: 90%;
	margin-inline: auto;
}

.grad_career_bg {}

.grad_career_timeline {
	position: absolute;
	top: 170px;
	display: flex;
	width: 100%;
	height: auto;
	left: 35px;
}

.grad_career_body_sp,
.grad_career_phase_img_sp {
	display: none;
}

.grad_career_body_pc {
	position: relative;
	z-index: 1;
	margin-bottom: 60px;
	max-width: 1440px;
	margin-inline: auto;
}

.grad_career_body_pc .grad_career_phase {
	align-self: flex-start;
	box-sizing: content-box;
	font-size: 18px;
	padding: 30px 25px;
}

.grad_career_body_pc .grad_career_phase.phase1 {
	width: 27.5%;
	margin-top: 100px;
}

.grad_career_body_pc .grad_career_phase.phase2 {
	width: 26.5%;
	margin-top: 50px;

}

.grad_career_body_pc .grad_career_phase.phase3 {
	width: 25%;
}

.grad_career_phase_head {
	font-size: 12px;
	letter-spacing: 0.05em;
	margin-bottom: 16px;
	opacity: 0.9;
	font-family: "Montserrat", sans-serif;
}

.grad_career_phase_ttl {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_career_phase_txt {
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	opacity: 0.95;
}

.grad_career_phase.grad_career_arrow::after {
	content: "";
	position: absolute;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 22px solid #2d2d2d;
	z-index: 1;
}

.grad_career_examples_fixedcontainer {
	max-width: 1280px;
	width: 90%;
	margin: 0 auto;
	padding: 0;
}

.grad_career_examples_ttl {
	font-size: 25px;
	font-weight: 700;
	color: #231815;
	margin: 20px 0 40px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.grad_career_examples_ttl strong {
	font-size: 42px;
	display: block;
}

.grad_career_examples {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 32px;
}

.grad_career_example {
	background: #EDEDED;
	padding: 40px 24px;
	border-radius: 4px;
	border: 1px solid #eee;
}

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

.grad_career_example_num {
	display: block;
	font-size: 86px;
	font-weight: 100;
	font-family: "Montserrat", sans-serif;
}

.grad_career_example_ttl {
	font-size: 34px;
	font-weight: 400;
	color: #231815;
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0 0 8px 5px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_career_example_txt {
	font-size: 22px;
	line-height: 1.8;
	color: #333;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_career_note {
	padding: 24px 28px;
}

.grad_career_note p {
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

/* 社員インタビュー */
.sec_grad_interview {
	background: #F5F5F5;
	align-content: center;
}

.sec_grad_interview .interview_detail_others_list {
	/* padding: 0 30px; */
}

.grad_interview_ttl {
	font-size: 22px;
	color: #231815;
	margin: 0 0 45px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_interview_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 24px;
	margin-bottom: 32px;
}

.grad_interview_card {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s;
}

.grad_interview_card:hover {
	opacity: 0.85;
}

.grad_interview_thumb {
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	background: #e8e8e8;
	margin-bottom: 16px;
}

.grad_interview_thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	vertical-align: top;
}

.grad_interview_dept {
	font-size: 13px;
	color: #666;
	margin: 0 0 4px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_interview_name {
	font-size: 16px;
	font-weight: 600;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_interview_more_wrap {
	margin: 0;
	text-align: center;
}

.grad_interview_more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	font-size: 15px;
	color: #231815;
	background: #e8e8e8;
	border: 1px solid #ccc;
	border-radius: 4px;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
	transition: background 0.2s, border-color 0.2s;
}

.grad_interview_more:hover {
	background: #ddd;
	border-color: #999;
}

.grad_interview_more_arrow {
	font-weight: 700;
}

/* 評価制度 */
.sec_grad_evaluation {
	background: white;
	padding: 50px 0;
	align-content: center;
}

.grad_evaluation_ttl {
	font-size: 22px;
	color: #231815;
	font-weight: 400;
	margin: 0 0 25px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_evaluation_body {
	display: flex;
	gap: 60px;
	align-items: center;
}

.grad_evaluation_txt {
	flex: 1;
	min-width: 0;
}

.grad_evaluation_txt p {
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
	margin: 0 0 1em;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_evaluation_txt p:last-child {
	margin-bottom: 0;
}

.grad_evaluation_txt p.grad_evaluation_sub {
	font-size: 20px;
	font-weight: bold;
	color: #231815;
	margin: 0 0 25px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_evaluation_venn {
	flex: 0 0 45%;
	position: relative;
	height: auto;
}

.grad_venn_circle {
	position: absolute;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 2px solid #231815;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	color: #231815;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_venn_top {
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}

.grad_venn_left {
	left: 10px;
	bottom: 0;
}

.grad_venn_right {
	right: 10px;
	bottom: 0;
}

.grad_venn_center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 12px;
	font-weight: 700;
	color: #231815;
	text-align: center;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	z-index: 1;
}

/* エントリーCTA */
.sec_grad_entry {
	height: 700px;
	position: relative;
	padding: 80px 0;
	color: #fff;
	text-align: center;
}

.grad_entry_bg {
	position: absolute;
	inset: 0;
	background: url(./../images/graduated_recruit_bg2.jpg) no-repeat center/cover;
}

.grad_entry_inner {
	position: relative;
	height: 100%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.grad_entry_ttl {
	font-size: 48px;
	font-weight: 500;
	margin: 0 0 40px;
	line-height: 1.5;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_entry_txt {
	font-size: 18px;
	line-height: 1.8;
	margin: 0 0 60px;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_entry_btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	gap: 8px;
	width: 386px;
	height: 64px;
	font-size: 17px;
	color: white;
	border: 1px solid white;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
}

.grad_entry_btn .arrow_r {
	position: inherit;
	top: 0;
	right: 0;
}

.grad_entry_btn_arrow {
	font-weight: 700;
}

/* ========== sec_recruit_message（採用ページ・代表からのメッセージ） ========== */
.sec_recruit_message {
	background: #EDEDED;
	padding: 80px 0 100px;
	align-content: center;
}

.sec_recruit_message .recruit_message_inner {
	display: flex;
	gap: 74px;
}

.sec_recruit_message .recruit_message_left {
	flex: 0 1 618px;
	min-width: 0;
}

.sec_recruit_message .recruit_message_label {
	font-size: 14px;
	font-weight: 500;
	color: #555;
	margin: 0 0 32px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_message .recruit_message_headline {
	font-size: 37px;
	font-weight: 700;
	line-height: 1.5;
	color: #333;
	margin: 0 0 28px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_message .recruit_message_desc {
	font-size: 15px;
	line-height: 2;
	color: #333;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_message .recruit_message_right {
	flex: 0 10 50%;
	max-width: 629px;
	margin-top: 54px;
}

.sec_recruit_message .recruit_message_photo {
	line-height: 0;
}

.sec_recruit_message .recruit_message_photo img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* ========== sec_recruit_skills（採用ページ・得られる力・スキル） ========== */
.sec_recruit_skills,
.sec_grad_growth {
	background: #fff;
	padding: 80px 0 100px;
	align-content: center;
}

.sec_recruit_skills .recruit_skills_inner,
.sec_grad_growth .recruit_skills_inner {
	text-align: center;
}

.sec_recruit_skills .recruit_skills_ttl,
.sec_grad_growth .recruit_skills_ttl {
	font-size: 34px;
	font-weight: 700;
	color: #231815;
	margin: 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_skills .recruit_skills_sub,
.sec_grad_growth .recruit_skills_sub {
	font-size: 24px;
	color: #231815;
	margin: 0 0 60px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_skills .recruit_skills_list,
.sec_grad_growth .recruit_skills_list {
	display: flex;
	justify-content: center;
	gap: 40px;
}

.sec_recruit_skills .recruit_skill_block,
.sec_grad_growth .recruit_skill_block {
	flex: 0 0 calc(33.333% - 27px);
	max-width: 360px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: url(./../images/recruit_circle_bg.png) no-repeat;
	background-size: 100% 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 24px;
}

.sec_recruit_skills .recruit_skill_ttl,
.sec_grad_growth .recruit_skill_ttl {
	font-size: 46px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 16px;
	letter-spacing: 0.15em;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_skills .recruit_skill_desc {
	font-size: 19px;
	line-height: 1.7;
	color: #fff;
	margin: 0;
	font-weight: 100;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_grad_growth .recruit_skill_desc {
	font-size: 15px;
	line-height: 1.7;
	color: #fff;
	margin: 0;
	font-weight: 100;
	font-family: "Noto Sans JP", sans-serif;
}

/* ========== sec_recruit_workstyle（採用ページ・WORK STYLE） ========== */
.sec_recruit_workstyle {
	background: #e8e8e8;
	padding: 40px 0 30px;
}

.sec_recruit_workstyle .recruit_workstyle_item {
	align-content: center;
}

.sec_recruit_workstyle .recruit_workstyle_inner {
	text-align: center;
	/* margin-bottom: 60px; */
}

.sec_recruit_workstyle .recruit_workstyle_ttl {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	color: #231815;
}

.sec_recruit_workstyle .recruit_workstyle_sub {
	font-size: 18px;
	margin: 0 0 18px;
	color: #2F403E;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_workstyle .recruit_workstyle_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	max-width: 950px;
	margin: 0 auto;
}

.sec_recruit_workstyle .recruit_workstyle_block {
	background: #fff;
	border-radius: 10px;
	padding: 32px 24px;
	text-align: center;
	min-height: 280px;
}

.sec_recruit_workstyle .workstyle_block_flex {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.sec_recruit_workstyle .workstyle_block_flex .workstyle_block_flex_label {
	font-size: 24px;
	font-weight: bold;
	color: #2F403E;
}

.sec_recruit_workstyle .workstyle_block_flex .workstyle_block_flex_label_value {
	font-size: 38px;
	line-height: 1.5;
}

.sec_recruit_workstyle .workstyle_block_flex .workstyle_value_flex {
	display: flex;
	flex-direction: column;
}

.sec_recruit_workstyle .workstyle_block_flex .number {
	line-height: 1;
	font-size: 82px;
	font-weight: 500;
}

.sec_recruit_workstyle .workstyle_block_flex .number_size2 {
	line-height: 1;
	font-size: 122px;
}

.sec_recruit_workstyle .workstyle_label {
	font-size: 32px;
	font-weight: bold;
	color: #384255;
	margin: 0 0 30px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1;
}

.sec_recruit_workstyle .workstyle_label small {
	font-size: 26px;
}

.sec_recruit_workstyle .workstyle_value {
	font-size: 55px;
	font-weight: normal;
	color: #231815;
	line-height: 1.5;
	margin: 0 0 8px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_workstyle .workstyle_value_topSpace {
	margin-top: 40px;
}

.sec_recruit_workstyle .workstyle_value_size2 {
	font-size: 48px;
	font-weight: 500;
}

.sec_recruit_workstyle .workstyle_value_size3 {
	font-size: 60px;
	font-weight: 500;
	letter-spacing: 20;
}

.sec_recruit_workstyle .workstyle_value .number {
	font-size: 104px;
	font-weight: 500;
	line-height: 1;
}

.sec_recruit_workstyle .workstyle_note {
	font-size: 22px;
	color: #231815;
	margin: 0;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
}

/* ========== sec_recruit_interview（採用ページ・社員インタビュー） ========== */
.sec_recruit_interview {
	background: #F5F5F5;
	padding: 30px 0 30px;
	align-content: center;
}

.sec_recruit_interview .recruit_interview_ttl {
	font-size: 22px;
	font-weight: normal;
	color: #231815;
	margin: 0 0 30px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_interview .recruit_interview_list {
	padding: 0 30px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px 50px;
	margin-bottom: 20px;
}

.sec_recruit_interview .recruit_interview_block {
	padding: 0;
	overflow: hidden;
	text-decoration: none;
	display: block;
	background: transparent;
	transition: background 0.2s;
}

.sec_recruit_interview .recruit_interview_block:hover {
	background: white;
}

.sec_recruit_interview .recruit_interview_photo {
	overflow: hidden;
	line-height: 0;
	background: #e0e0e0;
}

.sec_recruit_interview .recruit_interview_photo img {
	width: 100%;
	height: 210px;
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_recruit_interview .recruit_interview_profile {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
}

.sec_recruit_interview .recruit_interview_dept {
	font-size: 18px;
	font-weight: 400;
	margin: 0;
	color: #231815;
	padding: 0 12px 0px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.sec_recruit_interview .recruit_interview_name {
	font-size: 18px;
	font-weight: 500;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.sec_recruit_interview .recruit_interview_link {
	text-align: center;
}

.sec_recruit_interview .btn_interview {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	width: 244px;
	height: 44px;
	gap: 8px;
	font-size: 15px;
	color: #231815;
	border: 1px solid #231815;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
	transition: border-color 0.2s, color 0.2s;
}

.sec_recruit_interview .btn_interview:hover {
	border-color: #666;
	color: #000;
}

.sec_recruit_interview .btn_interview .arrow_r {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
	margin-left: 4px;
}

/* ========== sec_recruit_jobs（採用ページ・募集職種） ========== */
.sec_recruit_jobs {
	background: #fff;
	padding: 80px 0 0;
	align-content: center;
}

.sec_recruit_jobs .recruit_jobs_inner {
	display: flex;
	gap: 60px;
	align-items: flex-start;
	justify-content: space-between;
}

.sec_recruit_jobs .recruit_jobs_header {
	flex: 0 1 400px;
	max-width: 400px;
}

.sec_recruit_jobs .recruit_jobs_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin: 0 0 24px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_jobs .recruit_jobs_sub {
	font-size: 22px;
	font-weight: 500;
	color: #231815;
	font-family: "Noto Sans JP", sans-serif;
	margin-top: 120px;
}

.sec_recruit_jobs .recruit_jobs_desc {
	font-size: 17px;
	line-height: 1.8;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_jobs .recruit_jobs_list {
	flex: 0 1 760px;
	/* max-width: 760px; */
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sec_recruit_jobs .recruit_job_block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #e8e8e8;
	border-radius: 8px;
	padding: 24px 28px;
	text-decoration: none;
	transition: background 0.2s;
}

.sec_recruit_jobs .recruit_job_block:hover {
	background: #ddd;
}

.sec_recruit_jobs .recruit_job_text {
	flex: 1;
	min-width: 0;
}

.sec_recruit_jobs .recruit_job_name {
	font-size: 18px;
	font-weight: 700;
	color: #231815;
	margin: 0 0 8px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_jobs .recruit_job_detail {
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_jobs .recruit_job_arrow {
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #888;
	border-right: 2px solid #888;
	transform: rotate(45deg);
}

.sec_recruit_jobs .recruit_jobs_banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 32px 40px;
	text-decoration: none;
	transition: opacity 0.2s;
	position: relative;
	overflow: hidden;
	background: url(./../images/recruit_banner.jpg) no-repeat center center;
	background-size: cover;
	background-position: center;
}

.sec_recruit_jobs .recruit_jobs_banner_txt {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	position: relative;
	z-index: 1;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_jobs .recruit_jobs_banner_arrow {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: relative;
	z-index: 1;
}

.sec_recruit_jobs .recruit_jobs_banner_inner {
	margin-top: 70px;
	padding-bottom: 90px;
}

.sec_career {
	background-color: white;
	padding-top: 40px;
}

.career_inne_item {
	align-content: center;
}

.sec_career .career_inner .career_title {
	margin-bottom: 25px;
	font-size: 22px;
	font-weight: 400;
}

.sec_career .career_inner .career_sub {
	font-size: 16px;
	line-height: 1.8;
	max-width: 1040px;
	margin-bottom: 70px;
}

.sec_career .career_inner .career_block {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 90px;
	padding-bottom: 30px;
	margin-top: 60px;
}

.sec_career .career_inner .career_block .career_block_left {
	flex: 0 1 607px;
}

.sec_career .career_inner .career_block .career_block_left h3 {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin-bottom: 25px;
}

.sec_career .career_inner .career_block .career_block_left p {
	font-size: 16px;
	line-height: 1.8;
}

.sec_career .career_inner .career_block .career_block_left p strong {
	font-size: 20px;
	font-weight: 700;
	color: #231815;
	display: block;
	margin-bottom: 30px;
}

.sec_career .career_inner .career_block .career_block_left p span {
	display: block;
	margin-bottom: 20px;
}

.sec_career .career_inner .career_block .career_block_left p span.sub_title {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 0;
}

.sec_career .career_inner .career_block .career_block_right {
	max-width: 571px;
	flex: 0 1 571px;
}

.sec_career .career_inner .career_block .career_block_right2 {
	flex: 0 1 507px;
}

.sec_career .career_inner .career_block .career_block_right img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_career .career_ttl {
	font-size: 22px;
	margin-bottom: 27px;
	font-weight: 400;
}

.sec_career .career_sub {
	font-size: 18px;
	font-weight: 400;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_career .link {
	text-align: center;
}

.sec_career .link .btn_more {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	gap: 8px;
	width: 386px;
	height: 64px;
	font-size: 16px;
	color: #231815;
	border: 1px solid #231815;
	text-decoration: none;
	margin-top: 10px;
	margin-bottom: 20px;
}

.sec_career .link .btn_more .arrow_r {
	border-color: #231815;
	top: 25px;
	transform: rotate(45deg);
	margin-left: 4px;
}

/* ========== sec_recruit_schedule（採用ページ・先輩営業の1日） ========== */
.sec_recruit_schedule {
	background: #EDEDED;
	padding-bottom: 20px;
	align-content: center;
}

.sec_recruit_schedule .recruit_schedule_inner {
	display: flex;
	width: 100%;
	padding: 0 20px;
	gap: 60px;
}

.sec_recruit_schedule .recruit_schedule_left {
	flex: 0 1 305px;
	padding-top: 45px;
	text-align: center;
	min-height: auto;
}

.sec_recruit_schedule .recruit_schedule_left_body {
	padding: 20px 18px;
	background: #7B7B7C;
}

.sec_recruit_schedule .recruit_schedule_photo {
	width: 100%;
	height: 194px;
	overflow: hidden;
	background: #e0e0e0;
	margin-bottom: 20px;
}

.sec_recruit_schedule .recruit_schedule_photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	vertical-align: top;
}

.sec_recruit_schedule .recruit_schedule_ttl {
	font-size: 22px;
	font-weight: 500;
	color: #231815;
	margin: 0 0 15px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.sec_recruit_schedule .recruit_schedule_dept {
	font-size: 14px;
	color: white;
	font-weight: 400;
	margin: 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
	text-align: left;
}

.sec_recruit_schedule .recruit_schedule_name {
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 0;
	line-height: 1.2;
	font-family: "Noto Sans JP", sans-serif;
	text-align: left;
}

.sec_recruit_schedule .btn_schedule_profile {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: white;
	font-weight: 400;
	border: 1px solid white;
	width: 120px;
	height: 28px;
	text-decoration: none;
	margin-bottom: 28px;
	font-family: "Noto Sans JP", sans-serif;
	transition: background 0.2s, border-color 0.2s;
	margin-top: 45px;
}

.sec_recruit_schedule .recruit_schedule_bio {
	font-size: 15px;
	line-height: 1.8;
	color: #fff;
	text-align: left;
	font-weight: 400;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_schedule .recruit_schedule_right {
	flex: 0 1 875px;
	min-height: auto;
}

.sec_recruit_schedule .recruit_schedule_timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	padding-top: 20px;
}

.sec_recruit_schedule .recruit_schedule_timeline::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: #6b6b6b;
	transform: translateX(-50%);
}

.sec_recruit_schedule .recruit_schedule_item {
	display: grid;
	grid-template-columns: 1fr 80px 1fr;
	align-items: start;
	gap: 0;
	margin-bottom: 24px;
	position: relative;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_2 {
	margin-top: -110px;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_3 {
	margin-top: -20px;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_4 {
	margin-top: -20px;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_5 {
	margin-top: -40px;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_6 {
	margin-top: -50px;
}

.sec_recruit_schedule .recruit_schedule_item.timeblock_7 {
	margin-top: -60px;
}

.sec_recruit_schedule .recruit_schedule_item::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 60px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #6b6b6b;
	transform: translateX(-50%);
	border: 4px solid white;
	z-index: 1;
}

.sec_recruit_schedule .recruit_schedule_item.schedule_left::before {
	top: 60px;
}

.sec_recruit_schedule .recruit_schedule_item.schedule_right::before {
	top: 40px;
}

.sec_recruit_schedule .recruit_schedule_item.schedule_right .schedule_content {
	grid-column: 3;
	padding-left: 12px;
}

.sec_recruit_schedule .recruit_schedule_item.schedule_left .schedule_content {
	grid-column: 1;
	padding-right: 12px;
	text-align: right;
}

.sec_recruit_schedule .schedule_content {
	min-width: 0;
	background: white;
	position: relative;
	padding: 11px 12px 22px;
}

.sec_recruit_schedule .schedule_box_header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.sec_recruit_schedule .schedule_right .schedule_content {
	text-align: left;
}

.sec_recruit_schedule .schedule_left .schedule_content {
	text-align: right;
}

.sec_recruit_schedule .schedule_left .schedule_content::after {
	content: "";
	position: absolute;
	right: -7px;
	left: auto;
	top: 60px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 8px;
	border-color: transparent transparent transparent #fff;
}

.sec_recruit_schedule .schedule_time {
	display: block;
	font-size: 30px;
	font-weight: 400;
	margin-bottom: 8px;
	line-height: 1;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
}

.sec_recruit_schedule .schedule_right .schedule_box::after {
	content: "";
	position: absolute;
	left: -7px;
	top: 40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 8px 0;
	border-color: transparent #fff transparent transparent;
}

.sec_recruit_schedule .schedule_left .schedule_box {
	margin-left: auto;
}

.sec_recruit_schedule .schedule_title {
	font-size: 20px;
	text-align: left;
	letter-spacing: 0;
	list-style: 1.3;
	font-weight: 400;
	color: #5D89B9;
	margin-left: 5px;
	margin-bottom: 6px;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.sec_recruit_schedule .schedule_desc {
	font-size: 17px;
	line-height: 1.6;
	text-align: left;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

/* ========== sec_recruit_faq（採用ページ・FAQ） ========== */
.sec_recruit_faq {
	background: #fff;
	padding: 80px 0 120px;
}

.sec_recruit_faq .recruit_faq_inner {
	margin-inline: auto;
	padding-bottom: 50px;
}

.sec_recruit_faq .recruit_faq_ttl {
	font-size: 26px;
	font-weight: 400;
	color: #231815;
	margin: 0 0 40px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_faq .recruit_faq_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sec_recruit_faq .recruit_faq_item {
	position: relative;
}

.sec_recruit_faq .recruit_faq_item:after {
	content: "";
	position: absolute;
	left: auto;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	max-width: 1000px;
	background: #DADCDC;
	z-index: 1;
}

.sec_recruit_faq .recruit_faq_item:last-child:after {
	content: none;
}

.sec_recruit_faq .recruit_faq_q {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 12px 20px 0;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	color: #231815;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_recruit_faq .recruit_faq_q::-webkit-details-marker {
	display: none;
}

.sec_recruit_faq .recruit_faq_q::marker {
	display: none;
}

.sec_recruit_faq .faq_q_label {
	flex-shrink: 0;
	font-size: 30px;
	font-family: "Bebas Neue", sans-serif;
}

.sec_recruit_faq .faq_q_txt {
	flex: 1;
	font-size: 16px;
	line-height: 1.5;
	min-width: 0;
}

.sec_recruit_faq .faq_q_icon {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border-right: 2px solid #231815;
	border-bottom: 2px solid #231815;
	transform: rotate(45deg);
	margin-top: 6px;
	transition: transform 0.2s;
}

.sec_recruit_faq .recruit_faq_item[open] .faq_q_icon {
	transform: rotate(-135deg);
	margin-top: 10px;
}

.sec_recruit_faq .recruit_faq_a {
	padding: 0 0 24px 0;
	gap: 12px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0;
}

.sec_recruit_faq .faq_a_label {
	flex-shrink: 0;
	line-height: 1;
	font-size: 30px;
	font-weight: 700;
	color: #231815;
	margin-right: 8px;
	font-family: "Bebas Neue", sans-serif;
}

.sec_recruit_faq .recruit_faq_a p {
	font-size: 15px;
	line-height: 1.9;
	color: #333;
	margin: 0;
	display: inline;
	font-family: "Noto Sans JP", sans-serif;
}

/* ========== インタビュー詳細ページ ========== */
.page_interview_detail .interview_detail_main {
	background: #F5F5F5;
	padding: 40px 0 80px;
}

.interview_detail_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 32px;
	padding: 0 40px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.interview_detail_breadcrumb {
	font-size: 15px;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_breadcrumb:hover {
	text-decoration: underline;
}

.interview_detail_article .interview_detail_inner {
	padding-right: 100px;
}

.interview_detail_back {
	font-size: 14px;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_back:hover {
	color: #666;
}

.interview_detail_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin: 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_headline {
	font-size: 40px;
	line-height: 1.5;
	font-weight: 600;
	color: #231815;
	margin: 0 0 60px;
}

.interview_detail_intro {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin-bottom: 56px;
}

.interview_detail_photo {
	flex: 0 0 370px;
	border-radius: 0;
	overflow: hidden;
	background: #e8e8e8;
}

.interview_detail_photo img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.interview_detail_profile {
	flex: 1;
	min-width: 0;
}

.interview_detail_name {
	font-size: 24px;
	font-weight: 700;
	color: #231815;
	margin: 0 0 0;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_dept {
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 40px;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_lead {
	font-size: 14px;
	line-height: 2.1;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_section {
	margin-bottom: 56px;
}

.interview_detail_section:last-child {
	margin-bottom: 0;
}

.interview_detail_heading {
	font-size: 34px;
	line-height: 1.4;
	font-weight: 500;
	color: #231815;
	margin: 0 0 30px;
	font-family: "Bebas Neue", sans-serif;
	letter-spacing: 0.02em;
}

.interview_detail_section p {
	font-size: 16px;
	line-height: 1.9;
	margin: 0 0 60px;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_section p:last-child {
	margin-bottom: 0;
}

.interview_detail_media {
	width: 100%;
	min-height: 320px;
	background: #e8e8e8;
	border-radius: 8px;
	margin-bottom: 56px;
}

.interview_detail_message {
	padding-top: 24px;
}

/* その他社員インタビュー（インタビュー詳細ページ内） */
.interview_detail_others {
	background: #f5f5f5;
	padding: 56px 0;
}

.interview_detail_others_ttl {
	font-size: 22px;
	font-weight: 700;
	color: #231815;
	margin: 0 0 32px;
	font-family: "Noto Sans JP", sans-serif;
}

.interview_detail_others_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 62px;
	margin-bottom: 45px;
}

.interview_detail_others_block {
	overflow: hidden;
	text-decoration: none;
	display: block;
}

.interview_detail_others_photo {
	width: 100%;
	height: 394px;
	overflow: hidden;
	line-height: 0;
}

.interview_detail_others_photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	vertical-align: top;
	-o-object-position: center center;
	object-position: center center;
}

.interview_detail_others_text {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 20px;
	gap: 15px;
}

.interview_detail_others_dept {
	font-size: 18px;
	margin: 0;
	font-weight: 400;
	color: #231815;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.73;
}

.interview_detail_others_name {
	font-size: 18px;
	font-weight: 400;
	color: #231815;
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.73;
}

.interview_detail_others_link {
	text-align: center;
}

.btn_interview_others {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 40px;
	width: 244px;
	height: 44px;
	font-size: 17px;
	color: #231815;
	border: 1px solid #231815;
	text-decoration: none;
	font-family: "Noto Sans JP", sans-serif;
}

.btn_interview_others .arrow_r {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
	margin-left: 4px;
}

/* ========== sec_business（事業内容ページ） ========== */

.sec_business {
	background: linear-gradient(to right, #EDEDED, 50%, #fff, 50%, white);
}

.sec_business.service_wakegai {
	height: calc(100dvh - 202px);
}

.sec_business .business_block {
	align-content: center;
	background: linear-gradient(to right, #EDEDED, 400px, #fff, 400px, white);
	height: 100dvh;
}

.sec_business.service_wakegai .business_block {
	height: calc(100dvh - 202px);
}

.sec_business .business_block_inner {
	display: flex;
	align-items: flex-start;
	/* background: linear-gradient(to right, #EDEDED, 400px, #fff, 400px, white); */
}

.sec_business .business_block:first-child {}


.sec_business .business_left {
	width: 400px;
	background: #EDEDED;
	padding: 70px 58px 60px 0;
}

.sec_business .business_ttl {
	font-size: 22px;
	color: #231815;
	margin: 0 0 49px;
	font-weight: bold;
	line-height: 1.7;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_business .business_catch {
	margin-bottom: 20px;
}

.sec_business .business_logo_txt {
	font-weight: 600;
}

.sec_business .business_visual {
	line-height: 0;
	border-radius: 4px;
	overflow: hidden;
}

.sec_business .business_visual img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.sec_business .business_right {
	flex: 1;
	min-width: 0;
	padding-left: 84px;
	padding-top: 70px;
	padding-right: 0;
	padding-bottom: 45px;
	background: white;
}

.sec_business .business_desc {
	margin-bottom: 28px;
	max-width: 720px;
	width: 100%;
}

.sec_business .business_desc p {
	font-size: 16px;
	line-height: 1.6;
	color: #231815;
	margin: 0 0 1.2em;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_business .business_desc p:last-child {
	margin-bottom: 0;
}

.sec_business .link {
	text-align: right;
}

.sec_business .btn_detail {
	border-color: #231815;
	color: #231815;
	width: 336px;
}

.sec_business .btn_detail .arrow_r {
	border-color: #231815;
	top: 13px;
}

.sec_business .btn_detail:hover {
	border-color: #666;
	color: #000;
}

.sec_business .btn_arrow {
	display: inline-block;
	width: 8px;
	height: 8px;
	position: absolute;
	right: 40px;
	top: 20px;
	transform: translateY(-50%);
	border-top: 1px solid #231815;
	border-right: 1px solid #231815;
	transform: rotate(45deg);
}

/* ========== sec_performances（買取実績） ========== */
.sec_performances {
	background: #EEF0F2;
	padding: 45px 0 100px;
	position: relative;
}

.sec_performances .performances_ttl {
	font-size: 22px;
	font-weight: 100;
	margin: 0 0 16px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_performances .performances_scroll {
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: rgba(255, 255, 255, 0.4);
	font-family: "Noto Sans JP", sans-serif;
	margin: 0;
}

.sec_performances .sec_performances_item {
	align-content: center;
	/* margin-block: 50px; */
}

.sec_performances .sec_performances_item:first-child {
	min-height: calc(100dvh + 50px);
}

/* .sec_performances .sec_performances_item:last-child {
	min-height: calc(100dvh + 60px);
} */

.sec_performances .perf_card {
	background: white;
	border-radius: 20px;
	padding: 40px 45px 40px;
}

.sec_performances .sec_performances_item:last-of-type .perf_card {
	margin-bottom: 200px;
}

.sec_performances .perf_card_inner {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

.sec_performances .perf_left {
	flex: 0 0 36%;
	max-width: 387px;
}

.sec_performances .perf_photo {
	line-height: 0;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 20px;
}

.sec_performances .perf_photo img {
	width: 100%;
	max-width: 338px;
	height: 194px;
	aspect-ratio: 1;
	-o-object-fit: cover;
	object-fit: cover;
	vertical-align: top;
}

.sec_performances .perf_price {
	font-size: 28px;
	color: #231815;
	margin: 0 0 16px;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
}

.sec_performances .perf_price strong {
	font-size: 28px;
	font-weight: 700;
}

.sec_performances .perf_price .unit {
	font-size: 20px;
}

.sec_performances .perf_method,
.sec_performances .perf_flow,
.sec_performances .perf_result {
	margin: 0 0 15px;
	font-size: 14px;
	color: #231815;
	font-family: "Noto Sans JP", sans-serif;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.sec_performances .perf_result {
	margin-bottom: 0;
}

.sec_performances .perf_method dt,
.sec_performances .perf_flow dt,
.sec_performances .perf_result dt {
	font-weight: 100;
	margin-bottom: 4px;
	width: 126px;
}

.sec_performances .perf_method dd,
.sec_performances .perf_flow dd,
.sec_performances .perf_result dd {
	margin: 0;
	line-height: 1.7;
	flex: 1;
}

.sec_performances .perf_step {
	display: block;
	margin-bottom: 4px;
}

.sec_performances .perf_step:last-child {
	margin-bottom: 0;
}

.sec_performances .perf_right {
	flex: 1;
	min-width: 0;
}

.sec_performances .perf_block {
	margin-bottom: 24px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 25px;
}

.sec_performances .perf_block:last-child {
	margin-bottom: 0;
}

.sec_performances .perf_label {
	display: inline-flex;
	width: 136px;
	height: 27px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #231815;
	color: #fff;
	font-size: 12px;
	font-weight: 100;
	padding: 5px 0;
	margin: 0 0 12px;
	border-radius: 5px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_performances .perf_content {
	margin: 0;
	width: 100%;
	font-size: 14px;
	color: #231815;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_performances .perf_content ul {
	margin: 0 0 1.2em;
	padding: 5px;
}

.sec_performances .perf_content li {
	list-style: "- ";
	margin-bottom: 4px;
}

.sec_performances .perf_row {
	display: flex;
	gap: 12px;
	margin-bottom: 8px;
}

.sec_performances .perf_row dt {
	flex: 0 0 140px;
	margin: 0;
}

.sec_performances .perf_row dd {
	flex: 1;
	margin: 0;
	min-width: 0;
}

.sec_performances .perf_divider {
	height: 2px;
	background: #7eb8da;
	margin: 24px 0;
}

/* ========== sec_mission（会社概要・ミッション） ========== */
.sec_mission {
	background: #EDEDED;
	padding: 70px 0 60px;
	display: flex;
	align-items: center;
	min-height: calc(100dvh - 202px);
}

.sec_mission .mission_inner {
	display: flex;
	align-items: flex-start;
}

.sec_mission .mission_left {
	flex-shrink: 0;
	flex: 1;
}

.sec_mission .mission_ttl {
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 34px;
}

.sec_mission .mission_tagline {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.5;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_mission .mission_right {
	width: 55%;
	min-width: 0;
}

.sec_mission .mission_right p {
	font-size: 16px;
	line-height: 1.73;
	letter-spacing: 0;
	color: #333;
	margin: 0 0 1.6em;
	font-family: "Noto Sans JP", "Montserrat", sans-serif;
}

.sec_mission .mission_right p:last-child {
	margin-bottom: 0;
}

/* ========== sec_vision（会社概要・ビジョン） ========== */
.sec_vision {
	background: #0F121A;
	padding: 60px 0 100px;
	position: relative;
	height: 700px;
}

.sec_vision .bg {
	position: absolute;
	inset: 0;
	width: calc(45% - 40px);
	left: 0;
	top: 0;
	height: 100%;
}

.sec_vision .bg img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_vision .vision_inner {
	height: 100%;
	display: flex;
	gap: 60px;
	max-width: 1280px;
	margin: 0 auto;
}

.sec_vision .vision_left {
	flex: 1;
	position: relative;
}

.sec_vision .vision_ttl {
	font-size: 22px;
	color: #fff;
	margin-bottom: 40px;
}

.vision_header {
	font-size: 47px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	color: #fff;
	text-shadow: 2.3px 2.3px 5.74px #000;
	position: absolute;
	top: 50%;
	left: -20px;
	transform: translateY(-50%);
	width: 100%;
}

.sec_vision .vision_right {
	width: 55%;
	min-width: 0;
	padding-left: 0;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.sec_vision .vision_right p {
	font-size: 18px;
	line-height: 2.2;
	color: white;
	margin: 0 0 1.8em;
	font-family: "Noto Sans JP", "Montserrat", sans-serif;
}

.sec_vision .vision_right p:last-child {
	margin-bottom: 0;
}

/* ========== sec_value（会社概要・VALUE / CREDO） ========== */
.sec_value {
	background: white;
	padding: 45px 0 45px;
	position: relative;
	display: flex;
	align-items: center;
}

.sec_value .bg {
	position: absolute;
	inset: 0;
	background: #EDEDED;
	width: calc(45% - 40px);
	left: 0;
	top: 0;
}

.sec_value .value_inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 60px;
	margin: 0 auto;
	padding: 0 0;
}

.sec_value .value_left {
	flex: 0 0 40%;
	max-width: 40%;
	margin-top: 50px;
}

.sec_value .value_ttl {
	font-size: 22px;
}

.sec_value .value_logo {
	width: 100%;
}

.sec_value .value_logo img {
	width: 100%;
	height: auto;
	max-width: 360px;
}

.sec_value .value_right {
	flex: 1;
	min-width: 0;
}

.sec_value .value_item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 36px;
}

.sec_value .value_item:last-child {
	margin-bottom: 0;
}

.sec_value .value_letter {
	flex-shrink: 0;
	width: auto;
	height: 24px;
	-o-object-fit: contain;
	object-fit: contain;
}

.sec_value .value_body {
	flex: 1;
	min-width: 0;
}

.sec_value .value_name {
	font-size: 19px;
	margin-bottom: 8px;
	display: flex;
	align-items: flex-end;
	line-height: 1;
	font-weight: bold;
}

.sec_value .value_name img {
	padding-bottom: 3px;
}

.sec_value .value_desc {
	font-size: 16px;
	line-height: 1.9;
	color: #231815;
	margin: 0;
}

/* ========== sec_message（代表メッセージ） ========== */
.sec_message {
	background: #fff;
	padding: 99px 0 128px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sec_message .message_inner {
	display: flex;
	align-items: flex-start;
	gap: 60px;
	margin: 0 auto;
}

.sec_message .message_left {
	flex: 1;
}

.sec_message .message_ttl {
	font-size: 22px;
	color: #231815;
	margin-bottom: 60px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_message .message_headline {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.63;
	color: #231815;
	margin: 0 0 45px;
	font-family: "Noto Sans JP", sans-serif;
}

/* 会社概要動画 */
.sec_message .message_video_box {
	position: relative;
	cursor: pointer;
}

.message_video_thumb {
	width: 100%;
	display: block;
}

.message_video_player {
	display: none;
	width: 100%;
}

/*  */
.sec_message .message_right {
	width: 55%;
	min-width: 0;
}

.sec_message .message_right p {
	font-size: 16px;
	line-height: 1.8;
	color: #231815;
	margin: 0 0 1.8em;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_message .message_right p:last-child {
	margin-bottom: 0;
}

/* ========== sec_history（会社沿革） ========== */
.sec_history {
	position: relative;
	padding: 100px 0 40px;
	overflow: hidden;
}

.sec_history2 {
	position: relative;
	padding: 80px 0 40px;
	overflow: hidden;
}

.sec_history .history_bg {
	position: absolute;
	inset: 0;
}

.sec_history .history_bg img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.sec_history .history_inner {
	position: relative;
	z-index: 2;
}

.sec_history .history_ttl {
	font-size: 22px;
	font-weight: normal;
	color: white;
	margin-bottom: 58px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_history .history_item {
	position: relative;
	padding: 0 0 54px 6px;
	display: flex;
	align-items: flex-start;
	gap: 81px;
	line-height: 1;
	height: 80px;
}

.sec_history .history_item:last-child {
	padding-bottom: 0;
}

.sec_history .history_item:last-child::after {
	content: none;
}

.sec_history .history_item::before {
	content: "";
	position: absolute;
	left: -22px;
	top: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
}

.sec_history .history_item::after {
	position: absolute;
	content: "";
	width: 2px;
	height: 50px;
	top: 21px;
	left: -15px;
	background: rgba(255, 255, 255, 0.6);
}

.sec_history .history_date {
	display: block;
	font-size: 17px;
	font-weight: 500;
	color: white;
	margin-bottom: 6px;
	width: 120px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_history .history_desc {
	display: block;
	font-size: 17px;
	line-height: 1.5;
	color: white;
	font-family: "Noto Sans JP", sans-serif;
	flex: 1;
}

/* ========== sec_products（売上実績） ========== */
.sec_products {
	background: #0F121A;
	padding: 83px 0 90px;
	display: flex;
	align-items: center;
}

.sec_products .products_inner {
	display: flex;
	align-items: stretch;
	gap: 60px;
}

.sec_products .products_left {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-right: 40px;
}

.sec_products .products_ttl {
	font-size: 22px;
	font-weight: normal;
	color: #fff;
	margin-bottom: 24px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_products .products_left p {
	font-size: 17px;
	line-height: 1.8;
	color: white;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	margin-top: 80px;
}

.sec_products .products_right {
	width: 55%;
	min-width: 0;
}

.sec_products .chart_ttl {
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	text-align: center;
	margin-bottom: 24px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_products .products_chart {
	background: rgba(50, 55, 65, 0.6);
	border-radius: 8px;
	padding: 24px 32px 40px;
	position: relative;
	min-height: 280px;
}

.sec_products .chart_yaxis {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
	font-family: "Noto Sans JP", sans-serif;
}

.sec_products .chart_bars {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	height: 200px;
	padding-left: 48px;
	background: linear-gradient(to bottom, transparent 0%, transparent 20%, rgba(255, 255, 255, 0.06) 20%, rgba(255, 255, 255, 0.06) 21%, transparent 21%, transparent 40%, rgba(255, 255, 255, 0.06) 40%, rgba(255, 255, 255, 0.06) 41%, transparent 41%, transparent 60%, rgba(255, 255, 255, 0.06) 60%, rgba(255, 255, 255, 0.06) 61%, transparent 61%, transparent 80%, rgba(255, 255, 255, 0.06) 80%, rgba(255, 255, 255, 0.06) 81%, transparent 81%);
}

/* ========== sec_company（会社情報） ========== */
.sec_company {
	background: #EDEDED;
	padding: 60px 0 120px;
	display: flex;
	align-items: center;
}

.sec_company .company_inner {
	display: flex;
	align-items: stretch;
	gap: 150px;
	padding-bottom: 50px;
}

.sec_company .company_left {
	flex: 0 0 38%;
	max-width: 300px;
}

.sec_company .company_ttl {
	font-size: 22px;
	font-weight: 400;
	color: #231815;
	margin-bottom: 75px;
	margin-top: 4px;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_company .company_photo {
	line-height: 0;
	overflow: hidden;
}

.sec_company .company_photo img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.sec_company .company_right {
	flex: 1;
	min-width: 0;
	padding-bottom: 100px;
}

.sec_company .company_info {
	margin: 0;
}

.sec_company .company_info_row {
	display: flex;
	gap: 24px;
	padding: 10px 0;
}

.sec_company .company_info_row:first-child {
	padding-top: 0;
}

.sec_company .company_info_row:last-child {
	border-bottom: none;
}

.sec_company .company_info_row_addr {
	align-items: flex-start;
}

.sec_company .company_info_row_addr dt {
	padding-top: 2px;
}

.sec_company .company_info dt {
	flex: 0 0 150px;
	font-size: 14px;
	font-weight: normal;
	color: #231815;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_company .company_info dd {
	flex: 1;
	font-size: 14px;
	color: #231815;
	margin: 0;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif;
}

.sec_company .company_branch {
	margin-bottom: 16px;
}

.sec_company .company_branch:last-child {
	margin-bottom: 0;
}

.sec_footer {
	background: #000;
	padding: 19px 0 32px;
	margin-top: auto;
}

.sec_footer .footer_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0;
	margin-right: 40px;
	margin-left: 53px;
	max-width: 100%;
	width: calc(100% - 93px);
}

.sec_footer .footer_logo {
	font-size: 28px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	margin-bottom: 8px;
}

.sec_footer .footer_logo img {
	max-width: 105px;
}

.sec_footer .footer_copyright {
	font-size: 12px;
	font-weight: bold;
	color: white;
	line-height: 1.73;
}

.sec_footer .footer_center {
	display: flex;
	align-items: center;
	gap: 15px 30px;
	flex-wrap: wrap;
	flex: 1;
	padding-left: 50px;
}

.sec_footer .footer_service {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.sec_footer .footer_service:hover {
	opacity: 0.85;
}

.footer_service_img1 {
	width: 74px;
}

.footer_service_img2 {
	width: 181px;
}

.footer_service_img3 {
	width: 215px;
}

.footer_service_img4 {
	width: 160px;
}

.sec_footer .footer_right {
	display: flex;
	align-items: flex-end;
	gap: 16px;
}

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

.sec_footer .sns_icon img {
	width: auto;
	height: 16px;
	-o-object-fit: contain;
	object-fit: contain;
}

.sec_footer .sns_icon {
	font-size: 14px;
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.sec_footer .sns_icon:hover {
	opacity: 0.85;
}

/* footerふわっと出るアニメーション */
/* --- スマホ以外デバイスのみ適用 (767px以上) --- */
@media screen and (min-width: 767px) {
	.footer-wrapper {
		position: fixed;
		height: 200px;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		transform: translateY(100%);
		/* 最初は隠す */
		transition: transform 0.5s ease;
	}

	.sec_footer {
		height: 200px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		pointer-events: none;
	}

	.footer-wrapper.is-show {
		transform: translateY(0);
		/* 出てくる */
	}

	.footer-controll {
		padding-bottom: 230px;
	}

}

@media screen and (min-width: 1024px) {
	.footer-wrapper {
		height: 109px;
	}

	.sec_footer {
		height: 109px;
	}

	.footer-controll {
		padding-bottom: 150px;
	}
}

/*-----------        -----------------*/
.inviewfadeInUp {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 0.6s;
}

.inviewfadeInUp.scroll_to_right {
	transform: translate(-50px, 8px);
	-webkit-transform: translate(-50px, 8px);
	transition: 0.6s;
}

.inviewfadeInUp.scroll_to_left {
	transform: translate(50px, 8px);
	-webkit-transform: translate(50px, 8px);
	transition: 0.6s;
}

.inviewfadeInUp.scroll_to_top {
	transform: translate(0, 50px);
	-webkit-transform: translate(0, 50px);
	transition: 0.6s;
}

.inviewfadeInUp0 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 0.6s;
}

.fadeInUp0 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	transition: 0.6s;
}

.inviewfadeInUp2 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 0.6s;
	transition-delay: 0.4s;
}

.fadeInUp2 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.inviewfadeInUp3 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 0.8s;
	transition-delay: 0.8s;
}

.fadeInUp3 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.inviewfadeInUp4 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 1s;
	transition-delay: 1s;
}

.fadeInUp4 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.inviewfadeInUp5 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 1s;
	transition-delay: 1.3s;
}

.fadeInUp5 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.inviewfadeInUp6 {
	opacity: 0;
	transform: translate(0, 8px);
	-webkit-transform: translate(0, 8px);
	transition: 1s;
	transition-delay: 1.6s;
}

.fadeInUp6 {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

.fadeInUp {
	opacity: 1;
	transform: translate(0, 0) !important;
	-webkit-transform: translate(0, 0) !important;
}

@keyframes logo_animation {
	0% {
		transform: translate(-50%, calc(50vh - 50%));
	}

	80% {
		transform: translate(-50%, calc(50vh - 50%));
	}

	100% {
		transform: translate(calc(-50% - 170px), 42px);
	}
}

figure {
	line-height: 0;
	width: 514px;
	margin: 0;
	position: relative;
}

header {
	position: relative;
	z-index: 100;
}

@keyframes scrollAnimation {
	0% {
		transform: rotate(360deg);
	}

	100% {
		transform: rotate(0deg);
	}
}

#sec_fv {
	z-index: 1;
	position: relative;
	/* height: 100vh; */
	align-content: center;
}

#sec_fv .bg {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

#sec_fv .bg img,
#sec_fv .bg video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#sec_fv .bg .fv_video_sp {
	display: none;
}

#sec_fv .part1 {
	width: 100%;
	height: 100%;
}

#sec_fv .part1 h1 {
	font-weight: 500;
	line-height: 1.6;
	font-size: 63px;
	padding-top: 255px;
	width: 100%;
	text-align: right;
}

#sec_fv .part1 h1 img {
	width: 589px;
	padding-right: 70px;
}

/* #sec_fv .part1>p {
	font-size: 31px;
} */

#sec_fv .part1 .scroll_block {
	position: absolute;
	top: 625px;
	right: 64px;
	width: 102px;
	height: 102px;
}

#sec_fv .part1 .scroll_block .circle {
	animation: scrollAnimation 6s infinite linear;
}

#sec_fv .part1 .scroll_block .arrow {
	width: 27px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* 動画テキスト */
#sec_fv .video_text {
	font-weight: 700;
	font-size: 60px;
	line-height: 1.38;
	color: #fff;
	text-align: right;
	opacity: 0;
	transition: opacity 1s ease-in, transform 1s ease-in;
	transform: translateX(-30px);
}

#sec_fv .video_text.show {
	opacity: 1;
	transform: translateX(0);
}

/*  */

#sec2 .top_bg_service_mono {
	background-image: url(./../images/top_service_bg.jpg);
}

#sec2 .top_bg_service_color {
	background-image: url(/wp-content/uploads/2026/03/top_service_bg_hover.jpg);
}


#sec2 .part1 {
	padding-bottom: 70px;
}

#sec2 .part1 .part_header {
	padding-top: 60px;
}

#sec2 .part1 .part_header h2 {
	font-size: 45px;
	color: white;
	font-weight: normal;
	text-align: center;
	line-height: 1.43;
}

#sec2 .part1 .part_header>p {
	font-size: 22px;
	color: white;
	letter-spacing: 0.02em;
}

#sec2 .part1 .part_body {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -30%);
	width: 90%;
}

#sec2 .part1 .part_body .flex_img {
	width: 50%;
	text-align: center;
}

#sec2 .part1 .part_body .flex_img img {
	width: 330px;
}

#sec2 .part1 .part_body .flex_body h3 {
	font-size: 23px;
	background: white;
	padding: 5px 23px;
	color: #231815;
	display: inline-block;
	font-weight: normal;
}

#sec2 .part1 .part_body .flex_body p {
	font-size: 18px;
	color: white;
	line-height: 2.1;
	padding-top: 40px;
	font-weight: 400;
}

#sec2 .part1 .part_body .flex_body .link {
	text-align: right;
	margin-top: 30px;
}

#sec2 .part1 .part_footer {
	text-align: right;
}

#sec2 .part1 .part_footer a {
	color: white;
	font-size: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid white;
	font-weight: 400;
}

#sec2 .part1 .part_footer a img {
	width: 20px;
	margin-left: 20px;
}

#wrapper {
	opacity: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

#contact_sec2 {
	padding-top: 75px;
	position: relative;
	z-index: 2;
}

#contact_sec2 .part1 {
	width: 680px;
	margin: auto;
	margin-bottom: 60px;
}

#contact_sec2 .part1 .form_wrapper {
	width: 640px;
	padding-bottom: 0;
}

#contact_sec2 .part1 .form_wrapper form .form-multi {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 18px;
}

#contact_sec2 .part1 .form_wrapper form .radio_form_gruop .wpcf7-form-control-wrap {
	display: block;
	text-align: left;
}

#contact_sec2 .part1 .form_wrapper form .form_group {
	margin-bottom: 18px;
	flex: 1;
}

#contact_sec2 .part1 .form_wrapper form .form_group .file_button {
	display: flex;
	width: 203px;
	align-items: center;
	justify-content: center;
	padding: 8px 32px;
	border: 1px solid #213862;
	color: #213862;
	border-radius: 8px;
	background-color: #fff;
	font-size: 14px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

#contact_sec2 .part1 .form_wrapper form .form_group .file_input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

#contact_sec2 .part1 .form_wrapper form .form_group label {
	text-align: left;
	display: block;
	font-size: 16px;
	padding-bottom: 8px;
	font-weight: bold;
}

#contact_sec2 .part1 .form_wrapper form .form_group label .require {
	color: #DC3755;
}

#contact_sec2 .part1 .form_wrapper form .form_group textarea,
#contact_sec2 .part1 .form_wrapper form .form_group input[type=text],
#contact_sec2 .part1 .form_wrapper form .form_group input[type=email],
#contact_sec2 .part1 .form_wrapper form .form_group select,
#contact_sec2 .part1 .form_wrapper form .form_group input[type=tel] {
	width: 100%;
	height: 48px;
	font-size: 14px;
	border: 1px solid #C8C8C8;
	padding-left: 18px;
	border-radius: 5px;
	color: #231815;
	background: white;
}

#contact_sec2 .part1 .form_wrapper form .form_group .text {
	font-size: 16px;
}

#contact_sec2 .part1 .form_wrapper form .form_group textarea {
	height: 120px;
	border: 1px solid #C8C8C8;
	width: 100%;
	padding: 10px 18px;
	border-radius: 5px;
	resize: none;
}

#contact_sec2 .part1 .form_wrapper form .form_group .form_birth.triple p,
#contact_sec2 .part1 .form_wrapper form .form_group .form_grad.triple p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

#contact_sec2 .part1 .form_wrapper form .form_group .form_birth.triple p .form_select,
#contact_sec2 .part1 .form_wrapper form .form_group .form_grad.triple p .form_select {
	width: auto;
	min-width: 90px;
}

#contact_sec2 .part1 .form_wrapper form .form_group .form_birth.triple p .unit,
#contact_sec2 .part1 .form_wrapper form .form_group .form_grad.triple p .unit {
	font-size: 13px;
	color: #666;
}

#contact_sec2 .part1 .form_wrapper form .form_group .form_radio {
	display: flex;
	gap: 16px;
}

#contact_sec2 .part1 .form_wrapper form .form_group .form_radio label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 0;
	font-weight: 400;
}

#contact_sec2 .part1 .form_wrapper form .form_agree p {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
	gap: 8px;
}

#contact_sec2 .part1 .form_wrapper form .form_agree p input[type=checkbox] {
	margin-top: 4px;
}

#contact_sec2 .part1 .form_wrapper form .form_agree p .agree_text {
	font-size: 13px;
	line-height: 1.6;
}

#contact_sec2 .part1 .form_wrapper form .complete_wrapper {
	font-size: 14px;
	padding-top: 140px;
	padding-bottom: 200px;
	line-height: 2.2;
}

#contact_sec2 .part1 .form_wrapper form .privacy_policy_wrapper {
	height: 200px;
	background: #E8E8E8;
	border: 1px solid #C8C8C8;
	margin-bottom: 34px;
	padding: 15px;
	font-size: 14px;
	overflow: auto;
}

#contact_sec2 .part1 .form_wrapper form .btn_wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}

#contact_sec2 .part1 .form_wrapper a,
#contact_sec2 .part1 .form_wrapper button,
#contact_sec2 .part1 .form_wrapper input[type=button],
#contact_sec2 .part1 .form_wrapper input[type=submit] {
	width: 265px;
	letter-spacing: 0.02em;
	font-size: 18px;
	height: 51px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #231815;
	color: white;
	border: none;
	border-radius: 8px;
}

#contact_sec2 .part1 .submit_btn {
	text-align: center;
}

#contact_sec2 .part1 .submit_btn input {
	background: white;
	width: 279px;
	display: inline-flex;
	justify-content: center;
	font-size: 13px;
	align-items: center;
	height: 48px;
	color: black;
	border: 1px solid #464646;
}

#contact_sec2 .part1 p {
	font-size: 14px;
	text-align: center;
}

#service1_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/service1_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#service1_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#service1_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#service1_sec2 .part1 {
	text-align: center;
	max-width: 915px;
	margin: auto;
}

#service1_sec2 .part1 .icon img {
	width: 64px;
}

#service1_sec2 .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service1_sec2 .part1 p {
	text-align: left;
	background: #3d7274;
	color: white;
	font-size: 15px;
	padding: 30px 40px;
	display: inline-block;
	letter-spacing: 0.02em;
	margin-top: 45px;
}

#service1_sec2 .part1 h3 {
	margin-top: 30px;
	text-align: center;
	font-weight: 500;
}

#service2_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/service2_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#service2_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#service2_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#service2_sec2 .part1 {
	text-align: center;
	max-width: 915px;
	margin: auto;
}

#service2_sec2 .part1 .icon img {
	width: 64px;
}

#service2_sec2 .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service2_sec2 .part1 p {
	text-align: left;
	background: #3d7274;
	color: white;
	font-size: 15px;
	padding: 30px 40px;
	display: inline-block;
	letter-spacing: 0.02em;
	margin-top: 45px;
}

#service2_sec2 .part1 h3 {
	margin-top: 30px;
	text-align: center;
	font-weight: 500;
}

#service2_sec2 .part1 .part_body img {
	width: 727px;
}

#service3_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/service3_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#service3_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#service3_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#service3_sec2 .part1 {
	text-align: center;
	max-width: 915px;
	margin: auto;
}

#service3_sec2 .part1 .icon img {
	width: 64px;
}

#service3_sec2 .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service3_sec2 .part1 p {
	text-align: left;
	background: #3d7274;
	color: white;
	font-size: 15px;
	padding: 30px 40px;
	display: inline-block;
	letter-spacing: 0.02em;
	margin-top: 45px;
}

#service3_sec2 .part1 h3 {
	margin-top: 30px;
	text-align: center;
	font-weight: 500;
}

#service3_sec2 .part1 .part_body img {
	width: 727px;
}

#service3_sec2 .part2 {
	max-width: 1006px;
	margin-top: 70px;
}

#service3_sec2 .part2 h3 {
	font-size: 26px;
	color: #3d7274;
	text-align: center;
	margin-bottom: 37px;
	font-weight: 500;
}

#service3_sec2 .part2 .part_body ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

#service3_sec2 .part2 .part_body ul li p {
	font-size: 13px;
	line-height: 1.8;
	margin-top: 17px;
}

#service4_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/service4_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#service4_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#service4_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#service4_sec2 .part1 {
	text-align: center;
	max-width: 915px;
	margin: auto;
}

#service4_sec2 .part1 .icon img {
	width: 64px;
}

#service4_sec2 .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service4_sec2 .part1 p {
	text-align: left;
	background: #3d7274;
	color: white;
	font-size: 15px;
	padding: 30px 40px;
	display: inline-block;
	letter-spacing: 0.02em;
	margin-top: 45px;
}

#service4_sec2 .part1 h3 {
	margin-top: 30px;
	text-align: center;
	font-weight: 500;
}

#service_common_sec .part1 {
	padding-top: 90px;
	padding-bottom: 75px;
	text-align: center;
}

#service_common_sec .part1 .icon img {
	width: 64px;
}

#service_common_sec .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service_common_sec .part1 .block {
	text-align: left;
	align-items: center;
	justify-content: flex-start;
}

#service_common_sec .part1 .block .flex_img {
	width: 50%;
}

#service_common_sec .part1 .block .flex_img img {
	width: 100%;
}

#service_common_sec .part1 .block .flex_body {
	max-width: 595px;
}

#service_common_sec .part1 .block .flex_body h3 {
	font-size: 21px;
	border-left: 3px solid #3d7274;
	padding-left: 11px;
	font-weight: 500;
}

#service_common_sec .part1 .block .flex_body p {
	padding-top: 20px;
	font-size: 13px;
	line-height: 1.9;
}

#service_common_sec .part1 .block .flex_body a {
	margin-top: 30px;
	font-size: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	color: black;
}

#service_common_sec .part1 .block .flex_body a img {
	margin-left: 10px;
	width: 15px;
}

#service_common_sec .part1 .block.flex_img_left .flex_body {
	padding-left: 105px;
}

#service_common_sec .part1 .block.flex_img_right .flex_body {
	padding-right: 105px;
}

#service_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/service_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#service_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#service_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#service2 .part1 {
	text-align: center;
}

#service2 .part1 .icon img {
	width: 64px;
}

#service2 .part1 h2 {
	font-size: 26px;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 30px;
	font-weight: 500;
}

#service2 .part1 p {
	text-align: left;
	background: #3d7274;
	color: white;
	font-size: 15px;
	padding: 30px 40px;
	line-height: 2.3;
	display: inline-block;
	letter-spacing: 0.02em;
}

#service2 .part1 h3 {
	margin-top: 30px;
	text-align: center;
	font-weight: 500;
}

#service2 .part2 {
	padding-top: 90px;
	padding-bottom: 75px;
}

#service2 .part2 .block {
	align-items: center;
	justify-content: flex-start;
}

#service2 .part2 .block .flex_img {
	width: 50%;
}

#service2 .part2 .block .flex_img img {
	width: 100%;
}

#service2 .part2 .block .flex_body {
	max-width: 595px;
}

#service2 .part2 .block .flex_body h3 {
	font-size: 21px;
	border-left: 3px solid #3d7274;
	padding-left: 11px;
	font-weight: 500;
}

#service2 .part2 .block .flex_body p {
	padding-top: 20px;
	font-size: 13px;
	line-height: 1.9;
}

#service2 .part2 .block .flex_body a {
	margin-top: 30px;
	font-size: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	color: black;
}

#service2 .part2 .block .flex_body a img {
	margin-left: 10px;
	width: 15px;
}

#service2 .part2 .block.flex_img_left .flex_body {
	padding-left: 105px;
}

#service2 .part2 .block.flex_img_right .flex_body {
	padding-right: 105px;
}

#philosophy_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/philosophy_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#philosophy_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#philosophy_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#philosophy2 .part1 {
	padding-top: 15px;
	text-align: center;
}

#philosophy2 .part1 .part_body {
	text-align: left;
	position: relative;
	display: inline-block;
	margin-top: 30px;
}

#philosophy2 .part1 .part_body::before {
	background-color: #3d7274;
	content: "";
	display: block;
	width: 53px;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	z-index: -2;
}

#philosophy2 .part1 .part_body dl {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#philosophy2 .part1 .part_body dl dt {
	width: 345px;
	font-size: 57px;
	font-weight: 500;
}

#philosophy2 .part1 .part_body dl dt span {
	color: white;
	display: inline-block;
	width: 53px;
	padding: 0 5px;
	align-items: center;
	margin-right: 10px;
}

#philosophy2 .part1 .part_body dl dd {
	font-size: 26px;
}

#philosophy2 .part2 {
	display: flex;
	max-width: 888px;
	margin: auto;
	padding-top: 80px;
	justify-content: space-between;
	padding-bottom: 40px;
}

#philosophy2 .part2 p {
	font-size: 13px;
	letter-spacing: 0.02em;
}

#philosophy2 .part3 {
	height: 560px;
	margin-bottom: -7.4vw;
	z-index: -1;
	position: relative;
}

#philosophy2 .part3 img {
	width: 100%;
	height: 100%;
}

#company_fv {
	padding-top: 250px;
	text-align: center;
	background: url(./../images/company_fv.png) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 270px;
}

#company_fv h1 {
	font-size: 40px;
	color: white;
	font-weight: 400;
	letter-spacing: 0.02em;
}

#company_fv p {
	color: white;
	font-size: 13px;
	letter-spacing: 0.02em;
}

#company2 .part1 {
	max-width: 818px;
	margin: auto;
	padding-top: 15px;
}

#company2 .part1 h2 {
	font-size: 25px;
	font-weight: 400;
	padding-bottom: 20px;
}

#company2 .part1 .part_body {
	padding-bottom: 50px;
}

#company2 .part1 .part_body dl {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: 1px solid black;
	padding: 15px 0;
}

#company2 .part1 .part_body dl:first-child {
	border-top: 1px solid black;
}

#company2 .part1 .part_body dl dt {
	width: 108px;
	font-size: 13px;
}

#company2 .part1 .part_body dl dd {
	flex: 1;
	font-size: 13px;
}

#company2 .part2 {
	display: flex;
	max-width: 888px;
	margin: auto;
	padding-top: 35px;
	justify-content: space-between;
	padding-bottom: 40px;
}

#company2 .part2 p {
	font-size: 13px;
	letter-spacing: 0.02em;
}

footer {
	background: url(./../images/footer_bg.png) no-repeat;
	background-position: top center;
	background-size: 100% auto;
	padding-top: 165px;
	padding-bottom: 65px;
}

footer .part1 {
	display: flex;
	align-items: flex-start;
}

footer .part1 h1 {
	line-height: 0;
}

footer .part1 h1 img {
	width: 72px;
}

footer .part1 p {
	font-size: 11px;
	color: white;
	margin-left: 37px;
}

footer .part1 .btn_wrapper {
	flex: 1;
}

footer .part1 .btn_wrapper ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
}

footer .part1 .btn_wrapper ul li a {
	color: white;
	font-size: 13px;
}

/*# sourceMappingURL=style.css.map */


/* ---------------募集要項ページ--------------- */
/* パンくず */
.page-id-29452 .breadcrumb,
.page-id-29460 .breadcrumb,
.page-id-29463 .breadcrumb,
.page-id-29446 .breadcrumb {
	display: none;
}

.page-id-29452 .common_fv,
.page-id-29460 .common_fv,
.page-id-29463 .common_fv,
.page-id-29446 .common_fv {
	position: relative;
	padding-top: 81px;
	background-image: url(/wp-content/uploads/2026/03/outline_fv.jpg);
}

.custom_breadcrumb {
	position: absolute;
	top: 0;
	padding-top: 81px;
	font-size: 12px;
	color: #231815;
	text-align: right;
	line-height: 1.73;
	display: flex;
	max-width: 1280px;
	width: 90%;
	margin-inline: auto;
	justify-content: flex-end;
}

.custom_breadcrumb a {
	color: #231815;
	text-decoration: none;
}

.custom_breadcrumb a:hover {
	opacity: 0.85;
}

/* コンテンツ */
.sec_outline {
	padding: 100px 0 70px;
}

.sec_outline .outline_inner {
	padding: 0 30px;
	gap: 40px;
	max-width: 1000px;
	margin-inline: auto;
}

.sec_outline .outline_list {
	display: flex;
	border-bottom: 1px solid #7E7E7E;
	padding: 12px 0;
}

.sec_outline .outline_list:last-of-type {
	border-bottom: none;
}

.sec_outline .outline_list dt {
	font-size: 16px;
	font-weight: bold;
	color: #231815;
	margin-bottom: 10px;
	width: 260px;
	text-align: right;
	padding-right: 40px;
}
@media (min-width: 766px) and (max-width: 900px) {
	.sec_outline .outline_list dt {
		width: 130px;
		text-align: left;
	}
}
.sec_outline .outline_list dd {
	font-size: 16px;
	font-weight: 400;
	color: #231815;
	margin: 0;
	line-height: 1.8;
	text-align: left;
	flex: 1;
}

.sec_outline .outline_btn {
	text-align: center;
	margin-top: 80px;
}

.sec_outline .outline_btn .btn_more {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 386px;
	border-color: #231815;
	color: #231815;
	height: 64px;
}

.sec_outline .outline_btn .btn_more .arrow_r {
	border-color: #231815;
	top: 28px;
	transform: rotate(45deg);
	margin-left: 4px;
}




/* --------------------------------
pcデバイス幅が変わったときの調整
-------------------------------- */

/* -------------トップページ------------ */
@media (min-width: 766px) and (max-width: 900px) {

	/* NEWS */
	.sec_news .news_left {
		width: 220px;
		padding: 60px 30px 60px 0;
	}

	.sec_news .news_right {
		padding-left: 35px;
		padding-right: 0;
	}

	/* PARTNERSHIP */
	.sec_partnership .partnership_ttl {
		font-size: 40px;
	}
}

/* -------------新卒採用ページ------------ */
@media (min-width: 768px) and (max-width: 1030px) {

	/* conceptエリア */
	.grad_concept_left {
		min-width: 300px;
	}

	.grad_concept_ttl {
		font-size: 30px;
	}

	.grad_concept_item {
		display: block;
	}

	.grap_concept_number,
	.grad_concept_item_ttl {
		width: 100%;
		text-align: center;
	}

	.grad_concept_item_txt {
		text-align: center;
	}

	/* GROUTHエリア */
	.sec_grad_growth .recruit_skill_ttl {
		font-size: 36px;
		line-height: 1;
		margin-bottom: 10px;
	}

	.sec_grad_growth .recruit_skill_desc {
		font-size: 14px;
		line-height: 1.5;
	}

}

/* キャリアパスエリア */
@media (min-width: 768px) and (max-width: 1300px) {
	.grad_career_timeline {
		top: 140px;
	}

	.grad_career_body_pc .grad_career_phase {
		font-size: 16px;
	}

	.grad_career_body_pc .grad_career_phase.phase1,
	.grad_career_body_pc .grad_career_phase.phase2,
	.grad_career_body_pc .grad_career_phase.phase3 {
		padding-inline: 20px;

	}

	.grad_career_body_pc .grad_career_phase.phase1 {
		margin-top: 80px;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {

	.grad_career_body_sp,
	.grad_career_phase_img_sp {
		display: block;
	}

	.grad_career_body_pc {
		display: none;
	}

	.grad_career_body_sp {
		margin-bottom: 50px;
	}

	.grad_career_phase_sp {
		width: 100%;
		max-width: 650px;
		margin-inline: auto;
		margin-bottom: 30px;
	}

	.grad_career_phase_img_sp {
		width: 100%;
	}

	.grad_career_desc {
		font-size: 18px;
		line-height: 1.73;
		padding: 30px;
		background-color: #EDEDED;
		margin-top: -20px;

	}
}

/* キャリアの例エリア */
@media (min-width: 768px) and (max-width: 1130px) {
	.grad_career_example_header {
		display: block;
	}

	.grad_career_example_num {
		line-height: 1;
	}

	.grad_career_example_ttl {
		font-size: 28px;
	}

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

/* その他社員インタビューエリア */
@media (min-width: 768px) and (max-width: 1100px) {
	.interview_detail_others_photo {
		height: calc(394 / 1400 * 100vw);
	}

	.interview_detail_others_text {
		display: block;
		text-align: center;
	}
}

/* -------------採用ページ------------ */
/* 社長メッセージエリア */
@media (min-width: 768px) and (max-width: 1300px) {
	.sec_recruit_message .recruit_message_inner {
		display: block;
		text-align: center;
	}

	.sec_recruit_message .recruit_message_right {
		margin-inline: auto;
	}
}

@media (min-width: 768px) and (max-width: 1030px) {
	.sec_recruit_skills .recruit_skill_ttl {
		font-size: 36px;
		line-height: 1;
		margin-bottom: 10px;
	}

	.sec_recruit_skills .recruit_skill_desc {
		font-size: 14px;
		line-height: 1.5;
	}
}

/* 社員インタビューエリア */
@media (min-width: 768px) and (max-width: 1000px) {
	.sec_recruit_interview .recruit_interview_profile {
		display: block;
		text-align: center;
	}
}

/* 募集職種エリア */
@media (min-width: 768px) and (max-width: 1000px) {
	.sec_recruit_jobs .recruit_jobs_inner {
		display: block;
	}

	.sec_recruit_jobs .recruit_jobs_sub {
		margin-top: 20px;
	}

	.sec_recruit_jobs .recruit_jobs_list {
		margin-top: 20px;
	}
}

/* -------------会社概要ページ------------ */
@media (min-width: 767px) and (max-width: 1100px) {

	/* VISIONエリア */
	.sec_vision .vision_inner {
		left: 0;
	}

	/* 売上実績エリア */
	.sec_products .products_inner {
		display: block;
	}

	.sec_products .products_left {
		padding-right: 0px;
	}

	.sec_products .products_left p {
		margin-top: 0;
		margin-bottom: 30px;
	}

	.sec_products .products_right {
		margin-inline: auto;
	}

	/* 会社情報エリア */
	.sec_company .company_inner {
		gap: 50px;
	}

	.sec_company .company_info dt {
		flex-basis: 80px;
	}
}

/* -------------事業内容ページ------------ */
/* サービス紹介エリア */
@media (min-width: 767px) and (max-width: 900px) {
	.sec_business.service_wakegai {
		height: 100dvh;
	}

	.sec_business .business_block {
		margin-top: 45px;
		background: none;
		align-content: normal;
	}

	.sec_business.service_wakegai .business_block {
		margin-top: 0;
	}

	.sec_business .business_block_inner {
		display: block;
	}

	.business_block.fixedcontainer {
		width: 100%;
	}

	.sec_business .business_left {
		text-align: center;
		width: 100%;
	}

	.sec_business .business_ttl {
		margin-bottom: 30px;
	}

	.sec_business .business_visual img {
		width: 50%;
	}

	.sec_business {
		background: #fff;
	}

	.sec_business .business_right {
		padding: 45px;
	}



}

/* 買取実績エリア */
@media (min-width: 767px) and (max-width: 1000px) {
	.sec_performances .perf_row {
		display: block;
		margin-bottom: 15px;
	}

	.sec_performances .perf_method,
	.sec_performances .perf_flow,
	.sec_performances .perf_result {
		display: block;
	}
}

@media (min-width: 767px) and (max-width: 900px) {
	.sec_performances .perf_block {
		display: block;
	}
}



/* =========================================
   Scroll Snap + VH Fix 
========================================= */
:root {
	--vh: 100vh;
}

body {
	/* height: 100%; */
	overflow: hidden;
}

.scroll-container {
	height: var(--vh);
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.scroll-container::-webkit-scrollbar {
	display: none;
}

.snap-section {
	min-height: var(--vh);
	scroll-snap-align: start;
	position: relative;
	overflow: hidden;
}

/* グループセクション */
.snap-section-group {
	min-height: var(--vh);
	scroll-snap-align: start;
	position: relative;
}

.snap-section-group .snap-section {
	scrollbar-width: none;
}