@media (max-width: 790px) {
	/*===============================
	MARK: common
	=================================*/
	body.is-fixed {
		overflow: hidden;
	}

	.container {
		width: min(1100px, calc(100% - 50px));
	}

	.pc-content {
		display: none !important;
	}
	.sp-content {
		display: block;
	}

	/*===============================
	MARK: BTN
	=================================*/
	.btn {
		font-size: 18px;
	}
	.btn.disabled {
		width: fit-content;
	}
	.btn.disabled svg {
		width: 18px;
	}

	.btn.btn-company {
		border-radius: 10px;
		font-size: 14px;
		padding: 0.7em 1em 0.7em 0.8em;
	}

	.btn.btn-company svg {
		width: 26px;
	}

	.btn.btn-link {
		font-size: 18px;
		border-radius: 10px;
		padding: 1.3em 1em;
	}

	.btn.btn-link svg {
		width: 18px;
	}

	.btn.btn02 {
		font-size: 14px;
	}
	.btn.btn02 svg {
		width: 18px;
	}

	.btn.btn-entry {
		background-color: rgba(248, 248, 41, 0.6);
		backdrop-filter: blur(3px);
		color: var(--c-sub);
		border: none;
	}

	/*===============================
	MARK: header
	=================================*/

	.header-inner {
		padding: 15px;
		margin-inline: auto;
		background: none;
	}

	.site-logo {
		padding-top: 0;
		width: 122px;
	}

	/*===============================
	MARK: nav
	=================================*/
	.sp-nav-logo {
		position: absolute;
		top: 15px;
		left: 15px;
		width: 122px;
	}

	/* --- ボタンの基本スタイル --- */
	.hamburger {
		display: grid;
		place-content: center;
		gap: 9px;
		width: 82px;
		height: 64px;
		position: fixed;
		top: 15px;
		right: 0;
		background: rgb(255 255 255 / 0.9);
		box-shadow: 0 3px 6px rgb(0 0 0 / 0.16);
		backdrop-filter: blur(3px);
		border-radius: 50em 0 0 50em;
		cursor: pointer;
		z-index: 250;
	}

	.hamburger__line {
		display: block;
		width: 32px;
		height: 3px;
		background-color: #153b6f;
		transition: 0.3s;
	}

	/* 三本線の配置 */
	.hamburger__line:nth-child(1) {
		top: 20px;
	}
	.hamburger__line:nth-child(2) {
		top: 30px;
	}
	.hamburger__line:nth-child(3) {
		bottom: 20px;
	}

	/* ボタンが active になった時の三本線アニメーション（×印） */
	.hamburger.is-active .hamburger__line:nth-child(1) {
		transform: translateY(12px) rotate(40deg);
		width: 39px;
	}
	.hamburger.is-active .hamburger__line:nth-child(2) {
		opacity: 0;
	}
	.hamburger.is-active .hamburger__line:nth-child(3) {
		transform: translateY(-12px) rotate(-40deg);
		width: 39px;
	}

	/* --- メニュー本体のスタイル --- */
	#js-sp-nav {
		width: 100%;
		box-shadow: none;
		background: url(../images/sp_nav_bg.jpg) no-repeat;
		background-size: cover;
		border-radius: 0;
		position: fixed;
		top: 0;
		right: -150%;
		width: 100%;
		height: 100vh;
		z-index: 200;
		transition: 0.4s;
		overflow: auto;
		overscroll-behavior: contain;
		margin-left: 0;
		padding: 80px 25px;
	}
	#js-sp-nav .nav-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		padding-inline: 30px 35px;
		padding-bottom: 60px;
	}
	.nav-inner {
		position: relative;
		padding: 20% 0 30px 0;
		margin-inline: 0;
		box-shadow: none;
		border-radius: 0;
		background: none;
		width: 100%;
	}

	#js-sp-nav .main-nav {
		flex-direction: column;
		align-items: start;
	}

	.nav-inner li {
		position: relative;
		list-style: none;
		margin-bottom: 0;
		width: 100%;
		text-align: right;
	}

	.main-nav li a {
		color: #fff;
		font-size: 18px;
	}

	/* active クラスがついたら画面内へ */
	#js-sp-nav.is-active {
		right: 0;
	}

	.open .nav-inner {
		opacity: 1;
		transition: all 0.3s;
		transition-delay: 0.4s;
	}

	.menu-parent-trigger {
		justify-content: space-between;
		padding-inline: 2.3em;
	}

	.sp-nav-item {
		position: relative;
		margin-top: 40px;
	}

	.sp-nav-item .btn-wrap {
		padding-left: 35%;
	}

	.sp-sns {
		position: absolute;
		left: 0;
		bottom: 0;
	}

	.sns-list {
		list-style: none;
	}

	.sns-list li {
		margin-top: 20px;
	}

	.sns-list a,
	.sns-list img {
		display: block;
	}

	/*===============================
	MARK: TOP
	=================================*/
	.top-bgMovie video {
		object-position: 87% center;
	}

	.js-enter-story {
		right: 16px;
		bottom: 16px;
		width: 97px;
	}
	.animated-arrow {
		bottom: 35px;
		gap: 7px;
	}
	.animated-arrow span {
		width: 6px;
	}

	.story-panel.--story_main {
		flex: 0 0 400vw;
		width: 400vw;
	}

	.story-panel .lead.--01 {
		left: 11vw;
		top: 41vh;
		width: 52vw;
	}

	.s-img.--img01 {
		width: 54vw;
		top: 5vh;
		left: 37vw;
	}
	.s-img.--img02 {
		width: 34vw;
		top: 68vh;
		left: 72vw;
	}
	.s-img.--img03 {
		width: 44vw;
		bottom: 0;
		left: 17vw;
	}

	.story-panel .lead.--02 {
		width: 60vw;
		top: 53vh;
		left: 124vw;
	}

	.s-img.--img04 {
		width: 93vw;
		top: 20vh;
		left: 155vw;
	}

	.s-img.--img05 {
		width: 35vw;
		top: 51vh;
		left: 193vw;
	}

	.story-panel .lead.--03 {
		width: 68vw;
		top: 42vh;
		left: 260vw;
	}

	.s-img.--img06 {
		width: 43vw;
		top: 15vh;
		left: 283vw;
	}
	.s-img.--img07 {
		width: 103vw;
		bottom: 0;
		left: 227vw;
	}

	.story-panel.--story_photo {
		margin-left: -50vw;
	}

	h2.copy-sub {
		padding-inline: 25px;
	}

	.js-restart-story {
		right: 16px;
		bottom: 16px;
		width: 97px;
	}

	.scroll-down {
		background-color: #fff;
		bottom: 40px;
		content: '';
		height: 60px;
		width: 1px;
		border: none;
	}

	.scroll-down span {
		display: none;
	}

	.--story_main .scroll-down {
		top: 55vh;
		left: 77vw;
		transform: unset;
		opacity: 1;
		height: 1px;
		width: 60px;
	}

	#main-lead {
		padding-block: 130px 135px;
		font-size: 13px;
		line-height: 2;
	}
	#main-lead p {
		padding-left: 90px;
	}

	#top-video {
		padding-block: 0;
	}

	#top-video::before,
	#top-video::after {
		content: none;
	}

	.video-wrap.d-flex {
		flex-direction: column;
	}

	.video-wrap > div {
		position: relative;
		padding-inline: 25px;
		width: 100%;
	}

	.video-wrap .col-left {
		padding-block: 170px 75px;
	}
	.video-wrap .col-left::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		opacity: 0.9;
		left: 0;
		background: #3cc2ca;
		background: linear-gradient(
			0deg,
			rgba(60, 194, 202, 1) 0%,
			rgba(60, 194, 202, 1) 15%,
			rgba(60, 194, 202, 1) 80%,
			rgba(60, 194, 202, 0) 100%
		);
	}

	.video-wrap .col-right {
		padding-block: 80px 100px;
	}
	.video-wrap .col-right::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		opacity: 0.9;
		left: 0;
		background: #095493;
		background: linear-gradient(
			0deg,
			rgba(9, 84, 147, 0) 0%,
			rgba(9, 84, 147, 1) 20%,
			rgba(9, 84, 147, 1) 75%,
			rgba(9, 84, 147, 1) 100%
		);
	}

	.video-wrap .heading {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}

	.video-wrap .main-heading {
		padding-inline: 10px 0;
	}

	.video-wrap .main-heading p {
		font-size: 12px;
	}

	.video-wrap .main-heading h3 {
		font-size: 24px;
		margin-top: 0;
	}

	.video-wrap .heading .btn-wrap {
		width: 100%;
		margin-top: 15px;
	}

	.video-wrap .heading .btn-wrap .btn {
		width: fit-content;
		margin-inline: auto;
		padding: 0.8em 1.3em;
	}

	.video-wrap .heading .btn-wrap .btn svg {
		width: 17px;
	}

	.video-wrap .col-left .heading .icon {
		width: 44px;
		flex-shrink: 1;
	}

	.video-wrap .col-right .heading .icon {
		width: 33px;
		flex-shrink: 1;
	}

	.fukidashi {
		gap: 10px;
	}

	.fukidashi span {
		font-size: 14px;
	}

	.fukidashi::after,
	.fukidashi::before {
		height: 1.2em;
	}

	.custom-video-container {
		max-width: 210px;
	}

	#top-interview {
		padding-block: 100px 85px;
	}

	#top-interview .container-md {
		display: flex;
		flex-direction: column;
	}

	#top-interview .heading {
		display: contents;
	}

	#top-interview .heading h2 {
		order: 1;
		width: 80%;
	}

	#top-interview .section-lead {
		order: 2;
		font-size: 15px;
		margin-block: 25px 35px;
	}

	#top-interview .heading .btn-block {
		order: 3;
	}

	.interview-wrap {
		order: 4;
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: auto;
	}

	.interview-overlay .--txt {
		padding-inline: 0;
	}

	.interview-overlay .lead h3 {
		font-size: 16px;
	}

	.interview-overlay .lead p {
		font-size: 13px;
	}

	.interview-overlay .lead p br {
		display: none;
	}

	.interview-overlay .conductor {
		font-size: 14px;
		gap: 10px;
	}

	.interview-overlay .conductor svg {
		width: 20px;
	}

	.interview-overlay .--txt {
		gap: 20px;
	}

	.--bus .interview-overlay .icon-wrap {
		width: 14%;
	}
	.--subway .interview-overlay .icon-wrap {
		width: 11%;
	}

	#top-entry {
		padding-block: 30px 80px;
	}

	#top-entry .d-flex {
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}

	#top-entry .heading h2 {
		font-size: 24px;
	}

	#top-entry .btn-wrap {
		flex: 1;
		width: 230px;
	}

	#top-data {
		padding-block: 50px 58px;
	}

	#top-data .heading h2 {
		font-size: 24px;
	}

	#top-data .heading .sub-ttl {
		margin-top: 5px;
	}

	#top-data .d-flex {
		flex-direction: column;
	}

	#top-data .d-flex p {
		margin-bottom: 30px;
		font-size: 15px;
	}

	#top-link .btn-wrap {
		grid-template-columns: repeat(1, 1fr);
		padding-inline: 15%;
	}

	#top-faq {
		padding-block: 35px 50px;
	}

	#top-faq .heading h2 {
		font-size: 24px;
	}

	#top-faq .heading .sub-ttl {
		margin-top: 10px;
	}

	#top-faq .d-flex {
		flex-direction: column;
	}

	#top-faq .d-flex p {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.footer-sns {
		padding-block: 36px;
	}

	.footer-sns .sns-list {
		gap: 9%;
	}

	.footer-sns .sns-list a {
		width: 51px;
		height: 51px;
	}

	.footer-sns .sns-list a img {
		width: 62%;
		margin-inline: auto;
	}

	/*===============================
	MARK: footer
	=================================*/

	.floating-btn {
		left: 15px;
		gap: 10px;
	}

	.floating-btn .entry a {
		font-size: 12px;
		padding: 1.5em 0.8em 1em 0.8em;
	}

	.floating-btn .entry svg {
		margin-top: 0px;
		width: 1.2em;
	}

	.floating-sns a {
		width: 37px;
		height: 37px;
	}

	.floating-sns img {
		width: 1em;
	}

	.site-footer {
		padding-block: 30px 16px;
	}

	.footer-inner {
		flex-direction: column;
		gap: 40px;
	}

	.footer-logo {
		font-size: 11px;
	}

	.footer-logo .banner {
		width: 160px;
		padding: 8px 10px 5px 6px;
	}

	.copyright {
		text-align: left;
		font-size: 12px;
	}

	/*===============================
	MARK: 下層ページ
	=================================*/

	.lower-page .site-header {
		border-radius: 0 0 20px 20px;
	}

	.lower-page .header-inner {
		padding: 15px 45px;
	}

	.lower-page .site-logo {
		width: 93px;
	}

	.lower-page .hamburger {
		background: none;
		box-shadow: none;
		backdrop-filter: unset;
	}

	.lower-page .hamburger.is-active {
		background: rgb(255 255 255 / 0.9);
		box-shadow: 0 3px 6px rgb(0 0 0 / 0.16);
	}

	.lower-page .page-cover {
		background-image: none !important;
		flex-direction: column;
		gap: 35px;
		min-height: unset;
		padding-top: 115px;
	}

	.page-ttl {
		padding-left: 20px;
	}

	.sp-bg img {
		display: block;
	}

	.lower-page .main-wrap {
		padding-block: 0 60px;
	}

	.lower-page.reason .main-wrap {
		padding-block: 0 10px;
	}

	.lower-page .content-wrap {
		width: 100%;
		padding-top: 42px;
	}

	.lower-page .sticky-nav__wrap {
		margin-inline: -20px;
		margin-bottom: 20px;
	}

	.sticky-nav__inner {
		position: relative;
		top: 0;
		left: 0;
		padding: 65px 25px 30px 25px;
	}

	.welfare .sticky-nav__inner {
		background: #efe1b6;
	}

	.sticky-nav__inner .nav-list {
		display: flex;
		flex-wrap: wrap;
	}

	.sp-sticky {
		position: sticky;
		top: 90px;
		left: 0;
		width: 100%;
		z-index: 2;
	}

	.sp-sticky .legend {
		display: flex;
		gap: 20px;
		background: rgb(248 242 225 / 0.95);
		padding: 15px 15px;
		font-size: 12px;
		border-radius: 10px;
		box-shadow: 0px 5px 10px rgb(0 0 0 / 0.1);
	}

	.reason .sp-sticky .legend {
		background: rgb(234 238 240 / 0.95);
	}

	.welfare .sticky-nav__inner .nav-list {
		font-size: 21px;
	}

	.sticky-nav__inner .nav-list li {
		width: 50%;
	}

	.welfare .sticky-nav__inner .nav-list li::before {
		margin-top: 11px;
	}

	.sticky-nav__inner .legend {
		display: flex;
		font-size: 13px;
		gap: 12px;
		margin-top: 30px;
	}

	.legend li {
		margin-bottom: 0;
		gap: 5px;
	}

	.legend li::before {
		width: 15px;
		height: 15px;
		margin-top: 2px;
	}

	.lower-page.welfare .main-wrap .container-md,
	.lower-page.reason .main-wrap .container-md {
		flex-direction: column;
	}

	.welfare .section-inner.with-heading .inner .img-wrap.d-flex {
		gap: 10px;
	}

	.welfare .section-inner.with-heading .inner .img-wrap.d-flex.exception {
		flex-wrap: wrap;
	}

	.welfare .img-wrap.d-flex.exception .img-item:nth-child(1) {
		order: 1;
		width: 60%;
	}
	.welfare .img-wrap.d-flex.exception .img-item:nth-child(2) {
		order: 3;
		width: 100%;
	}
	.welfare .img-wrap.d-flex.exception .img-item:nth-child(3) {
		order: 2;
		width: 33%;
	}

	.welfare .section-inner.with-heading .inner .table th {
		display: block;
		width: 100%;
		border-right: 1px solid #5764cb;
	}

	.welfare .table tr:first-child :first-child {
		border-top-right-radius: 16px;
	}

	.welfare .table tr:first-child :last-child {
		border-top-right-radius: 0;
	}

	.welfare .table tr:last-child :first-child {
		border-bottom-left-radius: 0;
		border-bottom: 0;
	}

	.welfare .table tr:last-child :last-child {
		border-bottom-left-radius: 16px;
	}

	.welfare .section-inner.with-heading .inner .table td {
		display: block;
		width: 100%;
		border-color: #5764cb;
	}

	.section-heading .main-heading h2 {
		font-size: 26px;
	}

	.section-heading .icon {
		width: 68px;
	}

	.section-inner {
		margin-top: 20px;
		border-radius: 12px;
		padding: 20px 20px 20px 20px;
		font-size: 13px;
	}

	.welfare .section-inner.with-heading .inner {
		padding: 20px 20px 20px 20px;
		font-size: 13px;
	}

	.welfare .section-inner.with-heading h3 {
		padding: 15px 15px 15px 20px;
		font-size: 18px;
	}

	.welfare .with-heading .inner > h4 {
		font-size: 15px;
	}

	.welfare .section-item h5 {
		font-size: 14px;
		padding: 8px 15px;
	}

	.section-item p {
		font-size: 13px;
	}

	.welfare .section-item {
		margin-top: 15px;
	}

	.img-separator {
		margin-inline: calc(50% - 50vw);
		margin-block: 80px;
		padding-right: 0;
	}

	.welfare .section-inner.with-heading .inner .table {
		margin-block: 20px 16px;
	}

	.lower-page.faq .main-wrap {
		padding-block: 0;
	}

	.lower-page.faq .floating-btn {
		bottom: 110px;
	}

	.lower-page.faq .site-footer {
		padding-block: 30px 135px;
	}

	.anchor-wrap {
		position: fixed;
		bottom: 0;
		top: unset;
		left: 0;
		width: 100%;
		background: #fff;
	}

	.anchor-link {
		gap: 10px;
		box-shadow: none;
		padding-block: 15px;
	}

	.anchor-link a {
		width: 9em;
		color: #fff;
		font-size: 12px;
		padding: 14px 15px 14px 15px;
	}

	.anchor-link a span {
		transform: translateY(-50%) rotate(180deg);
		width: 15px;
		height: 15px;
		right: 8px;
	}

	.anchor-link a span::after {
		height: calc(tan(60deg) * 7px / 2);
		width: 5px;
	}

	.faq #section01 {
		padding-block: 40px;
	}
	.faq #section02,
	.faq #section03 {
		padding-block: 40px;
	}

	.faq .section-heading h2 {
		font-size: 22px;
	}

	.ac-details__summary {
		font-size: 13px;
		padding: 18px 70px 18px 15px;
	}

	.accordion-btn {
		width: 34px;
		height: 34px;
	}

	.ac-details {
		margin-bottom: 15px;
	}

	.ac-details__content .inner p {
		font-size: 13px;
	}

	.ac-details__content .inner {
		padding: 20px 10px 15px 20px;
	}

	.reason .sticky-nav__inner {
		background: #d4dce0;
	}

	.sticky-nav__inner .nav-list {
		font-size: 14px;
		list-style: none;
	}

	.reason .sticky-nav__inner .nav-list li {
		margin-bottom: 15px;
	}
	.reason .sticky-nav__inner .nav-list li::before {
		margin-top: 6px;
	}

	.section-heading .main-heading {
		font-size: 13px;
		padding-left: 13px;
		flex: 1;
	}

	.reason section {
		margin-bottom: 50px;
	}

	.reason .section-heading .main-heading h2 {
		font-size: 22px;
	}

	.reason #section01 h3 {
		font-size: 18px;
		text-align: center;
		margin-block: 20px 15px;
	}

	.reason #section01 .card {
		padding: 25px 20px;
	}

	.reason #section01 .rows {
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: auto;
		grid-row-gap: 10px;
		margin-top: 10px;
	}

	.reason #section02 .main-heading h2 span {
		font-size: 20px;
	}

	.section-item h3 {
		font-size: 15px;
		margin-bottom: 10px;
	}

	.bus .section-item h3 {
		padding: 8px 15px;
	}

	.section-item.--03 .table {
		table-layout: auto;
	}

	.reason .table th {
		font-size: 12px;
	}

	.reason .table td {
		font-size: 12px;
	}

	.flow-list::before {
		height: 85%;
	}

	.flow-item {
		column-gap: 10px;
		grid-template-columns: 40px 1fr;
	}

	.flow-step {
		width: 40px;
		height: 40px;
	}

	.flow-step-label {
		top: -4px;
		font-size: 10px;
	}

	.flow-step-number {
		font-size: 21px;
	}

	.flow-list::before {
		left: 18px;
	}

	.flow-card {
		padding: 12px 10px 15px 13px;
		border-radius: 10px;
		min-height: unset;
	}

	.flow-title {
		font-size: 15px;
		margin: 0 0 8px;
	}

	.flow-docs {
		display: block;
	}

	.flow-docs .flow-docs-label {
		font-size: 11px;
		display: block;
		min-height: unset;
		padding: 0.5em 1em;
		border-radius: 10px;
	}

	.flow-docs-list {
		margin: 5px 0 0 0;
		font-size: 12px;
	}

	.reason #section03 .section-inner > .d-flex {
		flex-direction: column;
		gap: 20px;
	}

	.reason #section03 .section-inner .img-wrap {
		width: 100%;
	}

	.reason #section04 .sub-section .d-flex {
		flex-direction: column;
		gap: 7px;
	}

	.reason #section04 .sub-section .bg-y {
		width: 100%;
	}

	.section-inner.with-heading.feature h3 {
		padding: 15px 15px 15px 20px;
		font-size: 18px;
	}

	.section-inner.with-heading.feature .inner {
		padding: 20px 20px 20px 20px;
		font-size: 13px;
	}

	.section-inner.with-heading.feature .inner > .d-flex {
		flex-direction: column;
		gap: 15px;
	}

	.section-inner.with-heading.feature .inner .col-right {
		width: 100%;
	}

	.reason #section04 .section-inner p {
		font-size: 12px !important;
	}

	.section-inner.with-heading.feature .inner .col-right .img-wrap {
		border-radius: 12px;
	}

	.reason #section05 .section-inner h4 {
		font-size: 16px;
	}

	/*===============================
	MARK: バス・地下鉄
	=================================*/
	body.job .overlay {
		overflow-x: clip;
	}

	main.main {
		overflow-x: hidden;
		font-size: 15px;
	}

	main.main .section-inner {
		font-size: 15px;
	}
	.col-break {
		margin-inline: 0 !important;
	}

	main.main .d-flex {
		flex-direction: column;
	}

	.ttl-gdn {
		margin-block: 15px 15px;
	}

	.ttl-gdn span::before {
		width: 9px;
		height: 9px;
	}

	.page-cover__job .page-ttl {
		padding-left: 30%;
		padding-bottom: 1.6em;
		width: fit-content;
		margin-left: auto;
	}

	.bus .page-cover__job .page-ttl img {
		margin-bottom: 10px;
		width: 99%;
	}

	.schedule .rows {
		grid-template-columns: repeat(1, 1fr);
		grid-row-gap: 30px;
		margin-top: 25px;
	}

	.about .col-break .d-flex {
		flex-direction: column-reverse;
		gap: 20px;
	}

	.about .col-break .inner {
		width: 100%;
	}

	.about .col-break.--left .img-wrap {
		margin-left: -32%;
		padding-right: 20px;
	}

	.about-ttl {
		font-size: 22px;
	}

	.point {
		margin-top: 50px;
	}

	.point .section-inner {
		padding-top: 30px;
	}

	.point .heading img {
		width: 174px;
	}

	.point .heading p {
		width: 100%;
		margin-top: 20px;
	}

	.point .card {
		padding: 25px 20px;
		padding-top: 40px;
	}

	.point .card .num {
		height: 22px;
		top: 16px;
		left: 16px;
	}

	.point .rows {
		grid-template-columns: repeat(1, 1fr);
		grid-column-gap: 15px;
		grid-row-gap: 15px;
		margin-top: 15px;
	}

	.work-detail {
		margin-top: 25px;
	}

	.work-detail .col-break .inner {
		width: 100%;
	}

	.work-detail .col-break .d-flex {
		gap: 20px;
	}
	.work-detail .col-break.--right .img-wrap {
		margin-right: -34%;
		padding-left: 20px;
	}

	.bus .schedule {
		padding-block: 80px 25px;
	}

	.schedule .col-break .d-flex {
		flex-direction: column-reverse;
		gap: 20px;
		margin-bottom: 30px;
	}

	.schedule .col-break.--left .img-wrap {
		margin-left: -54%;
		padding-right: 20px;
	}

	.schedule .col-break .inner {
		width: 100%;
	}

	.col-break.--left .ttl-gdn {
		display: flex;
		justify-content: end;
	}

	body.bus .section-item h3 {
		font-size: 17px;
	}

	.schedule .table th,
	.schedule .table td {
		font-size: 14px;
	}

	.route dt {
		font-size: 12px;
	}

	.route dd {
		font-size: 17px;
	}

	.route dt span {
		font-size: 13px;
	}

	.table.timeline {
		margin-top: 15px;
	}

	.schedule .table.timeline th {
		font-size: 15px;
		padding-inline: 1em 1em;
	}

	body.job #place {
		padding-block: 25px 0;
	}

	#place .summary-wrap h2 {
		gap: 13px;
		font-size: 28px;
		margin-bottom: 35px;
	}

	#place .summary-wrap h2 img {
		width: 44px;
	}

	#place .summary-wrap .place-list .ttl {
		font-size: 16px;
	}
	#place .summary-wrap .place-list .sub {
		font-size: 13px;
	}

	#place .summary-wrap .place-list {
		margin-block: 1.5em;
	}

	#place .summary-wrap .place-list .place-num {
		width: 38px;
	}

	#place .summary-wrap .notice {
		margin-top: 0px;
		font-size: 12px;
	}

	#place .img-wrap {
		border-radius: 0;
		margin-top: 0;
		margin-inline: calc(50% - 50vw);
	}
	body.bus .section03 {
		padding-block: 30px 40px;
	}

	body.bus .section03 .col-break .d-flex {
		gap: 20px;
	}

	body.bus .section03 .col-break .inner {
		width: 100%;
	}

	body.bus .section03 .col-break.--right .img-wrap {
		margin-right: -33%;
		padding-left: 20px;
	}

	body.bus .section03 .section-inner.with-heading.--01 {
		margin-top: 30px;
	}

	body.bus .section-inner.with-heading h3 {
		font-size: 16px;
	}

	body.bus .section-inner.with-heading .inner {
		padding: 10px 20px 15px 20px;
	}

	body.bus .section03 .section-inner.with-heading.--01 .inner > p {
		font-size: 13px;
	}

	.section-inner.with-heading .badge {
		font-size: 13px;
		margin-left: 13px;
		padding: 3px 6px;
	}

	body.bus .section03 .section-inner.with-heading .table th {
		font-size: 12px;
	}

	body.bus .section03 .section-inner.with-heading .table td {
		font-size: 12px;
	}

	body.bus .section03 .section-inner.with-heading .table th,
	body.bus .section03 .section-inner.with-heading .table td {
		padding: 6px 10px;
		vertical-align: top;
	}

	body.bus .section04 {
		padding-block: 45px 0;
	}

	body.bus .section04 .col-break .d-flex {
		flex-direction: column-reverse;
		gap: 20px;
	}

	body.bus .section04 .col-break .inner {
		width: 100%;
	}

	body.bus .section04 .col-break.--left .img-wrap {
		margin-left: -53%;
		padding-right: 20px;
	}

	body.bus .section04 .section-inner {
		margin-top: 30px;
		padding: 20px;
		margin-inline: calc(50% - 50vw);
		border-radius: 0;
		padding-bottom: 35px;
	}

	body.bus .section04 .section-inner h3 {
		font-size: 18px;
	}

	body.bus .section04 .section-inner p {
		font-size: 13px;
		margin-bottom: 20px;
	}

	body.bus .to-interview,
	body.subway .to-interview {
		background-image: none;
		padding-block: 45px 0px;
	}

	body.bus .to-interview .inner,
	body.subway .to-interview .inner {
		width: 100%;
	}

	body.bus .to-interview .img-wrap,
	body.subway .to-interview .img-wrap {
		margin-inline: calc(50% - 50vw);
		margin-top: 37px;
	}

	body.bus .page-cover__job .overlay img:nth-child(1) {
		top: 0;
		left: -45%;
		width: 80%;
	}
	body.bus .page-cover__job .overlay img:nth-child(2) {
		top: 35%;
		right: -68%;
		width: 106%;
	}

	body.bus .schedule .overlay img:nth-child(1) {
		top: 0;
		left: -48%;
		width: 100%;
	}
	body.bus .schedule .overlay img:nth-child(2) {
		top: 11%;
		right: -62%;
		width: 100%;
	}
	body.bus .section03 .overlay img:nth-child(1) {
		top: 0;
		left: -69%;
		width: 100%;
	}

	body.bus .section03 .overlay img:nth-child(2) {
		bottom: 59%;
		right: -60%;
		width: 100%;
	}
	body.bus .section04 .overlay img:nth-child(1) {
		top: 0;
		left: -51%;
		width: 100%;
	}
	body.bus .section04 .overlay img:nth-child(2) {
		bottom: 18%;
		right: -66%;
		width: 100%;
	}

	.subway .page-cover__job .page-ttl {
		text-align: left;
		padding-left: 23%;
		padding-bottom: 1.2em;
	}

	.subway .page-cover__job .page-ttl img {
		margin-right: auto;
		margin-bottom: 20px;
		padding-right: 17%;
	}

	body.subway .about .col-break .d-flex {
		flex-direction: column;
		gap: 20px;
	}
	body.subway .about .col-break .inner {
		width: 100%;
	}
	body.subway .about .col-break.--right .img-wrap {
		margin-right: -20%;
		padding-left: 20px;
	}

	body.subway .work-detail {
		margin-top: 55px;
		padding-bottom: 45px;
	}

	body.subway .work-detail .col-break .d-flex {
		gap: 5px;
	}

	body.subway .work-detail .col-break .inner {
		width: 100%;
		display: contents;
	}

	body.subway .work-detail .col-break .inner .ttl-gdn {
		order: 1;
	}

	body.subway .work-detail .col-break.--left .img-wrap {
		padding-right: 20px;
		order: 2;
	}
	body.subway .work-detail .col-break .inner h3 {
		order: 3;
		margin-bottom: 15px;
	}

	.work-detail .col-break .inner p {
		order: 4;
	}

	body.subway .work-detail .section-inner.with-heading h3 {
		padding: 8px 20px 9px 20px;
		font-size: 17px;
	}

	body.subway .work-detail .section-inner.with-heading .inner {
		padding: 15px 15px 25px 20px;
		font-size: 14px;
	}

	body.subway .work-detail .col-break.--right.--02 {
		margin-top: 45px;
	}
	body.subway .work-detail .col-break.--right.--02 .d-flex {
		gap: 5px;
		align-items: start;
	}
	body.subway .work-detail .col-break.--right.--02 .img-wrap {
		margin-right: -23%;
	}

	body.subway .schedule {
		padding-block: 30px 45px;
	}

	body.subway .schedule .col-break .d-flex {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 30px;
	}

	body.subway .schedule .col-break .inner {
		width: 100%;
	}
	body.subway .schedule .col-break .ttl-gdn {
		margin-left: auto;
	}

	body.subway .schedule .col-break.--right .img-wrap {
		margin-right: -48%;
		padding-left: 20px;
	}

	.schedule .genre {
		margin-bottom: 20px;
	}

	body.subway .schedule .section-item h3 {
		font-size: 17px;
	}

	body.subway .schedule .table th {
		width: 25%;
		padding-inline: 10px;
	}

	body.subway .schedule .table td {
		padding-inline: 15px;
	}

	body.subway .schedule .rows {
		grid-template-columns: repeat(1, 1fr);
		grid-row-gap: 20px;
		margin-top: 10px;
	}

	#cycle-staff,
	#cycle-operator {
		margin-top: 30px;
	}

	#cycle-staff .rows {
		margin-top: 0;
	}

	.work-shift .notice {
		font-size: 12px;
	}

	.work-shift .shift-item {
		padding: 0.8em 0px;
	}

	.work-shift .inner {
		padding: 15px;
	}

	#cycle-operator .rows {
		grid-template-columns: repeat(1, 1fr);
	}

	.table.cycle.--02 tr:first-child th {
		width: auto;
	}

	#cycle-operator .shift-item {
		flex-wrap: wrap;
	}

	#cycle-operator .shift-item .ttl {
		width: auto;
	}

	#cycle-operator .shift-item .detail {
		padding-left: 0;
		font-size: 12px;
		width: 100%;
	}

	body.subway #place .summary-wrap {
		width: 100%;
	}

	body.subway #place .staff {
		margin-top: 20px;
	}

	body.subway #place .staff-ttl {
		font-size: 15px;
	}

	body.subway #place .area-ttl {
		font-size: 14px;
		margin-top: 10px;
	}

	body.subway #place .summary-wrap .place-list .place-num {
		width: 30px;
	}
	body.subway #place .summary-wrap .place-list {
		flex-wrap: wrap;
		row-gap: 10px;
	}

	body.subway #place .summary-wrap .place-list p {
		font-size: 15px;
	}

	body.subway #place .staff .d-flex {
		gap: 25px;
		flex-direction: row;
	}

	body.subway #place .staff .d-flex .wrap {
		flex: 1;
	}

	body.subway .section04 {
		padding-block: 45px;
	}

	body.subway .section04 .col-break .d-flex {
		gap: 20px;
		flex-direction: column-reverse;
	}
	body.subway .section04 .col-break .inner {
		width: 100%;
	}
	body.subway .section04 .col-break.--left .img-wrap {
		margin-left: -30%;
		padding-right: 20px;
	}

	body.subway .section04 .section-inner {
		margin-top: 26px;
	}

	body.subway .section04 .section-inner h3 {
		font-size: 16px;
	}

	body.subway .section-inner.with-heading .inner {
		padding: 20px;
	}

	body.subway .section-inner .table02 {
		font-size: 14px;
	}

	body.subway .section-inner .table02 td {
		display: block;
	}

	body.subway .section-inner .table02 td:first-child {
		border: none;
		padding: 15px 10px 5px 0;
	}

	body.subway .section-inner .table02 tr:first-child td {
		padding-top: 0px;
	}

	body.subway .section-inner .table02 td:last-child {
		font-size: 12px;
	}

	body.subway .section-inner .table02 td:last-child {
		padding: 0px 5px 10px 0px;
	}

	.table02 a {
		font-size: 12px;
		padding: 5px 1.2em;
		margin-block: 10px 5px;
	}

	body.subway .section05 .col-break .inner {
		width: 100%;
		color: #fff;
	}

	body.subway .section05 {
		padding-block: 30px 45px;
	}

	body.subway .section05 .col-break.--right .img-wrap {
		margin-right: -27%;
		padding-left: 20px;
	}
	body.subway .section05 .col-break .d-flex {
		gap: 25px;
		margin-bottom: 20px;
	}

	#license .table02 .d-flex {
		flex-direction: row;
		gap: 18px;
	}

	body.subway .section05 .question {
		flex-direction: column;
		margin-top: 25px;
		gap: 16px;
	}

	body.subway .section05 .question .question-ttl {
		border-radius: 50em;
		width: 100%;
		height: auto;
		font-size: 16px;
		padding-block: 10px;
	}

	body.subway .section05 .answer .item:first-of-type {
		margin-block: 0px 20px;
	}

	body.subway .section05 .answer .item h4 {
		font-size: 14px;
	}
	body.subway .section05 .answer .item p {
		font-size: 13px;
	}

	body.subway .section06 {
		padding-block: 30px 40px;
	}

	body.subway .section06 .col-break .d-flex {
		flex-direction: column-reverse;
		gap: 20px;
		margin-bottom: 20px;
	}

	body.subway .section06 .col-break .inner {
		width: 100%;
	}

	body.subway .section06 .col-break.col-break.--left .img-wrap {
		margin-left: -19%;
		padding-right: 20px;
	}

	body.subway .page-cover__job .overlay img:nth-child(1) {
		top: 0;
		left: -41%;
		width: 80%;
	}
	body.subway .page-cover__job .overlay img:nth-child(2) {
		top: 37%;
		right: -55%;
		width: 92%;
	}

	body.subway .work-detail .overlay img:nth-child(1) {
		top: 11%;
		left: -66%;
		width: 100%;
	}
	body.subway .work-detail .overlay img:nth-child(2) {
		top: 52%;
		right: -38%;
		width: 90%;
	}

	body.subway .schedule .overlay img:nth-child(1) {
		top: 0;
		left: -48%;
		width: 75%;
	}

	body.subway .section04 .overlay img:nth-child(1) {
		top: 0;
		left: -45%;
		width: 83%;
	}
	body.subway .section04 .overlay img:nth-child(2) {
		bottom: 0%;
		right: -48%;
		width: 77%;
	}

	body.subway .section05 .overlay img:nth-child(1) {
		top: 0;
		left: -53%;
		width: 100%;
	}

	body.subway .section05 .overlay img:nth-child(2) {
		bottom: 7%;
		right: -65%;
		width: 100%;
	}
	body.subway .section06 .overlay img:nth-child(2) {
		bottom: 0%;
		right: -66%;
		width: 100%;
	}
}

@media (max-width: 470px) {
}
