@media screen and (max-width: 480px) {
	.page-title h1.page-title-pc {
		display: none;
	}

	.page-title h1.page-title-sp {
		display: block;
	}

	.page-title .head-character h1 {
		font-size: 1rem;
		line-height: 2.5rem;
		margin-bottom: 30px;
	}

	.head-character p {
		font-size: 2rem;
	}

	.head-character-message p span {
		font-size: .6em;
    	margin-left: 0;
	}

	header .page-title a span {
		width: 2.5em;
		height: 2.5em;
		top: -170%;
		left: 3%;
	}

	header .page-title a span::after {
		content: "";
		left: 21.3%;
		border-width: 18px 10px 0 10px;
	}

	.on-slider-graphics-text::before {
    	width: 0.5rem;
		padding: 0 0;
}

	.on-slider-graphics-text::after {
		width: 0.5rem;
		padding: 0 0;
}

}

@media screen and (max-width: 540px) {
	.cover img.new-style {
		width: 60%;
		object-fit: contain;
		object-position: 100% 100%;
	}
}

@media screen and (min-width: 480px) and (max-width: 768px) {
	.page-title .head-character h1 {
		font-size: 1.3rem;
		line-height: 2.8rem;
		margin-bottom: 30px;
	}

	.head-character p {
		font-size: 2.4rem;
		line-height: 3.4rem;
	}
}

@media screen and (max-width: 768px) {

	/* common */
	.section-title {
		height: 1em;
		font-size: 3em;
	}

	.section-sub-title {
		margin-top: .2em;
		font-size: 1em;
	}

	.page-top {
		right: 3em;
	}

	.page-top i {
		color: #1357a4;
		font-size: 2em;
	}
	/* common */

	/* header */
	.header-logo {
		flex-basis: 40%;
	}

	.cover .header-logo img {
		height: inherit;
    object-fit: contain;
	}

	.header-info nav {
		display: none;
	}

	.header-info nav.open {
		display: flex;
		flex-direction: column;
		position: fixed;
    top: 0;
    right: 0;
		width: 100vw;
		padding: 3rem 0;
		background-color: #000000cc;
		text-align: center;
	}

	.header-info nav a {
		padding: 0.5rem;
	}

	.header-btn {
		display: block;
	}

	.cover img {
		width: 100%;
		height: 100vh;
		overflow: hidden;
		object-fit: cover;
		object-position: 50% 50%;
	}

	.cover #header-slider #spark1 {
		object-position: 90% 50%;
	}

	.cover #header-slider #officeWorker2 {
		object-position: 35% 50%;
	}

	.cover #header-slider #salesPosition1 {
		object-position: 37% 60%;
	}

	.cover #header-slider #spark2 {
		object-position: 40% 50%;
	}

	.cover #header-slider #officeWorker3 {
		object-position: 45% 50%;
	}

	.cover #header-slider #entrance {
		object-position: 10% 50%;
	}

	.cover #header-slider #spark3 {
		object-position: 60% 50%;
	}

	.header-letter {
		display: none;
	}

	.header-nav {
		display: block;
		width: 100%;
		padding: 1em 0;
		background: transparent;
		color: #ffffff;
		position: absolute;
		z-index: 100;
		top: 0em;
		left: 0em;
		transition: .6s;
	}

	.header-nav-button {
		display: block;
		font-size: 1.8em;
		margin-left: 1em;
	}

	.header-nav-menu {
		display: none;
		margin-top: .5em
	}

	.header-nav-menu-column  {
		padding: .3em;
		border-bottom: 1px solid #ffffff;
		transition: .2s;
	}

	.header-nav-menu a:last-of-type .header-nav-menu-column {
		border-bottom: none;
	}

	.header-nav-menu-column:hover {
		background-color: #ffffff;
		color: #1357a4;
	}

	.header-nav-menu-column p{
		font-size: 1.3em;
		font-weight: bold;
		font-style: italic;
	}

	.header-nav-menu-arrow {
		margin-right: 5em;
		margin-left: 1em;
		font-size: .9em;
		font-weight: normal;
	}

	.page-title {
		width: 90%;
		margin: auto;
		text-align: center;
		color: #fff;
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}

	.page-title h1 {
		font-size: 3em;
		margin-bottom: 0.3em;
		font-weight: bold;
	}

	header .page-title a {
		top: 140%;
		left: 50%;
	}

	.page-title h1.page-title-pc {
		display: none;
	}

	.page-title h1.page-title-sp {
		display: block;
	}

	/* header */

	/* main president-message */
	.president-message::after {
		content: "";
		display: none;
	}

	.catch-copy {
		margin-top: 1em;
		margin-bottom: 0.5em;
		font-size: 2.43em;
	}

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

	.message-text {
		width: 90%;
		margin: 0 auto;
		font-size: 1rem;
	}

	.president-message>div:nth-child(2) {
		margin-bottom: 0;
	}
	/* main president-message */

	/* main job-indroduce */
	.job-indroduce::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 50px 0 0 200px;
		border-color: transparent transparent transparent #1357A4;
		position: absolute;
		top: -49px;
		left: 0;
	}

	.sales-position-image {
		width: 250px;
		height: 180px;
		object-fit: cover;
	}

	.sales-position-image-wrapper {
		text-align: center;
	}

	.sales-position-image-wrapper::before {
		content: "";
		border-width: 0 260px 40px 0;
		top: -1px;
		right: 0;
		left: inherit;
	}

	.sales-position-image-wrapper::after {
		content: "";
		border-width: 30px 0 0 150px;
		left: 46px;
		bottom: -1px;
	}

	.sales-simple-discription {
		left: -15px;
		bottom: 0px;
	}

	.office-position-image {
		width: 250px;
		height: 180px;
		object-fit: cover;
	}

	.office-position-image-wrapper {
		margin-top: 1.5em;
		text-align: center;
	}

	.office-position-image-wrapper::before {
		content: "";
		border-width: 40px 260px 0 0;
		top: -1px;
		left: 46px;
	}

	.office-position-image-wrapper::after {
		content: "";
		border-width: 0 0 30px 260px;
		bottom: -1px;
		left: inherit;
	}

	.job-title {
		font-size: 2em;
	}

	.job-simple-discription-text {
		font-size: .8em;
		text-align: left;
		padding-left: .8rem;
	}

	.office-position-wrapper {
		margin-top: 30px;
	}

	.office-simple-discription {
		bottom: 60px;
	}

	.to-schedule-btn-wrapper {
		margin-top: 1.8em;
	}

	.to-schedule-btn {
		width: inherit;
		padding: .5rem 1rem;
		font-size: 1rem;
	}

	/* main job-indroduce */

	/*schedule-introduce*/
	.schedule-introduce::before {
		content: "";
		border-width: 50px 0 0 200px;
		top: -49px;
	}

	.schedule-subhead::after {
		right: -1px;
	}

	.occupation-label {
		font-size: 1em;
		font-weight: normal;
	}

	.schedule-list {
		padding-right: 0;
	}

	.schedule-contents {
		padding: 0 .5em;
	}

	.schedule-list .ivent {
		font-size: 1.1em;
	}

	.schedule-list .ivent span {
		display: block;
	}

	.schedule-contents-image {
		margin-top: 20px
	}

	.schedule-contents .container .row .job-discription:first-of-type {
		margin-top: 1.5em
	}

	.flow {
		margin-bottom: 5.5em;
	}

	.first-flow {
		position: relative;
	}

	.fourth-flow {
		margin-bottom: 1em;
	}

	.after-joining-flow .first-flow .flow-detail-container {
		width: 150px;
	}

	.first-flow .fa-arrow-down {
		display: block;
		color: #3e3e3e;
		font-size: 30px;
		position: absolute;
		top: 220px;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.third-flow .fa-arrow-down {
		display: block;
		color: #3e3e3e;
		font-size: 30px;
		position: absolute;
		top: 150px;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.fa-arrow-right {
		display: none;
	}

	.after-joining-flow>.letter-color {
		font-size: .95em;
	}

	.manthly-schedule-section {
		margin-bottom: 3em;
	}

	.sales-branch-schedule {
		margin-top: 5em;
	}

	.monthly-schedule .occupation-label {
		font-size: 1em;
		width: 4em;
		height: 1.5em;
		line-height: .1em;
		padding: 1em 0.5em;
		top: -1.9em;
	}

	.calender .detail .letter-color {
		font-size: .75em;
	}

	.sales-branch-schedule .detail .tomakomai {
		font-size: .6em;
	}

	.tomakomai-sales-br {
		display: block;
	}

	.office-work-section {
		padding-bottom: 2em;
	}

	.schedule-sub-contents h4 {
		margin-left: 1em;
	}

	.tomakomai-sales-br-md {
		display: none;
	}

	.calender img {
		width: 100%;
	}

	.monthly-schedule .sales-head-schedule, .monthly-schedule .sales-branch-schedule {
		margin-top: 1em;
	}

	.general-affairs-section {
		margin-top: 2em;
	}

	.general-affairs-section-detail, .logistics-section-detail-sp {
		width: 100%;
		padding: 2em 1em;
	}

	.accounting-detail {
		margin-left: 1em;
	}

	.general-affairs-section-detail .letter-small {
		display: block;
		font-size: ;
	}

	.labor, .general-affairs-others {
		padding-left: 1em;
		text-indent: -1em;
	}

	.general-occupation-label {
		display: none;
	}

	.general-affairs-section-detail .occupation-label {
		top: -1.5em;
		left: -.1em;
	}

	.general-affairs-section-detail .calender .occupation-label {
		width: 6em;
		height: 2em;
		top: -1.95em;
		left: 1em;
	}

	.general-affairs-section-detail .calender .occupation-label p {
		line-height: 0em;
	}

	.general-affairs-schedule table {
		margin-bottom: 0;
	}

	.general-affairs-schedule table br {
		display: none;
	}

	.general-affairs-section-detail .calender  {
		margin-top: 0;
	}

	.schedule-main {
		margin-bottom: 3em;
	}

	.schedule-introduce {
		padding-bottom: 0;
	}

	.logistics-section .show-other-section-detail {
		display: none
	}

	.show-other-section-detail-sp {
		display: inline-block;
	}

	.job-discription-text-note {
		margin-left: 0;
	}
	/*schedule-introduce*/

	/* main employee-benefits */
	.employee-benefits::before {
		content: "";
		border-width: 50px 0 0 200px;
		top: -49px;
	}

	.benefit-detail {
		margin-bottom: 1.5em;
	}

	.benefit-detail-title::after {
		right: 0;
	}

	.benefit-accordion {
		padding: 1em 1.5em;
	}

	.benefit-accordion .close-benefit-accordion i {
		font-size: 1.5em;
	}

	.benefit-accordion h5 {
		font-size: 1.2em;
	}

	.paid-leave .calender .occupation-label {
		width: 9em;
		height: 2em;
		top: -1.95em;
		left: 0.8em;
	}

	.paid-leave .calender .occupation-label p {
		line-height: 0;
	}

	.desired {
		margin-top: 1.5em;
	}

	.employee-benefits-main {
		margin-bottom: 0;
	}

	.employee-benefits {
		padding-bottom: 2em;
	}

	.benefit-detail-title h6::after {
		right: -.94em;
	}

	.benefit-detail-holiday .benefit-detail-title::after {
		right: -.1em;
	}

	.benefit-accordion p {
		margin-bottom: 1em;
	}

	.desired img {
		margin-bottom: 2em;
	}

	.child-care-sm ul {
		margin-left: -2em;
	}

	/* main employee-benefits */

	/* main entry */
	.entry::before {
		content: "";
		border-width: 50px 0 0 200px;
		top: -49px;
	}

	.entry-main-md {
		display: none;
	}

	.entry-main-sm {
		display: block;
		margin-top: 1em;
	}

	.job-description {
		margin: 0;
	}

	.job-section-title h6::before {
		display: none;
	}

	.job-section-title h6::after {
		display: none;
	}

	.job-section-title h6 {
		display: block;
		padding: 0.8em 1.5em;
		text-align: left;
		position: relative;
		font-size: 1.2em;
		border-bottom: 1px solid #ffffff;
	}

	.drop-down {
		display: inline-block;
		position: absolute;
		right: 1em;
	}

	.entry-main-sm table {
		display: none;
	}

	.entry table td {
		padding: 1em;
	}

	.entry table td li {
		margin-bottom: 0;
		line-height: 2em;
		font-size: .75em;
	}

	.entry-main-sm ul {
		margin-left: -1em;
	}

	.entry table .job-descrilition-close td {
		padding: .5em;
		font-size: .75em;
		text-align: center;
		color: #1357a4;
		transition: .2s;
	}

	.entry table .job-descrilition-close td:hover {
		text-decoration: underline;
		opacity: 85%;
	}
	/* main entry */


	/* entry form */
	.form-title {
		width: 100%;
		font-size: 2em;
	}

	.form-title::before {
		display: none;
	}

	.form-title::after {
		display: none;
	}

	.entry-form-discription {
		margin: 2em 0;
		padding: 0 1em;
		text-align: left;
	}

	.entry-form tr td:first-child {
		width: 20%;
		font-size: .8em;
	}

	.entry-form tr td:nth-child(2) {
		padding-left: 1em;
	}

	.entry-form input {
		padding: .5em;
	}

	#name, #ruby {
		width: 15em;
	}

	#year, #month, #date {
		width: 4em;
		margin-right: .5em;
	}

	#year+span, #month+span, #date+span {
		margin-right: 0.4em;
	}

	.entry-form table .gender {
		width: 1em;
	}

	.auto-address-input {
		display: block;
		margin-top: .5em;
	}

	.address-detail input {
		width: 14em;
	}

	#localAddress, #buildingName {
		width: 14em;
	}

	#phoneNumber1, #phoneNumber2, #phoneNumber3 {
		width: 4em;
	}

	#phoneNumber1+span, #phoneNumber2+span, #phoneNumber3+span {
		margin: 0 .3em;
	}

	#mailAddress, #mailAddressCheck {
		width: 18em;
	}

	textarea {
		width: 15em;
	}

	.free th {
		font-size: 1em;
	}

	.check-btn {
		margin-top: 0;
	}

	.entry-form .accepted {
		font-size: 1.4em;
		margin-top: 2em;
	}

	.entry-message p {
		padding: 0 .5em;
		text-align: left;
		line-height: 1.6em;
	}

	.entry-message p:nth-of-type(3) {
		margin-top: 2em;
		line-height: 1.6em;
		color: #1357a4;
		font-size: 1.1em;
	}

	.contact-infomation {
		margin: 3em 0;
		position: relative;
		width: 100%;
		padding-top: 2em;
		padding-bottom: 1em;
	}

	.contact-infomation h5 {
		font-size: 1.7em;
		left: 3.15em;
	}

	.back-to-top-btn button {
		font-size: 1.5em;
	}

	.back-to-top-btn {
		margin-top: 0;
		margin-bottom: 2em;
	}
	/* entry form */
}

@media screen and (min-width:769px) and (max-width: 1024px) {
	.president-message::after {
		border-width: 0 0 120px 700px;
	}

	.job-indroduce::before {
		border-width: 180px 0 0 700px;
	}

	.schedule-introduce::before {
		border-width: 97.94px 0 0 700px;
	}

	.employee-benefits::before {
		border-width: 100px 0 0 700px;
	}

	.entry::before {
		border-width: 100px 0 0 700px;
		top: -99px;
	}

	.header-nav {
		display: block;
		width: 100%;
		padding: 1em 0;
		background: transparent;
		color: #ffffff;
		position: absolute;
		z-index: 100;
		top: 0em;
		left: 0em;
		transition: .6s;
	}

	.header-nav-button {
		display: block;
		font-size: 1.8em;
		margin-left: 1em;
	}

	.header-nav-menu {
		display: none;
		margin-top: 0.5em;
	}

	.header-letter {
		display: none;
	}

	.header-nav-menu-column {
		padding: 0.3em;
		border-bottom: 1px solid #ffffff;
		transition: .2s;
	}

	.header-nav-menu-column p {
		font-size: 1.3em;
		font-weight: bold;
		font-style: italic;
	}

	.header-nav-menu-arrow {
		margin-right: 5em;
		margin-left: 1em;
		font-size: .9em;
		font-weight: normal;
	}

	.page-title h1 {
		font-size: 2rem;
		line-height: 3rem;
		margin-bottom: 1rem;
	}

	.page-title h1.page-title-pc {
		display: none;
	}

	.page-title h1.page-title-sp {
		display: block;
	}

	.head-character-message p {
		font-size: 3.5rem;
	}
}

@media screen and (min-width:769px) and (max-width: 991px) {
	.logistics-schedule img {
		width: 100%;
		margin-bottom: 15px;
	}
}

@media screen and (min-width:1200px) {
	.benefit-detail-holiday .toggle-benefit-content {
		margin-top: 2.1em;
	}
}
