body .pc {
	display: none;
}

.sp {
	display: block;
}

/* 全体設定 */
body {
	margin: 0;
	padding-bottom: 8vh;
	/* ボタンの高さ分の余白を追加 */
}

html,
body {
	overflow-x: hidden;
	/* 水平スクロールを強制的に無効化 */
}

h2 {
	font-size: 1.6rem;
}

h3 {
	font-size: 1.2rem;
}

.slider-container {
	max-width: 100%;
	/* スライダーの幅を画面幅に制限 */
	overflow: hidden;
	/* 必要以上に要素がはみ出さないようにする */
}

.slider-item {
	max-width: 100%;
	/* スライド内の要素も画面幅に収める */
	box-sizing: border-box;
	/* パディングを幅に含める */
}

.heading-image {
	max-width: 90vw !important;
}

header,
footer {
	background-color: #fff;
}

#section1 {
	width: 90vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
}

.bigtxt {
	font-size: 1.6rem !important;
	font-weight: 800;
	margin-bottom: 4rem;
}

.bigtxt2 {
	line-height: 3rem;
}

#section1 {
	background-position: bottom;
}

#section2 {
	width: 90vw;
	height: 100vh;
	margin: 0 auto;
	padding: 0;
	background-image: none;
}

#section2 p {
	font-size: 1.5rem;
}

.container-content-base {
	flex-direction: column;
}

.section-content {
	padding: 0;
}

.section-base {
	height: auto;
	padding: 60px 0;
	box-sizing: border-box;
	overflow: hidden;
}

.section-base .text-area {
	width: 90%;
	margin: 0 auto;
}

.section-base .text-area p {
	margin: 2rem 0;
}

.section-base .buttons {
	margin: 0px;
}

.person-layer {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	position: relative;
	top: 0;
	left: 0;
	transform: none;
	z-index: 2;
	width: auto;
}


.person-layer-special {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	position: relative;
	top: auto;
	left: auto;
	transform: translate(0%, 0%);
}

.person-layer img {
	position: relative;
	margin: 0 auto 20px auto;
	bottom: 0px;
	max-width: 90vw;
}

.person-layer-special img {
	max-width: 90vw;
}

.boss {
	width: 50vw;
}

.background {
	clip-path: polygon(0px 0px, 0% 0%, 100% 12%, 0% 60%);
}

.image-layer-container {
	position: relative;
	width: 100%;
	height: 400px;
}

.member-slide img {
	width: 100%;
	height: auto;
}

.member-slider {
	height: auto;
}

.hoso {
	width: 82% !important;
}

.section-link {
	position: absolute;
	bottom: 0;
}

.member-navigation {
	position: relative;
	margin-left: 80vw;
	display: flex;
	gap: 10px;
	z-index: 2;
}

.section-link {
	width: 100%;
	left: 60px;
}

.section-content:nth-child(even) {
	background-color: #fff;
}

#section9 img {
	width: 60vw;
}

#section9 {
	min-height: 100px;
	height: auto;
	flex-direction: column;
	gap: 20px;
}

#news {
	background-color: #EFECEB;
}

#cta {
	display: none;
}

.footer-container {
	display: none !important;
}

.news-post {
	height: auto;
}

.company-intro {
	width: 90vw;
	margin: 0 auto;
}

.company-background {
	background-color: #CCE5E1;
	clip-path: polygon(0px 0px, 100% 0%, 100% 20%, 0% 40%);
}

.company-background-b {
	top: 30vh;
	clip-path: polygon(0px 440px, 100% 30%, 100% 100%);
	z-index: 5;
}

.company-container {
	flex-direction: column;
}

.company-background-c {
	clip-path: none;
	height: 1200px !important;
	width: 100%;
	margin-top: -1200px;
}

.company-image-section {
	overflow: visible;
}

.company-image-section img {
	width: auto;
	height: 60vh;
	margin: -40px 0 0 -60px;
}

.company-text-section {
	flex: 6;
	z-index: 6;
	margin-top: -160px;
}

#philosophy {
	background-color: #fff;
}

.container-content,
.company-content,
.information-container,
.timeline,
.graph {
	width: 90vw;
	margin: 0 auto;
}

.philosophy-wrap {
	flex-direction: column;
}

.philosophy-ontent-image img {
	width: 100%;
}

.company-content-b {
	width: 90vw;
	margin: 0 auto;
	border: 0px;
}

.philosophy-wrap {
	margin-bottom: 5vh;
}

.link-content {
	background-color: #fff;
	display: block;
	height: auto;
}

.link-item {
	width: 90vw;
	margin: 0 auto;
}

.link-item:first-of-type {
	margin-bottom: 30px;
}

.member {
	width: 50%;
}

.interview-container {
	flex-direction: column;
	/* 縦並びに変更 */
}

.interview-image-section,
.interview-image-section-right {
	order: 1;
	/* 画像をテキストの後に配置 */
}

.interview-text-section {
	order: 2;
	/* テキストを画像の前に配置 */
}

.main-image {
	width: 100vw;
	height: 90vh;
}

.main-image img {
	width: 100%;
	height: 70%;
	object-fit: cover;
	object-position: center;
}

.left-text {
	position: absolute;
	-webkit-text-stroke: 2px #fff;
	text-stroke: 2px #fff;
}

.left-text h2 {
	font-size: 4rem !important;
}

.right-content>.main-content {
	flex-direction: column;
	align-items: flex-start;
}

.right-content {
	bottom: 60px;
}

.quote p {
	display: inline;
	background: #1F9884;
	color: #fff;
	padding: 10px 15px;
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.4;
	font-family: serif;
	font-weight: 800;
	align-self: flex-start;
	white-space: nowrap;
}

.quote {
	margin-left: 5%;
	max-width: 90vw;
	overflow: hidden;
}

.author-info {
	margin: 5%;
	flex-direction: column;
}

.author-info span {
	background-color: #000;
}

.image-wrapper img {
	height: 400px;
	width: 100%;
	object-fit: cover;
	object-position: top
		/* 画像を上部に配置 */
}

.important-things img {
	margin: 0;
}

.important-things {
	background-color: #B1DAD3;
	height: auto;
	display: flex;
	padding: 0 30px 30px 30px;
	flex-direction: column;
	justify-content: center;
}

.important-things div {
	padding: 0;
	margin-top: -80px;
}

.important-things>div>h2 {
	text-align: center;
}

.last-q>img {
	height: 30vh;
	width: 100%;
	object-fit: cover;
	object-position: top;
	/* 画像を上部に配置 */
}

.left-panel {
	display: none;
}

.schedule-section-container,
.private-header {
	width: 90vw;
	margin: 0 auto;
}

.right-panel {
	padding: 0;
}

.private-cards,
.message-container {
	flex-direction: column;
	width: 90vw;
	margin: 0 auto;
}

.message-header {
	flex-direction: column;
	align-items: flex-start;
	width: 90vw;
	margin: 0 auto;
}

.private-dec {
	display: none;
}

.private-card {
	max-width: 100%;
}

.members {
	display: flex !important;
	flex-wrap: wrap;
	width: 90vw;
	margin: 0 auto;
}

.link-head,
.question-text {
	width: 90vw;
	margin: 0 auto;
}

.interview-text-section-width-flex {
	flex-direction: column;
}

.qabox {
	width: 100% !important;
}

.schedule-item>.content {
	max-width: 70%;
}

.company-page {
	background: linear-gradient(to bottom, #f0f0f0 80vh, #CCE5E1 80vh, #CCE5E1 80vh) !important;
}

.work-intro {
	background-position: 90% center;
	background-size: cover;
	height: 30vh;
}

.environment-intro,
.honne-intro,
.recruitinfo-intro,
.entry-intro {
	height: 30vh;
	background-position: center;
}

.special-intro,
.faq-intro {
	background-position: 70% center;
	height: 30vh;
	background-size: cover;
}

.environment-intro {
	background-position: 20% center;
}

.page-explanation {
	margin: 6vh;
	height: auto;
	text-align: left;
}

.mvc_img {
	max-width: 90vw;
}

.workflex {
	flex-direction: column;
}

.department {
	width: 100%;
}

.page-explanation h2 {
	font-size: 1.6rem;
}

.grid-container {
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
}

.benefits-grid {
	grid-template-columns: 1fr;
}

.benefit-item-incentive {
	flex-direction: column;
}

.training-section {
	flex-direction: column;
	align-items: flex-start;
	height: auto;
	padding: 5vh;
}

.training-subtitle {
	border-bottom: 1px solid #333;
	border-right: 0px;
	width: 100%;
	padding-bottom: 20px;
}

.training-list {
	align-items: flex-start;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #333;
	border-right: 0px;
	width: 100%;
	padding-bottom: 20px;
}

.intro-philosophy {
	flex-direction: column-reverse;
}

.philosophy-box {
	margin: 0 0 2rem 0;
}

.philosophy-box h2 {
	font-size: 1.6rem;
}

.numbers-box h2 {
	text-align: left;
}

.numbers-wrap img {
	width: 100%;
}

.profile-wrap {
	flex-wrap: wrap;
	gap: 20px;
}

.profile-box {
	width: 45%;
}

.profile-box img {
	width: 100%;
}

.topicks-section {
	padding: 2rem;
}

.profiles {
	display: flex;
	flex-direction: column;
	padding: 2rem 0;
}

.profile,
.half {
	width: 100%;
}

.group-photo {
	order: -1;
	margin-bottom: 2rem;
}

.group-photo img {
	height: auto;
}

.symposium-set {
	flex-direction: column;
	padding: 2rem 0;
}

.symposium-img {
	height: 30vh;
	width: 100%;
	object-fit: cover;
	object-position: top;
	margin-bottom: 2rem;
}

.order-top {
	order: -1;
}

.order-bottom {
	order: 1;
}

.order-bottom img {
	margin: 0;
	box-sizing: border-box;
	display: block;
}

.question-section {
	padding: 0;
}

#okashi img {
	width: 100%;
}

.symposium-img-a {
	width: 80%;
	margin-left: 3rem;
}

.symposium-img-b {
	width: 70%;
}

.symposium-set-b {
	padding: 2rem 0;
}

.grid-container {
	width: 90vw;
	grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
	gap: 30px;
	box-sizing: border-box;
}

.card .question-text {
	width: 100%;
}

#modal-img {
	height: auto;
	position: relative;
	top: 16%;
}

.modal-content {
	width: 90%;
}

.modal-sub {
	font-size: 1rem;
}

.modal-head {
	width: 100%;
}

.modal-head h2 {
	font-size: 3rem;
}

.icon {
	width: 20%;
}

.text {
	margin-top: 0;
}

.yes>.icon img,
.no>.icon img {
	height: 80px;
}

.video-message,
.job-offer-head,
.job-info-first {
	margin: 0;
	width: 100%;
}

.job-offer-head-b {
	margin-top: 10vh;
	width: 100%;
}

.job-offer {
	padding: 0;
}

table {
	display: block;
	width: 100%;
	/* 表全体をブロック要素に変更 */
}

thead {
	display: none;
	/* ヘッダーを非表示 */
}

th {
	width: 100%;
	border-bottom: 1px solid #ddd;
}

tbody tr {
	display: flex;
	flex-direction: column;
	/* 縦方向に配置 */
	margin-bottom: 20px;
	/* 各行の間隔 */
}

td {
	display: flex;
	justify-content: flex-start;
	padding: 10px;
	width: 100%;
	flex-direction: column;
}

td::before {
	content: attr(data-label);
	/* ラベルを表示 */
	font-weight: bold;
	margin-right: 10px;
}

.job-offer-head,
.job-offer-head-b {
	flex-direction: column;
}

.job-cate {
	width: 100%;
	height: 5vh;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
}

.category-tags {
	width: 100%;
	height: 5vh;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0.5rem 0;
}

.application-process {
	display: block;
}

.application-step {
	width: 100%;
	margin-bottom: 20px;
}

.btn-wrap {
	flex-direction: column;
}

.btn {
	display: inline-block;
	padding: 1rem 2rem;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
	margin: 0 30px 8vh 30px;
	border-radius: 20px;
	color: #fff;
	font-weight: 600;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s, box-shadow 0.3s;
}

.faq {
	flex-direction: column;
}

.faq-contents {
	width: 100%;
}

.faq-cate h3 {
	font-size: 1.2rem;
}

.faq-cate {
	margin-bottom: 20px;
}

.faq-section>hr {
	width: 90%;
}

.big-btn button {
	margin: 5vh;
	padding: 2rem;
	font-size: 1.2rem;
}

.close {
	font-size: 2rem;
	right: 40px;
	top: 14%;
	float: inline-start;
}

.philosophy {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.philosophy-item {
	height: 300px;
	width: 300px;
	margin: 0 auto 30px auto;
}

/* CTAボタンのコンテナ */
.cta-buttons-sp {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8vh;
	display: flex;
	z-index: 997;
	/* 他の要素より前面に配置 */
}

/* 各ボタンの設定 */
.cta-button-sp {
	flex: 1;
	text-align: center;
	line-height: calc(8vh - 16px);
	/* ボタンの高さに応じて調整 */
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	padding: 8px;
	/* タッチエリアを確保 */
	margin: 0;
	/* 余白を完全になくす */
}

/* 左ボタンのデザイン */
.cta-button-sp.left {
	background-color: #1E9884;
	/* 緑色 */
}

/* 右ボタンのデザイン */
.cta-button-sp.right {
	background-color: #FBD224;
	/* 黄色 */
	color: #331107;
}

/* ボタンのタッチ感を追加 */
.cta-button:active {
	opacity: 0.8;
	transform: scale(0.98);
}

.company-background-c {
	height: 100%;
	width: 100%;
	margin-top: -1200px;
	position: absolute;
}

.company-table th {
	width: 100%;
}

.company-table td {
	width: 100%;
}

.company-table tbody {
	width: 100%;
	box-sizing: border-box;
	/* パディングやボーダーも幅に含める */
}

.company-table tbody tr {
	flex-direction: column;
	margin-bottom: 20px;
	width: 90vw;
	margin: 0 auto;
}

.timeline-item {
	flex-direction: column;
}

.timeline-date {
	margin: 0;
}

.modal-content {
	margin-top: 10vh;
	padding: 10px;
}

.menu {
	height: auto;
	align-items: flex-start;
	width: 100%;
	flex-direction: column;
	font-size: 1rem;
}

.heading-image {
	height: auto !important;
}

.news-section {
	flex-direction: column;
}

.news-container {
	border: 0px;
	margin: 0;
	padding: 0;
}

.news-section {
	max-height: 100%;
	overflow: visible;
}

.child_menu {
	display: none;
}

.child_menu_sp {
	list-style: none;
	width: 100%;
}

.child_menu_sp li a {
	color: #331107;
	margin: 0rem auto 1rem auto;
	text-align: left;
	font-size: 1rem;
}

.menu a {
	padding: 0;
	text-align: left;
}

.entry-butto,
.back-to-top {
	display: none !important;
}

.global_menu {
	z-index: 1001;
}

.menu_button {
	z-index: 1002;
}

.menu-text {
	width: 100%;
	font-size: 1.2rem;
	margin-bottom: 1rem;

}

.entry-wrap {
	padding: 5vh 0;
}

.entry-wrap img {
	max-width: 100%;
}

.business-item img {
	max-width: 40vw;
}

.business-item h3 {
	font-size: 1rem;
}

.vision-top-text {
	width: 70vw;
}

.private-main-title {
	font-size: 1.5rem;
	white-space: nowrap;
}

.private-card h2 {
	font-size: 1.3rem;
}

.decoration-text-layer {
	top: 60%;
}

.decoration-text-layer img {
	width: 40vw;
}

.decoration-text-layer-mem img {
	width: 40vw;
}

.decoration-layer img,
.decoration-layer-2 img {
	width: 60%;
}

.container-content h1,
.top-img-head h1 {
	font-size: 1.6rem;
	white-space: nowrap;
}

.work-intro,
.environment-intro,
.honne-intro,
.recruitinfo-intro,
.entry-intro,
.special-intro {
	padding: 0;
}

.container-special {
	padding: 10vh 0;
}

.info-txtbox {
	height: auto;
}

.info-name {
	height: auto;
	flex-direction: column-reverse;
	width: 100%;
}

.info-name-l {
	width: 100%;
}

.topicks-table tbody tr {
	flex-direction: row;
	font-size: 1rem;
}

.topicks-table tbody tr:last-of-type {
	flex-direction: column;
}

.symposium-intro {
	height: auto;
	padding: 20px;
}

.symposium-titlle h3 {
	font-size: 1.2rem;
	margin-top: 1rem;
}

.numbers-wrap img {
	max-width: 100%;
}

.slick-prev,
.slick-next {
	display: none !important;
}

.qtxt {
	font-size: 1.2rem;
	line-height: 1.8rem;
}

.philosophy-title,
.history-title,
.message-text h2,
.vc h2,
.container-environment h2,
.benefits-wrap h2,
.numbers-box h2,
.message-box h3,
.desired-characters h2,
.desired-characters h2,
.onboarding-container h2 {
	font-size: 1.6rem;
}

.philosophy-title-sub,
.philosophy-content-text h3,
.link-head h3,
.question h2,
.info-column h2,
.benefit-item h3,
.question-text,
.question-text {
	font-size: 1.2rem !important;
	line-height: 1.8rem !important;
}

.card h3,
.vision-item h3,
.recruit-heading {
	font-size: 1.2rem;
}

.card .question-number {
	font-size: 1.8rem;
}

.symposium-box img {
	height: 460px;
}

.symposium-titlle {
	padding: 20px;
	top: -80px;

}

.menu-text::after {
	bottom: 0;
}

.new-graduates,
.career-recruits {
	background: none;
}


.recruit-title {
	font-size: 1.6rem;
	margin-bottom: 20px;
}

.recruit-subtitle {
	font-size: 1.2rem;
}

.recruit-heading {
	font-size: 1rem;
	margin-top: 30px;
}

.news-heading {
	font-size: 1rem;
	white-space: nowrap;
	overflow-x: scroll;
}

/* レスポンシブ対応：ニュースセクション */
.news-section {
	width: 90%;
	padding: 10px;
}

.recruit-section {
	height: 100vh;
	min-height: 1000px;
}

.recruit-intro {
	/* スマホではイントロ位置を調整 */
	font-size: 1rem;
	/* 文字サイズを調整 */
	padding: 10px;
	width: 90vw;
}

/* ニュースウィンドウ */
.news-window-wrap {
	padding: 10px;
	max-height: 250px;
	flex-direction: column;
	/* スクロール可能な範囲を縮小 */
}

.news-window-wrap>div {
	display: flex;
	margin-bottom: 10px;

}

/* ニュースウィンドウ */
.news-window {
	overflow: visible;
}

/* ニュースタイトル */
.news-title {
	font-size: 1rem;
	text-align: left;
}

.news-post-wrap {
	overflow-y: scroll;
	align-items: flex-start;

}

/* ニュース投稿のスタイル */
.news-post {
	flex-direction: column;
	/* スマホでは縦並び */
	margin-left: 0;
	margin-bottom: 10px;
	align-items: flex-start;

}

/* ニュースメタ情報 */
.news-meta {
	flex-direction: row;
	/* メタ情報を縦に並べる */
}

/* ニュース投稿のリンクを中央揃え */
.news-post a {
	text-align: center;
}

/* ボタン */
.top-btn {
	font-size: 1.5rem;
	width: 100px;
	height: 100px;
	line-height: 100px;
	margin-top: 20px;
}

.news-post-wrap {
	margin-left: 0;
	padding-left: 0;
	border: 0;
}

.career-recruits {
	background-position: -1100px top;
	position: relative;
	/* 画像が読み込めない場合の代替色 */
}

.news-category {
	font-size: 0.8rem;
	text-align: center;
	width: 80px;
}

.menu-text::after {
	display: none;
}

.member:hover img {
	transform: scale(1.05);
}

.member:hover .overlay {
	opacity: 0;
}

.child_menu_sp {
	margin-left: 1rem;
}

.entry-button {
	display: none !important;
}

/* .logo img {
	width: 260px;
} */

.header-logo_sns {
	display: none;
}

#main-visual {
	height: auto;
}



.slide-image.desktop-image,
.slide-text-layer {
	display: none !important;
}


.slide-image.mobile-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center;
	top: 0 !important;
	left: 0 !important;
}


.slick-dotted.slick-slider {
	height: 100%;
}

.slick-slider {
	display: inline;
}

.footer-wrap {
	border: 0px;
}