.con-intro { margin-left: auto; margin-right: auto; }
@media only screen and (min-width: 1025px) { .con-intro { width: 85.7%; } }
@media print { .con-intro { width: 85.7%; } }
.ie8 .con-intro { width: 85.7%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-intro { width: 92%; } }
@media only screen and (max-width: 767px) { .con-intro { width: 89.3%; } }

/*Animate */
/* -----------------------------------------------------------
	.con-intro
----------------------------------------------------------- */
.con-intro { margin-bottom: 60px; }
@media only screen and (max-width: 767px) { .con-intro { margin-bottom: 40px; } }

/* -----------------------------------------------------------
	.con-recruit
----------------------------------------------------------- */
.con-recruit { position: relative; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media only screen and (max-width: 767px) { .con-recruit { z-index: 1; } }
@media only screen and (min-width: 768px) { .con-recruit .img-recruit { width: 50%; } }
@media print { .con-recruit .img-recruit { width: 50%; } }
.ie8 .con-recruit .img-recruit { width: 50%; }
@media only screen and (max-width: 767px) { .con-recruit .img-recruit { order: 1; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; } }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit .img-recruit .img { position: relative; overflow: hidden; }
  .con-recruit .img-recruit .img img { max-width: none; width: 150%; margin-left: -25%; } }
@media only screen and (max-width: 767px) { .con-recruit .img-recruit .img { width: 50%; } }
@media only screen and (min-width: 768px) { .con-recruit .fixed-recruit { width: 50%; height: 100vh; position: -webkit-sticky; position: sticky; top: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: flex-end; justify-content: flex-end; padding: 0 0 5% 5%; } }
@media print { .con-recruit .fixed-recruit { width: 50%; height: 100vh; position: -webkit-sticky; position: sticky; top: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: flex-end; justify-content: flex-end; padding: 0 0 5% 5%; } }
.ie8 .con-recruit .fixed-recruit { width: 50%; height: 100vh; position: -webkit-sticky; position: sticky; top: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: flex-end; justify-content: flex-end; padding: 0 0 5% 5%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-recruit .fixed-recruit { padding-bottom: 10%; } }
@media only screen and (max-width: 767px) { .con-recruit .fixed-recruit { width: 89.3%; margin: 0 auto; order: 2; padding: 60px 0 0; } }
.con-recruit .fixed-recruit .title-basic { margin-bottom: 80px; }
@media only screen and (max-width: 767px) { .con-recruit .fixed-recruit .title-basic { text-align: right; margin-bottom: 0; } }
.con-recruit .fixed-recruit .title-basic span { line-height: 1.765; }
@media only screen and (max-width: 767px) { .con-recruit .fixed-recruit .title-basic span { line-height: 1.5; } }
.con-recruit .fixed-recruit .txt { letter-spacing: 0.18em; margin-bottom: 48px; padding-left: 1.5em; }
@media only screen and (max-width: 767px) { .con-recruit .fixed-recruit .txt { margin-bottom: 0; } }

/* -----------------------------------------------------------
	.con-office
----------------------------------------------------------- */
@media only screen and (min-width: 768px) { .con-office ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media print { .con-office ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
.ie8 .con-office ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media only screen and (min-width: 768px) { .con-office ul li { width: calc(50% - 5px); } }
@media print { .con-office ul li { width: calc(50% - 5px); } }
.ie8 .con-office ul li { width: calc(50% - 5px); }
@media only screen and (max-width: 767px) { .con-office ul li:first-child { margin-bottom: 36px; } }
.con-office ul li figure figcaption { padding: 16px 40px; letter-spacing: 0.075em; line-height: 1.75; }
@media only screen and (max-width: 767px) { .con-office ul li figure figcaption { padding: 16px 24px; } }

/* -----------------------------------------------------------
	.con-guideline
----------------------------------------------------------- */
.con-guideline { display: -webkit-flex; display: flex; }
.con-guideline .box-title { width: 17%; }
@media only screen and (min-width: 768px) { .con-guideline .box-title .title-basic { width: calc(100% - 7.15vw); margin-left: auto; } }
@media print { .con-guideline .box-title .title-basic { width: calc(100% - 7.15vw); margin-left: auto; } }
.ie8 .con-guideline .box-title .title-basic { width: calc(100% - 7.15vw); margin-left: auto; }
@media only screen and (max-width: 767px) { .con-guideline .box-title .title-basic { width: calc(100% - 5.35vw); margin-left: auto; } }
.con-guideline .box-guideline { width: 83%; }
@media only screen and (min-width: 768px) { .con-guideline .box-guideline { padding-top: 100px; padding-left: 5%; } }
@media print { .con-guideline .box-guideline { padding-top: 100px; padding-left: 5%; } }
.ie8 .con-guideline .box-guideline { padding-top: 100px; padding-left: 5%; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline { padding-left: 24px; margin-top: 40px; } }
.con-guideline .box-guideline ul { border-top: 1px solid #111; }
.con-guideline .box-guideline ul li { border-bottom: 1px solid #111; }
.con-guideline .box-guideline ul li h3 { padding: 36px 100px 36px 36px; font-size: 2.4rem; letter-spacing: 0.28em; font-weight: 400; position: relative; cursor: pointer; }
@media only screen and (min-width: 1025px) { .con-guideline .box-guideline ul li h3 { -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
  .con-guideline .box-guideline ul li h3:hover { opacity: 0.7; } }
@media print { .con-guideline .box-guideline ul li h3 { -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
  .con-guideline .box-guideline ul li h3:hover { opacity: 0.7; } }
.ie8 .con-guideline .box-guideline ul li h3 { -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.ie8 .con-guideline .box-guideline ul li h3:hover { opacity: 0.7; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li h3 { padding: 24px 40px 24px 16px; font-size: 1.8rem; letter-spacing: 0.18em; line-height: 1.5; } }
.con-guideline .box-guideline ul li h3.open:after { opacity: 0; }
.con-guideline .box-guideline ul li h3:before, .con-guideline .box-guideline ul li h3:after { content: ""; background: #111; position: absolute; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.con-guideline .box-guideline ul li h3:before { width: 25px; height: 1px; top: 50%; right: 60px; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li h3:before { width: 13px; right: 20px; } }
.con-guideline .box-guideline ul li h3:after { width: 1px; height: 25px; top: calc(50% - 12px); right: 72px; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li h3:after { height: 13px; top: calc(50% - 6px); right: 26px; } }
.con-guideline .box-guideline ul li table { width: calc(100% - 36px); margin-left: auto; margin-bottom: 36px; display: none; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li table { width: calc(100% - 16px); } }
@media only screen and (min-width: 768px) { .con-guideline .box-guideline ul li table tr:not(:last-child) th, .con-guideline .box-guideline ul li table tr:not(:last-child) td { border-bottom: 1px solid #ccc; } }
@media print { .con-guideline .box-guideline ul li table tr:not(:last-child) th, .con-guideline .box-guideline ul li table tr:not(:last-child) td { border-bottom: 1px solid #ccc; } }
.ie8 .con-guideline .box-guideline ul li table tr:not(:last-child) th, .ie8 .con-guideline .box-guideline ul li table tr:not(:last-child) td { border-bottom: 1px solid #ccc; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li table tr:not(:last-child) td { border-bottom: 1px solid #ccc; } }
.con-guideline .box-guideline ul li table tr th, .con-guideline .box-guideline ul li table tr td { padding: 24px 0; }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li table tr th, .con-guideline .box-guideline ul li table tr td { display: block; width: 100%; padding: 0; } }
.con-guideline .box-guideline ul li table tr th { font-size: 1.6rem; letter-spacing: 0.18em; line-height: 1.5; }
@media only screen and (min-width: 1025px) { .con-guideline .box-guideline ul li table tr th { width: 15%; } }
@media print { .con-guideline .box-guideline ul li table tr th { width: 15%; } }
.ie8 .con-guideline .box-guideline ul li table tr th { width: 15%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-guideline .box-guideline ul li table tr th { width: 20%; } }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li table tr th { transform: 1.4rem; padding-top: 16px; } }
.con-guideline .box-guideline ul li table tr td { letter-spacing: 0.075em; line-height: 1.75; }
@media only screen and (min-width: 1025px) { .con-guideline .box-guideline ul li table tr td { width: 85%; padding-right: 24px; } }
@media print { .con-guideline .box-guideline ul li table tr td { width: 85%; padding-right: 24px; } }
.ie8 .con-guideline .box-guideline ul li table tr td { width: 85%; padding-right: 24px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-guideline .box-guideline ul li table tr td { width: 80%; padding-right: 24px; } }
@media only screen and (max-width: 767px) { .con-guideline .box-guideline ul li table tr td { padding-bottom: 16px; padding-right: 16px; } }
