@charset "UTF-8";

/* button */
.pageContents .button {
  width:314px;
  margin:60px auto 0;
}
.pageContents .button a {
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1;
  letter-spacing:.05em;
	width:100%;
	height:80px;
	padding:0 0 0 20px;
	display:flex;
	align-items:center;
	position:relative;
	background:#da6634;
	border:solid 2px #da6634;
	border-radius:10px;
	overflow:hidden;
	transition:ease .3s;
}
.pageContents .button a .arrow {
	position:relative;
	z-index:1;
}
.pageContents .button a::before {
	content:"";
	width:32px;
	height:32px;
	background:url(../img/common/ico_btn_arrow_w.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:50%;
	right:20px;
	transform: translateY(-50%);
	z-index:1;
	transition:ease .3s;
}

/* ホバー設定 */
.pageContents .button a::after {
	content:"";
	width:150%;
	height:150%;
	display: block;
	background:#fff;
	position: absolute;
	top:0;
	left:-200%;
	z-index:0;
	transition: ease .4s;
}

#wrapper,
#container {
  overflow:inherit;
}
.secttl {
  margin:0 0 60px;
  overflow:hidden;
}
.secttl .inner {
  max-width:1700px;
  margin:0 auto;
  padding:0 50px;
}
.secttl .ttlbox {
  padding:75px 0 90px;
  position:relative;
}
.secttl .bgtxt {
  font-family:roboto-condensed, sans-serif;
  color:#ccc;
  font-size:300px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  position:absolute;
  top:-20px;
  left:120px;
  opacity:.1;
}
.secttl h1 {
  font-family:roboto-condensed, sans-serif;
  color:#222;
  font-size:120px;
  font-weight:700;
  line-height:1;
  width:fit-content;
  position:relative;
}
.secttl h1 .sub {
  font-family: "noto-sans-cjk-jp", sans-serif;
  color:#d95e29;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  position:absolute;
  bottom:-30px;
  right:0;
}
.pankuzu {
  display: flex;
}
.pankuzu li {
  color:#363636;
  font-size:16px;
  line-height:1;
  letter-spacing:.05em;
  position:relative;
}
.pankuzu li + li {
  padding-left:32px;
}
.pankuzu li + li::before {
  content:"";
  width:8px;
  height:8px;
  display:block;
  background:url(../img/common/ico_arrow_pankuzu.svg) no-repeat 0 0;
  background-size:100% auto;
  position:absolute;
  top:5px;
  left:12px;
}
.pankuzu li a {
  color:#363636;
  display:inline-block;
  position:relative;
  transition:ease .3s;
}
.pankuzu li a::before {
  content:"";
  width:100%;
  height:1px;
  background:#d95e29;
  display:block;
  position:absolute;
  bottom:-5px;
  left:0;
  transform:scaleX(0);
  transition:ease .3s;
}

.pageCols {
  width:100%;
  max-width:1700px;
  margin:0 auto;
  padding:0 50px 200px;
  position: relative;
  display:flex;
  flex-direction:row-reverse;
}
.pageNavi {
  width:250px;
}
.pageNavi ul {
  padding:20px 0;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
  position:sticky;
  top:150px;
  display:none;
}
.pageNavi ul.visible {
  display:block;
}
.pageNavi ul li + li {
  margin-top:20px;
}
.pageNavi ul li a {
  font-size:16px;
  font-weight:400;
  line-height:1.33;
  letter-spacing:.05em;
  padding:10px 20px 10px 30px;
  display:block;
  transition:ease .3s;
}
.pageNavi ul li.current a {
  color:#fff;
  background:#d95e29;
}
.pageContents {
  width:1140px;
  margin-right:90px;
}

.recruit_tab {
  width:100%;
  display:flex;
  justify-content: space-between;
  margin:0;
}
.recruit_tab button {
  color:#373737;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  width:calc(50% - 30px);
  padding:15px 0;
  border-bottom:solid 3px #373737;
  transition:ease .3s;
  cursor:pointer;
}
.recruit_tab button.on {
  color:#d95e29;
  border-bottom:solid 3px #d95e29;
}
.details {
  display:none;
  position:absolute;
}
.details.open {
  display:block;
  position:relative;
}

.pageContents h2 {
  color:#222;
  font-size:30px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.2;
  padding:8px 0 8px 14px;
  margin:0 0 30px;
  border-left:solid 3px #d95e29;
}
.pageContents h3 {
  color:#222;
  font-size:26px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.6;
  margin:0 0 20px;
}
.pageContents h3 .subttl {
  color:#d95e29;
  font-size:14px;
  line-height:1;
  display:block;
  margin:0 0 5px;
}
.pageContents .jobs h3,
.pageContents .contact h3,
.pageContents .dorm h3 {
  font-size:22px;
  letter-spacing:.1em;
  margin:0 0 20px;
  padding:0 0 0 27px;
  position:relative;
}
.pageContents .jobs h3::before,
.pageContents .contact h3::before,
.pageContents .dorm h3::before {
  content:"";
  width:20px;
  height:3px;
  display: block;
  background:#d95e29;
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
}
.pageContents p {
  font-size:18px;
  letter-spacing:.1em;
  line-height:1.77;
  margin:0;
}
.pageContents p a {
  color:#373737;
  display:inline-block;;
  position:relative;
  transition:ease .3s;
}
.pageContents p a::before {
  content:"";
  width:100%;
  height:1px;
  display:block;
  background:#373737;
  position:absolute;
  bottom:1px;
  transition:ease .3s;
}

.imgcol {
  width:100%;
  display:flex;
  margin:0;
}
.imgcol .image,
.jobs .image {
  min-width:400px;
  width:400px;
  margin:0 60px 0 0;
  overflow:hidden;
  border-radius:10px;
}
.imgcol .text {
  padding:0;
}

.entry,
.bonus {
  margin:60px 0 0;
}
.jobs,
.guidelines,
.contact,
.dorm {
  margin:150px 0 0;
}

.pageContents .entry h2 {
  color:#d95e29;
  padding:0;
  margin:0 0 20px;
  border-left:0;
}
.entry .imgcol .text {
  padding:15px 0 0;
}
.entry .imgcol .text p + p {
  margin-top:25px;
}
.entry .imgcol .text p .chushaku {
  font-size:14px;
}

.pageContents .box {
  padding:30px;
  margin:40px auto 0;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
  position:relative;
}
.entry h2 + .box,
.jobs h2 + .job_info,
.contact h2 + h3,
.dorm h2 + h3,
.contact .box h4:first-child,
.dorm .box h4:first-child {
  margin-top:0 !important;
}

.bonus .box .twocol {
  align-items:center;
}
.bonus .box h3 {
  color:#373737;
  font-size:20px;
  font-weight:900;
  letter-spacing:.08em;
  margin:0 60px 0 0;
  white-space:nowrap;
}
ul.dotlist li {
  color:#373737;
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
  list-style:square;
  margin:10px 0 0 1.2em;
}
ul.dotlist li:first-child {
  margin-top:0;
}
ul.dotlist li::marker {
  color:#d95e29;
}
ul.dotlist li .chushaku {
  font-size:14px;
  display:inline-block;
}

.pageContents table {
  width:100%;
}
.pageContents table th,
.pageContents table td {
  color:#373737;
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
  padding:45px 10px 10px;
  border-bottom:solid 2px #d95e29;
}
.pageContents table tbody tr:nth-child(1) th,
.pageContents table tbody tr:nth-child(1) td {
  padding-top:0;
}
.pageContents table th {
  font-weight:700;
  text-align:left;
  width:320px;
  min-width:320px;
  border-bottom:solid 2px transparent;
  position:relative;
}
.pageContents table th::before {
  content:"";
  width:calc(100% - 20px);
  height:4px;
  background:#d95e29;
  display:block;
  position:absolute;
  left:0;
  bottom:-3px;
}
.pageContents table td ul {
  margin-top:.25em;
}
.pageContents table td ul li {
  font-size:18px;
  line-height:1.77;
  letter-spacing:.1em;
  margin:0 0 0 1.5em;
  list-style:disc;
}
.pageContents table td ul li::marker {
  color:#373737;
}
.pageContents table td ul.dotlist li {
  list-style:disc;
  margin-left:1.5em;
}
.pageContents table td ul.numlist li {
  list-style:none;
  position:relative;
  padding-left:2.5em;
}
.pageContents table td ul.numlist li .num {
  position:absolute;
  left:0;
}

.jobs .twocol,
.dorm .imgcol {
  align-items:flex-start;
}
.job_info {
  margin:60px 0 0;
}

.pageContents .jobs table {
  width:100%;
  border-top:solid 1px #373737;
  border-left:solid 1px #373737;
  margin:30px 0 0;
}
.pageContents .jobs table th,
.pageContents .jobs table td {
  color:#373737;
  font-size:16px;
  line-height:1.5;
  letter-spacing:.05em;
  vertical-align:middle;
  padding:18px 20px;
  border-bottom:solid 1px #373737;
  border-right:solid 1px #373737;
}
.pageContents .jobs table tbody tr:nth-child(1) th,
.pageContents .jobs table tbody tr:nth-child(1) td {
  padding-top:18px;
}
.pageContents .jobs table th {
  color:#fff;
  font-weight:500;
  text-align:left;
  width:120px;
  min-width:120px;
  background:#373737;
  border-bottom:solid 1px #fff;
}
.pageContents .jobs table tbody tr:last-child th {
  border-bottom:solid 1px #373737;
}
.pageContents .jobs table th + th {
  border-right:solid 1px #fff;
}
.pageContents .jobs table th::before {
  display:none !important;
}

.pageContents .contact h3,
.pageContents .dorm h3 {
  margin-top:70px;
}
.contact .box h4,
.dorm .box h4 {
  color:#da6634;
  font-size:24px;
  font-weight:900;
  line-height:1;
  letter-spacing:.1em;
  margin:40px 0 15px;
}
.contact .box p + p {
  margin-top:35px;
}
.dorm .imgcol .image {
  min-width:300px;
  width:300px;
  margin:0 50px 0 0;
  border-radius:10px;
}


@media screen and (max-width:1580px) {
/* button */
.pageContents .button {
  width:19.87vw;
  margin:3.79vw auto 0;
}
.sustainability .button,
.pressrelease .button {
  width:22.15vw;
}
.pageContents .button a {
	font-size:1.01vw;
	height:5.06vw;
	padding:0 0 0 1.26vw;
	border-radius:.63vw;
}
.sustainability .button a,
.pressrelease .button a {
  padding:0 0 0 1.89vw;
}
.pageContents .button a::before {
	width:2.02vw;
	height:2.02vw;
	right:1.26vw;
}
.sustainability .button a::before,
.pressrelease .button a::before {
  right:1.89vw;
}

.secttl {
  margin:0 0 3.79vw;
}
.secttl .inner {
  padding:0 3.16vw;
}
.secttl .ttlbox {
  padding:4.74vw 0 5.69vw;
}
.secttl .bgtxt {
  font-size:18.98vw;
  top:-1.26vw;
  left:7.59vw;
}
.secttl h1 {
  font-size:7.59vw;
}
.secttl h1 .sub {
  font-size:1.51vw;
  bottom:-1.89vw;
}
.pankuzu li {
  font-size:1.01vw;
}
.pankuzu li + li {
  padding-left:2.02vw;
}
.pankuzu li + li::before {
  width:.5vw;
  height:.5vw;
  top:.31vw;
  left:.75vw;
}
.pageCols {
  padding:0 3.16vw 12.65vw;
}
.pageNavi {
  width:15.82vw;
}
.pageNavi ul {
  padding:1.26vw 0;
  border-radius:.63vw;
  box-shadow:0 0 1.13vw 0 rgba(0, 0, 0, 0.1);
  top:9.49vw;
}
.pageNavi ul li + li {
  margin-top:1.26vw;
}
.pageNavi ul li a {
  font-size:1.01vw;
  padding:.63vw 1.26vw .63vw 1.89vw;
}
.pageContents {
  width:72.15vw;
  margin-right:5.69vw;
}
.pageContents h2 {
  font-size:1.89vw;
  padding:.5vw 0 .5vw .88vw;
  margin:0 0 1.89vw;
}
.pageContents h3 {
  font-size:1.64vw;
  margin:0 0 1.26vw;
}
.pageContents h3 .subttl {
  font-size:.88vw;
  margin:0 0 .31vw;
}
.pageContents .jobs h3,
.pageContents .contact h3,
.pageContents .dorm h3 {
  font-size:1.39vw;
  margin:0 0 1.26vw;
  padding:0 0 0 1.7vw;
}
.pageContents .jobs h3::before,
.pageContents .contact h3::before,
.pageContents .dorm h3::before {
  width:1.26vw;
  height:.18vw;
}
.pageContents p {
  font-size:1.13vw;
}
.recruit_tab button {
  font-size:1.51vw;
  width:calc(50% - 1.89vw);
  padding:.94vw 0;
}

.imgcol .image,
.jobs .image {
  min-width:25.31vw;
  width:25.31vw;
  margin:0 3.79vw 0 0;
  border-radius:.63vw;
}

.entry,
.bonus {
  margin:3.79vw 0 0;
}
.jobs,
.guidelines,
.contact,
.dorm {
  margin:9.49vw 0 0;
}

.pageContents .entry h2 {
  margin:0 0 1.26vw;
}
.entry .imgcol .text {
  padding:.94vw 0 0;
}
.entry .imgcol .text p + p {
  margin-top:1.58vw;
}
.entry .imgcol .text p .chushaku {
  font-size:.88vw;
}

.pageContents .box {
  padding:1.89vw;
  margin:2.53vw auto 0;
  border-radius:.63vw;
  box-shadow:0 0 1.13vw 0 rgba(0, 0, 0, 0.1);
}

.bonus .box h3 {
  font-size:1.26vw;
  margin:0 3.79vw 0 0;
}
ul.dotlist li {
  font-size:1.13vw;
  margin:.63vw 0 0 1.2em;
}
ul.dotlist li .chushaku {
  font-size:.88vw;
}

.pageContents table th {
  width:20.25vw;
  min-width:20.25vw;
}
.pageContents table th,
.pageContents table td {
  font-size:1.13vw;
  padding:2.84vw .63vw .63vw;
}
.pageContents table th::before {
  width:calc(100% - 1.26vw);
}
.pageContents table td ul li {
  font-size:1.13vw;
}

.job_info {
  margin:3.79vw 0 0;
}

.pageContents .jobs table {
  margin:1.89vw 0 0;
}
.pageContents .jobs table th,
.pageContents .jobs table td {
  font-size:1.01vw;
  padding:1.13vw 1.26vw;
}
.pageContents .jobs table tbody tr:nth-child(1) th,
.pageContents .jobs table tbody tr:nth-child(1) td {
  padding-top:1.13vw;
}
.pageContents .jobs table th {
  width:7.59vw;
  min-width:7.59vw;
}

.pageContents .contact h3,
.pageContents .dorm h3 {
  margin-top:4.43vw;
}
.contact .box h4,
.dorm .box h4 {
  font-size:1.51vw;
  margin:2.53vw 0 .94vw;
}
.contact .box p + p {
  margin-top:2.21vw;
}
.dorm .imgcol .image {
  min-width:18.98vw;
  width:18.98vw;
  margin:0 3.16vw 0 0;
  border-radius:.63vw;
}


}


@media screen and (max-width:767px) {
/* button */
.pageContents .button {
  width:69.33vw;
  margin:10.66vw auto 0;
}
.pageContents .button a {
	font-size:3.46vw;
	height:16vw;
	padding:0 0 0 5.33vw;
	border-radius:1.33vw;
}
.pageContents .button a::before {
	width:6.4vw;
	height:6.4vw;
	right:4vw;
}

#wrapper {
  overflow:hidden;
}
.secttl {
  margin:0 0 9.33vw;
}
.secttl .inner {
  padding:0 5.33vw;
}
.secttl .ttlbox {
  padding:10.66vw 0 11.33vw;
}
.secttl .bgtxt {
  font-size:32vw;
  top:0;
  left:9.33vw;
}
.secttl h1 {
  font-size:13.33vw;
}
.secttl h1 .sub {
  font-size:3.2vw;
  bottom:-4vw;
}
.pankuzu li {
  font-size:3.2vw;
}
.pankuzu li + li {
  padding-left:6.66vw;
}
.pankuzu li + li::before {
  width:1.6vw;
  height:1.6vw;
  top:.8vw;
  left:2.4vw;
}

.pageCols {
  margin:0 auto;
  padding:0 5.33vw 26.66vw;
}
.pageNavi {
  display:none !important;
}
.pageContents {
  width:100%;
  margin-right:0;
}

.pageContents h2 {
  font-size:4.8vw;
  padding:2.13vw 0 2.13vw 3.2vw;
  margin:0 0 4vw;
}
.pageContents h3 {
  font-size:4.8vw;
  margin:0 0 4.66vw;
}
.pageContents h3 .subttl {
  font-size:3.2vw;
  margin:0 0 2vw;
}
.pageContents .jobs h3,
.pageContents .contact h3,
.pageContents .dorm h3 {
  font-size:4.26vw;
  margin:0 0 4vw;
  padding:0 0 0 5.33vw;
}
.pageContents .jobs h3::before,
.pageContents .contact h3::before,
.pageContents .dorm h3::before {
  width:4.26vw;
  height:.66vw;
}
.pageContents p {
  font-size:3.73vw;
  letter-spacing:.05em;
  line-height:2;
}
.pageContents p a.sp {
  display:inline-block !important;
}
.recruit_tab button {
  font-size:4.26vw;
  letter-spacing:.05em;
  line-height:1.33;
  width:calc(50% - 2vw);
  padding:2.66vw 0;
}
.imgcol {
  display:block;
  margin:6.66vw 0 0;
}
.imgcol .image {
  min-width:inherit;
  width:100%;
  margin:0 0 6.66vw;
  border-radius:1.33vw;
}
.pageContents .box {
  max-width:none;
  padding:5.33vw;
  margin:6.66vw auto 0;
  border-radius:1.33vw;
  box-shadow:0 0 2.4vw 0 rgba(0, 0, 0, 0.1);
}
.details {
  position:relative;
}
.imgcol .image,
.jobs .image {
  min-width:inherit;
  width:100%;
  margin:0 0 6.66vw;
  border-radius:1.33vw;
}
.entry {
  margin:8vw 0 0;
}
.bonus {
  margin:13.33vw 0 0;
}
.jobs,
.guidelines,
.contact,
.dorm {
  margin:21.33vw 0 0;
}

.pageContents .entry h2 {
  margin:0 0 4vw;
}
.entry .imgcol .text {
  padding:0;
}
.entry .imgcol .text p + p {
  margin-top:1.5em;
}
.entry .imgcol .text p .chushaku {
  font-size:3.2vw;
}

.pageContents .box {
  padding:5.33vw;
  margin:8vw auto 0;
  border-radius:1.33vw;
  box-shadow:0 0 2.4vw 0 rgba(0, 0, 0, 0.1);
}

.bonus .box h3 {
  font-size:4.26vw;
  margin:0 0 4vw;
}
ul.dotlist li {
  font-size:3.73vw;
  margin:.9em 0 0 1.2em;
}
ul.dotlist li .chushaku {
  font-size:2.93vw;
}

.pageContents table {
  display: block;
}
.pageContents table th {
  color:#d95e29;
  font-size:4.26vw;
  padding:4vw 2.66vw 1.33vw;
  display:block;
  width:auto;
  min-width:inherit;
}
.pageContents table td {
  font-size:3.73vw;
  padding:0 2.66vw 4vw;
  display:block;
}
.pageContents table th::before {
  display:none;
}
.pageContents table td ul li {
  font-size:3.73vw;
}
.pageContents table td ul li + li {
  margin-top:1.33vw;
}

.bonus .box .twocol,
.jobs .job_info .twocol {
  display:block;
}
.job_info {
  margin:13.33vw 0 0;
}

.pageContents .jobs table {
  margin:6.66vw 0 0;
}
.pageContents .jobs table th,
.pageContents .jobs table td {
  font-size:3.2vw;
  padding:3.46vw 4vw;
  display:table-cell;
}
.pageContents .jobs table tbody tr:nth-child(1) th,
.pageContents .jobs table tbody tr:nth-child(1) td {
  padding-top:3.46vw;
}
.pageContents .jobs table th {
  width:auto;
  min-width:inherit;
  white-space:nowrap;
}

.pageContents .contact h3,
.pageContents .dorm h3 {
  margin-top:13.33vw;
}
.contact .box h4,
.dorm .box h4 {
  font-size:4.26vw;
  line-height:1.33;
  margin:8vw 0 2.66vw;
}
.contact .box p + p {
  margin-top:1.5em;
}
.dorm .imgcol .image {
  min-width:inherit;
  width:100%;
  margin:0 0 8vw;
  border-radius:1.33vw;
}


}


@media (hover: hover) {
.pageContents .button a:hover::after,
.pageContents .button a:focus::after {
	left:-45%;
}
.pageContents .button a:hover::before,
.pageContents .button a:focus::before {
	background-image:url(../img/common/ico_btn_arrow_o.svg);
}
.pageContents .button a:hover,
.pageContents p a:hover,
.pageContents .button a:focus,
.pageContents p a:focus {
  color:#da6634;
}
.pageContents p a:hover::before,
.pageContents p a:focus::before {
  transform:scaleX(0);
  background:#da6634;
}
.pageNavi ul li a:hover,
.pageNavi ul li a:focus {
  color:#fff;
  background:#d95e29;
}
.pankuzu li a:hover,
.pankuzu li a:focus {
  color:#d95e29;
}
.pankuzu li a:hover::before,
.pankuzu li a:focus::before {
  transform:scaleX(1);
}

}
