@charset "UTF-8";
.corporate {
 background: #232526;
 padding: 5rem 3% 4rem;
 background: -webkit-linear-gradient(to right, #313335, #232526);
 background: linear-gradient(to right, #313335, #232526);
}
.corporate:before {
 content: "";
 display: block;
 background: url("../images/common/dots.svg") repeat;
 background-size: 8px auto;
 width: 100%;
 left: 0;
 top: 0;
 height: 100%;
 position: absolute;
}
.corporate .inner {
 max-width: 1080px;
 padding: 0 4rem;
}
.corporate .inner .secTtl {
 margin-bottom: 3rem;
}
.corporate .inner .contents {
 display: flex;
 flex-flow: row-reverse;
 position: relative;
 width: 100%;
 padding: 3rem 0;
}
.corporate .inner side {
 flex: 1 0 27.5rem;
 max-width: 27.5rem;
 box-sizing: border-box;
}
.corporate .inner side > ul > li a {
 display: block;
 padding: 1.25rem 1.5rem 1.25rem 0;
 position: relative;
 line-height: 1.2;
}
.corporate .inner side > ul > li a.blank:after {
 content: "";
 display: inline-block;
 background: url("../images/common/icon_link.png") no-repeat;
 background-size: 100% auto;
 width: 0.75em;
 height: 0.75em;
 position: relative;
 margin: auto 0 auto 0.4em;
}
.corporate .inner side > ul > li a:before {
 content: "";
 display: block;
 height: 100%;
 width: 0;
 background: #f25e23;
 transition: .2s;
 position: absolute;
 right: 0;
 top: 0;
}
.corporate .inner side > ul > li a:hover:before, .corporate .inner side > ul > li.active a:before {
 width: 4px;
}
.corporate .inner side > ul > li a:hover, .corporate .inner side > ul > li.active a {
 color: #f25e23;
 font-weight: 600;
}
.corporate .inner main {
 flex: 1 0 calc(100% - 27.5rem);
 max-width: calc(100% - 27.5rem);
 padding-left: 5rem;
 box-sizing: border-box;
 border-left: solid 1px #888;
}
/* ===== company ===== */
#company main dl {
 margin-bottom: 2.5rem;
 display: table;
 width: 100%;
}
#company main dl dt {
 display: table-cell;
 vertical-align: top;
 width: 6em;
 font-size: 90%;
 color: #bcbcbc;
}
#company main dl dd {
 display: table-cell;
 vertical-align: top;
 padding-left: 3rem;
 word-break: keep-all;
 width: calc(100% - 6em);
}
/* ===== recruit ===== */
#recruit main p {
 text-align: justify;
}
#recruit main .lead {
 font-size: 90%;
 color: #ccc;
 margin-bottom: 3rem;
}
#recruit main .detail {
 border-top: dashed 1px #888;
 padding: 3rem 0 0;
 text-align: center;
}
#recruit main .detail h3 {
 font-size: 125%;
 line-height: 1.6;
 font-weight: bold;
 margin-bottom: 2.5rem;
 color: #ccc;
}
#recruit main .detail > ul {
 display: inline-block;
 text-align: left;
}
#recruit main .detail > ul > li {
 margin-bottom: 1rem;
 position: relative;
}
#recruit main .detail > ul > li dl {
 display: table;
 width: 100%;
}
#recruit main .detail > ul > li dl dt {
 display: table-cell;
 vertical-align: middle;
 width: 16em;
 color: #ccc;
 text-align: center;
 position: relative;
}
#recruit main .detail > ul > li dl dt:after {
 border-width: 0 5px 5px 0;
 border-color: transparent #A01E1E transparent transparent;
 top: 0;
 right: 0;
}
#recruit main .detail > ul > li dl dt span:before {
 border-width: 5px 0 0 5px;
 border-color: transparent transparent transparent #A01E1E;
 bottom: 0;
 left: 0;
}
#recruit main .detail > ul > li dl dt span:after {
 border-width: 0 0 5px 5px;
 border-color: transparent transparent #A01E1E transparent;
 bottom: 0;
 right: 0;
}
#recruit main .detail > ul > li dl dt span {
 display: block;
 line-height: 1.6;
 padding: 0.25em;
}
#recruit main .detail > ul > li dl dt span em {
 display: block;
}
#recruit main .detail > ul > li dl dd {
 display: table-cell;
 vertical-align: middle;
 padding-left: 2rem;
 line-height: 1.6;
}
#recruit main .detail > ul > li dl dd a {
 display: inline-block;
 text-decoration: underline;
 line-height: 1.3;
 opacity: 0.8;
}
#recruit main .detail > ul > li dl dd a:hover {
 text-decoration: none;
 opacity: 1;
}
#recruit main .detail > ul > li dl dd .note {
 font-size: 85%;
 line-height: 1.4;
 display: block;
}
#recruit main .detail .btn {
 margin: 2rem auto 0;
}
#recruit main .detail .btn a {
 font-size: 100%;
 display: inline-block;
 padding: 0.25em 3em;
 position: relative;
}
#recruit main .detail .close {
 text-align: center;
 display: block;
 padding: 3rem 0;
}
#recruit main .detail .close span {
 display: inline-block;
 border-bottom: solid 1px orange;
}
/* ===== rerun ===== */
#rerun .secTtl {
 font-size: 2.8rem;
 position: relative;
 margin: 0 0 2.5rem;
}
#rerun .secTtl span {
 font-size: 100%;
 padding-right: 0;
 font-family: Arial, "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, sans-serif;
}
#rerun main {
 text-align: center;
}
#rerun main .lead {
 color: #ccc;
}
#rerun main h3 {
 color: #e94709;
 font-size: 2.4rem;
 margin: 5rem 0 2.5rem;
 font-weight: 400;
}
#rerun main .flex {
 display: flex;
 align-content: center;
 justify-content: space-between;
}
#rerun main .flex > li {
 flex: 1 0 calc(33.333% - 0.5rem);
 max-width: calc(33.333% - 0.5rem);
}
#rerun main .flex > li a {
 display: block;
 width: 100%;
 box-sizing: border-box;
 /*padding-right: 1rem;*/
 color: #fcfcfc;
 text-decoration: none;
 text-align: center;
 background-color: #d20010;
 -webkit-transition: all 0.5s;
 transition: all 0.3s;
 border-bottom: 4px solid #9f000c;
 border-radius: 100vh;
 position: relative;
 font-size: 1.3rem;
 font-weight: 400;
 padding: 0.5rem 1rem;
 white-space: nowrap;
}
/*#rerun main .flex > li a:before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
	bottom: 0;
	margin: auto 0;
 right: 2rem;
 width: 7px;
 height: 7px;
 border-top: 3px solid #fcfcfc;
 border-right: 3px solid #fcfcfc;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 transition: all 0.3s;
}
#rerun main .flex > li a:hover:before {
 right: 1.75rem;
}*/
#rerun main .mail {
 margin: 4rem 0 0;
}
#rerun main .mail a {
 display: block;
 width: 14em;
 margin: 0 auto;
 height: 3em;
 line-height: 3em;
 box-sizing: border-box;
 padding-right: 1rem;
 color: #fcfcfc;
 text-decoration: none;
 text-align: center;
 border: solid 1px #fcfcfc;
 -webkit-transition: all 0.5s;
 transition: all 0.3s;
 border-radius: 100vh;
 position: relative;
 font-size: 1.3rem;
}
#rerun main .mail a:before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 bottom: 0;
 margin: auto 0;
 right: 2rem;
 width: 6px;
 height: 6px;
 border-top: 2px solid #fcfcfc;
 border-right: 2px solid #fcfcfc;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 transition: all 0.3s;
}
#rerun main .mail a:hover:before {
 right: 1.75rem;
}
#rerun main .os {
 margin: 6rem auto 0;
 color: #ccc;
 font-size: 1.6rem;
}
#rerun main .os h4 {
 font-size: 2rem;
 margin-bottom: 2.5rem;
 position: relative;
 overflow: hidden;
 display: block;
 text-align: center;
}
#rerun main .os h4 span {
 display: inline-block;
 position: relative;
}
#rerun main .os h4 span:before, #rerun main .os h4 span:after {
 content: "";
 display: block;
 height: 1px;
 width: 21rem;
 position: absolute;
 top: 50%;
 background: rgba(255, 255, 255, 0.5);
}
#rerun main .os h4 span:before {
 left: -22rem;
}
#rerun main .os h4 span:after {
 right: -22rem;
}
#rerun main .os .flex > div {
 padding: 0 1.5rem;
 width: 30em;
}
#rerun main .os .flex > div h5 {
 margin-bottom: 1rem;
 font-weight: 600;
}
#rerun main .os .flex > div dl {
 display: table;
 margin-bottom: 0.75rem;
}
#rerun main .os .flex > div dl dt {
 display: table-cell;
 vertical-align: top;
 width: 8em;
 color: #979797;
}
#rerun main .os .flex > div dl dd {
 display: table-cell;
 vertical-align: top;
 text-align: left;
 font-size: 90%;
}
/* ===== discuss ===== */
#discuss main > ul > li {
 border-bottom: dashed 1px #888;
}
#discuss main > ul > li a {
 display: block;
 padding: 1.5rem 2.5rem 1.5rem 1.5rem;
 line-height: 1.4;
 position: relative;
}
#discuss main > ul > li a:hover {
 background: rgba(255, 255, 255, 0.25);
}
#discuss main > ul > li:nth-child(even) a {
 background: rgba(255, 255, 255, 0.05);
}
#discuss main > ul > li a:before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 bottom: 0;
 margin: auto 0;
 right: 2rem;
 width: 7px;
 height: 7px;
 border-top: 3px solid #ccc;
 border-right: 3px solid #ccc;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 transition: all 0.3s;
}
#discuss main > ul > li a dl {
 display: table;
 width: 100%;
}
#discuss main > ul > li a dl dt {
 display: table-cell;
 vertical-align: middle;
 width: 11em;
}
#discuss main > ul > li a dl dd {
 display: table-cell;
 vertical-align: middle;
}
#discuss main > ul > li a dl dd:after {
 content: "PDF";
 display: inline-block;
 color: #fcfcfc;
 background-color: #C61F22;
 font-size: 1rem;
 padding: 0.2rem 0.35rem;
 line-height: 1;
 margin-left: 1rem;
}
/* ===== category ===== */
#category main .lead {
 font-size: 1.4rem;
 padding-bottom: 1.5rem;
}
#category main table {
 width: 100%;
 margin: 1.5rem 0 3rem;
 line-height: 1.6;
 text-align: center;
 border-left: solid 1px #888;
 border-top: solid 1px #888;
}
#category main table th {
 text-align: center;
 color: #aaa;
 padding: 0.5rem;
 border-right: solid 1px #888;
 border-bottom: solid 1px #888;
 vertical-align: middle;
 font-size: 1.4rem;
}
#category main table .tit {
 color: orange;
 text-align: center;
}
#category main table td {
 padding: 1.5rem;
 text-align: left;
 min-width: 8em;
 border-right: solid 1px #888;
 border-bottom: solid 1px #888;
 vertical-align: middle;
 font-size: 1.4rem;
}
#category main .dlList {
 margin-top: 3rem;
 padding-top: 1.5rem;
 border-top: dashed 1px #888;
}
#category main .dlList > li {
 margin-bottom: 1.5rem;
 border-bottom: dashed 1px #888;
 padding: 0 0 1rem;
 line-height: 1.4;
 position: relative;
}
#category main .dlList > li dl dt {
 border-left: solid 4px orange;
 padding-left: 0.8rem;
 margin-bottom: 1.5rem;
}
#category main .dlList > li dl dd ul li {
 display: inline-block;
 margin-right: 1rem;
}
#category main .dlList > li dl dd ul li a {
 background: rgba(255, 255, 255, 0.8);
 color: #333;
 display: block;
 padding: 0.6rem 1.2rem;
 border-radius: 4px;
 line-height: 1.2;
 font-weight: 400;
 font-size: 1.4rem;
 position: relative;
}
#category main .dlList > li dl dd ul li a:hover {
 background: #fcfcfc;
}
#category main .dlList > li dl dd ul li a:before {
 content: "PDF";
 display: inline-block;
 color: #fcfcfc;
 background-color: #C61F22;
 font-size: 1rem;
 padding: 0.2rem 0.35rem;
 line-height: 1;
 margin-right: 0.5rem;
}
/* ===== youth ===== */
#youth main table {
 width: 100%;
 margin: 1.5rem 0 3rem;
 line-height: 1.6;
 text-align: center;
 border-left: solid 1px #888;
 border-top: solid 1px #888;
}
#youth main table th {
 text-align: center;
 color: #aaa;
 padding: 0.5rem;
 border-right: solid 1px #888;
 border-bottom: solid 1px #888;
 vertical-align: middle;
 font-size: 1.4rem;
}
#youth main table td {
 padding: 1.5rem;
 text-align: left;
 min-width: 8em;
 border-right: solid 1px #888;
 border-bottom: solid 1px #888;
 vertical-align: middle;
 font-size: 1.4rem;
}
#youth main table .week {
 white-space: nowrap;
 min-width: auto;
 text-align: center;
 font-size: 1.3rem;
}
#youth main table .time {
 min-width: auto;
 text-align: center;
 font-size: 1.2rem;
}
#youth main table .time span {
 white-space: nowrap;
 font-size: 1.2rem;
 display: inline;
 position: relative;
}
#youth main table .time span:first-of-type:after {
content: " - ";
}
#youth main table .reason {
 font-size: 1.3rem;
 width: 50%;
}
/* ===== standard / privacy ===== */
#standard main, #privacy main {
 color: #bcbcbc;
}
#standard main h3,
#privacy main h3 {
 font-size: 1.5rem;
 margin: 1.5em 0 1em;
 text-indent: -1.1em;
 padding-left: 1.1em;
}
#privacy main h3 {
 color: orange;
}
#standard main h4, #standard main h5, #standard main h6, #privacy main h4, #privacy main h5, #privacy main h6 {
 margin: 1.5em 0 1em;
 font-size: 1.4rem;
 color: #fcfcfc;
}
#standard main p, #standard main ul, #privacy main p, #privacy main ul {
 font-size: 1.3rem;
 margin-bottom: 1em;
}
#standard main > ul, #privacy main > ul {
 margin-top: 1em;
}
#standard main > ul > li {
 text-indent: -2.4em;
 padding-left: 2.4em;
}
#standard main a, #privacy main a {
 display: inline;
 color: #ccc;
 word-break: break-all;
}
#standard main a:hover, #privacy main a:hover {
 color: #fcfcfc;
 text-decoration: underline;
}
#standard main .date, #privacy main .date {
 padding-top: 3rem;
 text-align: right;
 opacity: 0.7;
}
@media screen and (max-width: 750px) {
 .corporate {
  padding: 3rem 1rem 2rem;
 }
 .corporate .inner {
  padding: 0;
 }
 .corporate .inner .contents {
  display: block;
  padding: 0;
 }
 .corporate .inner side {
  flex: none;
  max-width: 100%;
  margin: 0 auto;
  display: block;
  border-top: solid 1px #888;
 }
 .corporate .inner side > ul > li {
  border-bottom: solid 1px #888;
 }
 .corporate .inner side > ul > li a {
  padding: 1rem 1.5rem 1rem 0;
  font-size: 1.4rem;
  text-align: center;
 }
 
 .corporate .inner side > ul > li a:before {
  right: 0;
 }
 .corporate .inner main {
  flex: none;
  max-width: 100%;
  padding-left: 0;
  border-left: none;
 }
 /* ===== company ===== */
 #company main dl dt {
  font-size: 1.3rem;
  white-space: nowrap;
 }
 #company main dl dd {
  padding-left: 0;
  font-size: 1.3rem;
  word-break: break-all;
 }
 /* ===== recruit ===== */
 #recruit main .lead {
  margin-bottom: 1em;
  font-size: 1.3rem;
 }
 #recruit main .detail {
  padding: 2.5rem 0;
 }
 #recruit main .detail h3 {
  font-size: 1.6rem;
 }
 #recruit main .detail > ul > li {
  margin-bottom: 2.5rem;
 }
 #recruit main .detail > ul > li dl dt {
  font-size: 1.3rem;
  text-align: left;
  vertical-align: top;
  width: 9em;
  padding-right: 1rem;
 }
 #recruit main .detail > ul > li dl dt span {
  padding: 0;
 }
 #recruit main .detail > ul > li dl dd {
  vertical-align: top;
  padding-left: 0;
  font-size: 1.3rem;
  word-break: break-all;
 }
 #recruit main .detail .btn {
  margin: 1rem auto;
 }
 /* ===== rerun ===== */
 #rerun .secTtl {
  font-size: 2rem;
 }
 #rerun .secTtl span {
  display: block;
 }
 #rerun main .lead {
  font-size: 1.3rem;
  text-align: justify;
 }
 #rerun main .lead br {
  display: none;
 }
 #rerun main h3 {
  margin: 2rem 0 1.5rem;
  font-size: 2rem;
 }
 #rerun main .os h4 {
  margin-bottom: 0;
  font-size: 1.8rem;
 }
 #rerun main .flex {
  display: block;
 }
 #rerun main .flex > li {
  flex: none;
  max-width: 100%;
  margin: 0 auto 1.25rem;
 }
 #rerun main .flex > li a {
  width: 90%;
  margin: 0 auto;
 }
 #rerun main .mail {
  margin: 2rem 0 0;
 }
 #rerun main .mail a {
  width: 80%;
 }
 #rerun main .mail a:hover:before {
  right: 1.25rem;
 }
 #rerun main .os {
  margin: 3rem 0 0;
 }
 #rerun main .os .flex > div {
  padding: 0;
  width: 100%;
 }
 #rerun main .os .flex > .sp {
  padding-bottom: 3rem;
 }
 #rerun main .os .flex > div h5 {
  margin: 2rem 0 0.5rem;
  font-size: 1.3rem;
 }
 #rerun main .os .flex > div dl dt {
  width: 6em;
 }
 #rerun main .os .flex > div dl dd {
  font-size: 1.2rem;
 }
 /* ===== discuss ===== */
 #discuss main {
  margin-bottom: 5rem;
 }
 #discuss main > ul > li a {
  padding: 1rem 2.5rem 1rem 0;
 }
 #discuss main > ul > li a dl {
  display: block;
 }
 #discuss main > ul > li a dl dt {
  display: block;
  width: 100%;
  padding-bottom: 0.5rem;
 }
 #discuss main > ul > li a dl dd {
  display: block;
 }
 /* ===== category ===== */
 #category main .lead {
  font-size: 1.3rem;
  text-align: justify;
 }
 #category main table td {
  min-width: auto;
 }
 #category main .dlList {
  margin-bottom: 5rem;
 }
 /* ===== youth ===== */

#youth main table td {
 padding: 1.5rem 1rem;
 min-width: auto;
 font-size: 1.3rem;
}
#youth main table .week {
 font-size: 1.2rem;
}

#youth main table .time span {
display: block;
}
#youth main table .time span:first-of-type:after {
content: "|";
display: block;
line-height: 1;
padding: 0.3rem 0 0.6rem;
}
#youth main table .reason {
 font-size: 1.2rem;
 width: 40%;
}
 /* ===== standard / privacy ===== */
 #standard main h3, #privacy main h3 {
  margin: 1em 0 0.5em;
 }
 #standard main h4, #standard main h5, #standard main h6, #privacy main h4, #privacy main h5, #privacy main h6 {
  margin: 1em 0 0.5em;
 }
 #standard main p, #standard main ul, #privacy main p, #privacy main ul {
  margin-bottom: 0.5em;
  text-align: justify;
 }
 #standard main ul, #privacy main ul {
  margin-top: 0.5em;
 }
 #standard main .date, #privacy main .date {
  padding: 2rem 0 3rem;
 }
}