@charset "UTF-8";
/*使用カラーの定義、呼び出しは color.$〇〇〇*/
/* Geologica */
/* Noto Sans JP */
/*フォントサイズ*/
/* Reset margin, padding, border
* *********************************** */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
}

/* スマホ切り替え * *********************************** */
/* Typography * *********************************** */
html {
  font-size: 0.694447vw;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 1.33333vw;
  }
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #282828;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    -webkit-font-smoothing: auto;
  }
}

* {
  font-family: inherit;
  font-size: inherit;
}

a,
a:visited {
  color: inherit;
}

/* Layout * *********************************** */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

* {
  box-sizing: border-box;
}

/* Elements * *********************************** */
a {
  text-decoration: none;
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol,
ul,
li {
  list-style: none;
  list-style-type: none;
}

img,
video {
  display: block;
}

img {
  border-style: none;
  display: block;
}

label, input[type=checkbox] {
  cursor: pointer;
}

button {
  cursor: pointer;
}

a {
  cursor: pointer;
}

br.sp {
  display: none;
  line-height: initial;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  br.sp {
    display: block;
    line-height: initial;
  }
}

br.pc {
  display: block;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  br.pc {
    display: none;
  }
}

.show_pc {
  display: block;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .show_pc {
    display: none !important;
  }
}
@media screen and (max-width: 768px) and (orientation: landscape) {
  .show_pc {
    display: block;
  }
}

.show_sp {
  display: none;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .show_sp {
    display: block;
  }
}
@media screen and (max-width: 768px) and (orientation: landscape) {
  .show_sp {
    display: none;
  }
}

/*レイアウト*/
.no-wrap {
  white-space: nowrap;
}

.flex {
  display: flex;
}

/*about margin*/
.mb-175 {
  margin-bottom: 12.2vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .mb-175 {
    margin: 0 auto;
    margin-bottom: 20vw;
  }
}

.mb-200 {
  margin-bottom: 13.9vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .mb-200 {
    margin: 0 auto;
    margin-bottom: 25.3vw;
  }
}

/*padding*/
.pb-150 {
  padding-bottom: 10.4vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .pb-150 {
    margin-bottom: 13.3vw;
  }
}

/*カラー*/
.color-lightgreen {
  color: #64c832;
}

.color-orange {
  color: #f08c1e;
}

.bg-green {
  background-color: #23aa46;
}

.bg-lightgreen {
  background-color: #64c832;
}

.bg-darkgreen {
  background-color: #097c29;
}

.bg-lightgray {
  background-color: #f6f4f2;
}

.bg-beigegray {
  background-color: #e4e4df;
}

.error-message {
  font-size: 0.9vw;
  color: #f2545b;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .error-message {
    font-size: 3.2vw;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
}

/*inputの下に、入力欄左端揃えで並べたいため、下記PC版のみ調整*/
.error-message02 {
  font-size: 0.9vw;
  color: #f2545b;
  margin-left: 3vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .error-message02 {
    font-size: 3.2vw;
    margin-left: 0;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
}

.error-message03 {
  font-size: 0.9vw;
  color: #f2545b;
  margin-left: 4vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .error-message03 {
    font-size: 3.2vw;
    margin-left: 0;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
}

.error-message04 {
  font-size: 0.9vw;
  color: #f2545b;
  margin-left: 6.5vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .error-message04 {
    font-size: 3.2vw;
    margin-left: 0;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
}

.error-message05 {
  font-size: 0.9vw;
  color: #f2545b;
  margin-left: 8.8vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .error-message05 {
    font-size: 3.2vw;
    margin-left: 0;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
}

/*------------------------------------*/
/*住所のエラー文表示レイアウト調整*/
.error-wrapper {
  margin-bottom: 1.4vw;
}

/*採用種別ラジオボタン下テキストのレイアウト調整*/
.form__annotation {
  font-size: 1vw;
  font-weight: 500;
  margin-top: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .form__annotation {
    font-size: 2.7vw;
    font-weight: 400;
  }
}

/*氏名(姓)、フリガナ(セイ)SP版エラー文表示レイアウト調整*/
#last-name, #last-name-furigana {
  margin-right: 2.4vw;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  #last-name, #last-name-furigana {
    margin-right: 0;
    margin-bottom: 0 !important;
  }
}

/*入力欄の枠線色変更*/
.border-red {
  border: 1.5px solid #f2545b !important;
}

.form__annotation {
  font-size: 1vw;
  font-weight: 500;
  margin-top: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .form__annotation {
    font-size: 2.7vw;
    font-weight: 400;
  }
}


#confirm__btn:disabled,
#submit__btn:disabled,
#back__btn:disabled {
  background-color: #ccc;
  color: #666;
  cursor: not-allowed;
  pointer-events: none; /* ← hoverなど無効化 */
}