@charset "UTF-8";
/* 採用情報 */
/* common
****************************************************************************************** */
#pageTtl {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 26.4286% 0 0 0;
  margin: 0;
  position: relative;
}
@media screen and (max-width: 900px) {
  #pageTtl {
    padding: 48% 0 0 0;
  }
}
#pageTtl h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 23px;
  line-height: 1.6;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 900px) {
  #pageTtl h1 {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 5.2px;
  }
}
#pageTtl h1 strong {
  font-size: 70px;
  line-height: 1.3;
  letter-spacing: 0.225em;
  transform: scale(1, 1.1);
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  #pageTtl h1 strong {
    font-size: 60px;
  }
}
@media screen and (max-width: 900px) {
  #pageTtl h1 strong {
    font-size: 35px;
    line-height: 1;
    letter-spacing: 8.1px;
    margin: 0 0 20px;
  }
}

.final-mes {
  padding: 4em 20px 0;
  text-align: center;
  font-weight: bold;
  color: red;
}

/*============================
#prologue
============================*/
section#prologue {
  background: #F5F5F5;
  padding: 83px 20px 90px;
}
@media screen and (max-width: 767px) {
  section#prologue {
    padding: 41px 20px 45px;
  }
}
section#prologue div.w960 h2 {
  font-size: 24px;
  line-height: 1.9583333333;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #1d2088;
  transform: scale(1, 1.1);
  margin: 0;
  padding: 0 0 1.15em 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  section#prologue div.w960 h2 {
    font-size: 5.1vw;
    letter-spacing: 0.07em;
  }
}
section#prologue div.w960 ul {
  list-style: none;
  margin: 0;
  padding: 2.6em 0 2.35em 0;
}
section#prologue div.w960 ul li {
  font-size: 17px;
  line-height: 2.3529411765;
  letter-spacing: 0.05em;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  section#prologue div.w960 ul li {
    font-size: 3.65vw;
    letter-spacing: 0.03em;
    line-height: 1.8;
    margin-bottom: 0.7em;
  }
}
section#prologue div.w960 ul li::before {
  content: "●";
  margin-left: -1em;
  color: #1d2088;
}
section#prologue div.w960 p {
  font-size: 17px;
  line-height: 2.7647058824;
  letter-spacing: 0.05em;
  background: #fff;
  display: block;
  padding: 1.13em 1em;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  section#prologue div.w960 p {
    font-size: 3.8vw;
    line-height: 1.7;
  }
}
section#prologue div.w960 p a.btn {
  color: #1d2088;
}

/* #guideline
****************************************************************************************** */
#guideline #pageTtl {
  background-image: url(img/guideline_mainvis.jpg);
}
#guideline #pageTtl h1 strong {
  line-height: 1.15;
  margin-bottom: 27px;
}
#guideline #sec01 {
  padding: 100px 20px 212px;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 {
    padding: 50px 20px 100px;
  }
}
#guideline #sec01 .tabs {
  max-width: 950px;
  margin: 0 auto 60px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tabs {
    margin-bottom: 40px;
  }
}
#guideline #sec01 .tabs ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tabs ul {
    margin: 0 -10px;
  }
}
#guideline #sec01 .tabs ul li {
  flex: 0 0 48.4211%;
}
#guideline #sec01 .tabs ul li a {
  display: block;
  line-height: 103px;
  text-align: center;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tabs ul li a {
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    line-height: 50px !important;
  }
}
#guideline #sec01 .tabs ul li a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #0097d7 transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tabs ul li a.active::after {
    border-width: 10px 10px 0 10px;
    bottom: -10px;
  }
}
#guideline #sec01 .tabs ul li:first-child a {
  border: 1px solid #0098D7;
  color: #0098D7;
  font-size: 25px;
  letter-spacing: 20px;
}
#guideline #sec01 .tabs ul li:first-child a.active {
  background: #0098D7;
  color: #fff;
}
#guideline #sec01 .tabs ul li:first-child a.active::after {
  border-color: #0097d7 transparent transparent transparent;
}
#guideline #sec01 .tabs ul li:last-child a {
  border: 1px solid #6DB82E;
  color: #6DB82E;
  font-size: 20px;
  letter-spacing: 6px;
}
#guideline #sec01 .tabs ul li:last-child a.active {
  background: #6DB82E;
  color: #fff;
}
#guideline #sec01 .tabs ul li:last-child a.active::after {
  border-color: #6DB82E transparent transparent transparent;
}
#guideline #sec01 .tab_contents {
  max-width: 1010px;
  margin: auto;
}
#guideline #sec01 .tab_contents table {
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.05em;
  max-width: 912px;
  max-width: 972px;
  border-collapse: separate;
  border-spacing: 30px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table {
    display: block;
    border-spacing: 0;
    font-size: 12px;
  }
}
#guideline #sec01 .tab_contents table tbody * {
  margin: 0;
  padding: 0;
}
#guideline #sec01 .tab_contents table tbody tr th, #guideline #sec01 .tab_contents table tbody tr td {
  padding: 37px 0 10px;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table tbody tr th, #guideline #sec01 .tab_contents table tbody tr td {
    display: block;
    padding: 15px 0;
  }
}
#guideline #sec01 .tab_contents table tbody tr th {
  border-top: 1px solid #1d2088;
  text-align: left;
  width: 14.3%;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table tbody tr th {
    width: auto;
  }
  #guideline #sec01 .tab_contents table tbody tr th br {
    display: none;
  }
}
#guideline #sec01 .tab_contents table tbody tr td {
  border-top: 1px solid #AAAAAA;
}
#guideline #sec01 .tab_contents table tbody tr td p {
  margin-bottom: 2em;
}
#guideline #sec01 .tab_contents table tbody tr td p:last-child {
  margin-bottom: 0;
}
#guideline #sec01 .tab_contents table tbody tr td ul {
  list-style: none;
  margin-bottom: 2em;
  margin-left: 1em;
}
#guideline #sec01 .tab_contents table tbody tr td ul li::before {
  content: "・";
  margin-left: -1em;
}
#guideline #sec01 .tab_contents table tbody tr td ul.maruList, #guideline #sec01 .tab_contents table tbody tr td ul.maruList2 {
  list-style: none !important;
  margin: 0 0 0 1em;
  padding: 0;
  margin-bottom: 2em;
}
#guideline #sec01 .tab_contents table tbody tr td ul.maruList:last-child, #guideline #sec01 .tab_contents table tbody tr td ul.maruList2:last-child {
  margin-bottom: 0;
}
#guideline #sec01 .tab_contents table tbody tr td ul.maruList li::before, #guideline #sec01 .tab_contents table tbody tr td ul.maruList2 li::before {
  content: "●";
  margin-left: -1em;
}
#guideline #sec01 .tab_contents table tbody tr td ul.maruList2 {
  margin-bottom: 1em;
}
#guideline #sec01 .tab_contents table tbody tr td ul.maruList2 li::before {
  content: "○";
}
#guideline #sec01 .tab_contents table tbody tr td ol {
  margin-left: 1.6em;
}
#guideline #sec01 .tab_contents table tbody tr td .komeList {
  list-style: none !important;
  margin: 0 0 0 1em;
  padding: 0;
  margin-bottom: 2em;
}
#guideline #sec01 .tab_contents table tbody tr td .komeList:last-child {
  margin-bottom: 0;
}
#guideline #sec01 .tab_contents table tbody tr td .komeList li {
  text-indent: -1em;
}
#guideline #sec01 .tab_contents table tbody tr td .komeList li::before {
  display: none;
}
#guideline #sec01 .tab_contents table tbody tr td .numList {
  list-style: none !important;
  margin: 0 0 0 1em;
  padding: 0;
  margin-bottom: 2em;
}
#guideline #sec01 .tab_contents table tbody tr td .numList:last-child {
  margin-bottom: 0;
}
#guideline #sec01 .tab_contents table tbody tr td .numList li {
  text-indent: -1em;
}
#guideline #sec01 .tab_contents table tbody tr td .numList li::before {
  display: none;
}
#guideline #sec01 .tab_contents table tbody tr td table.kanaList {
  margin: 0;
  padding: 0;
  width: auto;
  border: none;
  border-spacing: 0;
  border-collapse: collapse;
}
#guideline #sec01 .tab_contents table tbody tr td table.kanaList * {
  margin: 0;
  padding: 0;
  border: none;
  width: auto;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table tbody tr td table.kanaList th, #guideline #sec01 .tab_contents table tbody tr td table.kanaList td {
    display: table-cell;
  }
}
#guideline #sec01 .tab_contents table tbody tr:last-child th {
  border-bottom: 1px solid #1d2088;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table tbody tr:last-child th {
    border-bottom: none;
  }
}
#guideline #sec01 .tab_contents table tbody tr:last-child td {
  border-bottom: 1px solid #AAAAAA;
}
#guideline #sec01 .tab_contents table tbody tr:last-child th, #guideline #sec01 .tab_contents table tbody tr:last-child td {
  padding-bottom: 37px;
}
@media screen and (max-width: 767px) {
  #guideline #sec01 .tab_contents table tbody tr:last-child th, #guideline #sec01 .tab_contents table tbody tr:last-child td {
    padding-bottom: 17px;
  }
}
#guideline #sec01 .tab_contents table tbody tr.kinmujikan td p {
  margin-bottom: 0;
}

/* #event
****************************************************************************************** */
#event #pageTtl {
  background-image: url(img/event_mainvis.jpg);
}
#event #sec01 {
  text-align: center;
  padding-bottom: 190px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #event #sec01 {
    padding-top: 50px;
    padding-bottom: 80px;
  }
}
#event #sec01 .announce {
  color: red;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  #event #sec01 .announce {
    font-size: 16px;
  }
}
#event #sec01 .tabs, #event #sec01 .tab_contents {
  max-width: 950px;
  margin: auto;
}
#event #sec01 .tabs ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tabs ul {
    margin: 0 -10px;
  }
}
#event #sec01 .tabs ul li {
  flex: 0 0 48.4211%;
}
#event #sec01 .tabs ul li a {
  display: block;
  line-height: 103px;
  text-align: center;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tabs ul li a {
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    line-height: 50px !important;
  }
}
#event #sec01 .tabs ul li a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #0097d7 transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tabs ul li a.active::after {
    border-width: 10px 10px 0 10px;
    bottom: -10px;
  }
}
#event #sec01 .tabs ul li:first-child a {
  border: 1px solid #0098D7;
  color: #0098D7;
  font-size: 25px;
  letter-spacing: 20px;
}
#event #sec01 .tabs ul li:first-child a.active {
  background: #0098D7;
  color: #fff;
}
#event #sec01 .tabs ul li:first-child a.active::after {
  border-color: #0097d7 transparent transparent transparent;
}
#event #sec01 .tabs ul li:last-child a {
  border: 1px solid #6DB82E;
  color: #6DB82E;
  font-size: 20px;
  letter-spacing: 6px;
}
#event #sec01 .tabs ul li:last-child a.active {
  background: #6DB82E;
  color: #fff;
}
#event #sec01 .tabs ul li:last-child a.active::after {
  border-color: #6DB82E transparent transparent transparent;
}
#event #sec01 .tab_contents h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.45em;
  transform: scale(1, 1.1);
  margin: 0 0 50px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents h2 {
    font-size: 19.6px;
    margin: 0 0 30px;
  }
}
#event #sec01 .tab_contents .flow {
  padding-top: 90px;
}
#event #sec01 .tab_contents .flow ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
#event #sec01 .tab_contents .flow ol li {
  background: #F0F0F0;
  margin-bottom: 56px;
  position: relative;
  padding: 20px;
  font-size: 16px;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .flow ol li {
    font-size: 13px;
  }
}
#event #sec01 .tab_contents .flow ol li::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -38px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #0097d7 transparent transparent transparent;
}
#event #sec01 .tab_contents .flow ol li strong {
  color: #0098D7;
  display: block;
}
#event #sec01 .tab_contents .flow ol li:last-child {
  margin-bottom: 0;
}
#event #sec01 .tab_contents .flow ol li:last-child::after {
  display: none;
}
#event #sec01 .tab_contents .nittei {
  padding-top: 84px;
}
#event #sec01 .tab_contents .nittei * {
  box-sizing: border-box;
}
#event #sec01 .tab_contents .nittei p {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei p {
    font-size: 13px;
  }
}
#event #sec01 .tab_contents .nittei h3 {
  font-size: 21px;
  line-height: 1;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei h3 {
    font-size: 18px;
  }
}
#event #sec01 .tab_contents .nittei .corona {
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.4em;
  text-align: center;
  padding: 2em 0 4em;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .corona {
    font-size: 18px;
    text-align: left;
  }
}
#event #sec01 .tab_contents .nittei .nitteibox {
  background: #F0F0F0;
  padding: 0 25px;
  max-width: 830px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox {
    padding: 10px 20px;
  }
}
#event #sec01 .tab_contents .nittei .nitteibox table {
  border: none;
  margin: 0;
}
#event #sec01 .tab_contents .nittei .nitteibox table tr:first-child td {
  border-bottom: 1px solid #c8c8c8;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr:first-child td {
    border: none;
  }
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr td:nth-child(3) {
    border-bottom: 1px solid #c8c8c8;
  }
}
#event #sec01 .tab_contents .nittei .nitteibox table tr th, #event #sec01 .tab_contents .nittei .nitteibox table tr td {
  padding: 25px 0;
  vertical-align: top;
  text-align: left;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr th, #event #sec01 .tab_contents .nittei .nitteibox table tr td {
    font-size: 13px;
    display: block;
  }
}
#event #sec01 .tab_contents .nittei .nitteibox table tr th {
  width: 18%;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr th {
    padding: 15px 0 0;
  }
}
#event #sec01 .tab_contents .nittei .nitteibox table tr td.time {
  width: 29.5%;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr td.time {
    padding: 15px 0 0;
  }
}
@media screen and (max-width: 767px) {
  #event #sec01 .tab_contents .nittei .nitteibox table tr td.place {
    padding: 15px 0 15px;
  }
}
#event #sec01 .tab_contents#pro .flow ol li::after {
  border-color: #6DB82D transparent transparent transparent;
}
#event #sec01 .tab_contents#pro .flow ol li strong {
  color: #6DB82D;
}
#event #sec01 .mynavi_bnr {
  padding-top: 90px;
}
#event #sec01 .mynavi_bnr h2 {
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0.3em;
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  #event #sec01 .mynavi_bnr h2 {
    font-size: 23.8px;
  }
}
#event #sec01 .mynavi_bnr a img {
  width: 220px;
  height: auto;
}
@media screen and (max-width: 767px) {
  #event #sec01 .mynavi_bnr a img {
    height: 50px;
    width: auto;
  }
}

/* #faq
****************************************************************************************** */
#faq #pageTtl {
  background-image: url(img/faq_mainvis.jpg);
}
#faq #sec01 {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 190px;
}
@media screen and (max-width: 767px) {
  #faq #sec01 {
    padding-top: 0px;
    padding-bottom: 80px;
  }
}
#faq #sec01 .tabs, #faq #sec01 .tab_contents {
  max-width: 950px;
  margin: auto;
}
#faq #sec01 .tab_contents {
  padding: 90px 0 0px;
  text-align: left;
}
#faq #sec01 .tab_contents a {
  text-decoration: underline;
}
#faq #sec01 .tab_contents a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #faq #sec01 .tab_contents {
    padding: 45px 0 0px;
  }
}
#faq #sec01 .tab_contents h2 {
  font-size: 19px;
  line-height: 70px;
  letter-spacing: 2.85px;
  border-top: 1px solid #C8C8C8;
  border-bottom: 1px solid #C8C8C8;
  text-align: center;
  margin: 80px 0 50px;
}
#faq #sec01 .tab_contents h2:nth-child(1) {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  #faq #sec01 .tab_contents h2 {
    font-size: 13.3px;
    margin: 40px 0 30px;
  }
}
#faq #sec01 .tab_contents dl.qaList {
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #faq #sec01 .tab_contents dl.qaList {
    margin: 0 -10px;
  }
}
#faq #sec01 .tab_contents dl.qaList * {
  margin: 0;
  padding: 0;
}
#faq #sec01 .tab_contents dl.qaList dt {
  background: #F0F0F0;
  padding-left: 1.5em;
  padding: 8px 8px 8px calc(1.5em + 20px);
}
#faq #sec01 .tab_contents dl.qaList dt::before {
  content: "Q.";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
}
#faq #sec01 .tab_contents dl.qaList dd {
  padding: 8px 8px 8px calc(1.5em + 20px);
  margin-bottom: 15px;
}
#faq #sec01 .tab_contents dl.qaList dd::before {
  content: "A.";
  display: inline-block;
  width: 1.5em;
  margin-left: -1.5em;
}