@charset "UTF-8";
body {
  font-size: 16px;
  line-height: 1;
  min-width: 320px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif,"游ゴシック体", "Yu Gothic";
  background: url("../img/bg_logo.png"), url("../img/bg.gif");
  background-size: 700px,cover;
  background-repeat: no-repeat,no-repeat;
  background-position: right -200px, center;
  color: #414141; }
  @media screen and (min-width: 769px) {
    body {
      min-width: 1100px; } }
  @media screen and (max-width: 768px) {
    body {
      background: url("../img/bg_logo.png"), url("../img/bg.gif");
      background-size: 350px,cover;
      background-repeat: no-repeat,no-repeat;
      background-position: right -70px top -50px, center; } }

.container {
  margin: auto;
  max-width: 1100px;
  padding: 0 15px; }

.inner_container {
  margin: auto;
  max-width: 600px; }

.sp_alive {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp_alive {
      display: block; } }

/*-------------------------------------------------
ヘッダー
-------------------------------------------------*/
header {
  padding: 25px 5%; }
  header .inner {
    display: flex; }
    header .inner .logo {
      width: 60%; }
      header .inner .logo img {
        max-width: 222px;
        vertical-align: bottom;
        margin-bottom: 10px; }
      header .inner .logo span {
        max-width: 222px;
        display: block;
        text-align: center;
        color: #414141;
        font-size: 15px;
        border-top: 1px solid #E5E5E5;
        padding-top: 10px; }
    header .inner .tel {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: 40%; }
      header .inner .tel a img {
        vertical-align: bottom;
        max-width: 160px; }
      header .inner .tel span {
        font-size: 11px;
        margin-left: 1em; }
  @media screen and (max-width: 768px) {
    header {
      padding: 15px 15px; }
      header .inner .logo img {
        max-width: 180px;
        margin-bottom: 5px; }
      header .inner .logo span {
        max-width: 180px;
        font-size: 12px;
        padding-top: 5px; }
      header .inner .tel {
        display: block;
        width: 40%;
        text-align: center; }
        header .inner .tel a img {
          max-width: 140px;
          margin-top: 5px; }
        header .inner .tel span {
          margin-top: 5px;
          display: block; } }

/*-------------------------------------------------
フッター
-------------------------------------------------*/
footer {
  margin-top: 100px;
  padding-bottom: 100px; }
  footer .tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px; }
    footer .tel a img {
      vertical-align: bottom;
      max-width: 160px; }
    footer .tel span {
      font-size: 11px;
      margin-left: 1em; }
  footer .copyright {
    text-align: center;
    color: #707070;
    font-size: 14px; }

/*-------------------------------------------------
ページタイトル
-------------------------------------------------*/
.page_title h1 {
  font-size: 40px;
  text-align: center;
  padding: 1em 10px 1em 10px;
  color: #FF9505;
  margin: 0; }
  @media screen and (max-width: 768px) {
    .page_title h1 {
      font-size: 26px; } }

/*-------------------------------------------------
見出し
-------------------------------------------------*/
h2 {
  font-size: 20px;
  background: linear-gradient(90deg, #FF8900, #FFCE00);
  padding: 0.9em 0.7em;
  color: #fff;
  border-radius: 0.3em;
  margin: 2.5em 0 1em; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 16px; } }

/*-------------------------------------------------
応募内容
-------------------------------------------------*/
.category_tag span {
  font-size: 13px;
  padding: 0.7em 0.7em;
  border-radius: 0.3em;
  border: 1px solid #FDDC8D;
  background: #fff;
  margin: 0 0.3em 0.4em 0;
  display: inline-block; }

.job_title {
  font-size: 22px;
  font-weight: bold;
  color: #575757;
  margin: 0.7em 0 0 0; }

/*-------------------------------------------------
入力フォーム
-------------------------------------------------*/
dl.form_table {
  max-width: 600px;
  margin: auto;
  font-size: 18px;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    dl.form_table {
      font-size: 15px; } }
  dl.form_table dt {
    padding: 25px 0 5px 0;
    margin: 0;
    font-weight: bold; }
  dl.form_table dd {
    padding: 10px 0 25px 0;
    margin: 0;
    border-bottom: 1px solid #FF9505; }
    dl.form_table dd:last-child {
      border-bottom: none; }

dl.form_table.check dd {
  font-weight: normal;
  font-size: 16px;
  line-height: 1.5; }

span.icon_required {
  font-weight: normal;
  font-size: 13px;
  color: #CC4848;
  border: 1px solid #CC4848;
  padding: 0.07em 1em;
  border-radius: 2em;
  margin-left: 0.7em; }

p.form_subTitle {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: bold; }

p.form_attention {
  font-size: 13px;
  margin: 0.5em 0 0 0;
  font-weight: normal;
  line-height: 1.5; }
  p.form_attention.gray {
    color: #525252; }

p.error_mes {
  font-size: 15px;
  color: #CC4848;
  background: url("../img/icon_error.svg");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 1.2em;
  padding-left: 1.5em;
  line-height: 1.5;
  margin: 0.3em 0; }

input[type="text"],
input[type="tel"],
input[type="number"],
textarea,
input[type="email"] {
  padding: 0.8em 0.6em;
  background: #fff;
  border: 1px solid #CECECE;
  border-radius: 0.4em;
  font-size: 16px;
  margin: 0.3em 0;
  box-sizing: border-box; }
  input[type="text"]:read-only,
  input[type="tel"]:read-only,
  input[type="number"]:read-only,
  textarea:read-only,
  input[type="email"]:read-only {
    background: #EFEFEF;
    pointer-events: none; }
  input[type="text"].full,
  input[type="tel"].full,
  input[type="number"].full,
  textarea.full,
  input[type="email"].full {
    width: 100%; }
  input[type="text"].error,
  input[type="tel"].error,
  input[type="number"].error,
  textarea.error,
  input[type="email"].error {
    background: #FAE7E5;
    border: 1px solid #CC4848; }

/*--住所自動入力-----*/
input[type="button"] {
  border-radius: 2em;
  background: #414141;
  color: #fff;
  border: 1px solid #414141;
  font-weight: bold;
  font-size: 16px;
  padding: 0.5em 1.2em;
  margin-left: 1em;
  cursor: pointer; }
  input[type="button"]:hover {
    opacity: 0.8; }
  input[type="button"]:active {
    background: #000; }

/*--ラジオボタン-----*/
ul.radio_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0; }
  ul.radio_list li {
    list-style: none;
    margin: 0;
    padding: 5px 10px 5px 0;
    position: relative; }
    ul.radio_list li input[type="radio"] {
      opacity: 0;
      position: absolute; }
    ul.radio_list li label {
      display: inline-block;
      padding: 0.9em 1.2em 0.9em 2.5em;
      border: 1px solid #CECECE;
      position: relative;
      background: #fff;
      border-radius: 0.4em;
      font-weight: normal;
      line-height: 1em;
      font-size: 16px;
      cursor: pointer; }
      ul.radio_list li label:after {
        content: "";
        position: absolute;
        top: 0.9em;
        left: 0.8em;
        display: block;
        border-radius: 50%;
        border: 1px solid #707070;
        width: 1em;
        height: 1em; }
    ul.radio_list li input[type="radio"]:checked + label {
      border: 1px solid #FF9505; }
      ul.radio_list li input[type="radio"]:checked + label:before {
        content: "";
        position: absolute;
        top: 1.15em;
        left: 1.03em;
        display: block;
        border-radius: 50%;
        background: #FF9505;
        width: 0.65em;
        height: 0.65em; }

/*-------------------------------------------------
プライバシーポリシー
-------------------------------------------------*/
.box_policy {
  padding: 40px 10px;
  border: 2px solid #CECECE;
  background: #fff;
  margin: 50px auto 0 auto;
  border-radius: 8px;
  max-width: 760px;
  color: #414141;
  font-size: 13px;
  line-height: 1.5; }
  .box_policy h3 {
    margin: 0 0 1em 0;
    text-align: center;
    font-size: 18px; }
  .box_policy h4 {
    margin: 1em 0 0.5em 0;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    line-height: 2; }
  .box_policy h5 {
    font-size: 14px;
    margin: 0; }
  .box_policy p {
    margin: 0 0 1em 0; }
  .box_policy dl {
    margin: 0; }
    .box_policy dl dt, .box_policy dl dd {
      margin: 0;
      padding: 0; }
  .box_policy .inner {
    max-width: 680px;
    margin: auto;
    height: 300px;
    overflow-y: scroll; }
  @media screen and (max-width: 768px) {
    .box_policy {
      padding: 20px 10px;
      font-size: 11px; }
      .box_policy h3 {
        font-size: 15px; } }

.box_consent {
  text-align: center;
  padding: 30px 10px;
  position: relative; }
  .box_consent input[type="checkbox"] {
    position: absolute;
    opacity: 0; }
  .box_consent label {
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .box_consent label {
        font-size: 15px; } }
    .box_consent label:before {
      content: "";
      display: inline-block;
      margin-right: 0.7em;
      width: 1.2em;
      height: 1.2em;
      border-radius: 0.2em;
      border: 1px solid #ACACAC;
      background: #fff;
      vertical-align: middle; }
  .box_consent input[type="checkbox"]:checked + label:before {
    border: 1px solid #FF9505;
    background-color: #FF9505;
    background-image: url("../img/icon_check.svg");
    background-repeat: no-repeat;
    background-size: 1em;
    background-position: center; }

/*-------------------------------------------------
送信ボタン
-------------------------------------------------*/
.box_submit {
  text-align: center;
  margin-top: 40px; }

.btn_next {
  position: relative;
  border-radius: 3em;
  background: url("../img/icon_arrow.svg"), linear-gradient(90deg, #FF8900, #FFCE00);
  background-position: center right 1em,center;
  background-size: 1.2em , auto;
  background-repeat: no-repeat;
  border: none;
  color: #fff;
  display: inline-block;
  padding: 1em 3em 1em 2em;
  font-size: 18px;
  max-width: 330px;
  width: 100%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.07);
  font-weight: bold;
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none; }
  .btn_next:hover {
    background: url("../img/icon_arrow.svg"), linear-gradient(90deg, #FF8900, #FF8900);
    background-position: center right 1em,center;
    background-size: 1.2em , auto;
    background-repeat: no-repeat; }
  .btn_next:active {
    background: url("../img/icon_arrow.svg"), linear-gradient(90deg, #FFCE00, #FFCE00);
    background-position: center right 1em,center;
    background-size: 1.2em , auto;
    background-repeat: no-repeat;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0); }

/*-------------------------------------------------
戻るボタン
-------------------------------------------------*/
.btn_back {
  border: none;
  background: url("../img/icon_arrow_left.svg");
  background-position: left center;
  background-size: 1.5em;
  background-repeat: no-repeat;
  font-size: 16px;
  display: inline-block;
  padding-left: 2em;
  line-height: 2;
  margin-top: 1.5em;
  cursor: pointer; }

/*-------------------------------------------------
完了画面
-------------------------------------------------*/
.thanks {
  margin: 2em 0 4em 0;
  line-height: 1.5; }
