@media (max-width: 1370px) {
	.inner {
		width: 90%;
	}
}

@media (max-width: 1220px) {
	body {
		font-size: 14px!important;
	}
	
	.message, .default-list, .interview-section .card-item .message-body .text-wrapper .answer {
		font-size: 14px!important;
		line-height: 24px!important;
	}
	
	.card-item {
		padding: 2em;
	}
	
	.global-header .logo {
		width: 56px;
	}
	
	.global-header ul.default-menu {
		padding: 8px 16px;
		column-gap: 16px;
		font-size: 14px;
	}
	
	.global-header .entry-btn {
		font-size: 14px;
		padding: 8px 16px;
	}
	
	/*社長メッセージ*/
	.message-from-ceo .card-item .message-title, .page-title .card-item .message-title {
		font-size: 24px;
	}
	
	/*社員メッセージ*/
	.message-from-employee .inner .employee.card-item .text-box h2 {
		font-size: 16px;
	}
	
	/*スライドショー　社員*/
	.album-slide-show .swiper-slide {
		width: 240px;
	}
	
	/*福利厚生と募集要項*/
	.employee-benefits .card-list .card-item .title, .recruitment .card-list .card-item .child-list .title {
		font-size: 20px;
	} 
	
	.employee-benefits .card-list .card-item {
		min-height: 700px;
	} 
	
	.recruitment .card-list .card-item {
		min-height: 740px;
	}
	
	.recruitment .card-list .card-item .child-list .title .smaller-text, .recruitment .card-list .card-item .child-list .empasis {
		font-size: 1em;
	}
	
	/*選考フロー*/
	.selection-flow .step-number {
		font-size: 3em;
	}
}

@media (max-width: 820px) {
	.first-view .scroll-icon {
		display: none;
	}
	
	.first-view .catch-copy h1, .first-view .catch-copy p {
		/*width: 80%;
		margin: 0 auto;*/
		text-align: left
	}
	
	.first-view .catch-copy h1 {
		font-size: 8vw;
		line-height: 1.5em;
		letter-spacing: 1vw;
	}
	
	.first-view .catch-copy p {
		font-size: 3vw;
		line-height: 1.5em;
	}
	
	.hamberger-menu {
		position: relative;
		display: block;
		width: 40px;
		height: 30px;
	}
	
	.hamberger-menu_btn {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 99999999999999;
		width: 100%;
		height: 100%;
	}
	
	.hamberger-menu_btn .icon {
		position: relative;
	}
	
	.hamberger-menu_btn .icon span {
		content: "";
		display: block;
		background-color: var(--primary-900);
		width: 40px;
		height: 1px;
		position: absolute;
		transition: all 0.3s;
		right: 0;
	}

	.hamberger-menu_btn .icon span:nth-of-type(1) {
		top: 8px;
	}
	.hamberger-menu_btn .icon span:nth-of-type(3) {
		bottom: 8px;
	}
	
	_::-webkit-full-page-media,_:future,:root .hamberger-menu_btn .icon span:nth-of-type(1) {
	  top: 7px;
	}

	_::-webkit-full-page-media,_:future,:root .hamberger-menu_btn .icon span:nth-of-type(3) {
	  bottom: 7px;
	}

	.hamberger-menu_btn.clicked span:nth-last-of-type(2){
		opacity: 0;
	}
	.hamberger-menu_btn.clicked span:nth-of-type(1){
		top: 0;
		transform: rotate(-45deg);
	}
	.hamberger-menu_btn.clicked span:nth-of-type(3){
		bottom: 0;
		transform: rotate(45deg);
	}
	_::-webkit-full-page-media,_:future,:root .hamberger-menu_btn.clicked span:nth-of-type(1) {
	  top: 0;
	}
	_::-webkit-full-page-media,_:future,:root .hamberger-menu_btn.clicked span:nth-of-type(3) {
	  bottom: 0;
	}
	
	.hamberger-menu_contents {
        position: fixed;
        right: -50%;
        top: 0;
        width: 50%;
        min-height: 100svh;
        background-color: rgba(255, 255, 255, 0.9);
        align-items: center;
        justify-content: center;
		overflow: hidden;
	}
	
	.hamberger-menu_contents.show, .hamberger-menu_contents.out {
		display: flex;
		right: 0;
		animation-duration: 0.3s;
		animation-fill-mode: forwards;
		animation-timing-function: ease;
	}
	
	.hamberger-menu_contents.show {
		animation-name: slideIn;
	}
	
	.hamberger-menu_contents.out {
		animation-name: slideOut;
	}
	
	@keyframes slideIn {
		0% {
			right:  -50%;
		}
		100% {
			right: 0;
		}
	}
	
	@keyframes slideOut {
		0% {
			right:  0;
		}
		100% {
			right: -50%;
		}
	}
	
	.hamberger-menu_contents ul {
		text-align: center;
	}
	
	.hamberger-menu_contents ul > * + * {
		margin-top: 40px;
	}
	
	.hamberger-menu_contents ul li a {
        font-size: 18px;
	}
	
	br.mobile-hidden, .global-header .content-wrapper ul, .global-header .entry-btn {
		display: none!important;
	}
	
	br.pc-hidden {
		display: block;
	}
	
	.section-title {
		font-size: 32px;
	}
	
	.message-from-ceo .card-item .flex-wrapper {
		grid-template-columns: 1fr;
	}
	
	.message-from-ceo .image.mobile {
		display: block;
	}
	
	.message-from-ceo .image.mobile img {
		height: 344px;
		object-fit: cover;
		object-position: 0px -35px;
	}
	
	.message-from-ceo .image.pc {
		display: none;
	}
	
	.message-from-ceo .card-item .message-title {
		font-size: 32px;
		text-align: justify;
	}
	
	.message-from-employee .inner {
		grid-template-columns: 1fr;
	}
	
	.message-from-employee .inner .employee.card-item {
		grid-template-columns: 160px 1fr;
	}
	
	.card-item > * + * {
		margin-top: 16px;
	}
	
	.business-introduction .card-item .child_card-list, .business-introduction .card-item .flex-wrapper {
		grid-template-columns: 1fr;
	}
	
	.business-introduction .card-item .excel-image img {
		height: 160px;
	}
	
	.business-introduction .card-item .excel-image.mobile {
		display: block;
	}
	
	.business-introduction .card-item .excel-image.pc {
		display: none;
	}
	
	.employee-benefits .card-list {
		grid-template-columns: 1fr;
	}
	
	.employee-benefits .card-list .card-item, .recruitment .card-list .card-item, .employee-benefits .card-list .card-item:nth-child(3), .employee-benefits .card-list .card-item:nth-child(4), .employee-benefits .card-list .card-item:nth-child(5), .employee-benefits .card-list .card-item:nth-child(6) {
		height: auto;
		min-height: unset;
	}
	
	.album > * + * {
		margin-top: 20px;
	}
	
	.album-slide-show .swiper-slide {
		width: 180px;
	}
	
	.circle-card {
		max-width: 448px;
		
	}
	
	.qualities .qualities-list {
		grid-template-columns: 1fr;
		width: fit-content;
	}
	
	.circle-card {
		border-radius: 56px;
		padding: 32px;
		max-width: unset;
		width: 90%;
		margin: 0 auto;
	}
	
	.recruitment .card-list {
		grid-template-columns: 1fr;
	}
	
	.selection-flow .mobile-hidden {
		display: none;
	}
	
	.selection-flow .flow-wrapper {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	
	.selection-flow .step-circle {
		aspect-ratio: 16 / 9;
		margin-bottom: 8px;
		border-radius: 8px;
		width: 100%;
	}
	
	.selection-flow .step {
		gap: 8px;
	}
	
	.selection-flow .step-title {
		font-size: 18px;
	}
	
	.selection-flow .step-number {
		font-size: 2em;
	}
	
	.faq .faq-container summary {
		font-size: 16px;
	}
	
	footer .footer-link li a {
		font-size: 12px;
	}
	
}

@media (max-width: 550px) {
	.main-area > * + * {
		padding-top: 20%;
	}
	
	.card-item {
		padding: 2em 1em;
	}
	
	.card-item .heading {
		font-size: 18px;
	}
	
	.message-from-ceo .card-item .message-title, .business-introduction .card-item h2 {
		font-size: 24px;
		text-align: left;
	}

	.message-from-ceo .image.mobile img {
		height: 240px;
		object-fit: cover;
		object-position: unset;
	}
	
	.hamberger-menu_contents {
		width: 100%;
		right: -100%;
	}
	
	@keyframes slideIn {
		0% {
			right:  -100%;
		}
		100% {
			right: 0;
		}
	}
	
	@keyframes slideOut {
		0% {
			right:  0;
		}
		100% {
			right: -100%;
		}
	}
	
	.first-view .catch-copy h1 {
		font-size: 10vw;
		line-height: 2em;
	}
	
	.first-view .catch-copy p {
		line-height: 2em;
		font-size: 4vw;
	}
	
	.message-from-employee .inner .employee.card-item .text-box .label, .message-from-ceo .card-item .label {
		font-size: 12px;
		padding: 8px;
	}
	
	.employee.card-item .text-box .name {
		font-size: 12px;
	}
	
	.message-from-employee .inner .employee.card-item .text-box h2 {
		font-size: 14px;
		text-align: left;
	}
	
	.business-introduction .swiper-wrapper .swiper-slide {
		width: 88px;
	}
	
	.recruitment .card-list .card-item.show {
		grid-template-columns: 1fr;
	}
	
	.recruitment .card-list .card-item .image {
		width: 90%;
		height: 200px;
		margin: 16px auto 0;
	}
	
	.recruitment .card-list .card-item .image img {
		border-radius: 8px;
		margin-top: unset;
	}
	
	.recruitment .card-list .card-item .image img.pc {
		display: none;
	}
	
	.recruitment .card-list .card-item .image img.mobile {
		display: block;
	}
	
	.swiper-wrapper .swiper-slide {
		width: 160px;
	}
	
	.selection-flow .flow-wrapper {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	
	.selection-flow .step-description {
		font-size: 12px;
	}
	
	.faq .faq-container summary {
		font-size: 14px;
		padding: 1em;
	}
}