@charset "UTF-8";
html {
  color: #363636;
}

section {
  padding: 0 10.5%;
}
@media (max-width: 767px) {
  section {
    padding: 0 20px;
  }
}

.main-title {
  margin-bottom: 14rem;
}
@media (max-width: 767px) {
  .main-title {
    margin-bottom: 7rem;
  }
}
.main-title span {
  font-size: 1.8rem;
  font-weight: 500;
  display: grid;
  letter-spacing: 0.25rem;
}
@media (max-width: 767px) {
  .main-title span {
    font-size: 1.2rem;
  }
}
.main-title .title {
  font-family: "Outfit";
  font-size: 7.6rem;
  font-weight: 700;
  color: #000080;
  letter-spacing: normal;
}
@media (max-width: 767px) {
  .main-title .title {
    font-size: 3.8rem;
  }
}

.sub-title {
  font-size: 2.3rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
}

li::marker {
  color: #000080;
  font-weight: 600;
}

/* 採用情報 */
#recruit {
  background: url(../img/recruit_bg.png) no-repeat center top/cover;
  position: relative;
  /* 中途採用アイコン */
  /* 表 */
  /* SP表示 */
}
#recruit .mid-career {
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  #recruit .mid-career {
    padding-bottom: 6rem;
  }
}
#recruit .box {
  max-width: 108rem;
  background-color: #fff;
  padding: 6.2rem 4.4% 9.8rem;
  border-radius: 48px;
  box-shadow: 0 3px 6px -3px #5c5c5c;
  margin: 0 auto;
}
#recruit .main-title {
  margin-top: 7.1rem;
}
@media (max-width: 767px) {
  #recruit .main-title {
    margin-top: 3.5rem;
  }
}
#recruit .sub-title {
  position: relative;
  margin-bottom: 3rem;
}
#recruit .sub-title::after {
  content: "中途採用";
  position: absolute;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(180deg, #00a6fd, #004EFF);
  padding: 3px 11px 3px;
  border-radius: 9px;
  margin-left: 2rem;
}
#recruit table {
  width: 100%;
  border-spacing: 0;
}
#recruit table tr {
  /* 項目名 */
  /* 項目横の青アイコン */
  /* 職種のtd */
}
#recruit table tr th {
  position: relative;
  width: 15.1rem;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
  text-align: left;
  padding: 3rem 0 0 2.8rem;
  border-bottom: 1px solid #E0E0E0;
}
@media (max-width: 767px) {
  #recruit table tr th {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}
#recruit table tr th::before {
  content: "";
  position: absolute;
  background: linear-gradient(180deg, #00a6fd, #004EFF);
  width: 8px;
  height: 26px;
  left: 6px;
}
#recruit table tr td {
  width: calc(100% - 15.1rem);
  border-bottom: 1px solid #E0E0E0;
  line-height: 2.3;
  padding: 2rem 0 2rem 6.6rem;
}
@media (max-width: 767px) {
  #recruit table tr td {
    display: block;
    width: 100%;
    padding: 1.5rem 1rem;
    line-height: 1.75;
  }
}
#recruit table tr td p {
  margin: 0;
  line-height: 2.3;
}
@media (max-width: 767px) {
  #recruit table tr td p {
    line-height: 1.75;
  }
}
#recruit table tr td .space {
  padding-bottom: 2rem;
}
#recruit table tr .jobtype {
  font-size: 1.8rem;
}
#recruit table tr .noborder {
  border-top: none;
}
#recruit .break {
  font-size: 2.3rem;
  font-weight: 600;
  position: relative;
  letter-spacing: 0.25rem;
}
@media (max-width: 767px) {
  #recruit .sub-title {
    text-align: center;
  }
  #recruit .sub-title::after {
    position: static;
    top: 4rem;
    left: 0;
    margin: 0;
  }
  #recruit .box {
    padding: 3.1rem 4.4% 4.9rem;
    border-radius: 24px;
  }
  #recruit .break {
    display: block;
    padding-bottom: 0.5rem;
  }
}

/* 企業情報 */
#company {
  padding-top: 0;
  /* 企業情報 */
  /* 会社概要 */
  /* アクセスマップ */
}
#company .company-contain {
  background: url(../img/compny_bg.png) no-repeat center top/cover;
  position: relative;
  padding-top: calc(7.1rem + 89px);
  overflow: hidden;
}
@media (max-width: 1024px) {
  #company .company-contain {
    padding-top: calc(7.1rem + 54px);
  }
}
@media (max-width: 767px) {
  #company .company-contain {
    padding-top: calc(3.5rem + 54px);
  }
}
#company .company-contain .company-info {
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  #company .company-contain .company-info {
    padding-bottom: 6rem;
  }
}
#company .company-contain .company-info .sub-title {
  color: #fff;
  background: #000080;
  margin: 0;
  padding: 2rem 2.5rem;
  border-radius: 8px;
}
#company .company-contain .company-info table {
  margin: 3.7rem auto 0;
  max-width: 108rem;
}
#company .company-contain .company-info table th {
  width: 15rem;
  min-width: 9.25rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
  line-height: 3rem;
  border-bottom: 1px solid #E8E8E8;
  vertical-align: middle;
  text-align: center;
}
@media (max-width: 767px) {
  #company .company-contain .company-info table th {
    display: block;
    text-align: left;
    border-bottom: none;
    padding-top: 1.7rem;
    width: auto;
  }
}
#company .company-contain .company-info table td {
  width: calc(100% - 15rem - 11.4rem);
  line-height: 2.3;
  border-bottom: 1px solid #E8E8E8;
  padding: 2rem 0 2rem 11.4rem;
}
@media (max-width: 767px) {
  #company .company-contain .company-info table td {
    width: 100%;
    display: block;
    text-align: left;
    padding: 1rem 0 1.7rem;
  }
}
#company .company-contain .company-info a {
  text-decoration: underline;
}
#company .history {
  background: url(../img/company_bg2.png) no-repeat center top/cover;
  padding: 11.2rem 10.5%;
}
@media (max-width: 767px) {
  #company .history {
    padding: 5.6rem 20px;
  }
}
#company .history .sub-title {
  color: #fff;
  margin: 0;
  padding-bottom: 1.4rem;
  max-width: 108rem;
  margin: 0 auto;
}
#company .history .box {
  background-color: #fff;
  padding: 8.8rem 10rem 6rem;
  border-radius: 15px;
  max-width: 108rem;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  #company .history .box {
    padding: 4.4rem 4.4% 3rem;
  }
}
@media (max-width: 767px) {
  #company .history .box {
    padding-bottom: 4.5rem;
  }
}
#company .history th {
  width: 9.5rem;
  line-height: 2.3;
  text-align: left;
  vertical-align: top;
  font-weight: 600;
  border-bottom: 1px solid #006BFE;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}
@media (max-width: 767px) {
  #company .history th {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
  }
}
#company .history td {
  width: calc(100% - 9rem);
  padding: 1.4rem 0 1.4rem 6rem;
  line-height: 2.3;
  border-bottom: 1px solid #E8E8E8;
}
@media (max-width: 767px) {
  #company .history td {
    display: block;
    width: 100%;
    margin-bottom: 1.5rem;
    padding-left: 0;
    padding-top: 0;
  }
}
#company .access {
  margin: 11.4rem 0 12rem;
  /* Google Map */
}
@media (max-width: 767px) {
  #company .access {
    margin: 5.7rem 0 6rem;
  }
}
#company .access .sub-title {
  margin: 0 auto 3.2vw;
  max-width: 108rem;
}
#company .access .gmap {
  text-align: center;
}
#company .access iframe {
  width: 100%;
  max-width: 108rem;
  height: 50vw;
  max-height: 461px;
}
#company .access ul {
  max-width: 108rem;
  margin: 3rem auto 0;
  list-style: inside;
}
#company .access ul li {
  line-height: 2.3;
}
@media (max-width: 1024px) {
  #company .break {
    display: block;
  }
}
@media (min-width: 768px) {
  #company .nobreak {
    display: block;
  }
}

/* 情報セキュリティ基本方針 */
#security {
  background: url(../img/security_bg.png) no-repeat center top/cover;
  position: relative;
}
#security section {
  margin-top: 7.1rem;
}
@media (max-width: 767px) {
  #security section {
    margin-top: 3.5rem;
  }
}
#security .sub-title {
  color: #fff;
  background: #000080;
  margin: 0;
  padding: 2rem 2.5rem;
  border-radius: 8px;
}
#security .contain {
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  #security .contain {
    padding-bottom: 6rem;
  }
}
#security .security-text {
  padding: 6rem 0 4rem;
}
@media (max-width: 767px) {
  #security .security-text {
    padding: 3rem 0 3.75rem;
  }
}
#security .security-text p {
  line-height: 2.3;
  padding-bottom: 6rem;
}
@media (max-width: 767px) {
  #security .security-text p {
    padding-bottom: 3rem;
  }
}
#security ol {
  list-style: decimal;
  padding-left: 2rem;
  border-top: 1px solid #E8E8E8;
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 4rem;
}
@media (max-width: 767px) {
  #security ol {
    padding-bottom: 1.5rem;
  }
}
#security ol li {
  padding-left: 1rem;
  padding-top: 4rem;
  line-height: 2.3;
}
@media (max-width: 767px) {
  #security ol li {
    padding-top: 1.5rem;
  }
}
#security .right {
  text-align: right;
}
#security .right span {
  line-height: 2.3;
}

/* 個人情報保護方針 */
#privacy {
  background: url(../img/privacy_bg.png) no-repeat center top/cover;
  position: relative;
  /* 個人情報保護方針 */
  /* 個人情報の取扱いについて */
}
#privacy section {
  margin-top: 7.1rem;
}
@media (max-width: 767px) {
  #privacy section {
    margin-top: 3.5rem;
  }
}
#privacy .sub-title {
  color: #fff;
  background: #000080;
  margin: 0;
  padding: 2rem 2.5rem;
  border-radius: 8px;
}
#privacy .privacy-policy {
  padding: 6rem 0 4rem;
}
@media (max-width: 767px) {
  #privacy .privacy-policy {
    padding: 3rem 0 2rem;
  }
}
#privacy .privacy-policy p {
  line-height: 2.3;
  margin-bottom: 6rem;
}
@media (max-width: 767px) {
  #privacy .privacy-policy p {
    margin-bottom: 3rem;
  }
}
#privacy ol {
  list-style: decimal;
  padding-left: 2rem;
  border-top: 1px solid #E8E8E8;
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 4rem;
}
#privacy ol li {
  padding-left: 1rem;
  padding-top: 5rem;
  line-height: 2.3;
}
@media (max-width: 767px) {
  #privacy ol li {
    padding-top: 2.5rem;
  }
}
#privacy ol .margin-resize {
  padding-top: 4rem;
}
@media (max-width: 767px) {
  #privacy ol .margin-resize {
    padding-top: 2rem;
  }
}
#privacy .right {
  text-align: right;
}
#privacy .right span {
  line-height: 2.3;
}
#privacy .box {
  max-width: 413px;
  padding: 2rem;
  border: 1px solid #707070;
  display: grid;
  margin-bottom: 12.3rem;
  position: relative;
  top: -2rem;
}
#privacy .box strong {
  font-weight: 600;
  line-height: 2.3;
}
#privacy .box span {
  line-height: 2.3;
}
@media (max-width: 767px) {
  #privacy .box {
    position: static;
    margin-top: 3rem;
    margin-bottom: 0;
  }
}
#privacy #personal-info {
  padding-bottom: 12rem;
  /* 表 */
}
@media (max-width: 767px) {
  #privacy #personal-info {
    padding-bottom: 6rem;
  }
}
#privacy #personal-info h3 {
  color: #000080;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.25rem;
  line-height: 5.2rem;
  padding-bottom: 1.5rem;
}
#privacy #personal-info span {
  line-height: 2.3;
}
#privacy #personal-info .number {
  padding: 0.5rem 4rem 4rem 4rem;
  background-color: #F4F9FD;
  border-radius: 15px;
  border-top: none;
  border-bottom: none;
}
@media (max-width: 767px) {
  #privacy #personal-info .number {
    padding: 0.5rem 2rem 2rem 2rem;
  }
}
#privacy #personal-info .number li {
  line-height: 2.3;
  padding-left: 0.5rem;
}
#privacy #personal-info .strong {
  font-weight: 600;
  color: #000080;
  margin-top: 3.5rem;
  padding-top: 0;
  margin-left: 2rem;
}
@media (max-width: 767px) {
  #privacy #personal-info .strong {
    margin-top: 1.5rem;
  }
}
#privacy #personal-info p, #privacy #personal-info .brackets {
  border-top: 1px solid #b9c3de;
  padding-top: 1.5rem;
  margin-top: 1rem;
}
#privacy #personal-info .noborder, #privacy #personal-info .noborder p {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
#privacy #personal-info .brackets {
  padding-left: 2.5rem;
}
#privacy #personal-info .brackets li {
  position: relative;
  list-style-type: none;
  padding-top: 0;
}
#privacy #personal-info .brackets li::before {
  position: absolute;
  right: calc(100% - 0.5rem);
  content: "(" counter(list-item) ")";
}
#privacy #personal-info .dot {
  list-style: disc;
  padding-left: 2rem;
}
#privacy #personal-info .dot li {
  padding-left: 0;
  padding-top: 0;
  list-style-type: disc;
}
#privacy #personal-info .dot li::before {
  position: fixed;
}
#privacy #personal-info table {
  margin: 1rem 0;
  border: 1px solid #707070;
  border-collapse: collapse;
  max-width: 100.4rem;
}
@media (max-width: 767px) {
  #privacy #personal-info table th {
    padding: 0.5rem 2.6rem;
  }
}
#privacy #personal-info table thead {
  background-color: #EFEFEF;
  border: 1px solid #707070;
}
#privacy #personal-info table thead th {
  padding: 1.2rem 2.6rem;
  font-weight: 600;
}
#privacy #personal-info table tbody th, #privacy #personal-info table tbody td {
  border: 1px solid #707070;
  padding: 1.5rem 2.6rem;
  background-color: #fff;
  /* スマホ表示 */
}
@media (max-width: 767px) {
  #privacy #personal-info table tbody th, #privacy #personal-info table tbody td {
    display: block;
  }
}
#privacy #personal-info .annotation {
  font-size: 1.4rem;
  line-height: 2.3;
}
#privacy .bold {
  font-weight: 600;
}

/* お問い合わせ */
#contact, #recruit-contact {
  background: url(../img/contact_bg.png) no-repeat center top/cover;
  position: relative;
  padding-bottom: 12rem;
  /* 項目名 */
  /* 必須アイコン */
  /* 入力欄 */
  /* 問い合わせ内容 入力欄 */
  /* 個人情報の取り扱い */
  /* SP表示 */
}
@media (max-width: 767px) {
  #contact, #recruit-contact {
    padding-bottom: 6rem;
  }
}
#contact .main-title, #recruit-contact .main-title {
  margin-top: 7.1rem;
}
@media (max-width: 767px) {
  #contact .main-title, #recruit-contact .main-title {
    margin-top: 3.5rem;
  }
}
#contact form, #recruit-contact form {
  background-color: #fff;
  border-radius: 48px;
  box-shadow: 0 3px 6px -3px #5c5c5c;
  padding: 5.5rem 10rem 10rem;
  max-width: 1080px;
  margin: 0 auto;
  /* お問い合わせ */
  /* 内容を確認する ボタン */
}
@media (max-width: 1024px) {
  #contact form, #recruit-contact form {
    padding: 5.5rem 3rem 6rem 3rem;
  }
}
@media (max-width: 767px) {
  #contact form, #recruit-contact form {
    border-radius: 24px;
    padding: 5.5rem 1.5rem 6rem 1.5rem;
  }
}
#contact form .form-text, #recruit-contact form .form-text {
  line-height: 2.3;
  margin-top: 1.5rem;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  #contact form .form-text, #recruit-contact form .form-text {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  #contact form .form-text, #recruit-contact form .form-text {
    margin-bottom: 3rem;
  }
}
#contact form .question, #recruit-contact form .question {
  margin: 2rem 0 0;
  vertical-align: middle;
  align-items: center;
  display: flex;
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 2rem;
  gap: 2rem;
  float: right;
  width: 100%;
}
@media (max-width: 1024px) {
  #contact form .question, #recruit-contact form .question {
    display: contents;
  }
}
#contact form .question .th_wrap, #recruit-contact form .question .th_wrap {
  min-width: 15rem;
}
@media (max-width: 1024px) {
  #contact form .question .th_wrap, #recruit-contact form .question .th_wrap {
    display: ruby;
  }
}
#contact form .question .td, #recruit-contact form .question .td {
  width: 100%;
}
#contact form input[type=submit], #recruit-contact form input[type=submit] {
  background-color: #00e2ff;
  border: 1px solid #00e2ff;
  border-radius: 3.7rem;
  padding: 2.5rem 7rem;
  transition: all 0.5s ease;
}
@media (max-width: 767px) {
  #contact form input[type=submit], #recruit-contact form input[type=submit] {
    padding: 2rem 4rem;
    margin: 0 auto;
    display: block;
  }
}
#contact form input[type=submit]:hover, #recruit-contact form input[type=submit]:hover {
  border: 1px solid #00e2ff;
  background-color: #363636;
  color: #00e2ff;
}
#contact .th, #contact .break, #recruit-contact .th, #recruit-contact .break {
  display: flex;
  font-size: 18px;
  font-weight: 600;
}
@media (max-width: 1024px) {
  #contact .th, #contact .break, #recruit-contact .th, #recruit-contact .break {
    font-size: 16px;
    margin: 0;
  }
}
#contact .required, #recruit-contact .required {
  position: relative;
  padding-bottom: 3rem;
}
#contact .required::after, #recruit-contact .required::after {
  content: "必須";
  position: absolute;
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: white;
  background: linear-gradient(90deg, #00a6fd, #004EFF);
  border-radius: 12rem;
  padding: 0.2rem 0.8rem 0.3rem;
  top: 3.3rem;
  width: 4.4rem;
  text-align: center;
}
#contact input[type=text], #contact input[type=tel], #contact input[type=email], #contact textarea, #recruit-contact input[type=text], #recruit-contact input[type=tel], #recruit-contact input[type=email], #recruit-contact textarea {
  width: 100%;
  box-sizing: border-box;
  background-color: #F8F8F8;
  border-radius: 8px;
  align-items: center;
  padding-left: 2rem;
  height: 6rem;
}
@media (max-width: 1024px) {
  #contact input[type=text], #contact input[type=tel], #contact input[type=email], #contact textarea, #recruit-contact input[type=text], #recruit-contact input[type=tel], #recruit-contact input[type=email], #recruit-contact textarea {
    height: 5rem;
    width: 100%;
    float: none;
    margin-bottom: 3rem;
  }
}
#contact input::-moz-placeholder, #recruit-contact input::-moz-placeholder {
  color: #CBCBCB;
}
#contact input::placeholder, #recruit-contact input::placeholder {
  color: #CBCBCB;
}
#contact textarea, #recruit-contact textarea {
  height: 25.6rem;
  padding: 1rem;
  resize: none;
}
@media (max-width: 1024px) {
  #contact textarea, #recruit-contact textarea {
    height: 15rem;
  }
}
#contact .inquiry, #recruit-contact .inquiry {
  height: 25.6rem;
}
@media (max-width: 1024px) {
  #contact .inquiry, #recruit-contact .inquiry {
    height: 15rem;
  }
}
#contact .personal-info, #recruit-contact .personal-info {
  padding: 6px 0;
  background-color: #F8F8F8;
  border-radius: 8px;
  margin-bottom: 0;
}
#contact .personal-info_title, #recruit-contact .personal-info_title {
  margin-bottom: 1.75rem;
}
#contact .personal-info .scroll, #recruit-contact .personal-info .scroll {
  height: 25.6rem;
  padding: 3.5rem 3rem 3.5rem;
  overflow-y: scroll;
}
@media (max-width: 1024px) {
  #contact .personal-info .scroll, #recruit-contact .personal-info .scroll {
    height: 15rem;
    padding: 2.5rem 1.5rem 2.5rem;
  }
}
#contact .personal-info ol, #recruit-contact .personal-info ol {
  margin-top: 4rem;
  list-style: decimal;
  margin-left: 2rem;
}
#contact .personal-info ol li, #recruit-contact .personal-info ol li {
  font-weight: 600;
  line-height: 2.3;
  color: #000080;
  margin-top: 2.5rem;
}
#contact .personal-info ol strong, #recruit-contact .personal-info ol strong {
  display: block;
  font-weight: 600;
  line-height: 2.3;
  color: #000080;
  margin-top: 2.5rem;
}
#contact .fieldset_wrap, #recruit-contact .fieldset_wrap {
  border-bottom: 1px solid #E8E8E8;
  margin-bottom: 5rem;
  padding-bottom: 8rem;
}
#contact fieldset, #recruit-contact fieldset {
  vertical-align: top;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 2rem;
}
#contact fieldset legend, #recruit-contact fieldset legend {
  position: absolute;
  float: left;
  min-width: 15rem;
}
#contact fieldset .contain, #recruit-contact fieldset .contain {
  float: right;
}
#contact fieldset .explanation, #recruit-contact fieldset .explanation {
  font-size: 18px;
}
@media (max-width: 1024px) {
  #contact fieldset .explanation, #recruit-contact fieldset .explanation {
    font-size: 16px;
  }
}
#contact fieldset .required::after, #recruit-contact fieldset .required::after {
  top: 6rem;
}
#contact fieldset .checkbox, #recruit-contact fieldset .checkbox {
  padding-top: 2rem;
}
#contact fieldset .checkbox #consent, #recruit-contact fieldset .checkbox #consent {
  position: absolute;
  margin: 0;
  block-size: 1.5em;
  inline-size: 1.5em;
  vertical-align: middle;
}
#contact fieldset .checkbox label, #recruit-contact fieldset .checkbox label {
  line-height: 2.4rem;
  margin: 1em 0 0;
}
#contact fieldset .checkbox label input, #recruit-contact fieldset .checkbox label input {
  margin-right: 0.5em;
}
#contact .center, #recruit-contact .center {
  text-align: center;
  margin: 0 auto;
}
#contact .break, #recruit-contact .break {
  display: block;
}
@media (max-width: 1024px) {
  #contact .break, #recruit-contact .break {
    display: contents;
  }
}
@media (max-width: 1024px) {
  #contact .th, #recruit-contact .th {
    padding-bottom: 1rem;
  }
  #contact .required::after, #recruit-contact .required::after {
    position: static;
    margin-left: 0.5rem;
  }
  #contact fieldset, #recruit-contact fieldset {
    display: contents;
  }
  #contact fieldset legend, #recruit-contact fieldset legend {
    width: 100%;
    float: none;
  }
  #contact fieldset .contain, #recruit-contact fieldset .contain {
    width: 100%;
    float: none;
  }
  #contact .margin, #recruit-contact .margin {
    margin: 0 0 4rem;
  }
}
@media (max-width: 425px) {
  #contact fieldset .th, #recruit-contact fieldset .th {
    text-align: left;
    margin-top: 2rem;
  }
}

/* 個人情報保護方針 */
#news {
  background: url(../img/privacy_bg.png) no-repeat center top/cover;
  position: relative;
}
#news section {
  margin-top: 7.1rem;
  padding-bottom: 12rem;
}
@media (max-width: 767px) {
  #news section {
    margin-top: 3.5rem;
    padding-bottom: 6rem;
  }
}
#news .sub-title {
  color: #fff;
  background: #000080;
  margin: 0;
  padding: 2rem 2.5rem;
  border-radius: 8px;
  margin-bottom: 1em;
}
#news.detail .post_head {
  padding-bottom: 3em;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  #news.detail .post_head {
    padding-bottom: 1.5em;
  }
}
#news.detail .post_head .cat {
  min-width: 96px;
  flex-shrink: 0;
  font-size: 1.3rem;
  color: #fff;
  background-color: #000080;
  padding: 0.35em 0.6em;
  text-align: center;
  border-radius: 3em;
  line-height: 1.25;
}
@media (max-width: 767px) {
  #news.detail .post_head .cat {
    min-width: 84px;
  }
}
#news.detail .post_head .cat.notice {
  background-color: #032D42;
}
#news.detail .post_head .cat.event {
  background-color: #ADA86A;
}
#news.detail .btn1_cmn {
  margin: 3em auto 0;
  font-size: 1.8rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
#news.detail .btn1_cmn span {
  font-size: inherit;
}
@media (max-width: 767px) {
  #news.detail .btn1_cmn {
    font-size: 1.6rem;
  }
}
#news.detail p a {
  text-decoration: underline;
  transition: all 0.5s ease;
}
#news.detail p a:hover {
  color: #000080;
  opacity: 0.6;
}
#news.detail p {
  padding-bottom: 1em;
}
#news.detail h2 {
  font-size: 2.3rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
  margin-bottom: 0.75em;
}
#news.detail h3 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1em;
  margin-top: 1em;
}
#news .box {
  background-color: #fff;
  border-radius: 48px;
  box-shadow: 0 3px 6px -3px #5c5c5c;
  padding: 5.5rem 4.4% 5rem;
}
@media (max-width: 767px) {
  #news .box {
    border-radius: 24px;
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }
}
#news .box ul.post_list {
  margin-top: 0;
}

@media (max-width: 1024px) {
  .wpcf7-not-valid-tip {
    margin-top: -1em;
  }
  .checkbox .wpcf7-not-valid-tip {
    margin-top: 0;
  }
}/*# sourceMappingURL=sub.css.map */