@charset "utf-8";

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

	#home #main-img h1 span {
		font-size: 2.2rem;
	}

	#home .recruit-box .info dt,
	#home .recruit-box .info dd {
		padding: 20px;
	}

	#home .faq-box .faq h3 {
		margin-bottom: 30px;
	}

}

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

	#single .works-box .flex {
		padding: 40px;
		flex-direction: column;
	}

	#single .works-box .list {
		width: 100%;
		text-align: center;
		margin-bottom: 30px;
	}

	#single .works-box .list ul {
		display: inline-block;
		margin: 0 auto;
		text-align: left;
	}

	#single .works-box .read {
		width: 100%;
	}

	#single .attraction-box .point {
		margin-bottom: 40px;
	}

	#single .attraction-box .point::before {
		display: block;
		position: relative;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50vw;
	}

	#single .attraction-box .point:nth-child(even)::before {
		right: 0;
	}

	#single .attraction-box .point:nth-child(odd)::before {
		left: 0;
	}

	#single .attraction-box .point:nth-child(even) .txt,
	#single .attraction-box .point:nth-child(odd) .txt {
		margin: 0 20px;
	}

	#single .attraction-box .merit-list {
		justify-content: center;
	}

	#single .attraction-box .merit-list li {
		padding: 0 10px 20px;
	}

	#single .attraction-box .merit-list li span.flex {
		border-width: 4px;
	}

	.ttl-02 .bg {
		left: 20px;
	}

	#single .career-box .career .en-01 {
		font-size: 2.4rem;
	}

	#single .flow-box .flow-list figure {
		width: 160px;
		height: 160px;
		border-width: 4px;
	}

}

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

	#wrapper > header {
		height: 50px;
	}

	#wrapper > header .flex {
		height: 50px;
	}

	#identity {
		padding-left: 20px;
	}

	#identity img {
		max-height: 30px;
		width: auto;
	}

	#wrapper > header h1 {
		padding-left: 20px;
	}

	#head-tel {
		padding: 0 15px;
		margin: 0 0 0 auto;
	}

	#head-tel a {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: #f5f5f5;
	}

	#menu-btn > div {
		width: 50px;
		height: 50px;
	}

	#g-nav .logo {
		padding: 10px 20px;
	}

	#g-nav .logo img {
		max-height: 30px;
		width: auto;
	}

	#g-nav ul {
		margin-top: 10px;
		padding: 0 20px;
	}

	#g-nav ul ul {
		margin: 0 0 10px;
	}

	#g-nav li {
		margin: 0;
	}

	#g-nav ul a {
		padding: 10px 0;
	}

	#g-nav ul a {
		padding: 5px 0;
	}

	#g-nav li a::after {
		display: none;
	}

	#nav-btn {
		padding: 20px;
		flex-direction: column;
	}

	#nav-btn .tel-btn {
		margin: 0 0 15px;
	}

	#head-tel .num,
	#head-tel .note {
		display: none;
	}

	#contact-btn {
		right: 20px;
		bottom: 20px;
	}

	#contact-btn a {
		width: 120px;
		height: 120px;
		padding: 10px;
	}

	footer .logo img {
		max-height: 30px;
		width: auto;
	}

	footer .bottom-menu li {
		padding: 0 10px;
	}

	#home #wrapper > header {
		padding-right: 50px;
	}

	#home #main-img .right {
		margin-left: 30%;
	}

	#home .info-box {
		padding: 40px 0;
	}

	#home .recruit-box {
		padding: 40px 0 10px;
	}

	#home .recruit-box .job {
		padding: 20px;
		margin-bottom: 30px;
	}

	#home .recruit-box .job .main {
		flex-direction: column;
	}

	#home .recruit-box .main figure {
		width: 100%;
		padding: 0;
		margin-bottom: 10px;
		text-align: center;
	}

	#home .recruit-box .main .txt {
		width: 100%;
	}

	#home .recruit-box .main .ttl .line {
		display: none;
		/*
		width: 1px;
		height: 20px;
		left: 50%;
		top: -10px;
		*/
	}

	#home .recruit-box .info {
		margin: 20px 0;
	}

	#home .recruit-box .info dt {
		width: 35%;
	}

	#home .recruit-box .info dd {
		width: 65%;
	}

	#home .faq-box .faq {
		padding: 20px;
		margin-bottom: 30px;
	}

	#home .map iframe {
		height: 300px;
	}

	#single #wrapper > header {
		padding-right: 50px;
	}

	#single .info-box {
		padding: 40px 0;
	}

	#single .works-box {
		padding: 40px;
	}

	#single .works-box .ttl {
		padding: 80px 20px 120px;
	}

	#single .attraction-box .point .txt {
		padding: 40px;
	}

	#single .attraction-box .point .en-01 {
		left: 40px;
		font-size: 8rem;
	}

	#single .attraction-box .merit-list {
		max-width: 700px;
		margin: 0 auto 40px;
	}

	.ttl-02 {
		margin-bottom: 80px;
	}

	.ttl-02 .ttl {
		width: 35%;
	}

	.ttl-02 .txt {
		width: 65%;
	}

	.ttl-02 .bg {
		font-size: 10rem;
		top: 40px;
	}

	#single .message-box {
		padding: 100px 0 60px;
	}

	#single .message-box .wrap {
		padding: 40px;
	}

	#single .message-box .flex > figure {
		width: 100%;
		text-align: center;
		padding-right: 0;
	}

	#single .message-box .flex > .txt {
		width: 100%;
	}

	.slick_container .slick-prev {
		left: calc( 10% - 25px );
	}

	.slick_container .slick-next {
		right: calc( 10% - 25px );
	}

	#single .interview-box #tabs figure {
		display: none;
	}

	#single .interview-box #tabs figure + .txt {
		width: 100%;
	}

	#single .interview-box .tab-contents {
		padding: 20px;
	}

	#single .interview-box .tab-contents figure {
		float: none;
		text-align: center;
		padding: 0;
		margin-bottom: 20px;
	}

	#single .career-box {
		padding: 40px 0 10px;
	}

	#single .career-box .career > div {
		width: calc( 50% - 3px );
		padding: 30px 20px !important;
		margin: 20px 0;
	}

	#single .flow-box .flow-list {
		justify-content: flex-start;
	}

	#single .flow-box .col-5 .step {
		width: calc( 100% / 3 );
		margin-bottom: 20px;
	}

	#single .flow-box .col-5 .step:nth-child(3n) .arrow {
		display: none;
	}

	#single .flow-box .flow-list figure {
		margin: 0 auto 20px;
	}

	#single .entry-box {
		padding: 40px 0;
	}

	#single .profile-box {
		padding: 40px 0;
	}

	#single .other-box .job {
		width: calc( ( 100% - 40px ) / 3 );
	}

	#single .other-box .job .txt {
		padding: 20px;
	}

	#single .other-box .job .view-btn {
		display: block;
		padding: 10px;
	}

	footer .wrap {
		padding: 30px 20px;
	}

	#single footer .copyright {
		padding-bottom: 250px;
	}

}

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


	html[lang="ja"] #wpadminbar {
		display: none;
	}

	body {
		font-size: 1.4rem;
	}

	.pc-none {
		display: block;
	}

	.sp-none {
		display: none;
	}

	.btn-01 a {
		padding: 15px;
	}

	ul.list-01 {
		margin-bottom: 10px;
	}

	ul.list-01 li::before {
		top: 8px;
	}

	#wrapper > header {
		position: relative;
		overflow: hidden;
		z-index: 9999;
	}

	#wrapper > header h1 {
		position: absolute;
		left: -9999px;
		top: 0;
	}

	#g-nav ul a {
		font-size: 1.6rem;
	}

	#nav-btn a {
		font-size: 1.6rem;
	}

	#home #main-img {
		height: 250px;
	}

	#home #main-img .right {
		margin-left: 0;
	}

	#home #main-img .en-01 {
		font-size: 1.5rem;
		padding: 5px 10px;
	}

	#home #main-img h1 span {
		font-size: 1.6rem;
		padding: 5px 10px;
	}

	#home #main-img .txt {
		position: absolute;
		top: auto;
		bottom: 20px;
		transform: translate( 0 );
	}

	#contact-btn {
		left: 0;
		right: 0;
		bottom: 0;
	}

	#contact-btn ul {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		border-top: solid 1px rgba( 255, 255, 255, .5 );
	}

	#contact-btn li {
		width: 50%;
		margin: 0;
	}

	#contact-btn li.only {
		width: 100%;
	}

	#contact-btn a {
		width: 100%;
		height: auto;
		border: none;
		border-radius: 0;
		text-align: center;
		padding: 4px;
		transform: scale( 1 ) !important;
	}

	#contact-btn a img {
		width: 80px;
		height: 40px;
	}

	.ttl-01 {
		font-size: 1.4rem;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.ttl-01 .en-01 {
		font-size: 3rem;
	}

	.ttl-02 {
		flex-direction: column;
		margin-bottom: 20px;
	}

	.ttl-02 .ttl {
		width: 100%;
		font-size: 1.6rem;
		margin-bottom: 10px;
	}

	.ttl-02 .ttl .en-01 {
		font-size: 3rem;
	}

	.ttl-02 .txt {
		width: 100%;
	}

	.ttl-02 .bg {
		font-size: 5rem;
		top: 10px;
		left: 10px;
		bottom: auto;
		left: auto;
	}

	.ttl-03 {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}

	.ttl-03 span:nth-child(1) {
		margin-right: 10px;
	}

	.ttl-03 span:nth-child(2) {
		margin-left: 10px;
	}

	dl.table {
		flex-direction: column;
	}

	dl.table dt {
		width: 100%;
		padding: 15px 0 5px;
	}

	dl.table dd {
		width: 100%;
		border: none;
		padding: 0 0 15px;
	}

	footer .wrap {
		flex-direction: column;
		justify-content: center;
		padding: 30px 20px 20px;
	}

	footer .logo {
		margin: 0 0 20px;
		padding: 0;
	}

	footer .bottom-menu .flex {
		justify-content: center;
	}

	#home .info-box {
		padding: 30px 0;
	}

	#home .recruit-box {
		padding: 30px 0 10px;
	}

	#home .recruit-box .ttl-01 {
    margin-bottom: 10px;
	}

	#home .recruit-box > .wrap {
		padding: 0;
	}

	#home .recruit-box .job {
		padding: 20px 20px 10px;
		margin-bottom: 20px;
	}

	#home .recruit-box .main.img {
		display: block;
	}

	#home .recruit-box .main .ttl {
		padding: 10px 20px;
		margin-bottom: 15px;
	}

	#home .recruit-box .main h2 {
		font-size: 1.8rem;
	}

	#home .recruit-box .main .update {
		font-size: 1.1rem;
		padding: 0 15px;
		margin: 5px 0;
	}

	#home .recruit-box .main .photo {
		padding-right: 0;
		text-align: center;
	}

	#home .recruit-box .info {
		margin: 15px 0;
	}

	#home .recruit-box .info dt,
	#home .recruit-box .info dd {
		padding: 10px 15px;
	}

	#home .recruit-box .info dt {
		border-left: solid 1px #e5e5e5;
	}

	#home .recruit-box .info dd {
		border-right: solid 1px #e5e5e5;
	}

	#home .recruit-box .btn-set {
		flex-direction: column;
	}

	#home .recruit-box .btn-set > p {
		width: 100%;
		margin-bottom: 15px;
	}

	#home .faq-box {
		padding: 0;
	}

	#home .faq-box .wrap {
		padding: 0;
	}

	#home .faq-box .ttl-01 {
		margin-bottom: 0;
	}

	#home .faq-box .faq {
		margin-bottom: 20px;
	}

	#home .faq-box .faq h3 {
		font-size: 1.6rem;
		padding: 10px 10px 10px 50px;
		margin-bottom: 15px;
		position: relative;
	}

	#home .faq-box .faq h3 .q {
		width: 30px;
		height: 30px;
		font-size: 1.8rem;
		padding: 1px;
		position: absolute;
		left: 12px;
		top: 8px;
	}

	#home .faq-box .faq h4 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	#home .map {
		margin: 0;
	}

	#home .company .logo {
		width: 120px;
		height: 120px;
	}

	#home .company .logo img {
		max-width: 80px;
		max-height: 80px;
	}

	#home .company {
		padding: 0 20px 30px;
	}

	#single .info-box {
		padding: 20px 0;
	}

	#single .info-box h2 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	#single .works-box {
		padding: 0;
	}

	#single .works-box .ttl {
		padding: 60px 20px 90px;
		font-size: 1.4rem;
	}

	#single .works-box .ttl .en-01 {
		font-size: 3rem;
	}

	#single .works-box .flex {
		padding: 20px;
	}

	#single .works-box .list {
		padding: 20px;
		margin-bottom: 20px;
	}

	#single .works-box .read h3 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	#single .attraction-box {
		padding: 40px 0 0;
	}

	#single .attraction-box .point .txt {
		padding: 20px;
	}

	#single .attraction-box .point:nth-child(even) .txt,
	#single .attraction-box .point:nth-child(odd) .txt {
		margin-top: -30px;
		position: relative;
		z-index: 99;
	}

	#single .attraction-box .point .en-01 {
		position: relative;
		left: 0;
		right: 0;
		font-size: 3rem;
		text-align: center;
		line-height: 1.2;
		margin-bottom: 15px;
		transform: translateY( 0 );
	}

	#single .attraction-box .point {
		margin-bottom: 30px;
	}

	#single .attraction-box .point h3 {
		font-size: 1.6rem;
		margin-bottom: 15px;
	}

	#single .attraction-box .merit-list {
		font-size: 1.6rem;
		line-height: 1.6;
		margin: 0 auto;
		padding-bottom: 20px;
		justify-content: flex-start;
	}

	#single .attraction-box .merit-list li {
		width: 50%;
		padding: 0 0 10px;
	}

	#single .attraction-box .merit-list li span.flex {
		width: 40vw;
		height: 40vw;
		margin: 0 auto;
	}

	#single .concept {
		padding: 30px 0 20px;
	}

	#single .concept-list .flex {
		justify-content: space-between;
	}

	#single .concept-list li {
		width: calc( 50% - 10px );
		padding: 0;
		margin-bottom: 20px;
		font-size: 1.6rem;
	}

	#single .concept-list li img {
		max-width: 100px;
	}

	#single .message-box {
		padding: 80px 0 40px;
	}

	#single .message-box .wrap {
		padding: 40px 20px;
	}

	#single .message-box .flex > figure img {
		max-width: 240px;
	}

	#single .message-box .txt h3 {
		font-size: 1.8rem;
		margin: 0 0 15px;
	}

	#single .message-box .txt .name {
		margin-top: 20px;
		font-size: 1.4rem;
	}

	#single .event-box .slider {
		margin-top: 30px;
		margin-bottom: 40px;
	}

	.slick_container .slick-prev:before,
	.slick_container .slick-next:before {
		width: 40px;
		height: 40px;
		padding: 9px;
		font-size: 1.8rem;
	}

	#single .event-box .slider figcaption {
		padding: 10px;
		font-size: 1.4rem;
	}

	#single .interview-box {
		padding: 30px 0;
	}

	#single .interview-box #tabs li {
		width: calc( 50% - 4px );
		margin-top: 8px;
	}

	#single .interview-box #tabs li:nth-child(even) {
		margin-right: 0;
	}

	#single .interview-box #tabs .name {
		font-size: 1.6rem;
	}

	#single .interview-box .tab-contents figure {
		margin-bottom: 10px;
	}

	#single .interview-box .tab-contents h3 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	#single .interview-box .tab-contents dt {
		font-size: 1.6rem;
		padding-left: 10px;
	}

	#single .interview-box .tab-contents dt > span {
		width: 1px;
		height: auto;
		top: 0;
		bottom: 0;
	}

	#single .interview-box .tab-contents dd {
		margin-bottom: 20px;
	}

	#single .schedule-box {
		padding: 30px 0;
	}

	#single .schedule-box .schedule-list ul {
		padding-left: 80px;
	}

	#single .schedule-box .schedule-list li {
		padding: 20px;
	}

	#single .schedule-box .schedule-list li::after {
		left: -100px;
		right: -20px;
	}

	#single .schedule-box .schedule-list .time {
		width: 60px;
		left: -80px;
		top: 37px;
	}

	#single .schedule-box .schedule-list li h3 {
		margin-bottom: 10px;
	}

	#single .schedule-box .schedule-list li h3 .circle {
		top: 37px;
	}

	#single .career-box .career {
		margin-top: 20px;
		flex-direction: column;
	}

	#single .career-box .career > div {
		width: 100%;
		margin: 15px 0;
	}

	#single .career-box .career dt {
		padding: 5px;
		margin-bottom: 15px;
	}

	#single .requirement-box {
		padding: 20px 0;
	}

	#single .flow-box {
		padding: 20px 0;
		margin-bottom: 0;
	}

	#single .flow-box .flow-list {
		margin-top: 30px;
	}

	#single .flow-box .step {
		width: 100% !important;
		margin: 0;
	}

	#single .flow-box .flow-list .icon .arrow {
		display: none;
	}

	#single .flow-box .flow-list dt {
		margin-bottom: 10px;
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#single .flow-box .flow-list .icon {
		margin: 0;
	}

	#single .flow-box .flow-list figure {
		width: 30vw;
		height: 30vw;
		margin: 0 5px 0 0;
	}

	#single .flow-box .flow-list figure img {
		transform: scale( .8 );
	}

	#single .flow-box .flow-list .ttl {
		width: 30vw;
		margin: 0 0 0 5px;
		white-space: nowrap;
	}

	/*
	#single .flow-box .flow-list dt .under-line {
		left: 0;
		transform: translateX( 0 );
	}
	*/

	#single .flow-box .flow-list dt .jp {
		font-size: 1.8rem;
	}

	#single .flow-box .flow-list dd {
		font-size: 1.2rem;
	}

	#single .flow-box .flow-list dd .arrow {
		display: block;
		text-align: center;
		margin: 5px 0;
		font-size: 1.6rem;
	}

	#single .entry-box {
		padding: 30px 0 10px;
	}

	#single .entry-box .notice {
		padding: 20px;
	}

	#single .entry-box .form-group {
		flex-direction: column;
		padding: 20px 0;
	}

	#single .entry-box .form-group > label,
	#single .entry-box .form-group > .jobboard-form-attachment {
		width: 100%;
		margin-bottom: 15px;
		padding: 0;
	}

	#single .sjb-page .sjb-detail .jobpost-form .required {
		position: relative;
		right: 0;
		margin-left: 15px;
	}

	#single .entry-box .form-group > input,
	#single .entry-box .form-group > textarea,
	#single .sjb-page .sjb-detail .jobpost-form .file {
		width: 100% !important;
	}

	#single .sjb-page .sjb-detail .jobpost-form .file div,
	#single .sjb-page .sjb-detail .jobpost-form .file:hover div {
		font-size: 1.4rem;
		padding: 7px 10px;
	}

	#single .sjb-page .jobboard-form-attachment label,
	#single .sjb-page .jobboard-form-attachment label + div {
		width: 100%;
	}

	#single #req-box {
		right: 0;
		left: 0;
		bottom: 0;
	}

	#single #req-box .txt {
		display: none;
	}

	#single #req-box .req-num {
		padding: 7px;
		font-size: 1.6rem;
	}

	#single .pp-box {
		margin: 20px 0;
		padding: 20px;
	}

	#single .profile-box {
		padding: 30px 0;
	}

	#single .profile-box .ttl-01 {
		margin-bottom: 0;
	}

	#single .other-box {
		padding: 10px 0;
	}

	#single .other-box .job-list {
		flex-direction: column;
	}

	#single .other-box .job {
		width: 100%;
		margin-bottom: 20px;
	}

	#single .other-box .job .txt {
		padding: 10px 20px;
	}

	#single .other-box .job h4 {
		font-size: 1.8rem;
	}

	#single .other-box .job .view-btn {
		margin: 15px auto 10px;
	}

	#single footer .copyright {
		padding-bottom: 70px;
	}

	/* thanks */

	#thanks .read {
		padding: 30px 0;
	}

	#thanks .btn-01 {
		margin-top: 20px;
	}

	/* not-found */

	#not-found .read {
		padding: 30px 0;
	}

	#not-found .read h3 {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}

	#not-found .read p {
		margin-bottom: 20px;
	}

	#not-found .btn-01 {
		margin-top: 20px;
	}

}
