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

@media screen and (min-width: 767px) {
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	body {
		min-width: auto;
	}

	html {
		font-size: 3.8vw;
	}

	.pc {
		display: none !important;
	}

	/* fixedcontainer 86%幅・左右マージンはコンテナで管理。セクションに左右paddingを追加しない */
	.fixedcontainer {
		width: 86%;
		margin: 0 auto;
	}

	.body {
		font-size: 3.8vw;
	}

	/* フォントサイズ統一：btn_more vw(16)、PC22px→vw(16)、PC48px→vw(23) */
	.btn_more {
		font-size: 4.2666666667vw !important;
		height: 11.7333333333vw !important;
	}

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

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

	#header .header_top {
		padding: 4.5333333333vw 4vw 0;
		min-height: auto;
	}

	#header .header_top img {
		width: 103px;
	}

	#header .entry-button {
		width: 32vw;
		height: 7.4666666667vw;
		border-radius: 18px;
		letter-spacing: 0.03em;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 4.2666666667vw;
		margin-right: 4.5333333333vw;
	}

	#header .header_left {
		gap: 6.4vw;
	}

	#header h1 {
		width: 24vw;
		height: 24vw;
		margin-top: 0;
	}

	#header h1 a img {
		width: 13.8666666667vw;
	}

	#header.scrolled h1 {
		width: 17.0666666667vw;
		height: 17.0666666667vw;
		margin-top: 3.2vw;
		margin-left: 5.3333333333vw;
	}

	#header.scrolled h1 a img {
		width: 10.1333333333vw;
	}

	#header .left_nav ul {
		gap: 4.2666666667vw;
	}

	#header .left_nav a {
		font-size: 4.2666666667vw;
	}

	#header .menu-trigger {
		width: 12.8vw;
		height: 12.8vw;
	}

	#header .menu-trigger span {
		margin-left: -vw(17);
		width: 9.0666666667vw;
	}

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

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

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

	#header .menu-trigger.active span:nth-of-type(1),
	#header .menu-trigger.active span:nth-of-type(3) {
		top: 6.1333333333vw;
	}

	#header .g_nav {
		max-width: 100%;
	}

	#header .g_nav .nav_body {
		padding: 26.6666666667vw 8.5333333333vw 16vw;
	}

	#header .g_nav>.nav_body>ul>li {
		margin-bottom: 5.3333333333vw;
	}

	#header .g_nav>.nav_body>ul>li>a {
		font-size: 7.4666666667vw;
	}

	.fp-overflow {
		width: 100%;
	}

	.footer-for-top {
		display: none !important;
	}

	/* ========== トップページ SP ========== */
	.top_bg_mono,
	.top_bg_color {
		display: none;
	}

	/* 背景ホバーギミック */


	/* sec2（ワケガイ）は #sec2 で定義 */
	#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 .header_top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 2.6666666667vw 4vw 0;
		min-height: 10.1333333333vw;
	}

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

	#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 .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) {
		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;
		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: 22.1333333333vw 6.4vw 10.6666666667vw;
	}

	#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 0;
		padding: 4vw 4.2666666667vw;
	}

	#header .g_nav>.nav_body>ul>li>a {
		display: block;
		color: #fff;
		font-size: 4.2666666667vw;
		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:last-child {
		margin-top: 8vw;
	}

	/* sec_hero（空き家のURI・KAI / for INVESTOR） */
	.sec_hero {
		height: auto;
	}

	.sec_hero .hero_inner {
		display: block;
		height: auto;
	}

	.sec_hero .hero_block {
		padding: 198px calc(25 / 375 * 100vw) calc(59 / 375 * 100vw);
		height: calc(700 / 375 * 100vw);
		position: relative;
		height: 100dvh;
	}

	.sec_hero .hero_left {
		background: url(./../images/c2c_bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.sec_hero .hero_right {
		background: url(./../images/investor_bg_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}

	.sec_hero .hero_logo {
		text-align: center;
		margin: 0 auto;
		max-width: calc(313 / 375 * 100vw);
		position: absolute;
		top: 192px
	}

	.sec_hero .hero_textContainer {
		position: absolute;
		bottom: calc(57 / 375 * 100vw);
		left: 50%;
		transform: translateX(-50%);
		width: 87%;
	}

	.sec_hero .hero_catch {
		font-size: calc(18 / 375 * 100vw);
		line-height: 1.43;
		margin-bottom: calc(29 / 375 * 100vw);
		padding: calc(6 / 375 * 100vw) calc(16 / 375 * 100vw);
		margin-top: 0;
		margin-inline: auto;
		display: block;
		width: fit-content;
	}

	.sec_hero .hero_desc {
		font-size: calc(16 / 375 * 100vw);
		text-align: left;
		line-height: 2.1;
		margin-bottom: calc(14 / 375 * 100vw);
	}

	.sec_hero .link .btn_more {
		border: 1px solid #fff;
		color: #fff;
		background: transparent;
	}

	/* sec_partnership */
	.sec_partnership {
		height: auto;
		padding: 0;
	}

	.sec_partnership .partnership_inner {
		flex-direction: column;
		height: auto;
	}

	.sec_partnership .sec_ttl {
		position: absolute;
		font-size: calc(30 / 375 * 100vw);
		top: 60px;
		text-align: center;
		line-height: 1.43;
	}

	.sec_partnership .partnership_block {
		min-height: 50dvh;
		align-items: flex-end;

	}

	.sec_partnership .partnership_block.partnership_block_left {
		background: url(./../images/partnership1_bg_sp.jpg) no-repeat;
		background-size: cover;
	}

	.sec_partnership .partnership_block.partnership_block_right {
		background: url(./../images/partnership2_bg_sp.jpg) no-repeat;
		background-size: cover;
	}

	.sec_partnership .partnership_block_inner {
		bottom: 62px;
		width: 87%;
		top: auto;
	}

	.sec_partnership .partnership_ttl {
		font-size: 55px;
		line-height: 1.2;
	}

	.sec_partnership .btn_more {
		border: 1px solid #fff;
		color: #fff;
		background: transparent;
		width: 56vw;
	}

	/* sec_recruit */
	.sec_recruit {
		padding-inline: 6.4vw;
		text-align: center;
		background-image: url(./../images/recruit_bg_sp.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		align-content: center;
	}

	.sec_recruit .recruit_content {
		position: static;
	}

	.sec_recruit .recruit_container.fixedcontainer {
		width: 100%;
	}

	.sec_recruit .sec_ttl {
		margin-bottom: 5.3333333333vw;
		font-size: 8vw;
	}

	.sec_recruit .recruit_txt {
		font-size: 4.8vw;
		text-align: left;
	}

	.sec_recruit .recruit_txt {
		margin-bottom: 10.6666666667vw;
	}

	.sec_recruit .link .btn_more {
		background: #fff;
		color: #231815;
		padding: 3.7333333333vw 9.6vw;
	}

	.sec_recruit .link .btn_more .arrow_r {
		border-color: #231815;
	}

	/* sec_news */
	.sec_news {
		padding: 10.6666666667vw 0 10.6666666667vw;
		background: #EDEDED;
		text-align: center;
	}

	.sec_news .news_inner {
		flex-direction: column;
		gap: 0;
		padding: 0 0;
		height: auto;
	}

	.sec_news .news_left {
		width: 100%;
		padding: 0vw 0 0vw;
		border-bottom: none;
	}

	.sec_news .news_left .sec_ttl {
		font-size: 8vw;
		color: #231815;
		margin-bottom: 0vw;
		line-height: 1;
	}

	.sec_news .news_nav {
		display: none;
	}

	.sec_news .news_right {
		padding: 6.4vw 0;
	}

	.sec_news .news_item {
		flex-direction: column;
		gap: 4.2666666667vw;
		padding: 0;
		margin-bottom: calc(30 / 375 * 100vw);
		border-radius: 2.1333333333vw;
	}

	.sec_news .news_item:nth-child(3) {
		display: none;
	}

	.sec_news .news_link {
		display: block
	}

	.sec_news .news_item .news_icon img {
		width: 100%;
		height: calc(137 / 375 * 100vw);
		-o-object-fit: cover;
		object-fit: cover;
	}

	.sec_news .news_body {
		margin-top: 17px;
	}

	.sec_news .news_item_header {
		margin-bottom: 1.3333333333vw;
	}

	.sec_news .news_ttl {
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.67;
		text-align: left;
		color: #231815;
		margin-top: 0;
	}

	.sec_news .link .btn_more.align_r {
		display: flex;
		margin: 8.5333333333vw auto 0;
	}

	/* ========== common_fv（事業内容・会社概要 共通）SP ========== */
	.common_fv {
		padding: calc(57 / 375 * 100vw) 0 calc(14 / 375 * 100vw);
	}

	.common_fv .part1 {
		padding: 0;
	}

	.common_fv .breadcrumb {
		display: none !important;
		padding-top: 0;
		font-size: 3.2vw;
		margin-bottom: 3.2vw;
		text-align: left;
	}

	.common_fv h1 {
		font-size: calc(22 / 375 * 100vw);
		font-weight: 500;
		line-height: 1.73;
	}

	/* ========== recruit.html（採用情報）375px SP ========== */
	.common_fv.recruit_fv {
		padding-bottom: calc(40 / 375 * 100vw);
		background: #EDEDED;
		padding-top: 0;
		height: auto;
	}

	.common_fv.recruit_fv .part1 {
		padding-top: 43px;
	}

	.recruit_fv_img {
		display: block;
		width: 100%;
		height: calc(133 / 375 * 100vw);
		background: url(./../images/recruit_fv.jpg);
		background-position: right calc(50% + 10px);
		background-size: calc(400 / 375 * 100vw) calc(190 / 375 * 100vw);
	}

	.common_fv.recruit_fv h1 {
		font-size: 6.6666666667vw;
		font-weight: 700;
		line-height: 1.5;
		color: #231815;
		margin-bottom: 4.2666666667vw;
	}

	.common_fv.recruit_fv h2 {
		font-size: 5.3333333333vw;
		font-weight: 700;
		line-height: 1.7;
		color: #231815;
		margin-bottom: 10.6666666667vw;
	}

	.common_fv.recruit_fv p {
		font-size: 3.7333333333vw;
		line-height: 1.8;
		color: #231815;
		margin: 0 0 8.8vw;
	}

	.common_fv.recruit_fv .link {
		margin-top: 6.4vw;
		text-align: center;
	}

	.common_fv.recruit_fv .link .btn_more {
		width: 100%;
		max-width: 100%;
		min-width: auto;
		border: 1px solid #231815;
		color: #231815;
		padding: 3.7333333333vw 6.4vw;
		font-size: 4.2666666667vw;
		justify-content: space-between;
		margin: 0 auto;
		display: flex;
	}

	.common_fv.recruit_fv .link .btn_more .arrow_r {
		border-color: #231815;
		top: 0;
	}

	/* btn_more：company/businessと同様（白背景・黒枠・黒文字） */
	.sec_recruit_message .btn_more,
	.sec_recruit_interview .btn_interview,
	.sec_recruit_faq .btn_more,
	.sec_career .btn_more {
		border: 1px solid #231815 !important;
		background: #fff !important;
		color: #231815 !important;
		padding: 3.2vw 6.4vw;
		font-size: 4.2666666667vw;
	}

	.sec_recruit_message .btn_more .arrow_r,
	.sec_recruit_interview .btn_interview .arrow_r,
	.sec_recruit_faq .btn_more .arrow_r,
	.sec_career .btn_more .arrow_r {
		border-color: #231815 !important;
	}

	.sec_career {
		padding: 0 0 12.8vw;
	}

	.sec_career .career_inner {}

	.sec_career .career_inner.fixedcontainer {
		width: 86%;
	}

	.sec_career .career_inne_item:first-child {
		padding-top: calc(50 / 375 * 100vw);
	}

	.sec_career .career_inne_item:nth-child(2) {
		padding-top: calc(20 / 375 * 100vw);
	}

	.sec_career .career_inner .career_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 4.2666666667vw;
	}

	.sec_career .career_inner .career_sub {
		font-size: 3.4666666667vw;
		line-height: 1.8;
		margin-bottom: 6.4vw;
	}

	.sec_career .career_inner .career_block {
		margin-bottom: 0;
		flex-direction: column;
		margin-bottom: 16vw;
		padding-bottom: 0;
		gap: 2.1333333333vw;
		margin-top: 30px;
	}

	.sec_career .career_inner .career_block .career_block_left,
	.sec_career .career_inner .career_block .career_block_right,
	.sec_career .career_inner .career_block .career_block_right2 {
		flex: auto;
	}

	.sec_career .career_inner .career_block .career_block_right {
		margin-inline: auto;
	}

	.sec_career .career_inner .career_block .career_block_right2 {
		margin-top: 4.2666666667vw;
		margin-inline: auto;
	}

	.sec_career .career_inner .career_block .career_block_left h3 {
		font-size: 4.2666666667vw;
		margin-bottom: 4vw;
	}

	.sec_career .career_inner .career_block .career_block_left p {
		font-size: 3.7333333333vw;
	}

	.sec_career .career_inner .career_block .career_block_left p strong {
		font-size: 3.7333333333vw;
		margin-bottom: 0;
	}

	.sec_career .career_inner .career_block .career_block_left p span {
		margin-bottom: 0;
	}

	.sec_career .career_inner .career_block .career_block_left p span.sub_title {
		font-size: 3.7333333333vw;
		margin-top: 5.3333333333vw;
	}

	.sec_career .link {
		margin-top: 8.5333333333vw;
		text-align: center;
	}

	.sec_career .link .btn_more {
		width: 100%;
		max-width: 100%;
		min-width: auto;
		border: 1px solid #231815;
		color: #231815;
		padding: 3.7333333333vw 6.4vw;
		font-size: 4.2666666667vw;
	}

	.sec_career .link .btn_more .arrow_r {
		top: 0;
	}

	/* ========== company.html（会社概要）SP ========== */
	.sec_mission {
		padding: 12.8vw 0 16vw;
	}

	.sec_mission .mission_inner {
		flex-direction: column;
		gap: 8.5333333333vw;
		padding: 0;
	}

	.sec_mission .mission_left {
		width: 100%;
		max-width: none;
	}

	.sec_mission .mission_ttl {
		margin-bottom: 4.2666666667vw;
		font-size: 4.8vw;
		color: #666;
	}

	.sec_mission .mission_tagline {
		font-size: 8vw;
		line-height: 1.5;
		color: #231815;
	}

	.sec_mission .mission_right {
		width: 100%;
	}

	.sec_mission .mission_right p {
		font-size: 3.7333333333vw;
		line-height: 1.9;
		margin-bottom: 1.4em;
	}

	.sec_vision {
		padding: 12.8vw 0 16vw;
		height: auto;
	}

	.sec_vision .bg {
		width: 100%;
	}

	.sec_vision .bg img {
		object-position: -190px -100px;
	}

	.sec_vision .vision_inner {
		flex-direction: column;
		gap: 0;
		padding: 0;
		position: relative;
		align-items: center;
		justify-content: center;
		z-index: 2;
	}

	.sec_vision .vision_left {
		flex: none;
		max-width: none;
		width: 100%;
	}

	.sec_vision .vision_ttl {
		margin-bottom: 6.4vw;
		font-size: 4.2666666667vw;
		color: #fff;
		margin-bottom: 0;
	}

	.sec_vision .vision_header {
		position: static;
		font-size: 5.8666666667vw;
		color: white;
		font-weight: bold;
		margin-top: calc(140 / 375 * 100vw);
		margin-bottom: calc(140 / 375 * 100vw);
		text-align: center;
		top: 0;
		left: 0;

	}

	.sec_vision .vision_right {
		width: 100%;
		padding-left: 0;
	}

	.sec_vision .vision_right p {
		font-size: calc(14 / 375 * 100vw);
		line-height: 2.1;
		color: #fff;
	}

	.sec_value {
		padding: 3.2vw 0 16vw;
	}

	.sec_value .bg {
		width: 100%;
		height: calc(190 / 375 * 100vw);
	}

	.sec_value .value_inner {
		flex-direction: column;
		gap: 16vw;
		padding: 0;
	}

	.sec_value .value_left {
		flex: none;
		max-width: none;
		width: 100%;
		margin-top: calc(30 / 375 * 100vw);
	}

	.sec_value .value_ttl {
		margin-bottom: 6.4vw;
		font-size: 4.2666666667vw;
		color: #231815;
	}

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

	.sec_value .value_logo img {
		max-width: 100%;
		height: auto;
		width: 38.6666666667vw;
	}

	.sec_value .value_item {
		flex-direction: column;
		align-items: flex-start;
		gap: 2.1333333333vw;
		margin-bottom: 4.2666666667vw;
	}

	.sec_value .value_letter {
		width: auto;
		height: 4.8vw;
	}

	.sec_value .value_name {
		font-size: 3.7333333333vw;
		margin-bottom: 2.1333333333vw;
		gap: 0;
	}

	.sec_value .value_name img {
		padding-bottom: 0.5333333333vw;
	}

	.sec_value .value_desc {
		font-size: 3.4666666667vw;
		line-height: 1.8;
	}

	.sec_message {
		padding-bottom: calc(80 / 375 * 100vw);
		padding-top: calc(50 / 375 * 100vw);
	}

	.sec_message::before,
	.sec_message::after {
		width: 2.1333333333vw;
	}

	.sec_message .fixedcontainer {
		padding: 0 0;
	}

	.sec_message .message_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 6.4vw;
		color: #231815;
	}

	.sec_message .message_inner {
		flex-direction: column;
		gap: 0;
		padding: 0;
	}

	.sec_message .message_left {
		flex: none;
		max-width: none;
		width: 100%;
	}

	.sec_message .message_headline {
		font-size: 4.8vw;
		margin-bottom: 6.4vw;
		line-height: 1.5;
		margin-bottom: 10px;
	}

	.sec_message .message_photo {
		margin-bottom: 4.2666666667vw;
	}

	.sec_message .message_photo img {
		width: 100%;
		height: auto;
		display: block;
		margin-inline: auto;
	}

	.sec_message .message_right {
		width: 100%;
	}

	.sec_message .message_right p {
		font-size: 3.4666666667vw;
		line-height: 1.9;
	}

	.sec_history {
		padding: 12.8vw 0 16vw;
	}

	.sec_history .history_inner {
		padding: 0;
	}

	.sec_history .history_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 10.6666666667vw;
		color: #fff;
	}

	.sec_history .history_timeline {
		padding-left: 6.4vw;
		list-style: none;
		margin: 0;
	}

	.sec_history .history_item {
		padding-left: 2.6666666667vw;
		padding-bottom: 9.6vw;
		display: flex;
		flex-direction: column;
		gap: 1.0666666667vw;
		height: auto;
	}

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

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

	.sec_history .history_item::before {
		left: -4.2666666667vw;
		top: -0.5333333333vw;
		width: 4.2666666667vw;
		height: 4.2666666667vw;
	}

	.sec_history .history_item::after {
		height: calc(100% - 8vw);
		top: 5.8666666667vw;
		left: -2.4vw;
	}

	.sec_history .history_date {
		font-size: calc(12 / 375 * 100vw);
		font-weight: 400;
		line-height: 1.73;
		width: auto;
		margin-bottom: 0.5333333333vw;
	}

	.sec_history .history_desc {
		font-size: calc(14 / 375 * 100vw);
		font-weight: 400;
		line-height: 1.73;
	}

	.sec_products {
		padding: 10.1333333333vw 0 16vw;
	}

	.sec_products .products_inner {
		flex-direction: column;
		gap: 8.5333333333vw;
		padding: 0;
	}

	.sec_products .products_left {
		flex: none;
		width: 100%;
		max-width: none;
		padding-right: 0;
	}

	.sec_products .products_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 8vw;
		color: #fff;
	}

	.sec_products .products_left p {
		font-size: 3.4666666667vw;
		line-height: 1.9;
		color: #fff;
		margin-top: 0vw;
	}

	.sec_products .products_right {
		width: 100%;
	}

	.sec_products .products_right img {
		width: 100%;
		height: auto;
		display: block;
	}

	.sec_company {
		padding: 12.8vw 0 16vw;
		display: block;
	}

	.sec_company .company_inner {
		display: block;
		padding: 0;
		padding-top: 60px;
	}

	.sec_company .company_left {
		display: contents;
	}

	.sec_company .company_ttl {
		font-size: 4.8vw;
		font-weight: 400;
		margin-bottom: 5.3333333333vw;
		color: #231815;
		order: 1;

	}

	.sec_company .company_photo {
		margin-bottom: 0;
		margin-top: 4.2666666667vw;
	}

	.sec_company .company_photo img {
		width: 100%;
		height: auto;
		display: block;
	}

	.sec_company .company_right {
		width: 100%;
		padding-left: 0;
		order: 2;
		padding-bottom: 0;
	}

	.sec_company .company_info_row {
		gap: 1.0666666667vw;
		padding: 4.2666666667vw 0;
	}

	.sec_company .company_info_row.company_info_row_addr {
		flex-direction: column;
		margin-top: calc(120 / 375 * 100vw);
	}

	.sec_company .company_info dt {
		flex: none;
		font-size: 3.2vw;
		width: 21.3333333333vw;
		color: #231815;
	}

	.sec_company .company_info dd {
		font-size: 3.7333333333vw;
		line-height: 1.6;
		color: #231815;
	}

	.sec_company .company_branch {
		margin-bottom: 4.2666666667vw;
		font-size: 3.7333333333vw;
		line-height: 1.6;
	}

	.sec_recruit_message {
		padding: calc(60 / 375 * 100vw) 0 12.8vw;
	}

	.sec_recruit_message .recruit_message_inner {
		flex-direction: column;
		gap: 0;
		padding: 0;
	}

	.sec_recruit_message .recruit_message_left {
		order: 1;
		width: 100%;
	}

	.sec_recruit_message .recruit_message_right {
		flex: none;
		width: 100%;
		order: 0;
		margin-top: 0;
	}

	.sec_recruit_message .recruit_message_label {
		font-size: 4.2666666667vw;
		margin-bottom: 3.2vw;
	}

	.sec_recruit_message .recruit_message_headline {
		font-size: 6.6666666667vw;
		margin-bottom: 6.6666666667vw;
		line-height: 1.6;
	}

	.sec_recruit_message .recruit_message_desc {
		font-size: 3.4666666667vw;
		line-height: 1.8;
	}

	.sec_recruit_message .recruit_message_photo {
		margin: 6.4vw 0;
	}

	.sec_recruit_message .recruit_message_photo img {
		width: 100%;
		height: auto;
	}

	/* ========== sec_news_list（ニュース一覧）375px SP ========== */
	.sec_news_list {
		padding: 0 0 12.8vw;
	}

	.news_list_inner {
		padding: 0;
	}

	.news_list_header {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas: "ttl year" "search search" "filter filter";
		gap: 4.2666666667vw 3.2vw;
		align-items: center;
		padding: 6.4vw 0 7.4666666667vw;
	}

	.news_list_ttl {
		grid-area: ttl;
		font-size: 4.8vw;
		font-weight: 600;
		margin: 0;
	}

	.news_list_controls {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.news_list_year {
		grid-area: year;
		justify-self: end;
		padding: 2.6666666667vw 3.2vw 2.6666666667vw 3.7333333333vw;
		font-size: 3.7333333333vw;
		min-height: 10.6666666667vw;
		border-radius: 1.6vw;
		border: 1px solid #DDE2E4;
	}

	.news_list_search {
		grid-area: search;
		width: 100%;
		border-radius: 1.6vw;
		border: 1px solid #DDE2E4;
	}

	.news_search_input {
		width: 100%;
		padding: 3.2vw 3.7333333333vw;
		font-size: 3.7333333333vw;
	}

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

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

	.news_search_btn {
		padding: 3.2vw 3.7333333333vw;
	}

	.news_search_icon {
		width: 4.8vw;
		height: 4.8vw;
	}

	.news_search_icon::after {
		width: 2.1333333333vw;
		height: 2px;
	}

	.news_list_filter {
		grid-area: filter;
		gap: 2.6666666667vw;
		margin-bottom: 0;
	}

	.news_filter_btn {
		padding: 2.1333333333vw 4.2666666667vw;
		font-size: 3.2vw;
		border-radius: 4.2666666667vw;
		background: #BABABA;
	}

	.news_filter_btn.is_active {
		background: #231815;
		color: #fff;
	}

	.news_list_grid {
		grid-template-columns: 1fr;
		gap: 8.5333333333vw;
		margin-bottom: 10.6666666667vw;
	}

	.news_card_thumb {
		aspect-ratio: 16/10;
		margin-bottom: 3.2vw;
	}

	.news_card_text {
		gap: 2.6666666667vw;
		margin-bottom: 2.1333333333vw;
	}

	.news_card_cat {
		font-size: 2.9333333333vw;
		padding: 1.0666666667vw 2.6666666667vw;
		border-radius: 2.1333333333vw;
	}

	.news_card_date {
		font-size: 3.2vw;
		margin-bottom: 0;
	}

	.news_card_ttl {
		font-size: 3.7333333333vw;
		line-height: 1.6;
	}

	.news_pagination {
		gap: 3.2vw;
		flex-wrap: wrap;
		justify-content: center;
	}

	.news_page_link {
		min-width: 9.6vw;
		padding: 0 2.1333333333vw;
		font-size: 3.7333333333vw;
	}

	/* ========== sec_news_detail（ニュース詳細）375px SP ========== */
	.sec_news_detail {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.news_detail_inner {
		flex-direction: column;
		gap: 6.4vw;
		padding: 0;
	}

	.news_detail_header {
		gap: 2.6666666667vw;
		margin-bottom: 3.2vw;
	}

	.news_detail_cat {
		font-size: 3.2vw;
		padding: 1.0666666667vw 3.2vw;
		border-radius: 3.2vw;
	}

	.news_detail_date {
		font-size: 3.7333333333vw;
	}

	.news_detail_ttl {
		font-size: 4.8vw;
		line-height: 1.5;
		margin-bottom: 5.3333333333vw;
		padding-bottom: 3.2vw;
	}

	.news_detail_body {
		flex-direction: column;
		gap: 0;
		margin-bottom: 8.5333333333vw;
	}

	.news_detail_text p {
		font-size: 3.7333333333vw;
		line-height: 1.8;
	}

	.news_detail_visual,
	.news_detail_image {
		flex: none;
		width: 100%;
		max-width: 100%;
		border-radius: 1.0666666667vw;
		overflow: hidden;
		background: #e8e8e8;
	}

	.news_detail_visual img,
	.news_detail_image img {
		width: 100%;
		height: auto;
		display: block;
	}

	.news_detail_back_wrap {
		margin-top: 6.4vw;
		margin-bottom: 6.4vw;
	}

	.news_detail_back {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 100%;
		padding: 3.2vw 6.4vw;
		font-size: 4.2666666667vw;
		border: 1px solid #231815;
		background: #fff;
		color: #231815;
	}

	.sec_news_related {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.news_related_inner {
		padding: 0;
	}

	.news_related_ttl {
		font-size: 7.4666666667vw;
		margin-bottom: 7.4666666667vw;
	}

	.news_related_grid {
		grid-template-columns: 1fr;
		gap: 7.4666666667vw 0;
	}

	.ir_inner {
		padding: 0 0;
	}

	.ir_inner .link {
		width: 100%;
	}

	.ir_inner .link .btn_more {
		width: 100%;
		max-width: 100%;
		min-width: auto;
		border: 1px solid #231815;
		color: #231815;
		padding: 3.7333333333vw 6.4vw;
		font-size: 4.2666666667vw;
	}

	.ir_inner .link .btn_more .arrow_r {
		top: 0;
		border-color: #231815;
	}

	.ir_sec_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 2.6666666667vw;
	}

	.sec_ir_investors {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.ir_investors_blocks {
		grid-template-columns: 1fr;
		gap: 5.3333333333vw;
	}

	.ir_investors_block {
		min-height: 26.6666666667vw;
		padding: 7.4666666667vw 6.4vw;
		font-size: 3.2vw;
	}

	.sec_ir_news {
		padding: 0 0 12.8vw;
	}

	.ir_news_wrap {
		flex-direction: column;
		gap: 6.4vw;
	}

	.ir_news_all_btn {
		padding: 3.7333333333vw 6.4vw;
		font-size: 6.9333333333vw;
	}

	.ir_news_item {
		padding: 1.6vw 0;
	}

	.ir_news_date {
		font-size: 3.2vw;
	}

	.ir_news_ttl {
		font-size: 4.2666666667vw;
	}

	.sec_ir_library,
	.sec_ir_calendar {
		padding: 0 0 12.8vw;
	}

	.ir_placeholder {
		min-height: 48vw;
	}

	.ir_placeholder p {
		font-size: 4.2666666667vw;
	}

	/* 新卒採用ページ（recruit_graduate.html） */
	.grad_hero {
		padding: 33.6vw 0 10.6666666667vw;
	}

	.grad_hero_bg {
		background: url(./../images/graduated_recruit_bg_sp.jpg) no-repeat center/cover;
	}

	.grad_hero_ttl,
	.grad_hero_ttl_sub {
		font-size: 8vw;
	}

	.grab_hero_ttl_sub {
		margin-bottom: 17.3333333333vw;
	}

	.grad_hero_txt {
		font-size: 4.8vw;
		line-height: 1.9;
	}

	.sec_grad_prologue {
		height: auto;
		padding: 14.9333333333vw 0;
	}

	.grad_prologue_label {
		font-size: 4.2666666667vw;
	}

	.grad_prologue_ttl {
		font-size: 6.1333333333vw;
		margin-bottom: 14.4vw;
	}

	.grad_prologue_txt {
		font-size: 4vw;
	}

	.sec_grad_concept {
		flex-direction: column;
		min-height: auto;
	}

	.grad_concept_left {
		position: relative;
		flex: none;
		width: 100%;
		min-width: 0;
		height: auto;
	}

	.grad_concept_left_inner {
		padding: 10.6666666667vw 6.4vw;
	}

	.grad_concept_label {
		font-size: 4.2666666667vw;
		margin-bottom: 10px;
	}

	.grad_concept_ttl {
		font-size: calc(18 / 375 * 100vw);
	}

	.grad_concept_right {
		padding: 8.5333333333vw 7.2vw;
		padding-bottom: 12.8vw;
		background: white;
	}

	.grad_concept_item {
		padding-top: 0vw;
		flex-wrap: wrap;
	}

	.grap_concept_number {
		width: 16.2666666667vw;
		text-align: left;
	}

	.grad_concept_num {
		font-size: 20vw;
		line-height: 1;
	}

	.grad_concept_cap {
		font-size: 1.6vw;
		margin-bottom: 0;
	}

	.grad_concept_item_ttl {
		flex: 1;
		width: auto;
		font-size: 4.2666666667vw;
		padding-left: 0;
		padding-right: 0;
	}

	.grad_concept_item_ttl strong {
		font-size: 3.7333333333vw;
		display: block;
	}

	.grad_concept_item_txt_sp {
		font-size: 3.4666666667vw;
	}

	.grad_concept_item_txt {
		font-size: 3.4666666667vw;
		width: 100%;
	}

	.sec_grad_culture,
	.sec_grad_target {
		padding: calc(120 / 375 * 100vw) 0 17.8666666667vw;
	}

	.grad_dark_label {
		font-size: 4.2666666667vw;
	}

	.grad_dark_ttl {
		font-size: 8vw;
		margin-bottom: 30vw;
	}

	.grad_dark_txt {
		font-size: 4vw;
		text-align: left;
		width: 100%;
	}

	.sec_grad_growth {
		padding: 14.9333333333vw 0 19.2vw;
	}

	.sec_grad_growth .grad_growth_label {
		font-size: 4.2666666667vw;
	}

	.sec_grad_growth .grad_growth_ttl {
		font-size: 5.8666666667vw;
		margin-bottom: 10.6666666667vw;
	}

	.sec_grad_growth .recruit_skills_list {
		flex-direction: column;
		width: fit-content;
		margin: 0 auto;
		gap: 8.5333333333vw;
	}

	.sec_grad_growth .recruit_skill_block {
		width: calc(168 / 375 * 100vw);
		height: calc(168 / 375 * 100vw);
		padding: 6.4vw 4.2666666667vw;
		flex: 1;
	}

	.sec_grad_support {
		height: auto;
		padding: 14.9333333333vw 0 0;
		display: flex;
		flex-direction: column-reverse;
		margin-top: 0;
		padding-top: 50px;
		gap: 6.9333333333vw;
	}

	.grad_support_inner {
		flex-direction: column;
		gap: 10.6666666667vw;
	}

	.grad_support_bg {
		position: relative;
		width: 100%;
		height: 106.6666666667vw;
	}

	.grad_support_left {
		order: 1;
		padding-top: 0;
	}

	.grad_support_label {
		font-size: 4.2666666667vw;
		margin-top: 0;
		padding-top: 0;
	}

	.grad_support_ttl {
		font-size: 8vw;
		margin-bottom: 10.6666666667vw;
	}

	.sec_grad_growth .recruit_skill_ttl {
		font-size: 5.6vw;
		margin-bottom: 0;
	}

	.sec_grad_growth .recruit_skill_desc {
		font-size: 3.2vw;
		line-height: 1.6;
	}

	.grad_support_txt {
		font-size: 4vw;
	}

	.grad_support_right {
		display: none;
	}

	.sec_grad_career {
		padding-top: 50px;
		padding-bottom: calc(37 / 375 * 100vw);
	}

	.grad_career_inner {
		padding-right: calc(16 / 375 * 100vw);
		padding-left: calc(16 / 375 * 100vw);
	}

	.grad_career_inner.fixedcontainer {
		width: 100%;
	}

	.grad_career_label {
		font-size: 4.2666666667vw;
	}

	.grad_career_ttl {
		font-size: 6.1333333333vw;
		margin-bottom: 0;
	}

	.grad_career_body_sp {
		display: block;
		margin-bottom: calc(50 / 375 * 100vw);
	}

	.grad_career_phase_sp {
		width: 100%;
		max-width: 650px;
		margin-inline: auto;
		margin-bottom: calc(20 / 375 * 100vw);
	}

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

	.grad_career_desc {
		font-size: calc(13 / 375 * 100vw);
		line-height: calc(25 / 375 * 100vw);
		padding: calc(18 / 375 * 100vw) calc(19 / 375 * 100vw);
		background-color: #EDEDED;
		margin-top: calc(-10 / 375 * 100vw);

	}

	.grad_career_examples_fixedcontainer {
		width: 100%;
	}

	.grad_career_examples_ttl {
		font-size: calc(20 / 375 * 100vw);
		margin-bottom: 6.4vw;
		margin-top: calc(20 / 375 * 100vw);
	}

	.grad_career_examples_ttl strong {
		font-size: calc(30 / 375 * 100vw);
	}

	.grad_career_examples {
		grid-template-columns: 1fr;
		gap: calc(8 / 375 * 100vw);
		margin-bottom: calc(10 / 375 * 100vw);
	}

	.grad_career_example {
		padding: calc(13 / 375 * 100vw);
	}

	.grad_career_example_header {
		margin-bottom: calc(10 / 375 * 100vw);
	}

	.grad_career_example_num {
		font-size: calc(40 / 375 * 100vw);
		line-height: 1;
		font-weight: 300;
	}

	.grad_career_example_ttl {
		font-size: calc(26 / 375 * 100vw);
		font-weight: 500;
		margin-left: calc(10 / 375 * 100vw);
	}

	.grad_career_example_txt {
		font-size: calc(14 / 375 * 100vw);
	}

	.grad_career_note {
		padding: 0;
	}

	.grad_career_note p {
		font-size: calc(14 / 375 * 100vw);
	}

	.sec_grad_interview {
		padding: 4.5333333333vw 0;
	}

	.sec_grad_interview .interview_detail_others_list {
		padding: 0 0;
	}

	.sec_grad_interview .grad_interview_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 2.6666666667vw;
	}

	.sec_grad_evaluation {
		padding: 6.6666666667vw 0;
	}

	.sec_grad_evaluation .grad_evaluation_ttl {
		font-size: 4.2666666667vw;
	}

	.grad_evaluation_txt p {
		font-size: 3.7333333333vw;
	}

	.grad_evaluation_txt p.grad_evaluation_sub {
		font-size: calc(14 / 375 * 100vw);
	}

	.sec_grad_evaluation .grad_evaluation_sub {
		font-size: 3.7333333333vw;
	}

	.sec_grad_evaluation .grad_evaluation_body {
		flex-direction: column;
		gap: 8.5333333333vw;
	}

	.sec_grad_evaluation .grad_evaluation_venn {
		flex: none;
		width: 100%;
		max-width: 74.6666666667vw;
		margin: 0 auto;
	}

	.sec_grad_evaluation .grad_evaluation_venn img {
		width: 100%;
		height: auto;
	}

	.grad_entry_bg {
		background: url(./../images/graduated_recruit_bg2_sp.jpg) no-repeat center top / cover;
	}

	.sec_grad_entry {
		height: 100vh;
		padding: 0;
	}

	.grad_entry_ttl {
		font-size: 7.4666666667vw;
	}

	.grad_entry_txt {
		font-size: 4vw;
	}

	.grad_entry_btn {
		padding: 4.2666666667vw 9.6vw;
		font-size: 6.9333333333vw;
	}

	.sec_recruit_skills {
		padding: calc(50 / 375 * 100vw) 0 12.8vw;
	}

	.sec_recruit_skills .recruit_skills_inner {
		padding: 0;
		text-align: center;
	}

	.sec_recruit_skills .recruit_skills_ttl {
		font-size: 6.4vw;
		font-weight: 700;
		margin-bottom: 2.1333333333vw;
	}

	.sec_recruit_skills .recruit_skills_sub {
		font-size: 4.2666666667vw;
		margin-bottom: 5.3333333333vw;
	}

	.sec_recruit_skills .recruit_skills_list {
		flex-direction: column;
		align-items: center;
		gap: 3.2vw;
	}

	.sec_recruit_skills .recruit_skill_block {
		flex: none;
		width: 45.3333333333vw;
		height: 45.3333333333vw;
		max-width: 90%;
		aspect-ratio: 1;
		padding: 6.4vw;
		border-radius: 50%;
	}

	.sec_recruit_skills .recruit_skill_ttl {
		font-size: 5.8666666667vw;
		margin-bottom: 2.6666666667vw;
	}

	.sec_recruit_skills .recruit_skill_desc {
		font-size: 3.2vw;
		line-height: 1.6;
	}

	.sec_recruit_workstyle {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.sec_recruit_workstyle .recruit_workstyle_item {
		padding-top: calc(50 / 375 * 100vw);
		padding-bottom: 30px;
	}

	.sec_recruit_workstyle .recruit_workstyle_inner {
		padding: 0;
		margin-bottom: 10.6666666667vw;
	}

	.sec_recruit_workstyle .recruit_workstyle_inner:last-of-type {
		margin-bottom: 0;
	}

	.sec_recruit_workstyle .recruit_workstyle_ttl {
		font-size: 6.4vw;
		margin-bottom: 1.0666666667vw;
	}

	.sec_recruit_workstyle .recruit_workstyle_sub {
		font-size: 4.8vw;
		margin-bottom: 4.8vw;
	}

	.sec_recruit_workstyle .recruit_workstyle_list {
		grid-template-columns: 1fr;
		gap: 1.6vw;
	}

	.sec_recruit_workstyle .recruit_workstyle_block {
		padding: 4vw 4.2666666667vw;
		min-height: auto;
		border-radius: 1.3333333333vw;
	}

	.sec_recruit_workstyle .workstyle_label {
		font-size: 4.2666666667vw;
		margin-bottom: 2.1333333333vw;
	}

	.sec_recruit_workstyle .workstyle_label small {
		font-size: 4.2666666667vw;
	}

	.sec_recruit_workstyle .workstyle_value {
		font-size: 8vw;
		margin-bottom: 1.0666666667vw;
	}

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

	.sec_recruit_workstyle .workstyle_value .number {
		font-size: 14.4vw;
	}

	.sec_recruit_workstyle .workstyle_note {
		font-size: 3.2vw;
	}

	.sec_recruit_workstyle .workstyle_block_flex .workstyle_block_flex_label_value {
		font-size: 5.3333333333vw;
	}

	.sec_recruit_workstyle .workstyle_block_flex_label {
		font-size: 3.7333333333vw;
	}

	.sec_recruit_workstyle .workstyle_block_flex_label_value .number {
		font-size: 11.2vw;
	}

	.sec_recruit_interview {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.sec_recruit_interview .recruit_interview_inner {
		padding: 0;
	}

	.sec_recruit_interview .recruit_interview_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 6.4vw;
	}

	.sec_recruit_interview .recruit_interview_list {
		padding: 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 3.2vw;
		margin-bottom: calc(53 / 375 * 100vw);
	}

	.sec_recruit_interview .recruit_interview_photo img {
		height: 32vw;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.sec_recruit_interview .recruit_interview_profile {
		margin-top: 1.6vw;
	}

	.sec_recruit_interview .recruit_interview_dept {
		font-size: 3.2vw;
		padding: 0 1.8666666667vw 0;
	}

	.sec_recruit_interview .recruit_interview_name {
		font-size: 3.2vw;
		padding: 0 0;
	}

	.sec_recruit_interview .btn_interview {
		font-size: 4.2666666667vw;
		padding: calc(10 / 375 * 100vw) calc(40 / 375 * 100vw);
		width: 100%;
		max-width: 80vw;
		justify-content: space-between;
		margin: 0 auto;
		background: none !important;
		display: flex;
	}

	.sec_recruit_interview .btn_interview .arrow_r {
		width: 2.6666666667vw;
		height: 2.6666666667vw;
	}

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

	.sec_recruit_jobs {
		padding: calc(50 / 375 * 100vw) 0 0;
	}

	.sec_recruit_jobs .recruit_jobs_inner {
		flex-direction: column;
		gap: 6.4vw;
		padding: 0 0 6.4vw;
	}

	.sec_recruit_jobs .recruit_jobs_header {
		flex: none;
		width: 100%;
		max-width: 100%;
	}

	.sec_recruit_jobs .recruit_jobs_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 7.4666666667vw;
	}

	.sec_recruit_jobs .recruit_jobs_sub {
		font-size: 5.8666666667vw;
		margin-top: 0;
	}

	.sec_recruit_jobs .recruit_job_arrow {
		border-width: 1px;
		width: 4.2666666667vw;
		height: 4.2666666667vw;
		border-color: #231815;
		align-self: flex-end;
		margin-bottom: 1.3333333333vw;
	}

	.sec_recruit_jobs .recruit_jobs_desc {
		font-size: 4vw;
		line-height: 1.6;
	}

	.sec_recruit_jobs .recruit_jobs_list {
		flex: auto;
		max-width: 100%;
	}

	.sec_recruit_jobs .recruit_job_block {
		padding: 4.2666666667vw 4.2666666667vw 6.4vw;
		background-color: #F1F1F1;
	}

	.sec_recruit_jobs .recruit_job_name {
		font-size: 5.8666666667vw;
	}

	.sec_recruit_jobs .recruit_job_detail {
		font-size: calc(14 / 375 * 100vw);
	}

	.sec_recruit_jobs .recruit_jobs_banner {
		padding: 5.3333333333vw 4.2666666667vw;
		justify-content: flex-start;
		background-position: calc(-200 / 375 * 100vw);
		background-size: calc(600 / 375 * 100vw) calc(73 / 375 * 100vw);
		background-repeat: repeat-x;
	}

	.sec_recruit_jobs .recruit_jobs_banner_txt {
		font-size: 4.2666666667vw;
	}

	.sec_recruit_jobs .recruit_jobs_banner_inner {
		margin-top: 2.6666666667vw;
		padding-bottom: 12.8vw;
	}

	.sec_recruit_jobs .recruit_jobs_banner_arrow {
		width: 2.6666666667vw;
		height: 2.6666666667vw;
	}

	.sec_recruit_schedule {
		flex-direction: column;
		min-height: auto;
		padding: 0 0 4.2666666667vw;
	}

	.sec_recruit_schedule .recruit_schedule_inner {
		flex-direction: column;
		gap: 10.6666666667vw;
		width: 86%;
		padding: 0;
	}

	.sec_recruit_schedule .recruit_schedule_block {
		padding-top: calc(50 / 375 * 100vw);
	}

	.sec_recruit_schedule .recruit_schedule_left {
		flex: none;
	}

	.sec_recruit_schedule .recruit_schedule_photo {
		width: 100%;
		height: 51.7333333333vw;
		-o-object-fit: cover;
		object-fit: cover;
		margin-bottom: 7.2vw;
	}

	.sec_recruit_schedule .recruit_schedule_dept {
		font-size: 4.2666666667vw;
	}

	.sec_recruit_schedule .recruit_schedule_name {
		font-size: 5.3333333333vw;
		margin-bottom: 13.3333333333vw;
	}

	.sec_recruit_schedule .btn_schedule_profile {
		margin-bottom: 4.2666666667vw;
		font-size: 4.2666666667vw;
		padding: 2.6666666667vw 0;
		height: 7.2vw;
		width: 32vw;
	}

	.sec_recruit_schedule .recruit_schedule_bio {
		font-size: 4vw;
	}

	.sec_recruit_schedule .recruit_schedule_right {
		padding-top: calc(50 / 375 * 100vw);
		flex: auto;
	}

	.sec_recruit_schedule .recruit_schedule_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: calc(36 / 375 * 100vw);
		text-align: left;
	}

	.sec_recruit_schedule .recruit_schedule_timeline::before {
		content: none;
	}

	.sec_recruit_schedule .recruit_schedule_item {
		margin-bottom: 5.3333333333vw;
		display: flex;
		flex-direction: column;
		margin-top: 0 !important;
		margin-bottom: 1.3333333333vw;
	}

	.sec_recruit_schedule .recruit_schedule_item::before {
		content: none;
	}

	.sec_recruit_schedule .recruit_schedule_item::after {
		content: none;
	}

	.sec_recruit_schedule .recruit_schedule_item.schedule_right .schedule_content,
	.sec_recruit_schedule .recruit_schedule_item.schedule_left .schedule_content {
		padding: 5.3333333333vw 5.3333333333vw;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.sec_recruit_schedule .recruit_schedule_item.schedule_right .schedule_content::before,
	.sec_recruit_schedule .recruit_schedule_item.schedule_right .schedule_content::after,
	.sec_recruit_schedule .recruit_schedule_item.schedule_left .schedule_content::before,
	.sec_recruit_schedule .recruit_schedule_item.schedule_left .schedule_content::after {
		content: none !important;
	}

	.sec_recruit_schedule .schedule_time {
		font-size: calc(23 / 375 * 100vw);
		margin-bottom: 1.0666666667vw;
		width: calc(60 / 375 * 100vw);
	}

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

	.sec_recruit_schedule .schedule_box {
		padding: 0 3.7333333333vw;
	}

	.sec_recruit_schedule .schedule_box::before,
	.sec_recruit_schedule .schedule_box::after {
		content: none !important;
	}

	.sec_recruit_schedule .schedule_title {
		font-size: calc(15 / 375 * 100vw);
		margin-bottom: 1.0666666667vw;
	}

	.sec_recruit_schedule .schedule_desc {
		font-size: 3.2vw;
	}

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

	.sec_business {
		background: white;
		padding-bottom: 50px;
	}

	.sec_business.service_wakegai {
		height: auto;
		min-height: 100dvh;
	}

	.sec_business .business_block {
		background: none;
		height: auto;
	}

	.sec_business .business_block.fixedcontainer {
		width: 100%;
	}

	.sec_business.block2 .business_left::before {
		height: calc(320 / 375 * 100vw);
	}

	.sec_business.service_wakegai .business_block {
		height: auto;
	}

	.sec_business.block2 .business_catch {
		width: 100%;
	}

	.sec_business.block3 {
		padding-bottom: 21.3333333333vw;
	}

	.sec_business.block3 .business_left::before {
		height: 53.3333333333vw;
	}

	.sec_business .business_block_inner {
		flex-direction: column;
		width: 100%;
		gap: 0vw;
		padding: 0 0;
	}

	.sec_business .business_left {
		position: relative;
		background: white;
		flex: none;
		width: 100%;
		max-width: 100%;
		padding: 0;
		padding: calc(40 / 375 * 100vw) 6.4vw 4.8vw;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.sec_business .business_left:before {
		width: 100%;
		height: 61.3333333333vw;
		background: #EDEDED;
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		top: 0;
		z-index: 0;
	}

	.sec_business .business_left * {
		position: relative;
		z-index: 1;
	}

	.sec_business .business_right {
		padding-left: 6.4vw;
		padding-right: 6.4vw;
		padding-top: 0;
		padding-bottom: 0;
		order: 2;
	}

	.sec_business .business_ttl {
		font-size: calc(18 / 375 * 100vw);
		margin-bottom: calc(25 / 375 * 100vw);
		line-height: 1.6;
	}

	.sec_business.service_wakegai .business_ttl {
		font-size: calc(16 / 375 * 100vw);
	}

	.sec_business .business_catch {
		margin-bottom: 4.2666666667vw;
		width: 40vw;
	}

	.sec_business .business_catch img {
		max-width: 100%;
		height: auto;
	}

	.sec_business .business_visual {
		width: 100%;
		text-align: center;
		margin-bottom: 0vw;
		overflow: hidden;
	}

	.sec_business .business_visual img {
		width: 76vw;
		height: auto;
	}

	.sec_business .business_desc {
		margin-bottom: 6.4vw;
		padding-right: 0;
	}

	.sec_business .business_desc p {
		font-size: calc(14 / 375 * 100vw);
		line-height: 1.8;
	}

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

	.sec_business .btn_detail {
		width: 100%;
	}

	.sec_business .btn_detail .arrow_r {
		top: 0vw;
	}

	.sec_performances {
		background: #EEF0F2;
		padding-block: calc(50 / 375 * 100vw);
	}

	.sec_performances .fixedcontainer {
		width: 96%;
	}

	.sec_performances .sec_performances_item {
		padding-top: calc(50 / 375 * 100vw);
	}

	.sec_performances .sec_performances_item:first-child {
		min-height: 100dvh;
	}

	.sec_performances .performances_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 2.1333333333vw;
		padding: 0 6.4vw;
	}

	/* .sec_performances .performances_scroll {
		display: none;
	} */

	/* .sec_performances .perf_list {
		display: flex;
		flex-direction: column;
		gap: 6.4vw;
	} */

	.sec_performances .perf_card {
		padding: calc(16 / 375 * 100vw) calc(13 / 375 * 100vw);
		margin-bottom: calc(16 / 375 * 100vw);
		border-radius: 2.6666666667vw;
	}

	.sec_performances .perf_card_inner {
		flex-direction: column;
		gap: 6.4vw;
	}

	.sec_performances .perf_left {
		flex: none;
		width: 100%;
		max-width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.sec_performances .perf_left dl {
		width: 100%;
	}

	.sec_performances .perf_photo {
		margin-bottom: 4.2666666667vw;
		border-radius: 2.1333333333vw;
		overflow: hidden;
		width: 48.8vw;
	}

	.sec_performances .perf_photo img {
		width: 100%;
		height: auto;
		max-width: none;
		aspect-ratio: 16/10;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.sec_performances .perf_price {
		font-size: calc(18 / 375 * 100vw);
		margin-bottom: 3.2vw;
		order: -1;
		line-height: 1.5;
	}

	.sec_performances .perf_price strong {
		display: block;
		font-size: 7.2vw;
	}

	.sec_performances .perf_price .unit {
		font-size: 5.3333333333vw;
	}

	.sec_performances .perf_method,
	.sec_performances .perf_flow,
	.sec_performances .perf_result {
		font-size: 3.7333333333vw;
		margin-bottom: 4.2666666667vw;
		flex-direction: column;
		align-items: flex-start;
	}

	.sec_performances .perf_method dt,
	.sec_performances .perf_flow dt,
	.sec_performances .perf_result dt {
		width: 100%;
		margin-bottom: 2px;
	}

	.sec_performances .perf_right {
		width: 100%;
	}

	.sec_performances .perf_block {
		margin-bottom: 5.3333333333vw;
		flex-direction: column;
		gap: 2.1333333333vw;
	}

	.sec_performances .perf_label {
		font-size: 3.2vw;
		font-weight: 400;
		height: auto;
		padding: 1.6vw 3.2vw;
		margin-bottom: 2.1333333333vw;
		line-height: 1.43;
		width: auto;
		min-width: 136px;
	}

	.sec_performances .perf_content {
		font-size: 3.7333333333vw;
	}

	.sec_performances .perf_row {
		gap: 0.5333333333vw;
	}

	.sec_performances .perf_row dt {
		flex: none;
		width: auto;
	}

	.sec_performances .perf_row dd {
		width: 100%;
	}

	.sec_performances .perf_content ul {
		margin-left: 8px;
	}

	.sec_performances .perf_row.last_row {
		flex-direction: column;
	}

	.sec_performances .perf_step {
		margin-bottom: 1.0666666667vw;
	}

	.sec_performances .perf_divider {
		margin: 4.2666666667vw 0;
	}

	/* ========== interview_detail.html（社員インタビュー詳細）375px SP ========== */
	.page_interview_detail .interview_detail_main {
		padding: 20vw 0 5.3333333333vw;
	}

	.common_fv.interview_fv {
		padding: 10.6666666667vw 0 8.5333333333vw;
	}

	.common_fv.interview_fv .part1 {
		padding: 0;
	}

	.common_fv.interview_fv .breadcrumb {
		font-size: 2.9333333333vw;
	}

	.common_fv.interview_fv h1 {
		font-size: 4.2666666667vw;
	}

	.interview_detail_article .interview_detail_inner {
		padding-right: 0;
		padding-top: 75px;
	}

	.interview_detail_inner {
		padding: 0;
	}

	.interview_detail_ttl {
		font-size: calc(16 / 375 * 100vw);
		font-weight: 400;
		color: #231815;
		margin-bottom: calc(46 / 375 * 100vw);
	}

	.interview_detail_headline {
		font-size: 6.1333333333vw;
		line-height: 1.5;
		margin-bottom: 13.3333333333vw;
	}

	.interview_detail_intro {
		flex-direction: column;
		gap: 5.3333333333vw;
		margin-bottom: 10.6666666667vw;
	}

	.interview_detail_photo {
		flex: none;
		width: 100%;
		height: 64vw;
		max-width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}

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

	.interview_detail_profile {
		text-align: left;
	}

	.interview_detail_name {
		font-size: 6.9333333333vw;
		font-weight: 700;
		line-height: 1.5;
		margin-bottom: 0;
	}

	.interview_detail_dept {
		font-size: 4.2666666667vw;
		margin-bottom: 4.2666666667vw;
	}

	.interview_detail_lead {
		font-size: 3.7333333333vw;
		line-height: 2.2;
		text-align: left;
	}

	.interview_detail_section {
		margin-bottom: 10.6666666667vw;
	}

	.interview_detail_heading {
		font-size: 4.2666666667vw;
		font-weight: 600;
		margin-bottom: 3.2vw;
	}

	.interview_detail_section p {
		font-size: 3.7333333333vw;
		line-height: 1.8;
	}

	.interview_detail_media {
		min-height: 53.3333333333vw;
		margin-bottom: 10.6666666667vw;
	}

	.interview_detail_others {
		padding: 10.6666666667vw 0 2.6666666667vw;
	}

	.interview_detail_others_inner {
		padding: 0;
	}

	.interview_detail_others_ttl {
		font-size: calc(16 / 375 * 100vw);
		font-weight: 400;
		color: #231815;
		margin-bottom: calc(11 / 375 * 100vw);
	}

	.interview_detail_others_list {
		grid-template-columns: 1fr;
		gap: 6.4vw;
		margin-bottom: 7.4666666667vw;
	}

	.interview_detail_others_block {
		display: flex;
		align-items: center;
		gap: 0vw;
		flex-direction: column;
	}

	.interview_detail_others_photo {
		flex-shrink: 0;
		width: 90%;
		margin: 0 auto;
		height: 42.6666666667vw;
		overflow: hidden;
		gap: 0;
	}

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

	.interview_detail_others_text {
		flex: 1;
		padding-top: 1.3333333333vw;
	}

	.interview_detail_others_dept {
		font-size: 3.7333333333vw;
		padding: 0;
		margin-bottom: 0;
	}

	.interview_detail_others_name {
		font-size: 3.7333333333vw;
		padding: 0;
	}

	.interview_detail_others_link {
		text-align: center;
	}

	.btn_interview_others {
		font-size: 4.2666666667vw;
		padding-top: calc(10 / 375 * 100vw);
		padding-bottom: calc(10 / 375 * 100vw);
		padding-right: calc(40 / 375 * 100vw);
		padding-left: calc(40 / 375 * 100vw);
		border: 1px solid #231815;
		color: #231815;
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: auto;
	}

	.btn_interview_others .arrow_r {
		border-color: #231815;
		width: calc(7 / 375 * 100vw);
		height: calc(7 / 375 * 100vw);
	}

	.sec_recruit_faq {
		padding: 10.6666666667vw 0 12.8vw;
	}

	.sec_recruit_faq .recruit_faq_inner {
		padding: 0;
	}

	.sec_recruit_faq .recruit_faq_ttl {
		font-size: 4.2666666667vw;
		margin-bottom: 6.4vw;
	}

	.sec_recruit_faq .recruit_faq_q {
		padding: 4.2666666667vw 2.1333333333vw 4.2666666667vw 0;
	}

	.sec_recruit_faq .faq_q_label {
		font-size: 8vw;
	}

	.sec_recruit_faq .faq_q_txt {
		font-size: calc(16 / 375 * 100vw);
	}

	.sec_recruit_faq .recruit_faq_a {
		padding: 0 0 5.3333333333vw 0;
	}

	.sec_recruit_faq .recruit_faq_a p {
		font-size: 3.7333333333vw;
		line-height: 1.7;
	}

	.sec_recruit_faq .faq_a_label {
		font-size: 8vw;
		min-width: 7.4666666667vw;
	}

	/* フッター */
	.footer-wrapper {
		position: static;
		transform: none;
		height: auto;
		scroll-snap-align: start;
		min-height: var(--vh);
	}

	.footer-controll {
		padding-bottom: 0;
	}

	/* フッター SP：縦並び・中央揃え */
	.sec_footer {
		padding-top: 45px;
		padding-bottom: 27px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: auto;
		min-height: var(--vh);
	}

	.sec_footer .footer_inner {
		text-align: center;
		align-items: center;
		margin-inline: 20px;
		width: calc(100% - 40px);
		display: block;
	}

	.sec_footer .footer_left {
		order: 1;
		width: 100%;
		max-width: 100%;
	}

	.sec_footer .footer_logo {
		font-size: 8.5333333333vw;
		margin-bottom: 0;
		color: #fff;
	}

	.sec_footer .footer_logo .eigo {
		color: #fff;
	}

	.sec_footer .footer_logo img {
		max-width: none;
		width: calc(200 / 375 * 100vw);
		filter: brightness(0) invert(1);
	}

	.sec_footer .footer_copyright {
		font-size: 3.2vw;
		line-height: 1.6;
		color: #fff;
		margin-top: calc(32 / 375 * 100vw);
		gap: 1.3333333333vw;
		order: 3;
	}

	.sec_footer .footer_center {
		order: 2;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding-left: 0;
		gap: 50px;
		margin-block: 70px;
	}

	.sec_footer .footer_service {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 3.2vw;
		font-size: 6.9333333333vw;
		color: #fff;
	}


	.footer_service_img1 {
		width: calc(114 / 375 * 100vw);
	}

	.footer_service_img2 {
		width: calc(282 / 375 * 100vw);
	}

	.footer_service_img3 {
		width: calc(335 / 375 * 100vw);
	}

	.footer_service_img4 {
		width: calc(178 / 375 * 100vw);
	}

	.sec_footer .footer_right {
		order: 3;
		justify-content: center;
		gap: 7.4666666667vw;
	}

	.sec_footer .sns_icon {
		color: #fff;
	}

	.sec_footer .sns_icon img {
		height: calc(34 / 375 * 100vw);
		width: auto;
	}

	.fixedcontainer {
		width: 88%;
		margin: 0 auto;
	}

	figure {
		line-height: 0;
		width: 85.4vw;
		margin: 0;
	}

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

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

		100% {
			transform: translate(7vw, 25vw);
		}
	}

	.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;
	}

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

	/* #wrapper {
		width: 100vw;
		overflow: hidden;
	} */

	.btn_more {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		width: 100%;
		border: 1px solid #fff;
		color: #fff;
		font-size: 4.5333333333vw;
		justify-content: space-between;
		padding: 1.3333333333vw 5.3333333333vw;
	}

	.btn_more .arrow_r {
		position: inherit;
		top: 0;
		right: 0;
		width: 2.6666666667vw;
		height: 2.6666666667vw;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
	}

	#sec_fv {
		background: none;
		position: relative;
		z-index: 1;
		min-height: 100vh;
		min-height: 100dvh;
		align-content: flex-end;
	}

	#sec_fv .part1.fixedcontainer {
		width: 100%;
		max-width: 100%;
	}

	#sec_fv .bg .fv_video_pc {
		display: none !important;
	}

	#sec_fv .bg .fv_video_sp {
		display: block !important;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	#sec_fv .part1 {
		padding-bottom: 0;
	}

	#sec_fv .part1 h2 {
		font-weight: 500;
		line-height: 1.6;
		font-size: 16.5333333333vw;
		padding-top: 80vw;
		padding-left: 0;
	}

	#sec_fv .part1 h2::before {
		background-color: #3d7274;
		content: "";
		display: block;
		width: 16.2666666667vw;
		height: 100%;
		top: 82.6666666667vw;
		height: 101.3333333333vw;
		left: 0;
		position: absolute;
		z-index: -2;
		margin-top: 0;
	}

	#sec_fv .part1 h2 span {
		line-height: 1;
		position: relative;
	}

	#sec_fv .part1 h2 span::after {
		font-family: "brandon-grotesque", sans-serif;
		font-weight: 500;
		content: "+";
		font-size: 6.9333333333vw;
		position: absolute;
		left: 37.3333333333vw;
		bottom: -4vw;
	}

	#sec_fv .part1 h2 strong {
		color: white;
		display: inline-block;
		width: 16.2666666667vw;
		padding: 0 1.3333333333vw;
		align-items: center;
		margin-right: 2.6666666667vw;
	}

	/* #sec_fv .part1>p {
		padding-left: 0;
		font-size: 8.5333333333vw;
		padding-top: 5.3333333333vw;
	} */

	#sec_fv .part1 .scroll_block {
		position: absolute;
		top: 236.8vw;
		left: 14.9333333333vw;
		right: inherit;
		width: 44.5333333333vw;
		height: 102px;
	}

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

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

	/* 動画テキスト */
	#sec_fv .video_text {
		font-size: calc(33 / 375 * 100vw);
		text-align: left;
		margin-left: calc(21 / 375 * 100vw);
		margin-bottom: 120px;
	}

	/*  */
	#sec2 {
		background: url(./../images/sec2_bg.jpg) no-repeat;
		background-size: cover;
		padding-block: calc(40 / 375 * 100vw);
		align-content: center;
	}

	#sec2 .part1 {
		padding-bottom: 0;
		padding-left: 0;
		padding-right: 0;
		height: auto;
	}

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

	#sec2 .part1 .part_header h2 {
		font-size: 8vw;
		color: white;
		font-weight: normal;
		text-align: center;
	}

	#sec2 .part1 .part_header>p {
		font-size: 6.6666666667vw;
		margin-top: 5.3333333333vw;
		color: white;
		letter-spacing: 0.02em;
	}

	#sec2 .part1 .part_body {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		padding-top: 140px;
		position: inherit;
		width: 100%;
		transform: none;
	}

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

	#sec2 .part1 .part_body .flex_img img {
		max-width: 66.6666666667vw;
	}

	#sec2 .part1 .part_body .flex_body h3 {
		font-size: 4.8vw;
		background: #fff;
		color: #231815;
		width: 66.6666666667vw;
		margin: 0 auto;
		padding: 0.8vw 6.4vw;
		display: inline-block;
		margin-bottom: 5.3333333333vw;
		margin-top: 10.6666666667vw;
	}

	#sec2 .part1 .part_body .flex_body p {
		color: white;
		font-size: 4.2666666667vw;
		line-height: 1.9;
		padding-top: 0;
		text-align: left;
	}

	#sec2 .part1 .part_body .flex_body .link .btn_more {
		border: 1px solid #fff;
		color: #fff;
		background: transparent;
		padding: 3.2vw 8.5333333333vw;
		font-size: 4.5333333333vw;
	}

	#sec2 .part1 .part_body .block {
		width: 100%;
		text-align: center;
	}

	#sec2 .part1 .part_body .block p {
		color: white;
		line-height: 1.9;
	}

	#sec2 .part1 .part_body .block.block1 {
		flex: 1;
	}

	#sec2 .part1 .part_body .block.block1 p {
		font-size: 6.6666666667vw;
		letter-spacing: 0.02em;
	}

	#sec2 .part1 .part_body .block.block2 {
		margin-top: 9.6vw;
	}

	#sec2 .part1 .part_body .block.block2 p {
		font-size: 6.6666666667vw;
		letter-spacing: 0.02em;
	}

	#sec2 .part1 .part_footer {
		text-align: right;
		padding-bottom: 16vw;
		padding-top: 12vw;
	}

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

	#sec2 .part1 .part_footer a img {
		width: 5.8666666667vw;
		margin-left: 5.8666666667vw;
	}

	#contact_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/contact_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#contact_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
	}

	#contact_fv p {
		color: white;
		font-size: 6.9333333333vw;
		letter-spacing: 0.02em;
	}

	#contact_sec2 {
		padding-top: 6.6666666667vw;
		position: relative;
		z-index: 2;
	}

	#contact_sec2 .part1 {
		width: 88%;
		margin: auto;
		margin-bottom: 0vw;
	}

	#contact_sec2 .part1 .form_wrapper {
		width: 100%;
		padding-bottom: 0;
	}

	#contact_sec2 .part1 .form_wrapper p {
		text-align: left;
		margin-bottom: 10.6666666667vw;
	}

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

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

	#contact_sec2 .part1 .form_wrapper form .form_group label {
		display: block;
		font-size: 14px;
		padding-bottom: 12px;
	}

	#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: #333;
	}

	#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: 5px 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>span,
	#contact_sec2 .part1 .form_wrapper form .form_group .form_grad.triple p>span {
		flex: 1;
		display: block;
	}

	#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: 100%;
	}

	#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 .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: flex-start;
	}

	#contact_sec2 .part1 .form_wrapper form .btn_wrapper p {
		width: 100%;
	}

	#contact_sec2 .part1 .form_wrapper form .btn_wrapper input[type=submit] {
		width: 100%;
	}

	#contact_sec2 .part1 a,
	#contact_sec2 .part1 button {
		width: 100%;
		letter-spacing: 0.02em;
		font-size: 14px;
		height: 48px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #3d7274;
		color: white;
		border: none;
	}

	#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;
	}

	#service1_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/service1_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#service1_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
		line-height: 1.3;
		padding: 5.3333333333vw 0;
	}

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

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

	#service1_sec2 .part1 .icon img {
		width: 25.6vw;
	}

	#service1_sec2 .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 8vw;
		padding-bottom: 16vw;
	}

	#service1_sec2 .part1 p {
		text-align: left;
		background: #3d7274;
		color: white;
		font-size: 4.2666666667vw;
		padding: 14.9333333333vw 13.3333333333vw;
		display: inline-block;
		letter-spacing: 0.02em;
		margin: 0 13.3333333333vw;
		margin-top: 14.9333333333vw;
		line-height: 2.2;
	}

	#service1_sec2 .part1 h3 {
		margin-top: 8vw;
		text-align: center;
	}

	#service2_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/service2_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#service2_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
		line-height: 1.3;
		padding: 5.3333333333vw 0;
	}

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

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

	#service2_sec2 .part1 .icon img {
		width: 25.6vw;
	}

	#service2_sec2 .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 8vw;
		padding-bottom: 16vw;
	}

	#service2_sec2 .part1 p {
		text-align: left;
		background: #3d7274;
		color: white;
		font-size: 4.2666666667vw;
		padding: 14.9333333333vw 13.3333333333vw;
		display: inline-block;
		letter-spacing: 0.02em;
		margin: 0 13.3333333333vw;
		margin-top: 14.9333333333vw;
		line-height: 2.2;
	}

	#service2_sec2 .part1 h3 {
		margin-top: 8vw;
		text-align: center;
	}

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

	#service3_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/service3_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#service3_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
		line-height: 1.3;
		padding: 5.3333333333vw 0;
	}

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

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

	#service3_sec2 .part1 .icon img {
		width: 25.6vw;
	}

	#service3_sec2 .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 8vw;
		padding-bottom: 16vw;
	}

	#service3_sec2 .part1 p {
		text-align: left;
		background: #3d7274;
		color: white;
		font-size: 4.2666666667vw;
		padding: 14.9333333333vw 13.3333333333vw;
		display: inline-block;
		letter-spacing: 0.02em;
		margin: 0 13.3333333333vw;
		margin-top: 14.9333333333vw;
		line-height: 2.2;
	}

	#service3_sec2 .part1 h3 {
		margin-top: 8vw;
		text-align: center;
	}

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

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

	#service3_sec2 .part2 h3 {
		font-size: 9.6vw;
		color: #3d7274;
		text-align: center;
		margin-bottom: 16vw;
	}

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

	#service3_sec2 .part2 .part_body ul li p {
		font-size: 6.9333333333vw;
		line-height: 1.8;
		margin-top: 12.5333333333vw;
	}

	#service4_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/service4_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#service4_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
		line-height: 1.3;
		padding: 5.3333333333vw 0;
	}

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

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

	#service4_sec2 .part1 .icon img {
		width: 25.6vw;
	}

	#service4_sec2 .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 8vw;
		padding-bottom: 16vw;
	}

	#service4_sec2 .part1 p {
		text-align: left;
		background: #3d7274;
		color: white;
		font-size: 4.2666666667vw;
		padding: 14.9333333333vw 13.3333333333vw;
		display: inline-block;
		letter-spacing: 0.02em;
		margin: 0 13.3333333333vw;
		margin-top: 14.9333333333vw;
		line-height: 2.2;
	}

	#service4_sec2 .part1 h3 {
		margin-top: 8vw;
		text-align: center;
	}

	#service_common_sec .part1 {
		padding-top: 24vw;
		padding-bottom: 20vw;
		text-align: center;
	}

	#service_common_sec .part1 .icon img {
		width: 25.6vw;
	}

	#service_common_sec .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 6.4vw;
		padding-bottom: 12vw;
	}

	#service_common_sec .part1 .block {
		align-items: center;
		justify-content: flex-start;
		margin-bottom: 25.8666666667vw;
	}

	#service_common_sec .part1 .block:last-child {
		margin-bottom: 0;
	}

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

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

	#service_common_sec .part1 .block .flex_body {
		max-width: initial;
		margin-left: 13.3333333333vw;
		margin-right: 13.3333333333vw;
		margin-top: 17.8666666667vw;
	}

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

	#service_common_sec .part1 .block .flex_body p {
		padding-top: 13.3333333333vw;
		font-size: 6.9333333333vw;
		line-height: 1.9;
	}

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

	#service_common_sec .part1 .block .flex_body a img {
		margin-left: 2.6666666667vw;
		width: 7.7333333333vw;
	}

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

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

	#service_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/service_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

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

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

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

	#service2 .part1 .icon img {
		width: 25.6vw;
	}

	#service2 .part1 h2 {
		font-size: 9.6vw;
		text-align: center;
		padding-top: 6.4vw;
		padding-bottom: 12vw;
	}

	#service2 .part1 p {
		text-align: left;
		background: #3d7274;
		color: white;
		font-size: 5.6vw;
		padding: 15.4666666667vw 12vw;
		display: inline-block;
		letter-spacing: 0.02em;
		line-height: 2;
		font-weight: 400;
	}

	#service2 .part1 h3 {
		margin-top: 16vw;
		text-align: center;
	}

	#service2 .part2 {
		padding-top: 24vw;
		padding-bottom: 20vw;
	}

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

	#service2 .part2 .block:last-child {
		margin-bottom: 0;
	}

	#service2 .part2 .block .flex_img {
		width: 100%;
	}

	#service2 .part2 .block .flex_img img {
		width: 100%;
	}

	#service2 .part2 .block .flex_body {
		max-width: initial;
		margin-left: 13.3333333333vw;
		margin-right: 13.3333333333vw;
		margin-top: 17.8666666667vw;
	}

	#service2 .part2 .block .flex_body h3 {
		font-size: 9.3333333333vw;
		border-left: 3px solid #3d7274;
		padding-left: 11px;
	}

	#service2 .part2 .block .flex_body p {
		padding-top: 13.3333333333vw;
		font-size: 6.9333333333vw;
		line-height: 1.9;
	}

	#service2 .part2 .block .flex_body a {
		margin-top: 9.8666666667vw;
		font-size: 8.2666666667vw;
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		color: black;
	}

	#service2 .part2 .block .flex_body a img {
		margin-left: 2.6666666667vw;
		width: 7.7333333333vw;
	}

	#service2 .part2 .block.flex_img_left .flex_body {
		padding-left: 0;
	}

	#service2 .part2 .block.flex_img_right .flex_body {
		padding-right: 0;
	}

	#philosophy_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/philosophy_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#philosophy_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
	}

	#philosophy_fv p {
		color: white;
		font-size: 6.9333333333vw;
		letter-spacing: 0.02em;
	}

	#philosophy2 .part1 {
		padding-top: 8vw;
		text-align: center;
	}

	#philosophy2 .part1 .part_body {
		text-align: left;
		position: relative;
		display: inline-block;
		margin-top: 8vw;
	}

	#philosophy2 .part1 .part_body::before {
		background-color: #3d7274;
		content: "";
		display: block;
		width: 16.2666666667vw;
		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: 105.6vw;
		font-size: 17.3333333333vw;
		font-weight: 500;
	}

	#philosophy2 .part1 .part_body dl dt span {
		color: white;
		display: inline-block;
		width: 16.2666666667vw;
		padding: 0 1.3333333333vw;
		align-items: center;
		margin-right: 2.6666666667vw;
	}

	#philosophy2 .part1 .part_body dl dd {
		font-size: 8vw;
	}

	#philosophy2 .part2 {
		display: flex;
		max-width: 888px;
		margin: auto;
		padding-top: 50.1333333333vw;
		justify-content: space-between;
		padding-bottom: 30.1333333333vw;
	}

	#philosophy2 .part2 p {
		font-size: 6.9333333333vw;
		letter-spacing: 0.02em;
	}

	#philosophy2 .part3 {
		height: 160.5333333333vw;
		margin-bottom: -7.4vw;
		z-index: -1;
		position: relative;
	}

	#philosophy2 .part3 img {
		width: 100%;
		height: 100%;
	}

	#company_fv {
		padding-top: 66.6666666667vw;
		text-align: center;
		background: url(./../images/company_fv_sp.png) no-repeat;
		background-size: cover;
		background-position: bottom right;
		padding-bottom: 72vw;
	}

	#company_fv h1 {
		font-size: 15.4666666667vw;
		color: white;
		font-weight: 400;
		letter-spacing: 0.02em;
	}

	#company_fv p {
		color: white;
		font-size: 6.9333333333vw;
		letter-spacing: 0.02em;
	}

	#company2 .part1 {
		max-width: 818px;
		margin: auto;
		padding-top: 5.3333333333vw;
	}

	#company2 .part1 h2 {
		font-size: 13.6vw;
		font-weight: 400;
		padding-bottom: 11.7333333333vw;
	}

	#company2 .part1 .part_body {
		padding-bottom: 24.5333333333vw;
	}

	#company2 .part1 .part_body dl {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		border-bottom: 1px solid black;
		padding: 8vw 0;
	}

	#company2 .part1 .part_body dl:first-child {
		border-top: 1px solid black;
	}

	#company2 .part1 .part_body dl dt {
		width: 56vw;
		font-size: 6.9333333333vw;
	}

	#company2 .part1 .part_body dl dd {
		flex: 1;
		font-size: 6.9333333333vw;
	}

	#company2 .part2 {
		display: flex;
		max-width: 888px;
		margin: auto;
		padding-top: 9.3333333333vw;
		justify-content: space-between;
		padding-bottom: 10.6666666667vw;
		flex-wrap: wrap;
	}

	#company2 .part2 p {
		font-size: 6.9333333333vw;
		letter-spacing: 0.02em;
		margin-bottom: 5.3333333333vw;
	}

	footer {
		background: url(./../images/footer_bg_sp.png) no-repeat;
		background-position: top right;
		background-size: 100% auto;
		padding-top: 50.6666666667vw;
		padding-bottom: 32vw;
	}

	footer .part1 {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		padding: 0 13.3333333333vw;
	}

	footer .part1 h1 {
		padding: 20vw 0 14.1333333333vw;
		line-height: 0;
		width: 100%;
		order: 2;
		text-align: center;
	}

	footer .part1 h1 img {
		width: 72px;
	}

	footer .part1 p {
		width: 100%;
		order: 3;
		font-size: 5.6vw;
		color: white;
		margin-left: 0;
		text-align: center;
	}

	footer .part1 p a {
		color: white;
		text-decoration: none;
	}

	footer .part1 .btn_wrapper {
		width: 100%;
		order: 1;
		flex: 1;
	}

	footer .part1 .btn_wrapper ul {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 4.5333333333vw 9.3333333333vw;
	}

	footer .part1 .btn_wrapper ul li a {
		color: white;
		font-size: 6.9333333333vw;
	}

	@keyframes rotating {
		from {
			transform: rotate(-90deg);
		}

		to {
			transform: rotate(0deg);
		}
	}

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

		20% {
			opacity: 1;
		}
	}

	/* ---------------募集要項ページ--------------- */
	/* パンくず */
	.custom_breadcrumb {
		display: none;
	}

	.page-id-29452 .common_fv,
	.page-id-29446 .common_fv,
	.page-id-29463 .common_fv,
	.page-id-29460 .common_fv {
		position: static;
		padding: calc(57 / 375 * 100vw) 0 calc(14 / 375 * 100vw);
	}

	/* コンテンツ */
	.sec_outline {
		padding: 13.3333333333vw 0 12.8vw;
	}

	.sec_outline .outline_inner {
		padding: 0 0;
	}

	.sec_outline .outline_list {
		display: flex;
		flex-direction: column;
		border-bottom: 1px solid #7E7E7E;
		padding: 6.1333333333vw 0;
	}

	.sec_outline .outline_list:last-of-type {
		border-bottom: none;
	}

	.sec_outline .outline_list dt {
		font-size: 4.2666666667vw;
		font-weight: bold;
		color: #231815;
		margin-bottom: 3.2vw;
		width: 100%;
		text-align: left;
		padding-right: 0;
	}

	.sec_outline .outline_list dd {
		font-size: 4.2666666667vw;
		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: 13.3333333333vw;
	}

	.sec_outline .outline_btn .btn_more {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		border-color: #231815;
		color: #231815;
		height: 11.7333333333vw;
	}

	.sec_outline .outline_btn .btn_more .arrow_r {
		border-color: #231815;
		transform: rotate(45deg);
		margin-left: 4px;
		top: 0;
	}
}

@media (min-width: 500px) and (max-width: 767px) {
	.sec_hero .hero_block {
		padding-top: 110px;
	}

	.sec_hero .hero_textContainer {
		bottom: 60px;
	}
}




/*----------------------------
 snap scroll 
 ----------------------------*/
@media screen and (max-width: 767px) {

	.snap-section-group {
		scroll-snap-align: none;
		height: auto;
	}

	.snap-section-group .snap-section {
		min-height: var(--vh);
		scroll-snap-align: start;
	}
}