html {
  scroll-behavior: smooth
}

section,
p,
h1,
footer {
  position: relative
}

section p {
  font-size: 18px;
  line-height: 30px;
  margin: 0 auto 40px;
  width: 90%
}

.contents_wrap {
  overflow: hidden;
  position: relative;
  width: 920px;
  margin: 5pc auto
}

h2 {
  font-size: 1.7em;
  line-height: 1.7em;
  margin: 2pc auto 40px;
  padding: 20px;
  text-align: center
}

h2::after {
  background: linear-gradient(to right, #d61853 0, #9C27B0 100%);
  content: "";
  display: block;
  height: 6px;
  margin: 20px auto 16px;
  width: 40px
}

h2 span {
  display: block;
  color: red;
  font-size: .8em
}

h3,
h4 {
  font-size: 1.5em;
  line-height: 30px;
  margin-bottom: 40px;
  text-align: center
}

h5 {
  font-size: 1.5em;
  line-height: 30px;
  margin: 80px 0 30px;
  text-align: center
}

h6 {
  font-size: 1.2em;
  margin: 10px 0 60px;
  text-align: center
}

b {
  background: #fff;
  padding: 0 6px
}

#breadcrumb {
  border-bottom: none
}

#breadcrumb ol {
  margin: 4px auto 0;
  width: 920px
}

#breadcrumb li {
  display: inline
}

#breadcrumb i {
  margin: 0 8px;
  color: #424242
}


.boshu {
  margin-bottom: 90px;
  float: left;
  padding: 26px;
  width: 563px;
}

#job .box h3::after {
  background: linear-gradient(to right, #d61853 0, #9C27B0 100%);
  content: "";
  display: block;
  height: 2px;
  margin: 6px auto;
}

.box {
  border: 1px solid #000;
  border-radius: 8px;
  margin: 0 auto 50px;
  background: #fff;
  padding: 45px;
  max-width: 563px;
  width: 80%;
}

.box li {
  display: flex;
  font-size: 18px;
  margin: 24px 0;
}

.box li i {
  color: #0096aa;
  font-size: 16px;
  margin: 2px 6px 0 0;
}


form {
  margin: auto;
  max-width: 600px;
  width: 90%;
  display: grid;
}

label {
  font-size: 18px;
  margin: 48px 0 15px;
}

input,
textarea {
  padding: 18px;
  font-size: 18px;
  background-color: #fff;
  border: 1px solid;
}

.required {
  color: red;
}

/* --- 必須項目の入力欄に視覚的強調 --- */
input:required,
textarea:required {
  border-left: 4px solid #f06292;
}

/* --- 入力フォーカス時の強調 --- */
input:focus,
textarea:focus {
  outline: none;
  border-color: #f06292;
  box-shadow: 0 0 4px rgba(240, 98, 146, 0.5);
}

/* --- ボタン装飾（送信ボタン） --- */
button[type="submit"] {
  display: block;
  margin: 120px auto 0;
  padding: 18px 120px;
  font-size: 1.5em;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(to right, #d61853, #9C27B0);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all .3s ease;
}

button[type="submit"]:hover {
  opacity: .4;
}

/* --- エラーメッセージ用（PHP送信失敗時） --- */
.error {
  background: #ffebee;
  color: #c62828;
  padding: 1em;
  border-radius: 6px;
  margin-top: 1em;
  text-align: center;
}

#about {
  background: #000000a6;
  border: 0;
  color: #fff;
  padding-bottom: 80px;
}

#about a {
  color: #fff;
  text-decoration: underline;
}

/* --- レスポンシブ対応（スマホ画面） --- */
@media screen and (max-width: 978px) {
  #breadcrumb ol {
    width: 95%
  }

  .contents_wrap {
    width: 100%
  }
}


@media screen and (max-width: 600px) {
  h2 {
    font-size: 1.4rem
  }

  .box {
    padding: 20px;
  }

  input,
  textarea {
    width: 90%
  }
}

@media screen and (max-width: 320px) {
  h2 {
    font-size: 1.2rem
  }

}