@charset "UTF-8";
/* === text === */
body * {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
}
main, header, footer, nav, aside, section, article {
  display: block;
}
/* === abbr , acronym === */
abbr, acronym {
  color: inherit;
  font-style: normal;
  border-color: #333;
  border-style: dotted;
  border-width: 0 0 1px;
  cursor: help;
}
/* === code === */
code {
  font-family: "monospace";
  /* 等幅を出す */
}
/* === kbd === */
kbd {
  font-family: "monospace";
  margin: 0 0.1em;
  padding: 0 2px;
  border-style: solid;
  border-width: 1px;
  display: inline;
}
/* === explanation === */
span.explanation {
  border-color: #333;
  border-style: dotted;
  border-width: 0 0 1px;
  cursor: help;
}
/* === clear , hidden === */
.nd, .nodisplay {
  display: none;
}
.hd, .hidden {
  visibility: hidden;
}
.hl, .hiddenlink, .hiddenmessage, .forscreenreader, .skip {
  position: absolute;
  left: -9000px;
}
.div, .clear {
  clear: both;
}
.nc, .noclear {
  clear: none !important;
}
hr.div, br.div {
  clear: both;
  visibility: hidden;
  margin: 0;
  padding: 0;
}
/* === clearfix === */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
/* === ul , ol (.nlm) === */
ul.nlm, ol.nlm {
  list-style-image: none !important;
  list-style: none;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}
ul.nlm li, ol.nlm li {
  padding: 0;
  margin: 0;
}
/* === ul,ol (.cmt) === */
ul.cmt, ol.cmt {
  color: #111;
  background-color: #f8f8f8;
  border: 1px #bbb solid;
  margin: 10px 0;
  padding: 8px 0 5px 40px;
}
/* === dl.cmt === */
dl.cmt {
  color: #111;
  background-color: #fff;
  margin: 0 0 15px;
  padding: 0 15px;
  border-bottom: #bbb 1px solid;
  border-left: #bbb 1px solid;
  border-right: #bbb 1px solid;
  width: auto;
}
dl.cmt dt {
  line-height: 100%;
  position: relative;
  color: #111;
  background-color: #f8f8f8;
  margin: 0 -15px;
  padding: 10px 10px;
  border-top: #bbb 1px solid;
  border-bottom: #bbb 1px dotted;
}
* > dl.cmt dt {
  margin: 0 -15px -5px;
}
dl.cmt dd {
  position: relative;
  margin: 0 -15px 0;
  padding: 10px 10px 5px;
}
dl.cmt dd * {
  margin-top: 0;
  margin-bottom: 0;
}
/* === p , div , pre , ul , ol (.cmt) === */
pre.cmt, pre.cmt2, div.cmt, p.cmt {
  color: #111;
  background-color: #f8f8f8;
  margin: 0 0 15px;
  padding: 7px 15px;
  border: 1px #bbb solid;
  width: auto;
}
div.cmt {
  padding: 8px 15px;
}
div.cmt * {
  margin-top: 0;
  margin-bottom: 0;
}
div.cmt ul, div.cmt ol {
  padding: 0;
  margin-left: 25px;
  margin-right: 0;
}
div.cmt ul.il, div.cmt ol.il {
  margin-left: 0;
}
pre.cmt {
  overflow: auto;
}
pre.cmt2 {
  white-space: pre-line;
}
/* === cite === */
cite.jp, cite.ja {
  font-style: normal;
}
cite.en, span.en {
  font-style: italic;
}
cite[lang$="ja"] {
  font-style: normal;
}
cite[lang$="en"], cite.foreign {
  font-style: italic;
}
/* === pre.pre === */
pre.pre {
  border: 1px #bbb solid;
  padding: 5px;
  background-color: #fefefe;
  width: 95%;
}
/* === blockquote === */
blockquote.blockquote {
  border: 1px #bbb dashed;
  padding: 0 10px;
  margin: 10px 0;
  background-color: #fefefe;
  width: 95%;
}
/* === forms - bttns === */
/*
 * TODO layout の先頭に
 */
.frm input[type="text"], .frm input[type="password"], .frm input[type="number"], .frm input[type="tel"], .frm input[type="email"], .frm input[type="url"], .frm input[type="date"], .frm input[type="time"], .frm input[type="week"], .frm input[type="month"], .frm input[type="datetime-local"], .frm input[type="search"], .frm textarea {
  padding: 5px;
  font-size: 110%;
  vertical-align: middle;
}
.frm select {
  border: 1px #999 solid;
  font-size: 100%;
}
input.bttn, a.bttn {
  box-sizing: border-box;
  font-family: sans-serif;
  padding: 5px 15px;
  margin: 0 5px 0 0;
  background-color: #eee;
  border: 1px solid #999;
  color: #222;
  line-height: 1.5em;
  font-size: 110%;
  border-radius: 4px;
  text-decoration: none;
  font-weight: normal;
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
}
input.bttn:hover, input.bttn:focus, a.bttn:hover, a.bttn:focus {
  border: 1px solid #111;
}
input.bttn:active, a.bttn:active {
  border-width: 2px;
  padding: 4px 14px;
}
/* === forms - mainbttn === */
input.bttn.main, input.bttn.primary, a.bttn.main, a.bttn.primary {
  font-weight: bold;
  border: 1px solid #ccc;
  background-color: #007acb;
  color: #fff;
}
input.bttn.main:hover, input.bttn.primary:hover, input.bttn.main:focus, input.bttn.primary:focus, a.bttn.main:hover, a.bttn.primary:hover, a.bttn.main:focus a.bttn.primary:focus {
  border: 1px solid #007acb;
  background-color: #fff;
  color: #007acb;
}
input.bttn.main:active, a.bttn.main:active {
  border: 2px solid #007acb;
}
.textarea, .wide {
  width: 95%;
  height: 12em;
}
.textarea.src {
  line-height: 1.6;
  font-family: monospace;
  background-color: #fafafa;
  white-space: pre;
}
form em.exp, form em.explanation {
  font-size: 90%;
  display: block;
}
/* === form - label of checkboxes and radio === */
.label_fb label, label.label_fb {
  display: inline-block;
  white-space: nowrap;
  padding: 3px 3px 3px 2px;
  margin-right: 5px;
}
.label_fb label:hover, label.label_fb:hover {
  background-color: #e8e8e8;
}
.disabled label, label.disabled {
  opacity: 0.5;
}
.disabled label:hover, label.disabled:hover {
  background-color: transparent !important;
}
/* === .tbl === */
.tbl {
  margin: 5px 0 10px !important;
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0px;
  border-top: 1px #bbb solid;
  border-left: 1px #bbb solid;
}
.tbl th, .tbl td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px #bbb solid;
  border-right: 1px #bbb solid;
}
.tbl th {
  text-align: left;
  background-color: #f8f8f8;
  white-space: nowrap;
  font-weight: bold;
  color: #111;
}
.tbl thead th {
  background-color: #eee;
  color: #111;
}
.tbl th > *:first-child, .tbl td > *:first-child {
  margin-top: 0;
}
.tbl th > *:last-child, .tbl td > *:last-child {
  margin-bottom: 0;
}
.tbl ul, .tbl ol {
  padding: 0;
  margin-left: 25px;
  margin-right: 0;
}
/* === tabl.tbl1 === */
.tbl1 {
  border-spacing: 0px;
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px #bbb solid;
  border-left: none;
}
.tbl1 th, .tbl1 td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px #bbb solid;
  border-right: none;
}
.tbl1 thead th {
  color: #111;
  background-color: #ded9d1;
}
.tbl1 th {
  color: #111;
  background-color: #eee;
}
.tbl1 td {
  color: #111;
  background-color: #fff;
}
/* === .tbl2 === */
.tbl2 {
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0px;
  width: 100%;
  background-color: #fff;
}
.tbl2 th, .tbl2 td {
  text-align: left;
  padding: 8px 10px;
}
.tbl2 thead th {
  color: #111;
  background: #e8e8e0;
  font-weight: bold;
  border-top: 1px #ccc solid;
  border-bottom: 1px #ccc solid;
}
.tbl2 tr:nth-child(even), .tbl2.even tr:nth-child(even) {
  background: #f4f4ea;
}
.tbl2 tr:nth-child(odd), .tbl2.even tr:nth-child(odd) {
  background: #fff;
}
.tbl2.odd tr:nth-child(odd) {
  background: #fff;
}
.tbl2.odd tr:nth-child(even) {
  background: #f4f4ea;
}
.tbl2 th {
  font-weight: normal;
  color: #111;
}
.tbl2 td {
  color: #111;
}
/* === table.list === */
table.list th, table.list td {
  padding: 5px 3px 0 0;
}
table.list th {
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal !important;
}
/* === a.lb img === */
.lb img {
  border: 1px #eee solid;
}
.lb:hover img {
  border: 1px #58b dashed;
}
/* === align right (.cite , .sig , .cf) === */
.cite, .sig, .cf {
  text-align: right;
  list-style: none;
  clear: both;
}
/* === span.subtitle === */
span.subtitle {
  font-size: 90%;
  font-weight: normal;
}
/* === span.date === */
span.date {
  font-size: 85%;
  color: #555;
}
* {
  scroll-behavior: smooth;
}
body {
  margin: 66px 0 0 0;
  font-size: 18px;
  color: #00448D;
  line-height: normal;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
}
/**
 * ------------------------------------------------------------
 * header
 * ------------------------------------------------------------
 */
body > .header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 102;
  width: 100vw;
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
body > .header > div {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
  margin-left: 0px;
  margin-right: 0px;
  padding: 16px 20px;
}
@media screen and (min-width: 1366px) {
  body > .header > div {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
body > .header > div .logo {
  display: block;
  height: 34px;
  width: auto;
}
body > .header > div .main-nav ul li {
  display: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
}
body > .header > div .main-nav ul li:has(> a.btn-recruit) {
  display: inline-block;
  margin-right: 35px;
  padding: 3px 9px;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  color: #fff;
  background-color: #00448D;
  line-height: 1.4;
}
body > .header > div .hamburger-icon {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 20px;
  height: 25px;
  z-index: 101;
  cursor: pointer;
}
body > .header > div .hamburger-icon .bar {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: #00448D;
  transition: all 0.3s ease;
}
body > .header > div .hamburger-icon .bar::before, body > .header > div .hamburger-icon .bar::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: #00448D;
  transition: all 0.3s ease;
}
body > .header > div .hamburger-icon .bar::before {
  top: -8px;
}
body > .header > div .hamburger-icon .bar::after {
  top: 8px;
}
body > .header > div .hamburger-icon.hm-open .bar {
  background: transparent;
}
body > .header > div .hamburger-icon.hm-open .bar::before {
  top: 0;
  transform: rotate(45deg);
}
body > .header > div .hamburger-icon.hm-open .bar::after {
  top: 0;
  transform: rotate(-45deg);
}
body > .header > div .hamburger-menu {
  position: fixed;
  top: 61px;
  left: 0;
  z-index: 100;
  display: none;
  width: 100%;
  height: calc(100vh - 61px);
  padding: 23px 20px 58px;
  background: #f5f5f5;
  overflow: auto;
}
body > .header > div .hamburger-menu.hm-open {
  display: block;
}
body > .header > div .hamburger-menu .sns-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  margin-bottom: 23px;
}
body > .header > div .hamburger-menu .sns-links span {
  margin-right: 20px;
  letter-spacing: 0.2em;
}
body > .header > div .hamburger-menu .sns-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #fff;
}
body > .header > div .hamburger-menu .sns-links a:last-child {
  margin-right: 0px;
}
body > .header > div .hamburger-menu .sns-links a img {
  width: 18px;
  height: 20px;
  object-fit: contain;
}
body > .header > div .hamburger-menu .contents {
  margin: 0;
  padding: 0;
}
body > .header > div .hamburger-menu .contents > li {
  margin-bottom: 27px;
}
body > .header > div .hamburger-menu .contents > li > .accordion-toggle, body > .header > div .hamburger-menu .contents > li .link-menu {
  display: block;
  padding: 0 0 14px;
  border-bottom: 1px solid #00448D;
}
body > .header > div .hamburger-menu .contents > li > .accordion-toggle {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  cursor: pointer;
}
body > .header > div .hamburger-menu .contents > li > .accordion-toggle::before, body > .header > div .hamburger-menu .contents > li > .accordion-toggle::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 17px;
  height: 2px;
  background-color: #00448D;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
body > .header > div .hamburger-menu .contents > li > .accordion-toggle::after {
  transform: translateY(-50%) rotate(90deg);
}
body > .header > div .hamburger-menu .contents > li > .accordion-toggle.open::after {
  transform: translateY(-50%) rotate(0deg);
}
body > .header > div .hamburger-menu .contents > li > a.link-menu {
  position: relative;
  display: block;
  padding-right: 20px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  text-decoration: none;
  border-bottom: 1px solid #00448D;
}
body > .header > div .hamburger-menu .contents > li > a.link-menu::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body > .header > div .hamburger-menu .contents > li > a.link-menu::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body > .header > div .hamburger-menu .contents > li .accordion-contents {
  display: none;
  padding-left: 25px;
}
body > .header > div .hamburger-menu .contents > li .accordion-contents li {
  margin-top: 27px;
}
body > .header > div .hamburger-menu .contents > li .accordion-contents li a {
  position: relative;
  display: block;
  padding-bottom: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #00448D;
}
body > .header > div .hamburger-menu .contents > li .accordion-contents li a:hover {
  text-decoration: underline;
}
body > .header > div .hamburger-menu .contents > li .accordion-contents li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body > .header > div .hamburger-menu .contents > li .accordion-contents li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body > .header > div .hamburger-menu .contents > li .accordion-toggle.open + .accordion-contents {
  display: block;
}
body > .header > div .hamburger-menu .contact-link {
  margin-top: 40px;
  text-align: center;
}
body > .header > div .hamburger-menu .contact-link a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 12px 80px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
}
body > .header > div .hamburger-menu .contact-link a:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body > .header > div .hamburger-menu .contact-link a:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body > .header > div .hamburger-menu .contact-link a:hover {
  opacity: 1;
  border: 1px solid #f5f5f5;
  background-color: #E5F1FF;
  transition: 0.4s;
}
/**
 * ------------------------------------------------------------
 * リクルートページ用のheader
 * ------------------------------------------------------------
 */
body > .recruit-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 102;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100vw;
  padding: 16px 10px;
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
body > .recruit-header p#site_title a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
body > .recruit-header p#site_title a .logo {
  display: block;
  height: 26px;
  width: auto;
}
body > .recruit-header p#site_title a span {
  padding-top: 10px;
  padding-bottom: 3px;
  padding-left: 5px;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #A8A8A8;
}
body > .recruit-header .main-nav, body > .recruit-header .recruit-contents {
  display: none;
}
body > .recruit-header .btn-entry {
  position: absolute;
  top: 0;
  right: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(60px, 18%, 100px);
  height: 100%;
  background-color: #00448D;
  color: #fff;
  font-size: clamp(11px, 2.3vw, 14px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
}
body > .recruit-header .recruit-hamburger-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 20px;
  height: 25px;
  z-index: 101;
  cursor: pointer;
}
body > .recruit-header .recruit-hamburger-icon .bar {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: #00448D;
  transition: all 0.3s ease;
}
body > .recruit-header .recruit-hamburger-icon .bar::before, body > .recruit-header .recruit-hamburger-icon .bar::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: #00448D;
  transition: all 0.3s ease;
}
body > .recruit-header .recruit-hamburger-icon .bar::before {
  top: -8px;
}
body > .recruit-header .recruit-hamburger-icon .bar::after {
  top: 8px;
}
body > .recruit-header .recruit-hamburger-icon.hm-open .bar {
  background: transparent;
}
body > .recruit-header .recruit-hamburger-icon.hm-open .bar::before {
  top: 0;
  transform: rotate(45deg);
}
body > .recruit-header .recruit-hamburger-icon.hm-open .bar::after {
  top: 0;
  transform: rotate(-45deg);
}
body > .recruit-header .recruit-hamburger-menu {
  position: fixed;
  top: 61px;
  left: 0;
  display: none;
  width: 100%;
  height: calc(100vh - 61px);
  padding: 45px 20px 58px;
  background: #00144A;
  color: #fff;
  z-index: 999;
  overflow-y: scroll;
}
body > .recruit-header .recruit-hamburger-menu.hm-open {
  display: block;
}
body > .recruit-header .recruit-hamburger-menu h2 {
  display: block;
  height: auto;
  padding-bottom: 15px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  border-bottom: 1px solid #fff;
}
body > .recruit-header .recruit-hamburger-menu ul {
  margin-left: 25px;
}
body > .recruit-header .recruit-hamburger-menu ul li a {
  position: relative;
  display: block;
  margin-top: 28px;
  padding-right: 20px;
  padding-bottom: 16px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid #fff;
}
body > .recruit-header .recruit-hamburger-menu ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #fff;
  border-radius: 1px;
}
body > .recruit-header .recruit-hamburger-menu ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #fff;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body > .recruit-header .recruit-hamburger-menu .entries-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 30px;
}
body > .recruit-header .recruit-hamburger-menu .entries-links a {
  position: relative;
  display: block;
  width: 308px;
  padding: 18px 0 18px 25px;
  background-color: #CCE56A;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #000;
}
body > .recruit-header .recruit-hamburger-menu .entries-links a:first-child {
  margin-bottom: 15px;
  border-radius: 31px;
}
body > .recruit-header .recruit-hamburger-menu .entries-links a:last-child {
  border-radius: 45px;
}
body > .recruit-header .recruit-hamburger-menu .entries-links a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  z-index: 10;
  transform: translateY(-50%) rotate(45deg);
  width: 3px;
  height: 3px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
body > .recruit-header .recruit-hamburger-menu .entries-links a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-color: #00144A;
  border-radius: 50%;
}
body > .recruit-header .recruit-hamburger-menu .sns-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 16px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
}
body > .recruit-header .recruit-hamburger-menu .sns-links span {
  margin-right: 20px;
  letter-spacing: 0.2em;
}
body > .recruit-header .recruit-hamburger-menu .sns-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #fff;
}
body > .recruit-header .recruit-hamburger-menu .sns-links a:last-child {
  margin-right: 0px;
}
body > .recruit-header .recruit-hamburger-menu .sns-links a img {
  width: 18px;
  height: 20px;
  object-fit: contain;
}
body > .recruit-header .contact-link {
  margin-top: 40px;
  text-align: center;
}
body > .recruit-header .contact-link a {
  position: relative;
  display: inline-block;
  width: 308px;
  padding: 12px 0;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
}
/**
 * ------------------------------------------------------------
 * footer
 * ------------------------------------------------------------
 */
body > footer {
  padding-top: 42px;
  background-color: #2D3640;
}
body > footer .logo {
  padding: 0 69px;
}
body > footer .logo img {
  width: 100%;
}
body > footer .logo .sns-links {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
}
body > footer .logo .sns-links span {
  margin-right: min(10px, 2vw, 20px);
  letter-spacing: 0.2em;
  color: #fff;
}
body > footer .logo .sns-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 43px;
  height: 43px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body > footer .logo .sns-links a:last-child {
  margin-right: 0px;
}
body > footer .logo .sns-links a img {
  width: 35px;
  height: 20px;
  object-fit: contain;
}
body > footer .contact {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  margin-top: 55px;
  margin-bottom: 46px;
  padding: 0 42px;
  color: #fff;
}
body > footer .contact h3 {
  grid-column: 1 / -1;
  padding-bottom: 16px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
}
body > footer .contact .letter {
  grid-column: 1;
  grid-row: 2;
}
body > footer .contact .letter img {
  display: block;
  padding-right: 16px;
}
body > footer .contact p {
  grid-column: 2;
  grid-row: 2;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
}
body > footer .contact .contact-link {
  grid-column: 1 / -1;
  grid-row: 3;
  padding-top: 20px;
  text-align: center;
}
body > footer .contact .contact-link a {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 12px 0;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
}
body > footer .contact .contact-link a:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body > footer .contact .contact-link a:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body > footer .contact .contact-link a:hover {
  opacity: 1;
  border: 1px solid #2D3640;
  background-color: #E5F1FF;
  transition: 0.4s;
}
body > footer .access {
  display: flex;
  flex-direction: column;
  padding: 0 42px;
}
body > footer .access .address {
  padding: 20px 0 15px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
  border-top: 1px solid #fff;
}
body > footer .access .map {
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
}
body > footer .access .map iframe {
  width: 100%;
  height: 160px;
  border: 0;
  display: block;
}
body > footer .access .so-icon {
  display: inline-block;
  margin-top: 33px;
}
body > footer .access .so-icon img {
  width: 163px;
}
body > footer .access .privacy-policy-link {
  position: relative;
  display: inline-block;
  margin: 25px 0 42px;
  padding-left: 23px;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
}
body > footer .access .privacy-policy-link:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../images/footer/footer-arrow.svg);
  width: 16px;
  height: 16px;
}
body > footer .copyrights {
  position: relative;
  padding: 13px 0;
  text-align: center;
  background-color: #00448D;
  font-size: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 200;
  color: #fff;
}
/**
 * ------------------------------------------------------------
 * 通常ページ共通ヘッダー直前のリクルートページへの誘導エリア
 * ------------------------------------------------------------
 */
.leading-recruit {
  display: block;
  width: calc(100% - 80px);
  margin: 0 auto 60px;
  padding: 25px 20px;
  background-image: url(../images/leading-recruit_bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 20px;
  cursor: pointer;
}
.leading-recruit h2 {
  padding-top: 135px;
  padding-bottom: 30px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
}
.leading-recruit h2 .title {
  display: block;
  padding-bottom: 12px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
}
.leading-recruit h2 .arrow {
  position: relative;
}
.leading-recruit h2 .arrow:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  transform: translateY(-50%);
  background-image: url(../images/white-arrow.svg);
  width: 17.7px;
  height: 4.19px;
}
.leading-recruit p {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: #fff;
}
body.home main {
  background-image: url(../images/home/main-bg-sp.webp);
  background-size: cover;
  background-position: top 415px center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: -10;
}
body.home main section.top div.leading {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  background-image: url(../images/home/top-text-bg.webp);
  background-size: cover;
  background-position: center;
}
body.home main section.top div.leading .splide .splide__slide {
  height: 100%;
}
body.home main section.top div.leading .splide img {
  transition: 12s ease-out;
}
body.home main section.top div.leading .splide .is-active img {
  transform: scale(1.07);
  transition-delay: 0s;
}
body.home main section.top div.leading .splide img {
  flex-shrink: 1;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
body.home main section.top div.leading .text-area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 35px 0 30px;
  text-align: center;
  color: #fff;
}
body.home main section.top div.leading .text-area > div h2 {
  padding-bottom: 15px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}
body.home main section.top div.leading .text-area > div h2 span {
  display: block;
  padding-top: 20px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
}
body.home main section.top .contact-link {
  margin-top: 60px;
  margin-bottom: 60px;
  text-align: center;
}
body.home main section.top .contact-link a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 12px 43px 12px 18px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
}
body.home main section.top .contact-link a:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body.home main section.top .contact-link a:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body.home main section.links {
  display: none;
}
body.home main section.contents_links {
  padding-bottom: 60px;
  padding-right: 20px;
}
body.home main section.contents_links h3 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 16px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  line-height: 1.4;
  color: #000;
  letter-spacing: 0.08em;
}
body.home main section.contents_links h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 24px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.home main section.contents_links h3::before {
    width: 9px;
    height: 30px;
  }
}
@media screen and (min-width: 800px) {
  body.home main section.contents_links h3 {
    font-size: 30px;
  }
}
body.home main section.contents_links .about {
  background-image: url(../images/home/about-bg.webp);
}
body.home main section.contents_links .possibility {
  background-image: url(../images/home/possibility-bg.webp);
}
body.home main section.contents_links .recruit {
  background-image: url(../images/home/recruit-bg.webp);
}
body.home main section.contents_links .headline {
  position: relative;
  width: 100%;
  min-height: 260px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
body.home main section.contents_links .headline > div {
  position: absolute;
  bottom: 50px;
  left: 0;
  width: 90%;
  margin: 0 auto;
  padding-left: 42px;
}
body.home main section.contents_links .headline > div p {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5em;
  white-space: nowrap;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
body.home main section.contents_links ul {
  margin: -30px auto 60px;
  padding: 0 22px 0 42px;
}
body.home main section.contents_links ul li {
  margin-bottom: 20px;
}
body.home main section.contents_links ul li a {
  position: relative;
  display: block;
}
body.home main section.contents_links ul li a img {
  width: 100%;
}
body.home main section.contents_links ul li a span {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0 10px 20px;
  background-color: rgba(47, 67, 102, 0.8);
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
}
body.home main section.contents_links ul li a span:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
}
body.home main section.contents_links ul li a:hover {
  opacity: 1;
  transition: none;
}
body.home main section.contents_links ul li a:hover span {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.home main section.contents_links ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 40px;
  }
  body.home main section.contents_links ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.home main section.contents_links ul li a span {
    font-size: 24px;
  }
}
body.home main section.contents_links ul li a img {
  display: block;
  width: 100%;
}
body.home main section.contents_links ul li a span:after {
  background-image: url("../images/home/contents-link-arrow.svg");
}
body.home main section.news {
  margin-bottom: 60px;
}
body.home main section.news .headline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
body.home main section.news .headline h3 {
  position: relative;
  margin-bottom: 0;
  padding-left: 16px;
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  line-height: 1.4;
  color: #000;
  letter-spacing: 0.08em;
}
body.home main section.news .headline h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 24px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.home main section.news .headline h3::before {
    width: 9px;
    height: 30px;
  }
}
@media screen and (min-width: 800px) {
  body.home main section.news .headline h3 {
    font-size: 30px;
  }
}
body.home main section.news .headline > a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 9px 38px 9px 14px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
  margin-right: 20px;
}
body.home main section.news .headline > a:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 9px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body.home main section.news .headline > a:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 9px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body.home main section.news .headline .sns-links {
  display: none;
}
body.home main section.news ul {
  padding: 10px 20px;
  color: #000;
  background-color: #fff;
}
body.home main section.news ul li {
  padding-bottom: 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid #000;
  font-size: 16px;
}
body.home main section.news ul li a {
  display: block;
  width: 100%;
}
body.home main section.news ul li a span {
  display: block;
  width: 100%;
  font-size: 16px;
}
body.home main section.news ul li a span:first-child {
  display: block;
  padding-bottom: 12px;
}
body.home main section.news ul li a span:last-child {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
}
body.home main section.news .sns-links {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
body.home main section.news .sns-links span {
  margin-right: 22px;
  letter-spacing: 0.2em;
  color: #000;
  font-size: 16px;
  font-weight: 200;
}
body.home main section.news .sns-links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 43px;
  height: 43px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.home main section.news .sns-links a:last-child {
  margin-right: 0px;
}
body.home main section.news .sns-links a img {
  width: 35px;
  height: 22px;
  object-fit: contain;
}
body.reform main {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.08em;
  background-color: #F5EBE2;
  color: #2F4366;
}
body.reform main section.top .leading {
  position: relative;
  background: url(../images/reform/top-leading-bg1.webp) no-repeat -10px 73px, url(../images/reform/top-leading-bg2.webp) no-repeat calc(100% - 52px) -12px, url(../images/reform/top-leading-bg3.webp) no-repeat calc(100% + 30px) 161px, url(../images/reform/top-leading-bg4.webp) no-repeat -20px 282px, url(../images/reform/top-leading-bg5.webp) no-repeat calc(100% + 23px) 378px;
  background-size: 61px auto, 61px auto, 65px auto, 60px auto, 74px auto;
  width: 100vw;
  min-height: 560px;
  overflow: hidden;
}
body.reform main section.top .leading img {
  position: absolute;
  top: 67px;
  left: 50%;
  transform: translateX(-50%);
  width: 252px;
}
body.reform main section.top .leading h1 {
  position: absolute;
  bottom: 38px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  white-space: nowrap;
}
body.reform main section.top .sub {
  position: relative;
  background-color: #E59E2C;
  padding: 38px 0;
}
body.reform main section.top .sub:before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  background-size: contain;
  background-repeat: repeat-x;
  width: 100%;
  height: 12px;
  background-image: url(../images/reform/wave-orange.webp);
}
body.reform main section.top .sub > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
body.reform main section.top .sub > div p {
  margin-bottom: 15px;
  text-align: center;
  font-size: 19px;
  font-weight: 700;
  color: #fff;
}
body.reform main section.top .sub > div img {
  width: 175px;
}
body.reform main section.top article.raised-question {
  padding: 30px 20px 126px;
  background-color: #2F4366;
  color: #fff;
  text-align: center;
  border-radius: 0 0 160px 160px;
}
body.reform main section.top article.raised-question p {
  padding-bottom: 20px;
  font-size: 22px;
  font-weight: 500;
}
body.reform main section.top article.raised-question p span {
  color: #F5EE92;
}
body.reform main section.top article.raised-question ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  max-width: 420px;
  margin: 0 auto;
  padding-bottom: 20px;
}
body.reform main section.top article.raised-question ul li {
  position: relative;
  margin-bottom: 15px;
  font-size: 16px;
  text-align: center;
}
body.reform main section.top article.raised-question ul li:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 230px;
  height: 48px;
}
body.reform main section.top article.raised-question ul li:nth-child(1) {
  margin-right: 27px;
}
body.reform main section.top article.raised-question ul li:nth-child(1), body.reform main section.top article.raised-question ul li:nth-child(3) {
  margin-left: auto;
}
body.reform main section.top article.raised-question ul li:nth-child(1):before, body.reform main section.top article.raised-question ul li:nth-child(3):before {
  right: 0;
  background-image: url(../images/reform/top-bubble-right-sp.webp);
}
body.reform main section.top article.raised-question ul li:nth-child(4) {
  margin-left: 27px;
}
body.reform main section.top article.raised-question ul li:nth-child(2):before, body.reform main section.top article.raised-question ul li:nth-child(4):before {
  left: 0;
  background-image: url(../images/reform/top-bubble-left-sp.webp);
}
body.reform main section.top article.raised-question ul li span {
  position: relative;
  z-index: 5;
  display: inline-block;
  width: 230px;
  height: 39px;
  line-height: 32px;
  text-align: center;
  color: #2F4366;
}
body.reform main section.top article.answer {
  position: relative;
  margin: -126px 0 67px;
}
body.reform main section.top article.answer:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-image: url(../images/reform/answer-bg-line-sp.webp);
  width: 100%;
  height: 79px;
}
@media screen and (min-width: 450px) {
  body.reform main section.top article.answer:after {
    height: 130px;
  }
}
body.reform main section.top article.answer img {
  display: block;
  width: 313px;
  margin: 0 auto 23px;
}
body.reform main section.top article.answer div p {
  padding-bottom: 18px;
  font-size: 20px;
  text-align: center;
}
body.reform main section.top article.answer div ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: clamp(345px, 90%, 420px);
  margin: 0 auto 90px;
}
body.reform main section.top article.answer div ul li {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 85px;
  height: 85px;
  background-color: #fff;
  border-radius: 85px;
  font-size: 15px;
  text-align: center;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}
body.reform main section.top article.answer div ul li:nth-child(1) {
  top: 20px;
}
body.reform main section.top article.answer div ul li:nth-child(2) {
  top: 40px;
}
body.reform main section.top article.answer div ul li:nth-child(3) {
  top: 24px;
}
@media screen and (min-width: 450px) {
  body.reform main section.top article.answer div ul li:nth-child(3) {
    top: 12px;
  }
}
body.reform main section.top article.answer div ul li:nth-child(4) {
  top: 33px;
}
@media screen and (min-width: 450px) {
  body.reform main section.top article.answer div ul li:nth-child(4) {
    top: -5px;
  }
}
body.reform main section.top article.answer div ul li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #2F4366;
  width: 81px;
  height: 81px;
  border-radius: 81px;
}
body.reform main section.reasons-chosen {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.reform main section.reasons-chosen {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.reform main section.reasons-chosen h2 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 184px;
  height: 11px;
  margin: 0 auto 60px;
  font-size: 22px;
  font-weight: 500;
  border-right: 2px solid #2F4366;
  border-left: 2px solid #2F4366;
}
@media screen and (min-width: 800px) {
  body.reform main section.reasons-chosen h2 {
    font-size: 30px;
  }
}
body.reform main section.reasons-chosen h2:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -20px;
  left: -35px;
  background-image: url(../images/reform/reasons-chosen-h2-deco2-left.webp);
  width: 22px;
  height: 25px;
}
body.reform main section.reasons-chosen h2:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: -35px;
  right: -30px;
  background-image: url(../images/reform/reasons-chosen-h2-deco1-right.webp);
  width: 22px;
  height: 25px;
}
body.reform main section.reasons-chosen ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
body.reform main section.reasons-chosen ul li {
  position: relative;
  margin-bottom: 70px;
  padding: 30px 20px;
  border: 1px solid #E59E2C;
  border-radius: 20px;
  background-color: #fff;
}
body.reform main section.reasons-chosen ul li .number {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 76px;
  height: 76px;
  background-color: #fff;
  color: #BF8D6D;
  font-size: 32px;
  border-radius: 76px;
}
body.reform main section.reasons-chosen ul li .number:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 59.57px;
  height: 59.57px;
  background-image: url(../images/reform/reasons-chosen-list-dot.webp);
}
body.reform main section.reasons-chosen ul li:nth-child(2) .number:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: -20px;
  right: -15px;
  width: 35px;
  height: 40px;
  background-image: url(../images/reform/reasons-chosen-h2-deco3.webp);
}
body.reform main section.reasons-chosen ul li:nth-child(3) .number:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: -10px;
  left: -24px;
  width: 19px;
  height: 34px;
  background-image: url(../images/reform/reasons-chosen-h2-deco4.webp);
}
body.reform main section.reasons-chosen ul li h3 {
  padding-bottom: 15px;
  font-size: 20px;
  font-weight: 500;
  color: #8B3B09;
  text-align: center;
}
body.reform main section.reasons-chosen ul li img {
  width: 100%;
  padding-bottom: 15px;
}
body.reform main section.reasons-chosen ul li p {
  font-size: 16px;
  line-height: 1.6;
}
body.reform main section.reasons-chosen ul li p span {
  color: #BF2C01;
}
body.reform main section.store-feature {
  position: relative;
  padding: 45px 20px 240px;
  background-color: #ECDDC6;
}
body.reform main section.store-feature:before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  background-size: contain;
  background-repeat: repeat-x;
  width: 100%;
  height: 12px;
  background-image: url(../images/reform/wave-bg-beige.webp);
}
body.reform main section.store-feature h2 {
  position: relative;
  font-size: 20px;
  font-weight: 500;
  width: 290px;
  margin: 0 auto 30px;
  text-align: center;
}
body.reform main section.store-feature h2:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../images/reform/store-feature-deco-left.webp);
  width: 20px;
  height: 30px;
}
body.reform main section.store-feature h2:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-image: url(../images/reform/store-feature-deco-right.webp);
  width: 20px;
  height: 30px;
}
body.reform main section.store-feature h2 span {
  font-size: 14px;
}
body.reform main section.store-feature ul {
  width: clamp(330px, 95%, 390px);
  margin: 0 auto 28px;
}
body.reform main section.store-feature ul li {
  position: relative;
  width: 100%;
  margin-bottom: 28px;
  padding-left: 40px;
  font-size: 16px;
  line-height: 1.6;
  color: #BE2C00;
}
body.reform main section.store-feature ul li:last-child {
  margin-bottom: 0;
}
body.reform main section.store-feature ul li:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 5px;
  left: 0;
  background-image: url(../images/reform/store-feature-list-checkbox.webp);
  width: 28px;
  height: 24px;
}
body.reform main section.store-feature ul li span {
  position: relative;
}
body.reform main section.store-feature ul li span:nth-child(1):after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -7px;
  right: 0;
  background-image: url(../images/reform/store-feature-underline.webp);
  width: 175px;
  height: 8px;
}
body.reform main section.store-feature ul li span:nth-child(2):after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -7px;
  right: 0;
  background-image: url(../images/reform/store-feature-underline.webp);
  width: 175px;
  height: 8px;
}
body.reform main section.store-feature > p {
  margin-bottom: 37px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.store-feature .contact p {
  padding-bottom: 20px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.store-feature .contact p span {
  font-size: 10px;
  font-weight: 500;
}
body.reform main section.store-feature .contact .door-contact {
  display: flex;
  justify-content: center;
  align-items: center;
}
body.reform main section.store-feature .contact .door-contact a {
  position: relative;
}
body.reform main section.store-feature .contact .door-contact a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
  background-image: url(../images/reform/door-contact-img.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 61px;
  height: 71px;
}
@media screen and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background-image: url(../images/reform/door-contact-img.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 69px;
    height: 80px;
  }
}
body.reform main section.store-feature .contact .door-contact a span {
  position: relative;
  display: block;
  width: 263px;
  height: 50px;
  margin-left: 40px;
  padding-right: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #fff;
  text-align: center;
  line-height: 50px;
  background-color: #29A759;
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a span {
    width: 306px;
    height: 58px;
    margin-left: 45px;
    padding-right: 23px;
    font-size: 21px;
    line-height: 58px;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
  }
}
body.reform main section.store-feature .contact .door-contact a span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  border-top: 4.5px solid transparent;
  border-bottom: 4.5px solid transparent;
  border-left: 7px solid #fff;
}
@media screen and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a span:after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #fff;
  }
}
body.reform main section.possibility {
  position: relative;
  z-index: 1;
  margin-top: -176px;
  padding: 23px 20px 55px;
  border-radius: 220px 220px 0 0;
}
body.reform main section.possibility:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  background-image: url(../images/reform/possibility-top-bg.webp);
  width: 100%;
  height: 176px;
}
body.reform main section.possibility > img {
  display: block;
  width: 109.06px;
  margin: 0 auto 40px;
}
body.reform main section.possibility h2 {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 306px;
  height: 11px;
  margin: 0 auto 60px;
  font-size: 22px;
  font-weight: 500;
  border-right: 2px solid #2F4366;
  border-left: 2px solid #2F4366;
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.reform main section.possibility h2 {
    font-size: 30px;
  }
}
body.reform main section.possibility .content {
  margin-bottom: 10px;
  background-color: #fff;
  border: 2px solid #2F4366;
  border-radius: 28px;
}
body.reform main section.possibility .content .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 25px;
  background-color: #2F4366;
  border-radius: 50px;
  cursor: pointer;
}
body.reform main section.possibility .content .head h3 {
  font-size: 20px;
  font-weight: 500;
  color: #fff;
}
body.reform main section.possibility .content .head .accordion-icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  margin-left: auto;
  border: 2px solid #fff;
  border-radius: 50%;
}
body.reform main section.possibility .content .head .accordion-icon .bar {
  position: relative;
  width: 9px;
  height: 1.5px;
  background-color: #fff;
  transition: 0.3s;
}
body.reform main section.possibility .content .head .accordion-icon .bar:before {
  content: "";
  position: absolute;
  top: -4px;
  left: 4px;
  width: 1.5px;
  height: 9px;
  background-color: #fff;
  transition: 0.3s;
}
body.reform main section.possibility .content .head .possibility-accordion-open .bar:before {
  height: 0;
}
body.reform main section.possibility .content .detail {
  display: none;
  margin-bottom: 10px;
  padding: 35px 0 40px;
}
body.reform main section.possibility .content .detail.possibility-example-detail-open {
  display: block;
}
body.reform main section.possibility .content .detail .types h4 {
  padding-bottom: 25px;
  font-size: 20px;
  font-weight: 500;
  color: #8B3B09;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.reform main section.possibility .content .detail .types h4 {
    font-size: 22px;
  }
}
body.reform main section.possibility .content .detail .types dl {
  padding: 0 35px;
  text-align: center;
  font-size: 16px;
}
body.reform main section.possibility .content .detail .types dl dt {
  width: 100%;
  padding: 5px 0;
  background-color: #E59E2C;
  color: #fff;
  border-radius: 5px;
}
body.reform main section.possibility .content .detail .types dl dd {
  margin-bottom: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #F5EBE2;
}
body.reform main section.possibility .content .detail .types .feature {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: min(90%, 313px);
  height: min(62vw, 243px);
  margin: 50px auto;
  padding: 0 18px;
  background-image: url(../images/reform/feature-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}
body.reform main section.possibility .content .detail .types .feature h5 {
  position: relative;
  z-index: 0;
  padding-bottom: 20px;
  font-size: 20px;
  font-weight: 500;
}
body.reform main section.possibility .content .detail .types .feature h5:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-image: url(../images/reform/feature-underline.webp);
  width: 262px;
  height: 50px;
}
body.reform main section.possibility .content .detail .types .feature p {
  font-size: 16px;
}
body.reform main section.possibility .examples {
  padding: 0 20px;
}
body.reform main section.possibility .examples h4 {
  padding-bottom: 15px;
  font-size: 20px;
  font-weight: 500;
  color: #8B3B09;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.reform main section.possibility .examples h4 {
    font-size: 22px;
  }
}
body.reform main section.possibility .examples ol li {
  margin-bottom: 20px;
  padding: 15px 18px 30px;
  background-color: #2F4366;
  color: #fff;
  border-radius: 20px;
}
body.reform main section.possibility .examples ol li:last-child {
  margin-bottom: 0;
}
body.reform main section.possibility .examples ol li h5 {
  display: block;
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.possibility .examples ol li h5 span {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 10px;
  background-color: #fff;
  border-radius: 32px;
  color: #2F4366;
  line-height: 32px;
}
body.reform main section.possibility .examples ol li .detail {
  display: block;
  margin-bottom: 32px;
  padding: 0;
}
body.reform main section.possibility .examples ol li .detail img {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}
body.reform main section.possibility .examples ol li .detail p {
  font-size: 16px;
}
body.reform main section.possibility .examples ol li .suggestion {
  margin-bottom: 0;
}
body.reform main section.possibility .examples ol li .suggestion h6 {
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.possibility .examples ol li .suggestion ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
body.reform main section.possibility .examples ol li .suggestion ul li {
  width: 100%;
  margin-bottom: 10px;
  padding: 5px;
  background-color: #E59E2C;
  color: #fff;
  text-align: center;
  font-size: 16px;
  border-radius: 5px;
}
body.reform main section.possibility .examples ol li .suggestion ul li:last-child {
  margin-bottom: 0;
}
body.reform main section.possibility .examples ol li .suggestion .list_with_caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
body.reform main section.possibility .examples ol li .suggestion .list_with_caption li {
  margin-bottom: 25px;
  padding: 0;
  background-color: transparent;
}
body.reform main section.possibility .examples ol li .suggestion .list_with_caption li:last-child {
  margin-bottom: 0;
}
body.reform main section.possibility .examples ol li .suggestion .list_with_caption li p:first-child {
  width: 100%;
  margin-bottom: 15px;
  padding: 5px;
  background-color: #E59E2C;
  color: #fff;
  text-align: center;
  font-size: 16px;
  border-radius: 5px;
}
body.reform main section.possibility .examples ol li .suggestion .list_with_caption li p:last-child {
  font-size: 16px;
  background-color: transparent;
  text-align: left;
}
body.reform main section.possibility .examples ol li .point {
  margin-top: 35px;
}
body.reform main section.possibility .examples ol li .point h6 {
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.possibility .examples ol li .point p {
  font-size: 16px;
}
body.reform main section.works {
  width: min(100%, 600px);
  margin: 0 auto 62px;
  padding-left: 20px;
  padding-right: 20px;
}
body.reform main section.works h2 {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 306px;
  height: 11px;
  margin: 0 auto 30px;
  font-size: 22px;
  font-weight: 500;
  border-right: 2px solid #2F4366;
  border-left: 2px solid #2F4366;
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.reform main section.works h2 {
    font-size: 30px;
  }
}
body.reform main section.works .tabs {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 3px;
}
body.reform main section.works .tabs .tab {
  flex: 1;
  padding: 10px 0;
  background-color: #7C8EAD;
  font-size: 14px;
  color: #fff;
  text-align: center;
  border-radius: 20px 20px 0 0;
  cursor: pointer;
}
body.reform main section.works .tabs .tab.tab-active {
  padding: 13px 0;
  background-color: #2F4366;
  font-size: 16px;
}
body.reform main section.works .contents .splide__slide {
  height: 0 !important;
}
body.reform main section.works .contents .splide__slide.is-active {
  height: auto !important;
}
body.reform main section.works .contents section.tab-content {
  display: none;
}
body.reform main section.works .contents section.tab-content.tab-active {
  display: block;
}
body.reform main section.works .contents .splide__arrows {
  position: absolute;
  top: 35px;
  right: 0;
  left: 0;
  /* 前の矢印 */
  /* 次の矢印 */
  /* 次のスライドが無い場合の矢印 */
}
body.reform main section.works .contents .splide__arrows .splide__arrow {
  background-color: transparent;
  width: 40px;
  height: 40px;
  transition: 0.2s;
}
body.reform main section.works .contents .splide__arrows .splide__arrow:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 40px;
  height: 40px;
  margin: auto;
}
body.reform main section.works .contents .splide__arrows .prev::before {
  background-image: url(../images/reform/works-arrow-left.webp);
}
body.reform main section.works .contents .splide__arrows .next::before {
  background-image: url(../images/reform/works-arrow-right.webp);
}
body.reform main section.works .contents .splide__arrows .button:disabled::before {
  opacity: 0.5;
}
body.reform main section.works .contents .splide__slide article {
  background-color: #fff;
  border: 1px solid #2F4366;
  border-radius: 0 0 20px 20px;
}
body.reform main section.works .contents .splide__slide article .work-number {
  padding: 20px 0 25px;
  text-align: center;
}
body.reform main section.works .contents .splide__slide article h3 {
  padding-bottom: 20px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.works .contents .splide__slide article > p {
  padding: 15px;
  background-color: #2F4366;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
body.reform main section.works .contents .splide__slide article .detail {
  padding: 30px 38px;
}
body.reform main section.works .contents .splide__slide article .detail .cost {
  padding-bottom: 20px;
  font-size: 16px;
  text-align: center;
}
body.reform main section.works .contents .splide__slide article .detail .cost span {
  display: inline-block;
  position: relative;
  padding-left: 19px;
}
body.reform main section.works .contents .splide__slide article .detail .cost span:nth-child(1):before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../images/reform/works-arrow-time.webp);
  width: 14px;
  height: 14px;
}
body.reform main section.works .contents .splide__slide article .detail .cost span:last-child:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../images/reform/works-arrow-cost.webp);
  width: 14px;
  height: 14px;
}
body.reform main section.works .contents .splide__slide article .detail .image {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 20px;
}
body.reform main section.works .contents .splide__slide article .detail .image div span {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 30px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
}
body.reform main section.works .contents .splide__slide article .detail .image .before {
  position: relative;
}
body.reform main section.works .contents .splide__slide article .detail .image .before img {
  width: 100%;
}
body.reform main section.works .contents .splide__slide article .detail .image .before span {
  background-color: #2F4366;
}
body.reform main section.works .contents .splide__slide article .detail .image .before > div {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  background-color: #fff;
  opacity: 0.8;
  cursor: pointer;
}
body.reform main section.works .contents .splide__slide article .detail .image .before > div img {
  display: block;
  width: 16px;
}
body.reform main section.works .contents .splide__slide article .detail .image .after {
  position: relative;
}
body.reform main section.works .contents .splide__slide article .detail .image .after img {
  width: 100%;
}
body.reform main section.works .contents .splide__slide article .detail .image .after span {
  background-color: #BF2C01;
}
body.reform main section.works .contents .splide__slide article .detail .image .after > div {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  background-color: #fff;
  opacity: 0.8;
  cursor: pointer;
}
body.reform main section.works .contents .splide__slide article .detail .image .after > div img {
  display: block;
  width: 16px;
}
body.reform main section.works .contents .splide__slide article .detail .image > img {
  width: 14px;
}
body.reform main section.works .contents .splide__slide article .detail .comment {
  padding-bottom: 48px;
  font-size: 16px;
  line-height: 1.6;
}
body.reform main section.works .contents .splide__slide article .detail .review h4 {
  padding-bottom: 12px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
body.reform main section.works .contents .splide__slide article .detail .review p {
  font-size: 16px;
}
body.reform main section.faq {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.reform main section.faq {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.reform main section.faq h2 {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 196px;
  height: 11px;
  margin: 0 auto 30px;
  font-size: 22px;
  font-weight: 500;
  border-right: 2px solid #2F4366;
  border-left: 2px solid #2F4366;
  white-space: nowrap;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.reform main section.faq h2 {
    font-size: 30px;
  }
}
body.reform main section.faq article .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.reform main section.faq article .head h3 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 22px;
  font-weight: 500;
}
body.reform main section.faq article .head h3 span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 76px;
  height: 76px;
  margin-right: 10px;
  background-color: #fff;
  color: #BF8D6D;
  font-size: 32px;
  border-radius: 76px;
}
body.reform main section.faq article .head h3 span:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 59.57px;
  height: 59.57px;
  background-image: url(../images/reform/reasons-chosen-list-dot.webp);
}
body.reform main section.faq article:nth-child(2) .head img {
  width: 64.42px;
}
body.reform main section.faq article:nth-child(3) .head img {
  width: 61px;
}
body.reform main section.faq article:nth-child(4) .head img {
  width: 60.91px;
}
body.reform main section.faq article dl {
  margin-bottom: 50px;
}
body.reform main section.faq article dl .faq-item {
  margin-top: 20px;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open .accordion-icon .bar:after {
  display: none;
}
body.reform main section.faq article dl .faq-item dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  background-color: #2F4366;
  color: #fff;
  border-radius: 38px;
  cursor: pointer;
}
body.reform main section.faq article dl .faq-item dt span {
  padding-right: 10px;
}
body.reform main section.faq article dl .faq-item dt p {
  flex: 1;
  font-size: 16px;
}
body.reform main section.faq article dl .faq-item dt .faq-accordion-icon {
  position: relative;
  width: 24px;
  height: 24px;
}
body.reform main section.faq article dl .faq-item dt .faq-accordion-icon .bar {
  position: absolute;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 1px;
}
body.reform main section.faq article dl .faq-item dt .faq-accordion-icon .bar:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 7px;
  width: 1px;
  height: 14px;
  background-color: #fff;
  transform: translate(-50%, -50%);
}
body.reform main section.faq article dl .faq-item dd {
  display: none;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open {
  padding: 15px 10px 15px 15px;
  background-color: #fff;
  border-radius: 15px;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dt {
  margin-bottom: 12px;
  padding: 0;
  align-items: center;
  background-color: transparent;
  color: #2F4366;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dt .faq-accordion-icon .bar {
  position: absolute;
  background-color: #2F4366;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dt .faq-accordion-icon .bar:after {
  background-color: #2F4366;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dd {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 16px;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dd span {
  padding-right: 10px;
  font-size: 18px;
  color: #E59E2C;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open dd > div {
  width: 100%;
  max-width: calc(100% - 50px);
  padding: 5px 15px;
  background-color: #FFF9F4;
}
body.reform main section.faq article dl .faq-item.faq-accordion-open .faq-accordion-icon .bar:after {
  display: none;
}
body.reform main section.contact-area {
  position: relative;
  background-color: #E59E2C;
  padding: 38px 0;
}
body.reform main section.contact-area:before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  background-size: contain;
  background-repeat: repeat-x;
  width: 100%;
  height: 12px;
  background-image: url(../images/reform/wave-orange.webp);
}
body.reform main section.contact-area h2 {
  padding-bottom: 14px;
  font-size: 24px;
  color: #fff;
  text-align: center;
}
body.reform main section.contact-area h2 span {
  position: relative;
}
body.reform main section.contact-area h2 span:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 5px;
  left: -25px;
  background-image: url(../images/reform/contact-area-h2-deco-left.webp);
  width: 18px;
  height: 36px;
}
body.reform main section.contact-area h2 span:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 5px;
  right: -27px;
  background-image: url(../images/reform/contact-area-h2-deco-right.webp);
  width: 21px;
  height: 36px;
}
body.reform main section.contact-area .door-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
}
body.reform main section.contact-area .door-contact a {
  position: relative;
}
body.reform main section.contact-area .door-contact a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
  background-image: url(../images/reform/door-contact-img.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 61px;
  height: 71px;
}
@media screen and (min-width: 800px) {
  body.reform main section.contact-area .door-contact a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background-image: url(../images/reform/door-contact-img.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 69px;
    height: 80px;
  }
}
body.reform main section.contact-area .door-contact a span {
  position: relative;
  display: block;
  width: 263px;
  height: 50px;
  margin-left: 40px;
  padding-right: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #fff;
  text-align: center;
  line-height: 50px;
  background-color: #0086C1;
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 800px) {
  body.reform main section.contact-area .door-contact a span {
    width: 306px;
    height: 58px;
    margin-left: 45px;
    padding-right: 23px;
    font-size: 21px;
    line-height: 58px;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
  }
}
body.reform main section.contact-area .door-contact a span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  border-top: 4.5px solid transparent;
  border-bottom: 4.5px solid transparent;
  border-left: 7px solid #fff;
}
@media screen and (min-width: 800px) {
  body.reform main section.contact-area .door-contact a span:after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #fff;
  }
}
body.reform main .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 500;
}
body.reform main .modal > div {
  position: absolute;
  width: auto;
}
body.reform main .modal > div img {
  display: block;
  width: min(85%, 708px);
  max-height: 500px;
  margin: 0 auto;
}
body.reform main .modal > div .modal-close {
  position: absolute;
  top: -40px;
  right: 15px;
  z-index: 501;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #fff;
  border-radius: 50%;
  cursor: pointer;
}
body.reform main .modal > div .modal-close span {
  position: relative;
  width: 12px;
  height: 12px;
}
body.reform main .modal > div .modal-close span::before, body.reform main .modal > div .modal-close span::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
body.reform main .modal > div .modal-close span::before {
  transform: rotate(45deg);
}
body.reform main .modal > div .modal-close span::after {
  transform: rotate(-45deg);
}
body.information main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.information main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.information main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.information main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.information main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.information main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.information main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.information main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.information main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.information main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.information main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.information main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.information main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.information main section.top > div {
    position: relative;
    height: 412px;
  }
  body.information main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.information main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.information main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.information main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.information main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.information main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.information main section.top > div .main-image {
  background-image: url(../images/information/top-img.webp);
}
body.information main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.information main section.content {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.information main section.content h2 {
  padding: 60px 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.information main section.content ul {
  margin: 0 auto 60px;
  padding: 0 22px 0 20px;
}
body.information main section.content ul li {
  margin-bottom: 20px;
}
body.information main section.content ul li a {
  position: relative;
  display: block;
}
body.information main section.content ul li a img {
  width: 100%;
}
body.information main section.content ul li a span {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0 10px 20px;
  background-color: rgba(47, 67, 102, 0.8);
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
}
body.information main section.content ul li a span:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 17.7px;
  height: 4.19px;
}
body.information main section.content ul li a:hover {
  opacity: 1;
  transition: none;
}
body.information main section.content ul li a:hover span {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.information main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.information main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.information main section.content ul li a span {
    font-size: 24px;
  }
}
body.information main section.content ul li a span:after {
  background-image: url(../images/white-arrow.svg);
}
body.information main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.information main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.information main div.back-button a {
    max-width: 350px;
  }
}
body.information main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.information main div.back-button {
    margin-bottom: 60px;
  }
}
body.brand-message main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.brand-message main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.brand-message main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.brand-message main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.brand-message main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.brand-message main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.brand-message main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.brand-message main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.brand-message main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.brand-message main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.brand-message main section.top > div h1 p {
  padding-bottom: 5px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.brand-message main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.brand-message main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.brand-message main section.top > div {
    position: relative;
    height: 490px;
  }
  body.brand-message main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.brand-message main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.brand-message main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.brand-message main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.brand-message main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.brand-message main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.brand-message main section.top > div .main-image {
  background-image: url(../images/brand-message/top-img.webp);
}
body.brand-message main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1366px) {
  body.brand-message main section.content {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.brand-message main section.content h2 {
  padding: 60px 0 30px;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.brand-message main section.content div {
  font-size: 16px;
  color: #000;
}
body.brand-message main section.content div p {
  padding-bottom: 20px;
}
body.brand-message main section.content div span {
  display: block;
  text-align: right;
}
body.brand-message main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.brand-message main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.brand-message main div.back-button a {
    max-width: 350px;
  }
}
body.brand-message main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.brand-message main div.back-button {
    margin-bottom: 60px;
  }
}
body.sustainability main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.sustainability main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.sustainability main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.sustainability main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.sustainability main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.sustainability main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.sustainability main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.sustainability main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.sustainability main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.sustainability main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.sustainability main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.sustainability main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.sustainability main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.sustainability main section.top > div {
    position: relative;
    height: 412px;
  }
  body.sustainability main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.sustainability main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.sustainability main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.sustainability main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.sustainability main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.sustainability main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.sustainability main section.top > div .main-image {
  background-image: url(../images/sustainability/top-img.webp);
}
body.sustainability main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.sustainability main section.content {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.sustainability main section.content h2 {
  padding: 60px 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.sustainability main section.content ul {
  margin: 0 auto 60px;
  padding: 0 22px 0 20px;
}
body.sustainability main section.content ul li {
  margin-bottom: 20px;
}
body.sustainability main section.content ul li a {
  position: relative;
  display: block;
}
body.sustainability main section.content ul li a img {
  width: 100%;
}
body.sustainability main section.content ul li a span {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0 10px 20px;
  background-color: rgba(47, 67, 102, 0.8);
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
}
body.sustainability main section.content ul li a span:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 17.7px;
  height: 4.19px;
}
body.sustainability main section.content ul li a:hover {
  opacity: 1;
  transition: none;
}
body.sustainability main section.content ul li a:hover span {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.sustainability main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.sustainability main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.sustainability main section.content ul li a span {
    font-size: 24px;
  }
}
body.sustainability main section.content ul li a span:after {
  background-image: url(../images/white-arrow.svg);
}
body.sustainability main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.sustainability main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.sustainability main div.back-button a {
    max-width: 350px;
  }
}
body.sustainability main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.sustainability main div.back-button {
    margin-bottom: 100px;
  }
}
body.manufacture main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.manufacture main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.manufacture main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.manufacture main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.manufacture main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.manufacture main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.manufacture main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.manufacture main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.manufacture main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.manufacture main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.manufacture main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.manufacture main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.manufacture main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.manufacture main section.top > div {
    position: relative;
    height: 412px;
  }
  body.manufacture main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.manufacture main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.manufacture main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.manufacture main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.manufacture main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.manufacture main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.manufacture main section.top > div .main-image {
  background-image: url(../images/manufacture/top-img.webp);
}
body.manufacture main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.manufacture main section.content {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.manufacture main section.content h2 {
  padding: 60px 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.manufacture main section.content ul {
  margin: 0 auto 60px;
  padding: 0 22px 0 20px;
}
body.manufacture main section.content ul li {
  margin-bottom: 20px;
}
body.manufacture main section.content ul li a {
  position: relative;
  display: block;
}
body.manufacture main section.content ul li a img {
  width: 100%;
}
body.manufacture main section.content ul li a span {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0 10px 20px;
  background-color: rgba(47, 67, 102, 0.8);
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
}
body.manufacture main section.content ul li a span:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 17.7px;
  height: 4.19px;
}
body.manufacture main section.content ul li a:hover {
  opacity: 1;
  transition: none;
}
body.manufacture main section.content ul li a:hover span {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.manufacture main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.manufacture main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.manufacture main section.content ul li a span {
    font-size: 24px;
  }
}
body.manufacture main section.content ul:after {
  content: "";
  width: calc(100% / 3 - 25px);
}
body.manufacture main section.content ul li a span:after {
  background-image: url(../images/white-arrow.svg);
}
body.manufacture main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.manufacture main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.manufacture main div.back-button a {
    max-width: 350px;
  }
}
body.manufacture main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.manufacture main div.back-button {
    margin-bottom: 100px;
  }
}
body.cultural-property-conservation main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.cultural-property-conservation main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.cultural-property-conservation main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.cultural-property-conservation main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.cultural-property-conservation main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.cultural-property-conservation main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.cultural-property-conservation main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.cultural-property-conservation main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.cultural-property-conservation main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.cultural-property-conservation main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.cultural-property-conservation main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.cultural-property-conservation main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.cultural-property-conservation main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.cultural-property-conservation main section.top > div {
    position: relative;
    height: 590px;
  }
  body.cultural-property-conservation main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.cultural-property-conservation main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.cultural-property-conservation main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.cultural-property-conservation main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.cultural-property-conservation main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.cultural-property-conservation main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.cultural-property-conservation main section.top > div .main-image {
  background-image: url(../images/cultural-property-conservation/top-img.webp);
}
body.cultural-property-conservation main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1100px) {
  body.cultural-property-conservation main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.cultural-property-conservation main section.content h2 {
  padding: 60px 0 26px;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.cultural-property-conservation main section.content > p {
  position: relative;
  font-size: 16px;
  text-align: center;
}
body.cultural-property-conservation main section.content > p:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 327.33px;
  height: 8px;
  background-image: url(../images/cultural-property-conservation/leading-bubble.svg);
}
body.cultural-property-conservation main section.content > div {
  margin-top: 38px;
}
body.cultural-property-conservation main section.content > div ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
body.cultural-property-conservation main section.content > div ul li {
  position: relative;
  width: 353px;
  margin-bottom: 20px;
  padding: 15px 28px 15px 51px;
  background-color: #E5F1FF;
  border-radius: 27px;
  font-size: 16px;
}
body.cultural-property-conservation main section.content > div ul li:last-child {
  margin-bottom: 0;
  border-radius: 38px;
}
body.cultural-property-conservation main section.content > div ul li:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url(../images/cultural-property-conservation/checkbox.svg);
}
body.cultural-property-conservation main section.content > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 30px;
}
body.cultural-property-conservation main section.content > div > div h3 {
  padding-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
}
body.cultural-property-conservation main section.content > div > div img {
  display: block;
  width: 50px;
  padding-bottom: 20px;
}
body.cultural-property-conservation main section.content > div > div p {
  font-size: 16px;
  text-align: center;
}
body.cultural-property-conservation main section.works {
  margin-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.cultural-property-conservation main section.works {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.cultural-property-conservation main section.works h2 {
  position: relative;
  margin-bottom: 33px;
  padding: 10px 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  border-top: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
}
body.cultural-property-conservation main section.works h2:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
body.cultural-property-conservation main section.works h2:after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.cultural-property-conservation main section.works h2 {
    margin-bottom: 43px;
  }
}
body.cultural-property-conservation main section.works article.head h3 {
  position: relative;
  font-size: 16px;
  font-weight: 300;
  text-align: center;
}
body.cultural-property-conservation main section.works article.head h3:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 103.81px;
  height: 8px;
  background-image: url(../images/cultural-property-conservation/work-bubble.svg);
}
body.cultural-property-conservation main section.works article.head > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  margin-top: 30px;
  gap: 22px;
}
body.cultural-property-conservation main section.works article.head > div img {
  display: block;
  width: 100%;
}
body.cultural-property-conservation main section.works article.head > div p {
  font-size: 16px;
  color: #000;
}
body.cultural-property-conservation main section.works article.detail {
  margin-top: 30px;
  margin-bottom: 40px;
}
body.cultural-property-conservation main section.works article.detail h3 {
  margin-bottom: 18px;
  padding: 9px 0 9px 10px;
  font-size: 16px;
  font-weight: 300;
  color: #00448D;
  background-color: #E5F1FF;
}
body.cultural-property-conservation main section.works article.detail ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
body.cultural-property-conservation main section.works article.detail ul li {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
body.cultural-property-conservation main section.works article.detail ul li img {
  width: 100%;
  height: auto;
  display: block;
}
body.cultural-property-conservation main section.works article.detail ul li p {
  font-size: 16px;
  color: #000;
}
body.cultural-property-conservation main section.works article.detail > div {
  margin-top: 20px;
}
body.cultural-property-conservation main section.works article.detail > div h3 {
  margin-bottom: 18px;
  padding: 9px 0 9px 10px;
  font-size: 16px;
  color: #00448D;
  background-color: #E5F1FF;
}
body.cultural-property-conservation main section.works article.detail > div img {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}
body.cultural-property-conservation main section.works article.detail > div p {
  font-size: 16px;
  color: #000;
}
body.cultural-property-conservation main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.cultural-property-conservation main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.cultural-property-conservation main div.back-button a {
    max-width: 350px;
  }
}
body.cultural-property-conservation main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.cultural-property-conservation main div.back-button {
    margin-bottom: 60px;
  }
}
body.privacy-policy main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.privacy-policy main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.privacy-policy main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.privacy-policy main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.privacy-policy main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.privacy-policy main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.privacy-policy main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.privacy-policy main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.privacy-policy main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.privacy-policy main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.privacy-policy main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.privacy-policy main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.privacy-policy main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.privacy-policy main section.top > div {
    position: relative;
    height: 412px;
  }
  body.privacy-policy main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.privacy-policy main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.privacy-policy main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.privacy-policy main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.privacy-policy main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.privacy-policy main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.privacy-policy main section.content {
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.privacy-policy main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.privacy-policy main section.content > p {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
}
body.privacy-policy main section.content > p:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.privacy-policy main section.content > p:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.privacy-policy main section.content > p:after {
    width: 290px;
  }
}
body.privacy-policy main section.content ol li {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
body.privacy-policy main section.content ol li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.privacy-policy main section.content ol li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.privacy-policy main section.content ol li:after {
    width: 290px;
  }
}
body.privacy-policy main section.content ol li h2 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 10px;
  padding-left: 17px;
  font-size: 18px;
  font-weight: 400;
}
body.privacy-policy main section.content ol li h2 span {
  padding-right: 17px;
  font-size: 26px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
}
body.privacy-policy main section.content ol li h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #00448D;
}
body.privacy-policy main section.content ol li > p {
  font-size: 16px;
  line-height: 1.6;
  color: #000;
}
body.contact main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.contact main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.contact main section.top > div {
  max-width: 1366px;
  padding-bottom: 51px;
}
body.contact main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.contact main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.contact main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.contact main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.contact main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.contact main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.contact main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.contact main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.contact main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.contact main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.contact main section.top > div {
    position: relative;
    height: 412px;
  }
  body.contact main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.contact main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.contact main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.contact main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.contact main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.contact main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.contact main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.contact main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.contact main section.content > p {
  padding: 60px 0 28px;
  font-size: 16px;
  color: #000;
}
body.contact main section.content fieldset {
  margin-bottom: 34px;
}
body.contact main section.content fieldset:nth-child(3) {
  margin-bottom: 8px;
}
body.contact main section.content fieldset legend {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 30px;
  padding: 24px 0 24px 86px;
  background-color: #E5F1FF;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
}
body.contact main section.content fieldset legend span {
  position: absolute;
  top: 0;
  left: 0;
  width: 74px;
  height: 100%;
  font-size: 30px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
  color: #fff;
  text-align: center;
  line-height: 74px;
  background: linear-gradient(to bottom, #00448D, #00144A);
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset legend {
    margin-bottom: 40px;
    padding: 28px 0 28px 117px;
    font-size: 24px;
  }
  body.contact main section.content fieldset legend span {
    width: 91px;
    font-size: 40px;
    line-height: 91px;
  }
}
body.contact main section.content fieldset > div {
  position: relative;
  margin-bottom: 26px;
  padding-bottom: 17px;
  color: #000;
}
body.contact main section.content fieldset > div:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.contact main section.content fieldset > div:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div:after {
    width: 290px;
  }
}
body.contact main section.content fieldset > div .form-label {
  position: relative;
  display: block;
  margin-bottom: 22px;
  padding-left: 23px;
  font-size: 16px;
}
body.contact main section.content fieldset > div .form-label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 9px;
  height: 9px;
  background-color: #00448D;
  transform: translateY(-50%) rotate(45deg);
}
body.contact main section.content fieldset > div .form-label span {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 50px;
  height: 24px;
  background-color: #E60000;
  font-size: 14px;
  text-align: center;
  line-height: 24px;
  color: #fff;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div .form-label {
    width: 270px;
    margin-bottom: 0;
    padding-left: 28px;
    font-size: 18px;
  }
  body.contact main section.content fieldset > div .form-label:before {
    width: 18px;
    height: 18px;
  }
}
body.contact main section.content fieldset > div .content-with-caption small {
  display: block;
  margin-top: 10px;
  font-size: 14px;
}
body.contact main section.content fieldset > div .checkbox input[type="checkbox"] {
  display: none;
}
body.contact main section.content fieldset > div .checkbox .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.contact main section.content fieldset > div .checkbox .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.contact main section.content fieldset > div .checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
}
body.contact main section.content fieldset > div .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg);
  position: absolute;
  left: 9px;
  top: 5px;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div .checkbox .wpcf7-list-item {
    display: inline-block;
    width: calc(100% / 3);
    margin: 0 0 23px 0;
  }
}
body.contact main section.content fieldset > div textarea {
  width: 100%;
  max-width: 788px;
  padding: 12px 10px;
  border: 1px solid #00448D;
}
body.contact main section.content fieldset > div textarea::placeholder {
  font-size: 16px;
  opacity: 0.25;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div textarea::placeholder {
    font-size: 18px;
  }
}
body.contact main section.content fieldset > div .radio-button input[type="radio"] {
  display: none;
}
body.contact main section.content fieldset > div .radio-button .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.contact main section.content fieldset > div .radio-button .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
}
body.contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg);
  position: absolute;
  left: 9px;
  top: 5px;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div .radio-button .wpcf7-list-item {
    display: inline-block;
    margin: 0 46px 0 0;
  }
}
body.contact main section.content fieldset > div .text-form {
  width: 100%;
  padding: 12px 10px 12px;
  border: 1px solid #00448D;
}
body.contact main section.content fieldset > div .text-form::placeholder {
  font-size: 16px;
  opacity: 0.25;
}
@media screen and (min-width: 800px) {
  body.contact main section.content fieldset > div .text-form::placeholder {
    font-size: 18px;
  }
}
body.contact main section.content fieldset > div small {
  display: block;
  margin-top: 10px;
  font-size: 14px;
}
body.contact main section.content fieldset .agree {
  margin: 0;
  padding: 0;
}
body.contact main section.content fieldset .agree input[type="checkbox"] {
  display: none;
}
body.contact main section.content fieldset .agree .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.contact main section.content fieldset .agree .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.contact main section.content fieldset .agree .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
  border-radius: 27px;
}
body.contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg) translate(-40%, 50%);
  position: absolute;
  left: 9px;
  top: 50%;
}
body.contact main section.content fieldset .agree:before {
  display: none;
}
body.contact main section.content fieldset .agree:after {
  display: none;
}
body.contact main section.content fieldset .agree fieldset {
  margin-bottom: 0;
}
body.contact main section.content fieldset .agree .wpcf7-list-item-label {
  font-size: 15px;
}
body.contact main section.content fieldset .note {
  margin-top: -15px;
  padding-left: 40px;
  font-size: 14px;
}
body.contact main section.content fieldset .text-link {
  text-decoration: underline;
}
body.contact main section.content .submit-button {
  position: relative;
  width: 290px;
  height: 56px;
  margin: 0 auto 60px;
}
body.contact main section.content .submit-button input[type="submit"] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 290px;
  margin: 0 auto;
  padding: 15px 20px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-weight: bold;
  color: #fff;
  background-color: #00448D;
  border: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
body.contact main section.content .submit-button .wpcf7-spinner {
  display: none;
}
body.contact main section.content .submit-button:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #fff;
  border-radius: 1px;
  z-index: 1;
}
body.contact main section.content .submit-button:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #fff;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
  z-index: 1;
}
body.contact main section.content .submit-button:hover {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.contact main section.content .submit-button {
    width: 370px;
    font-size: 20px;
  }
  body.contact main section.content .submit-button input[type="submit"] {
    width: 370px;
  }
}
body.history main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.history main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.history main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.history main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.history main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.history main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.history main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.history main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.history main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.history main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.history main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.history main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.history main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.history main section.top > div {
    position: relative;
    height: auto;
  }
  body.history main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.history main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.history main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.history main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.history main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.history main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.history main section.leading {
  position: relative;
  margin: 0 auto 150px;
  padding-top: 60px;
  max-width: 1366px;
}
body.history main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.history main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.history main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.history main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.history main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.history main section.leading > p {
  position: absolute;
  bottom: -100px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.history main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.history main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.history main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.history main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.history main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.history main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.history main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.history main section.leading .main-image {
  background-image: url(../images/history/top-img.webp);
}
body.history main section.content {
  margin-bottom: 60px;
  padding-top: 40px;
  padding-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #E5F1FF;
}
@media screen and (min-width: 1100px) {
  body.history main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.history main section.content dl > div {
  display: grid;
  grid-template-columns: 27px 1fr;
}
body.history main section.content dl > div .dt-block {
  display: block;
  width: 6px;
  height: 34px;
  margin: 0 15px 0 8px;
  background-color: #00448D;
}
body.history main section.content dl > div dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 4px 15px;
  font-size: 15px;
  background-color: #fff;
}
body.history main section.content dl > div .dd-dotted-line {
  position: relative;
  margin: 0 14px 0 10px;
}
body.history main section.content dl > div .dd-dotted-line:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  border-left: 1px dashed #00448D;
}
body.history main section.content dl > div dd {
  padding: 20px 0 25px;
  color: #000;
  font-size: 16px;
}
body.history main section.content dl > div:last-child .dd-dotted-line:after {
  border-left: none;
}
body.history main section.content dl > div:last-child .dd {
  padding: 20px 0 0;
}
body.history main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.history main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.history main div.back-button a {
    max-width: 350px;
  }
}
body.history main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.history main div.back-button {
    margin-bottom: 60px;
  }
}
body.philosophy main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.philosophy main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.philosophy main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.philosophy main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.philosophy main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.philosophy main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.philosophy main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.philosophy main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.philosophy main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.philosophy main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.philosophy main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.philosophy main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.philosophy main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.philosophy main section.top > div {
    position: relative;
    height: auto;
  }
  body.philosophy main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.philosophy main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.philosophy main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.philosophy main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.philosophy main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.philosophy main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.philosophy main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.philosophy main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.philosophy main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.philosophy main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.philosophy main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.philosophy main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.philosophy main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.philosophy main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.philosophy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.philosophy main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.philosophy main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.philosophy main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.philosophy main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.philosophy main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.philosophy main section.leading .main-image {
  background-image: url(../images/philosophy/top-img.webp);
}
body.philosophy main section.content {
  margin-left: 0px;
  margin-right: 0px;
  padding: 40px 20px 60px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(to bottom, #00448D, #00144A);
}
@media screen and (min-width: 1366px) {
  body.philosophy main section.content {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
body.philosophy main section.content .head {
  position: relative;
  margin-bottom: 60px;
  padding: 35px 0;
  text-align: center;
  background-color: #fff;
}
body.philosophy main section.content .head:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/philosophy/content-head-bg.webp);
  bottom: 0;
  right: 0;
  width: 239px;
  height: 178px;
}
body.philosophy main section.content .head h2 {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 2.5;
}
body.philosophy main section.content .head h2 span {
  padding-bottom: 10px;
  border-bottom: 1px solid #00448D;
}
body.philosophy main section.content .head p {
  font-size: 14px;
}
body.philosophy main section.content .signature p {
  margin-top: 60px;
  font-size: 16px;
  color: #fff;
  text-align: right;
}
body.philosophy main section.content > p {
  font-size: 16px;
  color: #fff;
  line-height: 1.7;
}
@media screen and (min-width: 800px) {
  body.philosophy main section.content {
    margin-left: 0px;
    margin-right: 0px;
    padding: 60px 45px 95px;
  }
  body.philosophy main section.content .head:after {
    right: 35px;
    width: 516px;
    height: 160px;
  }
  body.philosophy main section.content > p {
    font-size: 18px;
    text-align: center;
    width: min(90%, 992px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.philosophy main section.content {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
body.philosophy main section.vision {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 60px;
}
@media screen and (min-width: 1366px) {
  body.philosophy main section.vision {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.philosophy main section.vision > div {
  margin-bottom: 60px;
  text-align: center;
}
body.philosophy main section.vision > div dt {
  width: 100%;
  margin-bottom: 25px;
  padding-bottom: 12px;
  font-size: 21px;
  font-weight: 400;
  border-bottom: 1px solid #00448D;
}
body.philosophy main section.vision > div dd {
  font-size: 16px;
}
body.philosophy main section.vision > div dd span {
  color: #000;
}
body.philosophy main section.vision > div dd img {
  display: block;
  width: 90px;
  margin: 0 auto 15px;
}
body.philosophy main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.philosophy main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.philosophy main div.back-button a {
    max-width: 350px;
  }
}
body.philosophy main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.philosophy main div.back-button {
    margin-bottom: 60px;
  }
}
body.quality-and-environmental-policy main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.quality-and-environmental-policy main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.quality-and-environmental-policy main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.quality-and-environmental-policy main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.quality-and-environmental-policy main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.quality-and-environmental-policy main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.quality-and-environmental-policy main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.quality-and-environmental-policy main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.quality-and-environmental-policy main section.top > div {
    position: relative;
    height: auto;
  }
  body.quality-and-environmental-policy main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.quality-and-environmental-policy main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.quality-and-environmental-policy main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.quality-and-environmental-policy main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.quality-and-environmental-policy main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.quality-and-environmental-policy main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.quality-and-environmental-policy main section.leading {
  position: relative;
  margin: 0 auto 415px;
  padding-top: 60px;
  max-width: 1366px;
}
body.quality-and-environmental-policy main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.quality-and-environmental-policy main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.quality-and-environmental-policy main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.quality-and-environmental-policy main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.quality-and-environmental-policy main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.quality-and-environmental-policy main section.leading > p {
  position: absolute;
  bottom: -350px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.quality-and-environmental-policy main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.quality-and-environmental-policy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.quality-and-environmental-policy main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.quality-and-environmental-policy main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.quality-and-environmental-policy main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.quality-and-environmental-policy main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.quality-and-environmental-policy main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.quality-and-environmental-policy main section.leading p {
  max-width: 500px;
}
@media screen and (min-width: 520px) {
  body.quality-and-environmental-policy main section.leading p {
    bottom: -250px;
  }
}
body.quality-and-environmental-policy main section.leading .main-image {
  background-image: url(../images/quality-and-environmental-policy/top-img.webp);
}
body.quality-and-environmental-policy main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.quality-and-environmental-policy main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.quality-and-environmental-policy main section.content > p {
  margin-bottom: 37px;
  font-size: 16px;
  color: #000;
}
body.quality-and-environmental-policy main section.content ol li {
  margin-bottom: 37px;
}
body.quality-and-environmental-policy main section.content ol li h2 {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 300;
}
body.quality-and-environmental-policy main section.content ol li p {
  font-size: 16px;
  color: #000;
}
body.quality-and-environmental-policy main section.content div.signature {
  margin-bottom: 65px;
  font-size: 16px;
  color: #000;
  text-align: right;
}
body.quality-and-environmental-policy main section.certificate {
  width: 100%;
  margin-bottom: 62px;
  padding: 32px 20px 60px;
  background: linear-gradient(to bottom, #00448D, #00144A);
  border-radius: 20px 20px 0 0;
}
body.quality-and-environmental-policy main section.certificate h2 {
  padding-bottom: 35px;
  font-size: 20px;
  font-weight: 300;
  color: #fff;
  text-align: center;
}
body.quality-and-environmental-policy main section.certificate img {
  width: 100%;
}
body.quality-and-environmental-policy main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.quality-and-environmental-policy main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.quality-and-environmental-policy main div.back-button a {
    max-width: 350px;
  }
}
body.quality-and-environmental-policy main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.quality-and-environmental-policy main div.back-button {
    margin-bottom: 100px;
  }
}
body.company main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.company main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.company main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.company main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.company main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.company main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.company main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.company main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.company main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.company main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.company main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.company main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.company main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.company main section.top > div {
    position: relative;
    height: auto;
  }
  body.company main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.company main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.company main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.company main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.company main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.company main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.company main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.company main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.company main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.company main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.company main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.company main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.company main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.company main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.company main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.company main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.company main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.company main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.company main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.company main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.company main section.leading .main-image {
  background-image: url(../images/company/top-img.webp);
}
body.company main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 90px;
}
@media screen and (min-width: 1100px) {
  body.company main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.company main section.content dl {
  position: relative;
}
body.company main section.content dl > div {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px 0;
}
body.company main section.content dl > div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.company main section.content dl > div:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.company main section.content dl > div:after {
    width: 290px;
  }
}
body.company main section.content dl > div dt {
  padding-bottom: 12px;
  font-size: 18px;
  font-weight: 400;
}
body.company main section.content dl > div dd {
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #000;
}
body.company main section.content dl > div dd .label {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  padding: 8px 0 8px 10px;
  font-size: 16px;
  color: #00448D;
  background-color: #E5F1FF;
}
body.company main section.content dl:last-child:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.company main section.content dl:last-child:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.company main section.content dl:last-child:after {
    width: 290px;
  }
}
body.company main section.content dl .has-accordion dd article {
  margin-bottom: 15px;
}
body.company main section.content dl .has-accordion dd article:last-child {
  margin-bottom: 0;
}
body.company main section.content dl .has-accordion dd article h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 23px 10px;
  font-size: 16px;
  font-weight: 300;
  color: #00448D;
  background-color: #E5F1FF;
  cursor: pointer;
}
body.company main section.content dl .has-accordion dd article h2 .accordion-icon {
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0;
}
body.company main section.content dl .has-accordion dd article h2 .accordion-icon:before {
  position: static;
  padding: 0;
  background-color: transparent;
}
body.company main section.content dl .has-accordion dd article h2 .accordion-icon:after {
  position: static;
  padding: 0;
  background-color: transparent;
}
body.company main section.content dl .has-accordion dd article h2 .accordion-icon .bar {
  position: absolute;
  background-color: #00448D;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 1px;
}
body.company main section.content dl .has-accordion dd article h2 .accordion-icon .bar:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 7px;
  width: 1px;
  height: 14px;
  background-color: #00448D;
  transform: translate(-50%, -50%);
}
body.company main section.content dl .has-accordion dd article ol {
  display: none;
  padding: 15px 0 0;
}
body.company main section.content dl .has-accordion dd article ol li {
  position: relative;
  padding-bottom: 15px;
  padding-left: 35px;
  counter-increment: item;
}
body.company main section.content dl .has-accordion dd article ol li:last-child {
  padding-bottom: 0;
}
body.company main section.content dl .has-accordion dd article ol li:before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  left: 0;
  color: #00448D;
}
body.company main section.content dl .has-accordion dd article.is-open ol {
  display: block;
}
body.company main section.content dl .has-accordion dd article.is-open .accordion-icon .bar::after {
  display: none;
}
body.company main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.company main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.company main div.back-button a {
    max-width: 350px;
  }
}
body.company main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.company main div.back-button {
    margin-bottom: 100px;
  }
}
body.partnership main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.partnership main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.partnership main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.partnership main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.partnership main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.partnership main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.partnership main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.partnership main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.partnership main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.partnership main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.partnership main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.partnership main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.partnership main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.partnership main section.top > div {
    position: relative;
    height: auto;
  }
  body.partnership main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.partnership main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.partnership main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.partnership main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.partnership main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.partnership main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.partnership main section.leading {
  position: relative;
  margin: 0 auto 190px;
  padding-top: 60px;
  max-width: 1366px;
}
body.partnership main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.partnership main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.partnership main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.partnership main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.partnership main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.partnership main section.leading > p {
  position: absolute;
  bottom: -125px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.partnership main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.partnership main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.partnership main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.partnership main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.partnership main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.partnership main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.partnership main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: 10px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.partnership main section.leading .main-image {
  background-image: url(../images/partnership/top-img.webp);
}
body.partnership main section.content {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.partnership main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.partnership main section.content > ol {
  position: relative;
  margin-bottom: 20px;
}
body.partnership main section.content > ol:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.partnership main section.content > ol:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.partnership main section.content > ol:after {
    width: 290px;
  }
}
body.partnership main section.content > ol > li {
  position: relative;
  padding: 28px 0;
}
body.partnership main section.content > ol > li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.partnership main section.content > ol > li:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.partnership main section.content > ol > li:after {
    width: 290px;
  }
}
body.partnership main section.content > ol > li h2 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
}
body.partnership main section.content > ol > li h2:before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #00448D;
}
body.partnership main section.content > ol > li h2 span {
  padding-left: 17px;
  font-size: 26px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
}
body.partnership main section.content > ol > li h2 > p {
  padding-left: 17px;
  font-size: 18px;
  font-weight: 400;
}
body.partnership main section.content > ol > li > p {
  padding-bottom: 16px;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
}
body.partnership main section.content > ol > li ol {
  margin-top: 20px;
}
body.partnership main section.content > ol > li ol li {
  position: relative;
  padding-bottom: 15px;
  padding-left: 35px;
  font-size: 16px;
  color: #000;
  counter-increment: item;
}
body.partnership main section.content > ol > li ol li:last-child {
  padding-bottom: 0;
}
body.partnership main section.content > ol > li ol li:before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  left: 0;
  color: #00448D;
}
body.partnership main section.content > ol > li > article h3 {
  padding: 7px 10px;
  font-size: 16px;
  font-weight: 300;
  background-color: #E5F1FF;
}
body.partnership main section.content > ol > li > article > p {
  margin-top: 15px;
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
}
body.partnership main section.content > ol > li > article p:last-child {
  margin-bottom: 0;
}
body.partnership main section.content div.signature {
  margin-bottom: 60px;
  font-size: 16px;
  color: #000;
  letter-spacing: 0.9px;
  text-align: right;
}
body.partnership main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.partnership main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.partnership main div.back-button a {
    max-width: 350px;
  }
}
body.partnership main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.partnership main div.back-button {
    margin-bottom: 60px;
  }
}
body.health-management main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.health-management main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.health-management main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.health-management main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.health-management main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.health-management main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.health-management main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.health-management main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.health-management main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.health-management main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.health-management main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.health-management main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.health-management main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.health-management main section.top > div {
    position: relative;
    height: auto;
  }
  body.health-management main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.health-management main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.health-management main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.health-management main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.health-management main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.health-management main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.health-management main section.leading {
  position: relative;
  margin: 0 auto 190px;
  padding-top: 60px;
  max-width: 1366px;
}
body.health-management main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.health-management main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.health-management main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.health-management main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.health-management main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.health-management main section.leading > p {
  position: absolute;
  bottom: -125px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.health-management main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.health-management main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.health-management main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.health-management main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.health-management main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.health-management main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.health-management main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.health-management main section.leading .main-image {
  background-image: url(../images/health-management/top-img.webp);
}
body.health-management main section.certificate {
  width: 100%;
  max-width: 1276px;
  margin: 0 auto 60px;
  padding: 30px 20px 60px;
  background: linear-gradient(to bottom, #00448D, #00144A);
  border-radius: 20px 20px 0 0;
}
body.health-management main section.certificate h2 {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 300;
  text-align: center;
  color: #fff;
}
body.health-management main section.certificate > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  gap: 24px;
}
body.health-management main section.certificate > div img {
  display: block;
  width: 100%;
}
body.health-management main section.certificate > div p {
  font-size: 16px;
  line-height: 1.6;
  color: #fff;
}
body.health-management main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1100px) {
  body.health-management main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.health-management main section.content > p {
  font-size: 16px;
  color: #000;
}
body.health-management main section.content ol {
  position: relative;
  margin: 20px 0;
}
body.health-management main section.content ol:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.health-management main section.content ol:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.health-management main section.content ol:after {
    width: 290px;
  }
}
body.health-management main section.content ol li {
  position: relative;
  padding: 20px 0;
}
body.health-management main section.content ol li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.health-management main section.content ol li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.health-management main section.content ol li:after {
    width: 290px;
  }
}
body.health-management main section.content ol li > div h2 {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
}
body.health-management main section.content ol li > div h2:before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #00448D;
}
body.health-management main section.content ol li > div h2 span {
  padding-left: 17px;
  font-size: 26px;
  font-weight: 400;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
}
body.health-management main section.content ol li > div h2 > p {
  padding-left: 17px;
  font-size: 18px;
  font-weight: 400;
}
body.health-management main section.content ol li > div > p {
  padding-bottom: 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
}
body.health-management main section.content ol li > img {
  display: block;
  width: 100%;
}
body.health-management main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.health-management main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.health-management main div.back-button a {
    max-width: 350px;
  }
}
body.health-management main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.health-management main div.back-button {
    margin-bottom: 100px;
  }
}
body.sdgs main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.sdgs main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.sdgs main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.sdgs main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.sdgs main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.sdgs main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.sdgs main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.sdgs main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.sdgs main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.sdgs main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.sdgs main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.sdgs main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.sdgs main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.sdgs main section.top > div {
    position: relative;
    height: auto;
  }
  body.sdgs main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.sdgs main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.sdgs main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.sdgs main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.sdgs main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.sdgs main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.sdgs main section.leading {
  position: relative;
  margin: 0 auto 265px;
  padding-top: 60px;
  max-width: 1366px;
}
body.sdgs main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.sdgs main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.sdgs main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.sdgs main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.sdgs main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.sdgs main section.leading > p {
  position: absolute;
  bottom: -180px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.sdgs main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.sdgs main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.sdgs main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.sdgs main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.sdgs main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.sdgs main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.sdgs main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.sdgs main section.leading .main-image {
  background-image: url(../images/sdgs/top-img.webp);
}
body.sdgs main section.goal {
  padding: 40px 20px 35px;
  background-image: url(../images/sdgs/goal-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
}
body.sdgs main section.goal img {
  display: block;
  width: 285px;
  margin: 0 auto 30px;
}
body.sdgs main section.goal p {
  font-size: 16px;
  line-height: 1.6;
}
body.sdgs main section.content {
  margin-bottom: 60px;
  padding-top: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.sdgs main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.sdgs main section.content h2 {
  position: relative;
  padding-left: 17px;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 400;
}
body.sdgs main section.content h2:before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #00448D;
}
body.sdgs main section.content > p {
  position: relative;
  margin-bottom: 18px;
  padding-top: 12px;
  color: #000;
}
body.sdgs main section.content > p:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.sdgs main section.content > p:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.sdgs main section.content > p:after {
    width: 290px;
  }
}
body.sdgs main section.content > ul > li {
  display: grid;
  grid-template-columns: 27px 1fr;
  margin-bottom: 32px;
}
body.sdgs main section.content > ul > li .dt-block {
  display: block;
  width: 6px;
  height: 34px;
  margin: 0 15px 0 8px;
  background-color: #00448D;
}
body.sdgs main section.content > ul > li:nth-child(1) .dt-block {
  background-color: #E59E2C;
}
body.sdgs main section.content > ul > li:nth-child(2) .dt-block {
  background-color: #41A751;
}
body.sdgs main section.content > ul > li:nth-child(3) .dt-block {
  background-color: #CB497B;
}
body.sdgs main section.content > ul > li h3 {
  padding: 0 14px;
  font-size: 20px;
  color: #fff;
  font-weight: 300;
}
body.sdgs main section.content > ul > li:nth-child(1) h3 {
  background-color: #E59E2C;
}
body.sdgs main section.content > ul > li:nth-child(2) h3 {
  background-color: #41A751;
}
body.sdgs main section.content > ul > li:nth-child(3) h3 {
  background-color: #CB497B;
}
body.sdgs main section.content > ul > li .dd-dotted-line {
  position: relative;
  margin: 0 14px 0 10px;
}
body.sdgs main section.content > ul > li .dd-dotted-line:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  border-left: 1px dashed #00448D;
}
body.sdgs main section.content > ul > li:nth-child(1) .dd-dotted-line:after {
  border-left: 1px dashed #E59E2C;
}
body.sdgs main section.content > ul > li:nth-child(2) .dd-dotted-line:after {
  border-left: 1px dashed #41A751;
}
body.sdgs main section.content > ul > li:nth-child(3) .dd-dotted-line:after {
  border-left: 1px dashed #CB497B;
}
body.sdgs main section.content > ul > li > div p {
  margin-bottom: 18px;
  padding-top: 18px;
  color: #000;
  line-height: 1.6;
}
body.sdgs main section.content > ul > li > div > ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
body.sdgs main section.content > ul > li > div > ul > li {
  width: calc(100% / 3);
}
body.sdgs main section.content > ul > li > div > ul > li img {
  display: block;
  width: 100%;
}
body.sdgs main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.sdgs main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.sdgs main div.back-button a {
    max-width: 350px;
  }
}
body.sdgs main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.sdgs main div.back-button {
    margin-bottom: 60px;
  }
}
body.manufacturing-department main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.manufacturing-department main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.manufacturing-department main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.manufacturing-department main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.manufacturing-department main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.manufacturing-department main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.manufacturing-department main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.manufacturing-department main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.manufacturing-department main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.manufacturing-department main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.manufacturing-department main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.manufacturing-department main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.manufacturing-department main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main section.top > div {
    position: relative;
    height: auto;
  }
  body.manufacturing-department main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.manufacturing-department main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.manufacturing-department main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.manufacturing-department main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.manufacturing-department main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.manufacturing-department main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.manufacturing-department main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.manufacturing-department main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.manufacturing-department main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.manufacturing-department main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.manufacturing-department main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.manufacturing-department main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.manufacturing-department main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.manufacturing-department main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.manufacturing-department main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.manufacturing-department main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.manufacturing-department main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.manufacturing-department main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.manufacturing-department main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.manufacturing-department main section.leading .main-image {
  background-image: url(../images/manufacturing-department/top-img.webp);
}
body.manufacturing-department main section.about, body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.manufacturing-department main section.about, body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.manufacturing-department main section.about h2, body.manufacturing-department main section.production h2, body.manufacturing-department main section.instruction h2 {
  position: relative;
  margin-bottom: 12px;
  padding-bottom: 12px;
  font-size: 18px;
  font-weight: 400;
}
body.manufacturing-department main section.about h2 span, body.manufacturing-department main section.production h2 span, body.manufacturing-department main section.instruction h2 span {
  display: block;
  padding-left: 17px;
}
body.manufacturing-department main section.about h2 span:before, body.manufacturing-department main section.production h2 span:before, body.manufacturing-department main section.instruction h2 span:before {
  content: "";
  position: absolute;
  top: 41%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #00448D;
}
body.manufacturing-department main section.about h2 .underline, body.manufacturing-department main section.production h2 .underline, body.manufacturing-department main section.instruction h2 .underline {
  position: absolute;
  display: block;
  width: 100%;
  padding-bottom: 12px;
}
body.manufacturing-department main section.about h2 .underline:before, body.manufacturing-department main section.production h2 .underline:before, body.manufacturing-department main section.instruction h2 .underline:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.manufacturing-department main section.about h2 .underline:after, body.manufacturing-department main section.production h2 .underline:after, body.manufacturing-department main section.instruction h2 .underline:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main section.about h2 .underline:after, body.manufacturing-department main section.production h2 .underline:after, body.manufacturing-department main section.instruction h2 .underline:after {
    width: 290px;
  }
}
body.manufacturing-department main section.about article {
  width: 100%;
  margin-bottom: 60px;
  padding: 44px 20px;
  background-color: #E5F1FF;
}
body.manufacturing-department main section.about article .overview {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 267px;
  margin: 0 auto 42px;
  padding: 35px 20px 20px;
  border: 2px solid #00448D;
  gap: 10px;
}
body.manufacturing-department main section.about article .overview h3 {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 15px;
  font-size: 20px;
  font-weight: 300;
  color: #fff;
  background-color: #00448D;
}
body.manufacturing-department main section.about article .overview span {
  padding: 5px 10px;
  font-size: 20px;
  color: #00448D;
  background-color: #fff;
}
body.manufacturing-department main section.about article .overview > div {
  position: relative;
  width: 14.27px;
  height: 14.27px;
}
body.manufacturing-department main section.about article .overview > div::before, body.manufacturing-department main section.about article .overview > div::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background-color: #00448D;
  transform-origin: center;
}
body.manufacturing-department main section.about article .overview > div::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
body.manufacturing-department main section.about article .overview > div::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
body.manufacturing-department main section.about article .detail {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 28px;
}
body.manufacturing-department main section.about article .detail figure {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
  width: calc(100vw - 40px);
  margin: 0 0 0 calc(50% - 50vw);
}
body.manufacturing-department main section.about article .detail figure img {
  width: 120px;
}
body.manufacturing-department main section.about article .detail figure figcaption h4 {
  padding-bottom: 9px;
  font-size: 16px;
  font-weight: 300;
}
body.manufacturing-department main section.about article .detail figure figcaption p {
  color: #000;
}
body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1100px) {
  body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.manufacturing-department main section.production .title, body.manufacturing-department main section.instruction .title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 32px;
  margin-bottom: 23px;
}
body.manufacturing-department main section.production .title p, body.manufacturing-department main section.instruction .title p {
  font-size: 20px;
  font-weight: 400;
}
body.manufacturing-department main section.production .title img, body.manufacturing-department main section.instruction .title img {
  display: block;
}
body.manufacturing-department main section.production .title img {
  width: 96.11px;
}
body.manufacturing-department main section.instruction .title img {
  width: 83.96px;
}
body.manufacturing-department main section.production .detail img {
  display: block;
  width: 100%;
}
body.manufacturing-department main section.production .detail > div {
  padding: 23px 0 0;
}
body.manufacturing-department main section.production .detail > div h3 {
  position: relative;
  text-align: center;
  font-size: 16px;
  font-weight: 300;
}
body.manufacturing-department main section.production .detail > div h3:after {
  content: "";
  position: absolute;
  bottom: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: 174.15px;
  height: 8px;
  background-image: url(../images/manufacturing-department/bubble.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.manufacturing-department main section.production .detail > div ul {
  margin-top: 32px;
}
body.manufacturing-department main section.production .detail > div ul li {
  border: 1px solid #00448D;
  width: 100%;
  margin-bottom: 10px;
  padding: 10px 20px 10px 20px;
  font-size: 18px;
  font-weight: 400;
}
body.manufacturing-department main section.production .detail > div > span {
  display: block;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
}
body.manufacturing-department main section.instruction .detail > img {
  display: block;
  width: 100%;
  padding-bottom: 20px;
}
body.manufacturing-department main section.instruction .detail > p {
  font-size: 16px;
  color: #000;
}
body.manufacturing-department main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.manufacturing-department main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main div.back-button a {
    max-width: 350px;
  }
}
body.manufacturing-department main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main div.back-button {
    margin-bottom: 100px;
  }
}
body.news main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.news main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.news main section.top > div {
  max-width: 1366px;
  padding-bottom: 60px;
}
body.news main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.news main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.news main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.news main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.news main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.news main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.news main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.news main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.news main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.news main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.news main section.top > div {
    position: relative;
    height: 412px;
  }
  body.news main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.news main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.news main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.news main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.news main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.news main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.news main .content {
  margin-top: 60px;
  margin-bottom: 44px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.news main .content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.news main .content ul li {
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
}
body.news main .content ul li:last-child {
  margin-bottom: 0;
}
body.news main .content ul li a {
  display: block;
  font-size: 16px;
  color: #000;
}
@media screen and (min-width: 800px) {
  body.news main .content ul li a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
body.news main .content ul li a .date {
  display: block;
  margin-bottom: 10px;
}
@media screen and (min-width: 800px) {
  body.news main .content ul li a .date {
    display: inline;
    margin-bottom: 0;
    padding-right: 20px;
  }
}
body.news main .content ul li a .title {
  display: block;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 800px) {
  body.news main .content ul li a .title {
    display: inline;
  }
}
body.news main .content .pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 57px;
}
body.news main .content .pagination ul {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
body.news main .content .pagination ul li {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
body.news main .content .pagination ul li a, body.news main .content .pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #00448D;
  color: #00448D;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  transition: background-color 0.3s;
}
body.news main .content .pagination ul li .current {
  background-color: #00448D;
  color: #fff;
  font-weight: bold;
}
body.news main .content .pagination ul li .dots {
  border: none;
  background: none;
  color: #00448D;
  pointer-events: none;
}
body.news main .content div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.news main .content div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.news main .content div.back-button a {
    max-width: 350px;
  }
}
body.news main .content div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.news main .content div.back-button {
    margin-bottom: 100px;
  }
}
body.single-post main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.single-post main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.single-post main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.single-post main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.single-post main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.single-post main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.single-post main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.single-post main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.single-post main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.single-post main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.single-post main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.single-post main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.single-post main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.single-post main section.top > div {
    position: relative;
    height: auto;
  }
  body.single-post main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.single-post main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.single-post main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.single-post main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.single-post main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.single-post main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.single-post main section.title {
  padding: 45px 0;
  padding-left: 20px;
  padding-right: 20px;
  background: linear-gradient(to bottom, #00448D 0%, #00144A 100%);
}
@media screen and (min-width: 1100px) {
  body.single-post main section.title {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.single-post main section.title span {
  display: block;
  margin-bottom: 17px;
  font-size: 16px;
  color: #fff;
}
body.single-post main section.title h1 {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
}
body.single-post main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (min-width: 1100px) {
  body.single-post main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.single-post main section.content .wp-block-image img {
  display: block;
  width: min(100%, 651px);
  margin: 20px auto;
}
body.single-post main section.content p {
  margin: 20px 0;
  font-size: 16px;
  color: #000;
}
body.single-post main section.content h2 {
  padding: 5px;
  margin: 20px 0;
  background-color: #00448D;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}
body.single-post main section.content h3 {
  margin: 20px 0;
  font-weight: 600;
}
body.single-post main section.content a {
  color: #00448D;
  text-decoration: underline;
}
body.single-post main section.content ul {
  margin: 20px 0;
}
body.single-post main section.content ul li {
  position: relative;
  padding-left: 20px;
  color: #000;
}
body.single-post main section.content ul li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 9px;
  background-color: #00448D;
}
body.single-post main section.content ol {
  margin: 20px 0;
  padding-left: 20px;
}
body.single-post main section.content ol li {
  list-style: decimal;
  color: #000;
}
body.single-post main section.content ol li::marker {
  color: #00448D;
}
body.single-post main section.content .wp-block-quote {
  width: 100%;
  margin: 20px 0;
  padding: 20px 13px;
  font-size: 14px;
  line-height: 1.6;
  background-color: #E5F1FF;
}
body.single-post main section.content .wrap-style {
  margin: 20px 0;
  padding: 20px 13px;
  border: 1px solid #00448D;
  font-size: 14px;
  line-height: 1.6;
}
body.single-post main section.content .wp-block-button {
  margin: 20px auto;
}
body.single-post main section.content .wp-block-button .wp-block-button__link {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 15px 47px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
  border-radius: 0;
  text-decoration: none;
}
body.single-post main section.content .wp-block-button .wp-block-button__link:before {
  content: "";
  position: absolute;
  top: 55%;
  right: 14px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body.single-post main section.content .wp-block-button .wp-block-button__link:after {
  content: "";
  position: absolute;
  top: 55%;
  right: 14px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body.single-post main section.sns-share {
  width: calc(100vw - 40px);
  margin: 0 auto 50px;
  padding-top: 20px;
  border-top: 1px solid #C3C3C3;
}
body.single-post main section.sns-share h2 {
  font-size: 28px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
  color: #000;
  text-align: center;
}
body.single-post main section.sns-share ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 157px;
  margin: 23px auto 0;
}
body.single-post main section.sns-share ul li:first-child div {
  display: inline-block;
  cursor: pointer;
}
body.single-post main section.sns-share ul li:first-child div:hover {
  opacity: 0.7;
  transition: 0.4s;
}
body.single-post main section.sns-share ul li:first-child div img {
  width: 33px;
}
body.single-post main section.sns-share ul li a img {
  display: block;
  width: 33px;
}
body.single-post main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.single-post main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.single-post main div.back-button a {
    max-width: 350px;
  }
}
body.single-post main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.single-post main div.back-button {
    margin-bottom: 60px;
  }
}
body.recruit {
  margin-top: 62.5px;
}
body.recruit main section.top {
  position: relative;
}
body.recruit main section.top > div .copy {
  background-image: url(../images/recruit/top-white-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 271px;
  padding: 40px 0 0 20px;
}
body.recruit main section.top > div .copy h1 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.7;
}
body.recruit main section.top > div .copy h1 span {
  color: #000;
}
body.recruit main section.top > div figure {
  position: relative;
  background-image: url(../images/recruit/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  height: 290px;
  margin: 0;
}
body.recruit main section.top > div figure .slider {
  position: relative;
  top: -34px;
}
body.recruit main section.top > div figure .slider .splide__slide img {
  display: block;
  width: 111px;
}
body.recruit main section.top > div figure figcaption {
  position: absolute;
  bottom: 50px;
  left: 0;
  padding: 0 20px;
  font-size: 10px;
  color: #fff;
}
body.recruit main section.text {
  position: absolute;
  width: 100%;
  margin-top: -20px;
  padding: 60px 20px 74px;
  background-color: #fff;
  border-radius: 20px;
}
body.recruit main section.text > div {
  margin-bottom: 40px;
}
body.recruit main section.text > div:last-child {
  margin-bottom: 0;
}
body.recruit main section.text > div h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 26px;
}
body.recruit main section.text > div h2 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 0;
  background-color: #E5F1FF;
}
body.recruit main section.text > div h2 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.recruit main section.text > div p {
  font-size: 14px;
  line-height: 1.6;
}
body.recruit main section.text > div ul li {
  margin-bottom: 16px;
}
body.recruit main section.text > div ul li:last-child {
  margin-bottom: 0;
}
body.recruit main section.text > div ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  background-color: #fff;
  border-radius: 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 18px;
  font-weight: 700;
  max-width: 450px;
}
body.recruit main section.text > div ul li a .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.recruit main section.text > div ul li a .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(-45deg);
}
body.recruit main section.text > div ul li a:hover {
  background-color: #00448D;
  color: #fff;
  opacity: 1;
  transition: 0.4s;
}
body.recruit main section.about {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: column;
  width: 100vw;
  margin-top: 560px;
  margin-bottom: 18px;
  padding: 82px 0 0 20px;
  background-image: url(../images/recruit/top-blue-bg-sp.webp);
  background-position: bottom 255px center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.recruit main section.about > div {
  order: 1;
  align-self: flex-start;
}
body.recruit main section.about > div h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: 14px;
  font-weight: 600;
  padding-top: 50px;
  padding-bottom: 26px;
}
body.recruit main section.about > div h2 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 0;
  background-color: #E5F1FF;
}
body.recruit main section.about > div h2 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.recruit main section.about > div p {
  font-size: 14px;
  line-height: 1.8;
}
body.recruit main section.about > img {
  width: 305px;
}
body.recruit main section.link_card ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.recruit main section.link_card ul {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.recruit main section.link_card ul li a {
  position: relative;
  display: block;
}
body.recruit main section.link_card ul li a img {
  display: block;
  width: 100%;
}
body.recruit main section.link_card ul li a > div {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 88px;
  padding: 44px 16px 20px 19px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
  border-radius: 0 0 24px 24px;
}
body.recruit main section.link_card ul li a > div p {
  font-size: 20px;
  color: #fff;
}
body.recruit main section.link_card ul li a > div .arrow {
  position: relative;
  width: 36px;
  height: 36px;
  background-color: #fff;
  border-radius: 36px;
}
body.recruit main section.link_card ul li a > div .arrow:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25%;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body.recruit main section.link_card ul li a > div .arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body.recruit main section.link_card ul li a:hover {
  opacity: 0.6;
}
body.recruit main section.learn {
  margin-bottom: 60px;
}
body.recruit main section.learn h2 {
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: 600;
  text-align: center;
}
body.recruit main section.learn article {
  margin-bottom: 47px;
  padding: 0 20px;
}
body.recruit main section.learn article:last-child {
  margin-bottom: 0;
}
body.recruit main section.learn article h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 26px;
  padding-bottom: 10px;
  text-align: center;
}
body.recruit main section.learn article h3 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 18px;
  background-color: #E5F1FF;
}
body.recruit main section.learn article h3 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.recruit main section.learn article .image {
  position: relative;
}
body.recruit main section.learn article .image img {
  width: calc(100vw - 20px);
  margin-left: calc(50% - 50vw);
}
body.recruit main section.learn article .image .image-link-button {
  position: absolute;
  top: 145px;
  right: 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 131px;
  padding: 5px 23px;
  background-color: #fff;
  box-shadow: 3px 3px 6px rgba(0, 68, 141, 0.5);
}
body.recruit main section.learn article .image .image-link-button p {
  font-size: 16px;
}
body.recruit main section.learn article .image .image-link-button .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.recruit main section.learn article .image .image-link-button .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(-45deg);
}
body.recruit main section.learn article .lead_area {
  margin-bottom: 37px;
  padding: 0 20px;
}
body.recruit main section.learn article .lead_area h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 10px;
  text-align: center;
}
body.recruit main section.learn article .lead_area h3 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 18px;
  background-color: #E5F1FF;
}
body.recruit main section.learn article .lead_area h3 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.recruit main section.learn article .lead_area p {
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}
body.recruit main section.learn article .blue-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  background-color: #00448D;
  border-radius: 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  max-width: 482.19px;
  margin: 0 auto;
}
body.recruit main section.learn article .blue-link .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.recruit main section.learn article .blue-link .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(-45deg);
}
body.recruit main section.learn article .blue-link:hover {
  opacity: 0.6;
  transition: 0.4s;
}
body.recruit main #entry {
  scroll-margin-top: 80px;
}
body.recruit main section.entry {
  position: relative;
  background-image: url(../images/recruit/top-blue-bg-sp.webp);
  background-position: top 50px center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 373px;
}
body.recruit main section.entry > img {
  width: 100%;
}
body.recruit main section.entry > article {
  position: absolute;
  top: 137px;
  left: 50%;
  transform: translateX(-50%);
  width: 312px;
  padding: 30px 20px 60px;
  background-color: #fff;
  border-radius: 30px 30px 0 0;
}
body.recruit main section.entry > article h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 18px;
  padding-bottom: 13px;
  text-align: center;
}
body.recruit main section.entry > article h3 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 18px;
  background-color: #E5F1FF;
}
body.recruit main section.entry > article h3 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.recruit main section.entry > article > p {
  padding-bottom: 24px;
  font-size: 14px;
  text-align: center;
}
body.recruit main section.entry > article ul li {
  margin-bottom: 15px;
}
body.recruit main section.entry > article ul li:last-child {
  margin-bottom: 0;
}
body.recruit main section.entry > article ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  background-color: #CCE56A;
  border-radius: 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 14px;
  font-weight: 700;
  color: #000;
}
body.recruit main section.entry > article ul li a .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.recruit main section.entry > article ul li a .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(-45deg);
}
body.recruit main section.entry > article ul li a:hover {
  background-color: #FFEF71;
  opacity: 1;
  transition: 0.4s;
}
body.our-employee {
  margin-top: 62.5px;
  scroll-padding-top: 70px;
}
body.our-employee main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.our-employee main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.our-employee main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.our-employee main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.our-employee main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.our-employee main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.our-employee main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.our-employee main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.our-employee main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.our-employee main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.our-employee main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.our-employee main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.our-employee main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.our-employee main section.top > div {
    position: relative;
    height: auto;
  }
  body.our-employee main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.our-employee main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.our-employee main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.our-employee main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.our-employee main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.our-employee main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.our-employee main section.leading {
  position: relative;
  margin: 0 auto 327px;
  padding-top: 60px;
  max-width: 1366px;
}
body.our-employee main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.our-employee main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.our-employee main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.our-employee main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.our-employee main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.our-employee main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.our-employee main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.our-employee main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.our-employee main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.our-employee main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.our-employee main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.our-employee main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.our-employee main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.our-employee main section.leading ul {
  max-width: 690px;
  margin: 0 auto;
  padding: 0 20px;
}
body.our-employee main section.leading ul li {
  margin-bottom: 15px;
}
body.our-employee main section.leading ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  background-color: #fff;
  border-radius: 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 18px;
  font-weight: 700;
}
body.our-employee main section.leading ul li a .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.our-employee main section.leading ul li a .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(45deg);
}
body.our-employee main section.leading ul li a:hover {
  background-color: #00448D;
  color: #fff;
  opacity: 1;
  transition: 0.4s;
}
body.our-employee main section.content {
  margin-bottom: 310px;
}
body.our-employee main section.content:nth-child(5) {
  margin-bottom: 0;
}
body.our-employee main section.content .head {
  position: relative;
  top: -250px;
  z-index: 5;
  scroll-margin-top: 100px;
}
body.our-employee main section.content .head img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100vw - 40px);
  max-width: 400px;
}
body.our-employee main section.content .head h2 {
  position: absolute;
  top: 230px;
  width: calc(100vw - 53px);
  padding: 12px 8px;
  font-size: 20px;
  font-weight: 600;
  background-color: #fff;
  border-radius: 0 10px 10px 10px;
  box-shadow: 3px 3px 6px -3px rgba(0, 0, 0, 0.16);
}
body.our-employee main section.content .head h2:before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  z-index: 6;
  width: 17px;
  height: 17px;
  background-color: #fff;
}
body.our-employee main section.content .head h2:after {
  content: "";
  position: absolute;
  top: -18px;
  left: 0px;
  z-index: 6;
  width: 18px;
  height: 18px;
  background-color: #00448D;
  border-radius: 0 0 0 17px;
}
@media screen and (min-width: 583px) {
  body.our-employee main section.content:nth-child(3) article {
    padding-top: 90px;
  }
}
@media screen and (max-width: 391px) {
  body.our-employee main section.content:nth-child(4) article {
    padding-top: 100px;
  }
}
@media screen and (min-width: 691px) {
  body.our-employee main section.content:nth-child(4) article {
    padding-top: 90px;
  }
}
body.our-employee main section.content:nth-child(5) article {
  padding-top: 100px;
}
@media screen and (min-width: 529px) {
  body.our-employee main section.content:nth-child(5) article {
    padding-top: 70px;
  }
}
body.our-employee main section.content > article {
  position: relative;
  width: 100vw;
  padding: 70px 20px 40px;
  background-color: #00448D;
  color: #fff;
  border-radius: 0 0 30px 30px;
}
body.our-employee main section.content > article:before {
  content: "";
  position: absolute;
  top: -90px;
  left: 0;
  width: 100vw;
  height: 91px;
  border-radius: 20px 20px 0 20px;
  background-color: #00448D;
}
body.our-employee main section.content > article > p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 32px;
  font-size: 16px;
}
body.our-employee main section.content > article > p span {
  font-size: 20px;
  font-weight: 700;
  padding-right: 12px;
}
body.our-employee main section.content > article ol li {
  margin-bottom: 37px;
}
body.our-employee main section.content > article ol li h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 13px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 400;
  border-bottom: 1px solid #fff;
}
body.our-employee main section.content > article ol li h3 span {
  padding-right: 15px;
  font-size: 30px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
}
body.our-employee main section.content > article ol li > p {
  font-size: 16px;
  line-height: 1.6;
}
body.our-employee main section.content > article > img {
  width: 100%;
}
body.our-employee main section.content > ul {
  margin-top: -25px;
  padding: 64px 20px 60px;
  background-color: #E5F1FF;
}
body.our-employee main section.content > ul li {
  margin-bottom: 30px;
  padding: 33px 20px 30px;
  background-color: #fff;
  border-radius: 30px;
}
body.our-employee main section.content > ul li:last-child {
  margin-bottom: 0;
}
body.our-employee main section.content > ul li h2 {
  position: relative;
  margin-bottom: 25px;
  padding-left: 20px;
  font-size: 18px;
  font-weight: 400;
}
body.our-employee main section.content > ul li h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  background-color: #00448D;
  transform: rotate(45deg);
}
body.our-employee main section.content > ul li p {
  font-size: 16px;
}
body.our-employee main section.content > ul li > img {
  padding-top: 20px;
  width: 100%;
}
body.our-employee main section.schedule {
  margin: 60px 0;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.our-employee main section.schedule {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.our-employee main section.schedule h2 {
  margin-bottom: 50px;
  font-size: 18px;
  font-weight: 400;
}
body.our-employee main section.schedule dl > div {
  display: grid;
  grid-template-columns: 27px 1fr;
}
body.our-employee main section.schedule dl > div .dt-block {
  display: block;
  width: 6px;
  height: 34px;
  margin: 0 15px 0 8px;
  background-color: #00448D;
}
body.our-employee main section.schedule dl > div dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  font-size: 20px;
}
body.our-employee main section.schedule dl > div .dt-block-pc {
  display: none;
}
body.our-employee main section.schedule dl > div .dd-dotted-line {
  position: relative;
  margin: 0 14px 0 10px;
}
body.our-employee main section.schedule dl > div .dd-dotted-line:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  border-left: 1px dashed #00448D;
}
body.our-employee main section.schedule dl > div dd {
  padding: 8px 0 18px;
  color: #000;
  font-size: 16px;
}
body.our-employee main section.schedule dl > div:last-child .dd-dotted-line:after {
  border-left: none;
}
body.our-employee main section.schedule dl > div:last-child .dd {
  padding: 20px 0 0;
}
body.our-employee main section.schedule > p {
  font-size: 16px;
  color: #000;
}
body.our-employee main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.our-employee main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.our-employee main div.back-button a {
    max-width: 350px;
  }
}
body.our-employee main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.our-employee main div.back-button {
    margin-bottom: 100px;
  }
}
body.our-works {
  margin-top: 62.5px;
}
body.our-works main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.our-works main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.our-works main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.our-works main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.our-works main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.our-works main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.our-works main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.our-works main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.our-works main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.our-works main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.our-works main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.our-works main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.our-works main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.our-works main section.top > div {
    position: relative;
    height: auto;
  }
  body.our-works main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.our-works main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.our-works main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.our-works main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.our-works main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.our-works main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.our-works main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.our-works main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.our-works main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.our-works main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.our-works main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.our-works main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.our-works main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.our-works main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.our-works main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.our-works main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.our-works main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.our-works main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.our-works main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.our-works main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.our-works main section.content {
  margin-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.our-works main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.our-works main section.content:last-child {
  margin-bottom: 0;
}
body.our-works main section.content h2 {
  position: relative;
  margin-bottom: 33px;
  padding: 10px 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  border-top: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
}
body.our-works main section.content h2:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
body.our-works main section.content h2:after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.our-works main section.content h2 {
    margin-bottom: 30px;
  }
}
body.our-works main section.content > img {
  width: 100%;
}
body.our-works main section.content dl {
  margin-top: 20px;
}
body.our-works main section.content dl dd {
  margin-bottom: 20px;
  padding: 5px 10px;
  font-size: 16px;
  font-weight: 300;
  background-color: #E5F1FF;
}
body.our-works main section.content dl dt {
  margin-bottom: 20px;
  font-size: 16px;
  color: #000;
}
body.our-works main section.content .contact-button {
  margin-top: 60px;
  text-align: center;
}
body.our-works main section.content .contact-button a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 15px 65px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #00448D;
  background-color: #fff;
  border: 1px solid #00448D;
}
body.our-works main section.content .contact-button a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #00448D;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
}
body.our-works main section.content .contact-button a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #00448D;
  border-radius: 1px;
}
body.our-works main .back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.our-works main .back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.our-works main .back-button a {
    max-width: 350px;
  }
}
body.our-works main .back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.our-works main .back-button {
    margin-bottom: 100px;
  }
}
body.working-environment {
  margin-top: 62.5px;
}
body.working-environment main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.working-environment main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.working-environment main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.working-environment main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.working-environment main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.working-environment main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.working-environment main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.working-environment main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.working-environment main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.working-environment main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.working-environment main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.working-environment main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.working-environment main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.working-environment main section.top > div {
    position: relative;
    height: auto;
  }
  body.working-environment main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.working-environment main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.working-environment main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.working-environment main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.working-environment main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.working-environment main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.working-environment main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.working-environment main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.working-environment main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.working-environment main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.working-environment main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.working-environment main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.working-environment main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.working-environment main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.working-environment main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.working-environment main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.working-environment main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.working-environment main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.working-environment main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.working-environment main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.working-environment main section.content {
  margin-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.working-environment main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.working-environment main section.content h2 {
  position: relative;
  margin-bottom: 33px;
  padding: 10px 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  border-top: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
}
body.working-environment main section.content h2:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
body.working-environment main section.content h2:after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.working-environment main section.content h2 {
    margin-bottom: 30px;
  }
}
body.working-environment main section.content > p {
  margin-bottom: 20px;
  font-size: 16px;
  color: #000;
}
body.working-environment main section.content h3 {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 24px 0 24px 86px;
  background-color: #E5F1FF;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  font-size: 18px;
}
body.working-environment main section.content h3 span {
  position: absolute;
  top: 0;
  left: 0;
  width: 74px;
  height: 100%;
  font-size: 30px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
  color: #fff;
  text-align: center;
  line-height: 74px;
  background: linear-gradient(to bottom, #00448D, #00144A);
}
@media screen and (min-width: 800px) {
  body.working-environment main section.content h3 {
    margin-bottom: 40px;
    padding: 28px 0 28px 117px;
    font-size: 24px;
  }
  body.working-environment main section.content h3 span {
    width: 91px;
    font-size: 40px;
    line-height: 91px;
  }
}
body.working-environment main section.content ol li {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
body.working-environment main section.content ol li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.working-environment main section.content ol li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.working-environment main section.content ol li:after {
    width: 290px;
  }
}
body.working-environment main section.content ol li h4 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 300;
  color: #000;
}
body.working-environment main section.content ol li h4 span {
  padding-right: 13px;
  color: #00448D;
}
body.working-environment main section.content ol li p {
  font-size: 16px;
  color: #000;
}
body.working-environment main section.content .headline_blue_bg {
  margin-bottom: 8px;
  padding: 5px;
  font-size: 16px;
  font-weight: 300;
  background-color: #E5F1FF;
}
body.working-environment main section.content .has-list-style {
  counter-reset: list-counter;
  margin-bottom: 20px;
}
body.working-environment main section.content .has-list-style:last-child {
  margin-bottom: 0;
}
body.working-environment main section.content .has-list-style li {
  counter-increment: list-counter;
  position: relative;
  margin-bottom: 10px;
  padding-left: 37px;
  padding-bottom: 0;
  font-size: 16px;
  color: #000;
}
body.working-environment main section.content .has-list-style li:last-child {
  margin-bottom: 0;
}
body.working-environment main section.content .has-list-style li:before {
  content: counter(list-counter, decimal-leading-zero) ".";
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  color: #00448D;
}
body.working-environment main section.content .has-list-style li:after {
  background-color: transparent;
}
body.working-environment main section.content .has-img ol li > div {
  margin-bottom: 10px;
}
body.working-environment main section.content .has-img ol li > img {
  display: block;
  width: 100%;
}
body.working-environment main .back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.working-environment main .back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.working-environment main .back-button a {
    max-width: 350px;
  }
}
body.working-environment main .back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.working-environment main .back-button {
    margin-bottom: 100px;
  }
}
body.about-chowa {
  margin-top: 62.5px;
}
body.about-chowa main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.about-chowa main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.about-chowa main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.about-chowa main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.about-chowa main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.about-chowa main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.about-chowa main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.about-chowa main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.about-chowa main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.about-chowa main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.about-chowa main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.about-chowa main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.about-chowa main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.about-chowa main section.top > div {
    position: relative;
    height: auto;
  }
  body.about-chowa main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.about-chowa main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.about-chowa main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.about-chowa main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.about-chowa main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.about-chowa main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.about-chowa main section.leading {
  position: relative;
  margin: 0 auto 35px;
  padding-top: 60px;
  max-width: 1366px;
}
body.about-chowa main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.about-chowa main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.about-chowa main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.about-chowa main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.about-chowa main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.about-chowa main section.leading > p {
  position: absolute;
  bottom: -280px;
  left: 0;
  width: min(100%, 390px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.about-chowa main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.about-chowa main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.about-chowa main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.about-chowa main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.about-chowa main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.about-chowa main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.about-chowa main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.about-chowa main section.leading .slider {
  width: 100%;
}
body.about-chowa main section.leading .slider .splide__slide img {
  display: block;
  height: 413px;
}
body.about-chowa main section.leading > p {
  color: #000;
  background-color: transparent;
}
body.about-chowa main section.mission {
  padding-top: 320px;
  padding-bottom: 55px;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 1366px) {
  body.about-chowa main section.mission {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.about-chowa main section.mission h2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: 14px;
  font-weight: 600;
  padding-left: 20px;
  margin-bottom: 20px;
  font-weight: 400;
}
body.about-chowa main section.mission h2 .h-2color-line {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 6px;
  background-color: #E5F1FF;
}
body.about-chowa main section.mission h2 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.about-chowa main section.mission > article {
  margin-left: 0px;
  margin-right: 0px;
  padding: 40px 20px 60px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(to bottom, #00448D, #00144A);
}
@media screen and (min-width: 1366px) {
  body.about-chowa main section.mission > article {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
body.about-chowa main section.mission > article .head {
  position: relative;
  margin-bottom: 60px;
  padding: 35px 0;
  text-align: center;
  background-color: #fff;
}
body.about-chowa main section.mission > article .head:after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/philosophy/content-head-bg.webp);
  bottom: 0;
  right: 0;
  width: 239px;
  height: 178px;
}
body.about-chowa main section.mission > article .head h2 {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 2.5;
}
body.about-chowa main section.mission > article .head h2 span {
  padding-bottom: 10px;
  border-bottom: 1px solid #00448D;
}
body.about-chowa main section.mission > article .head p {
  font-size: 14px;
}
body.about-chowa main section.mission > article .signature p {
  margin-top: 60px;
  font-size: 16px;
  color: #fff;
  text-align: right;
}
body.about-chowa main section.mission > article > p {
  font-size: 16px;
  color: #fff;
  line-height: 1.7;
}
@media screen and (min-width: 800px) {
  body.about-chowa main section.mission > article {
    margin-left: 0px;
    margin-right: 0px;
    padding: 60px 45px 95px;
  }
  body.about-chowa main section.mission > article .head:after {
    right: 35px;
    width: 516px;
    height: 160px;
  }
  body.about-chowa main section.mission > article > p {
    font-size: 18px;
    text-align: center;
    width: min(90%, 992px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.about-chowa main section.mission > article {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
body.about-chowa main section.mission > article h3 {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 2.5;
}
body.about-chowa main section.mission > article h3 span {
  padding-bottom: 10px;
  border-bottom: 1px solid #00448D;
}
body.about-chowa main section.mission > article .signature {
  margin-top: 60px;
  font-size: 16px;
  color: #fff;
  text-align: right;
}
body.about-chowa main section.brand-message {
  margin-bottom: 66px;
}
body.about-chowa main section.brand-message h2 {
  padding-left: 20px;
  font-size: 14px;
  font-weight: 400;
}
body.about-chowa main section.brand-message h2 .h-2color-line {
  position: relative;
  bottom: 4px;
  display: inline-block;
  width: 24px;
  height: 1px;
  margin-left: 10px;
  margin-top: 6px;
  background-color: #E5F1FF;
}
body.about-chowa main section.brand-message h2 .h-2color-line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
body.about-chowa main section.brand-message h2 span:last-child {
  display: block;
  padding-top: 26px;
}
body.about-chowa main section.brand-message > div {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.about-chowa main section.brand-message > div {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.about-chowa main section.brand-message > div h3 {
  padding: 40px 0 30px;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-align: center;
}
body.about-chowa main section.brand-message > div > div {
  font-size: 16px;
  color: #000;
}
body.about-chowa main section.brand-message > div > div p {
  padding-bottom: 20px;
}
body.about-chowa main section.brand-message > div > div span {
  display: block;
  text-align: right;
}
body.about-chowa main div.back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.about-chowa main div.back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.about-chowa main div.back-button a {
    max-width: 350px;
  }
}
body.about-chowa main div.back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.about-chowa main div.back-button {
    margin-bottom: 100px;
  }
}
body.mid-career-recruitment, body.new-graduates-recruitment {
  margin-top: 62.5px;
}
body.mid-career-recruitment main section.top, body.new-graduates-recruitment main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.mid-career-recruitment main section.top, body.new-graduates-recruitment main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.mid-career-recruitment main section.top > div, body.new-graduates-recruitment main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.mid-career-recruitment main section.top > div .breadcrumb, body.new-graduates-recruitment main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.mid-career-recruitment main section.top > div .breadcrumb ul, body.new-graduates-recruitment main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.mid-career-recruitment main section.top > div .breadcrumb ul li, body.new-graduates-recruitment main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.mid-career-recruitment main section.top > div .breadcrumb ul li:not(:last-child):after, body.new-graduates-recruitment main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.mid-career-recruitment main section.top > div .breadcrumb ul li span, body.new-graduates-recruitment main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.mid-career-recruitment main section.top > div .breadcrumb ul li:last-child, body.new-graduates-recruitment main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.mid-career-recruitment main section.top > div h1, body.new-graduates-recruitment main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.mid-career-recruitment main section.top > div h1 p, body.new-graduates-recruitment main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.mid-career-recruitment main section.top > div h1 span, body.new-graduates-recruitment main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.mid-career-recruitment main section.top > div .main-image, body.new-graduates-recruitment main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main section.top > div, body.new-graduates-recruitment main section.top > div {
    position: relative;
    height: auto;
  }
  body.mid-career-recruitment main section.top > div .breadcrumb, body.new-graduates-recruitment main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.mid-career-recruitment main section.top > div h1, body.new-graduates-recruitment main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.mid-career-recruitment main section.top > div h1 p, body.new-graduates-recruitment main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.mid-career-recruitment main section.top > div h1 span, body.new-graduates-recruitment main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.mid-career-recruitment main section.top > div .main-image, body.new-graduates-recruitment main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.mid-career-recruitment main section.top > div .breadcrumb, body.new-graduates-recruitment main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.mid-career-recruitment main section.leading, body.new-graduates-recruitment main section.leading {
  position: relative;
  margin: 0 auto 60px;
  padding-top: 60px;
  max-width: 1366px;
}
body.mid-career-recruitment main section.leading > div, body.new-graduates-recruitment main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.mid-career-recruitment main section.leading > div h1, body.new-graduates-recruitment main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.mid-career-recruitment main section.leading > div h1 p, body.new-graduates-recruitment main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.mid-career-recruitment main section.leading > div h1 span, body.new-graduates-recruitment main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.mid-career-recruitment main section.leading > div .main-image, body.new-graduates-recruitment main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.mid-career-recruitment main section.leading > p, body.new-graduates-recruitment main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main section.leading, body.new-graduates-recruitment main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.mid-career-recruitment main section.leading > div, body.new-graduates-recruitment main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.mid-career-recruitment main section.leading > div h1, body.new-graduates-recruitment main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.mid-career-recruitment main section.leading > div h1 p, body.new-graduates-recruitment main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.mid-career-recruitment main section.leading > div h1 span, body.new-graduates-recruitment main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.mid-career-recruitment main section.leading > div .main-image, body.new-graduates-recruitment main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.mid-career-recruitment main section.leading > p, body.new-graduates-recruitment main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.mid-career-recruitment main section.content, body.new-graduates-recruitment main section.content {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1100px) {
  body.mid-career-recruitment main section.content, body.new-graduates-recruitment main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.mid-career-recruitment main section.content:last-child, body.new-graduates-recruitment main section.content:last-child {
  margin-bottom: 0;
}
body.mid-career-recruitment main section.content > h2, body.new-graduates-recruitment main section.content > h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 15px;
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  background-color: #00448D;
  cursor: pointer;
}
body.mid-career-recruitment main section.content > h2 .accordion-icon, body.new-graduates-recruitment main section.content > h2 .accordion-icon {
  position: relative;
  width: 15px;
  height: 15px;
  padding: 0;
}
body.mid-career-recruitment main section.content > h2 .accordion-icon:before, body.new-graduates-recruitment main section.content > h2 .accordion-icon:before {
  position: static;
  padding: 0;
  background-color: transparent;
}
body.mid-career-recruitment main section.content > h2 .accordion-icon:after, body.new-graduates-recruitment main section.content > h2 .accordion-icon:after {
  position: static;
  padding: 0;
  background-color: transparent;
}
body.mid-career-recruitment main section.content > h2 .accordion-icon .bar, body.new-graduates-recruitment main section.content > h2 .accordion-icon .bar {
  position: absolute;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 1px;
}
body.mid-career-recruitment main section.content > h2 .accordion-icon .bar:after, body.new-graduates-recruitment main section.content > h2 .accordion-icon .bar:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 7px;
  width: 1px;
  height: 14px;
  background-color: #fff;
  transform: translate(-50%, -50%);
}
body.mid-career-recruitment main section.content .details, body.new-graduates-recruitment main section.content .details {
  display: none;
  padding: 20px 17px;
  border: 1px solid #00448D;
}
body.mid-career-recruitment main section.content .details .no-details-taxt, body.new-graduates-recruitment main section.content .details .no-details-taxt {
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}
body.mid-career-recruitment main section.content .details dl, body.new-graduates-recruitment main section.content .details dl {
  position: relative;
}
body.mid-career-recruitment main section.content .details dl:before, body.new-graduates-recruitment main section.content .details dl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.mid-career-recruitment main section.content .details dl:after, body.new-graduates-recruitment main section.content .details dl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main section.content .details dl:after, body.new-graduates-recruitment main section.content .details dl:after {
    width: 290px;
  }
}
body.mid-career-recruitment main section.content .details dl > div, body.new-graduates-recruitment main section.content .details dl > div {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px 0;
}
body.mid-career-recruitment main section.content .details dl > div:before, body.new-graduates-recruitment main section.content .details dl > div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.mid-career-recruitment main section.content .details dl > div:after, body.new-graduates-recruitment main section.content .details dl > div:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main section.content .details dl > div:after, body.new-graduates-recruitment main section.content .details dl > div:after {
    width: 290px;
  }
}
body.mid-career-recruitment main section.content .details dl > div dt, body.new-graduates-recruitment main section.content .details dl > div dt {
  padding-bottom: 12px;
  font-size: 18px;
  font-weight: 400;
}
body.mid-career-recruitment main section.content .details dl > div dd, body.new-graduates-recruitment main section.content .details dl > div dd {
  width: 100%;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #000;
}
body.mid-career-recruitment main section.content .details dl > div dd .label, body.new-graduates-recruitment main section.content .details dl > div dd .label {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  padding: 8px 0 8px 10px;
  font-size: 16px;
  color: #00448D;
  background-color: #E5F1FF;
}
body.mid-career-recruitment main .is-open .accordion-icon .bar::after, body.new-graduates-recruitment main .is-open .accordion-icon .bar::after {
  display: none;
}
body.mid-career-recruitment main section.entry_flow, body.new-graduates-recruitment main section.entry_flow {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 53px;
  margin-bottom: 55px;
}
@media screen and (min-width: 1100px) {
  body.mid-career-recruitment main section.entry_flow, body.new-graduates-recruitment main section.entry_flow {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.mid-career-recruitment main section.entry_flow h2, body.new-graduates-recruitment main section.entry_flow h2 {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 400;
}
body.mid-career-recruitment main section.entry_flow ul, body.new-graduates-recruitment main section.entry_flow ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
body.mid-career-recruitment main section.entry_flow ul li, body.new-graduates-recruitment main section.entry_flow ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 16px;
  font-size: 16px;
}
body.mid-career-recruitment main section.entry_flow ul li span, body.new-graduates-recruitment main section.entry_flow ul li span {
  padding-right: 17px;
}
body.mid-career-recruitment main section.entry_flow ul li p, body.new-graduates-recruitment main section.entry_flow ul li p {
  color: #000;
}
body.mid-career-recruitment main section.entry_flow > p, body.new-graduates-recruitment main section.entry_flow > p {
  font-size: 16px;
  color: #000;
}
body.mid-career-recruitment main .entry-button, body.new-graduates-recruitment main .entry-button {
  margin-bottom: 60px;
  padding: 0 20px;
}
body.mid-career-recruitment main .entry-button > span, body.new-graduates-recruitment main .entry-button > span {
  display: block;
  margin-bottom: 16px;
  font-weight: 400;
  text-align: center;
}
body.mid-career-recruitment main .entry-button a, body.new-graduates-recruitment main .entry-button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  background-color: #00448D;
  border-radius: 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
body.mid-career-recruitment main .entry-button a > div, body.new-graduates-recruitment main .entry-button a > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  font-weight: 700;
}
body.mid-career-recruitment main .entry-button a > div span, body.new-graduates-recruitment main .entry-button a > div span {
  font-size: 14px;
  font-weight: 600;
}
body.mid-career-recruitment main .entry-button a .arrow, body.new-graduates-recruitment main .entry-button a .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: #f5f5f5;
}
body.mid-career-recruitment main .entry-button a .arrow:after, body.new-graduates-recruitment main .entry-button a .arrow:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  margin-right: 2px;
  border-right: 1px solid #00448D;
  border-bottom: 1px solid #00448D;
  transform: rotate(-45deg);
}
body.mid-career-recruitment main .entry-button a:hover, body.new-graduates-recruitment main .entry-button a:hover {
  opacity: 0.6;
  transition: 0.4s;
}
body.mid-career-recruitment main .entry-button > p, body.new-graduates-recruitment main .entry-button > p {
  margin-top: 10px;
  font-size: 14px;
  text-align: left;
  color: #000;
}
body.mid-career-recruitment main .back-button, body.new-graduates-recruitment main .back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.mid-career-recruitment main .back-button a, body.new-graduates-recruitment main .back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main .back-button a, body.new-graduates-recruitment main .back-button a {
    max-width: 350px;
  }
}
body.mid-career-recruitment main .back-button a:before, body.new-graduates-recruitment main .back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main .back-button, body.new-graduates-recruitment main .back-button {
    margin-bottom: 100px;
  }
}
body.comeback-contact, body.mid-career-contact, body.new-graduates-contact {
  margin-top: 62.5px;
}
body.comeback-contact main section.top, body.mid-career-contact main section.top, body.new-graduates-contact main section.top {
  background-image: url(../images/top-blue-bg-sp.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  min-height: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1366px) {
  body.comeback-contact main section.top, body.mid-career-contact main section.top, body.new-graduates-contact main section.top {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
body.comeback-contact main section.top > div, body.mid-career-contact main section.top > div, body.new-graduates-contact main section.top > div {
  max-width: 1366px;
  padding-bottom: 0;
}
body.comeback-contact main section.top > div .breadcrumb, body.mid-career-contact main section.top > div .breadcrumb, body.new-graduates-contact main section.top > div .breadcrumb {
  padding: 15px 0;
}
body.comeback-contact main section.top > div .breadcrumb ul, body.mid-career-contact main section.top > div .breadcrumb ul, body.new-graduates-contact main section.top > div .breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: #7C8EAD;
}
body.comeback-contact main section.top > div .breadcrumb ul li, body.mid-career-contact main section.top > div .breadcrumb ul li, body.new-graduates-contact main section.top > div .breadcrumb ul li {
  white-space: nowrap;
}
body.comeback-contact main section.top > div .breadcrumb ul li:not(:last-child):after, body.mid-career-contact main section.top > div .breadcrumb ul li:not(:last-child):after, body.new-graduates-contact main section.top > div .breadcrumb ul li:not(:last-child):after {
  content: "ー";
  margin: 0 8px;
}
body.comeback-contact main section.top > div .breadcrumb ul li span, body.mid-career-contact main section.top > div .breadcrumb ul li span, body.new-graduates-contact main section.top > div .breadcrumb ul li span {
  color: #fff;
}
body.comeback-contact main section.top > div .breadcrumb ul li:last-child, body.mid-career-contact main section.top > div .breadcrumb ul li:last-child, body.new-graduates-contact main section.top > div .breadcrumb ul li:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.comeback-contact main section.top > div h1, body.mid-career-contact main section.top > div h1, body.new-graduates-contact main section.top > div h1 {
  padding-top: 40px;
  line-height: 1.2;
}
body.comeback-contact main section.top > div h1 p, body.mid-career-contact main section.top > div h1 p, body.new-graduates-contact main section.top > div h1 p {
  padding-bottom: 10px;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.08em;
}
body.comeback-contact main section.top > div h1 span, body.mid-career-contact main section.top > div h1 span, body.new-graduates-contact main section.top > div h1 span {
  padding: 0 5px;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 300;
  background-color: #fff;
}
body.comeback-contact main section.top > div .main-image, body.mid-career-contact main section.top > div .main-image, body.new-graduates-contact main section.top > div .main-image {
  margin-top: 28px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 165px;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.top > div, body.mid-career-contact main section.top > div, body.new-graduates-contact main section.top > div {
    position: relative;
    height: auto;
  }
  body.comeback-contact main section.top > div .breadcrumb, body.mid-career-contact main section.top > div .breadcrumb, body.new-graduates-contact main section.top > div .breadcrumb {
    padding: 33px 0;
  }
  body.comeback-contact main section.top > div h1, body.mid-career-contact main section.top > div h1, body.new-graduates-contact main section.top > div h1 {
    position: absolute;
    top: 180px;
    left: 25px;
    z-index: 1;
    padding-top: 0;
  }
  body.comeback-contact main section.top > div h1 p, body.mid-career-contact main section.top > div h1 p, body.new-graduates-contact main section.top > div h1 p {
    font-size: 78px;
    padding-bottom: 20px;
  }
  body.comeback-contact main section.top > div h1 span, body.mid-career-contact main section.top > div h1 span, body.new-graduates-contact main section.top > div h1 span {
    padding: 0 10px;
    font-size: 39px;
  }
  body.comeback-contact main section.top > div .main-image, body.mid-career-contact main section.top > div .main-image, body.new-graduates-contact main section.top > div .main-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    margin-top: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.comeback-contact main section.top > div .breadcrumb, body.mid-career-contact main section.top > div .breadcrumb, body.new-graduates-contact main section.top > div .breadcrumb {
    padding: 33px 20px;
  }
}
body.comeback-contact main section.leading, body.mid-career-contact main section.leading, body.new-graduates-contact main section.leading {
  position: relative;
  margin: 0 auto 0;
  padding-top: 60px;
  max-width: 1366px;
}
body.comeback-contact main section.leading > div, body.mid-career-contact main section.leading > div, body.new-graduates-contact main section.leading > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
body.comeback-contact main section.leading > div h1, body.mid-career-contact main section.leading > div h1, body.new-graduates-contact main section.leading > div h1 {
  margin-bottom: 60px;
  padding-left: 20px;
  line-height: 1;
  border-left: 26px solid #00448D;
}
body.comeback-contact main section.leading > div h1 p, body.mid-career-contact main section.leading > div h1 p, body.new-graduates-contact main section.leading > div h1 p {
  padding-top: 5px;
  padding-bottom: 28px;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
body.comeback-contact main section.leading > div h1 span, body.mid-career-contact main section.leading > div h1 span, body.new-graduates-contact main section.leading > div h1 span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
body.comeback-contact main section.leading > div .main-image, body.mid-career-contact main section.leading > div .main-image, body.new-graduates-contact main section.leading > div .main-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: calc(100% - 20px);
  height: 188px;
  margin-left: auto;
}
body.comeback-contact main section.leading > p, body.mid-career-contact main section.leading > p, body.new-graduates-contact main section.leading > p {
  position: absolute;
  bottom: 80px;
  left: 0;
  width: calc(100% - 43px);
  padding: 20px 20px 0 20px;
  font-size: 16px;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.leading, body.mid-career-contact main section.leading, body.new-graduates-contact main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.comeback-contact main section.leading > div, body.mid-career-contact main section.leading > div, body.new-graduates-contact main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.comeback-contact main section.leading > div h1, body.mid-career-contact main section.leading > div h1, body.new-graduates-contact main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.comeback-contact main section.leading > div h1 p, body.mid-career-contact main section.leading > div h1 p, body.new-graduates-contact main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.comeback-contact main section.leading > div h1 span, body.mid-career-contact main section.leading > div h1 span, body.new-graduates-contact main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.comeback-contact main section.leading > div .main-image, body.mid-career-contact main section.leading > div .main-image, body.new-graduates-contact main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.comeback-contact main section.leading > p, body.mid-career-contact main section.leading > p, body.new-graduates-contact main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
body.comeback-contact main .caption, body.mid-career-contact main .caption, body.new-graduates-contact main .caption {
  margin-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 16px;
  color: #000;
}
@media screen and (min-width: 1100px) {
  body.comeback-contact main .caption, body.mid-career-contact main .caption, body.new-graduates-contact main .caption {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.comeback-contact main section.content, body.mid-career-contact main section.content, body.new-graduates-contact main section.content {
  margin-bottom: 60px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1100px) {
  body.comeback-contact main section.content, body.mid-career-contact main section.content, body.new-graduates-contact main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
body.comeback-contact main section.content > p, body.mid-career-contact main section.content > p, body.new-graduates-contact main section.content > p {
  padding: 60px 0 28px;
  font-size: 16px;
  color: #000;
}
body.comeback-contact main section.content fieldset, body.mid-career-contact main section.content fieldset, body.new-graduates-contact main section.content fieldset {
  margin-bottom: 34px;
}
body.comeback-contact main section.content fieldset:nth-child(3), body.mid-career-contact main section.content fieldset:nth-child(3), body.new-graduates-contact main section.content fieldset:nth-child(3) {
  margin-bottom: 8px;
}
body.comeback-contact main section.content fieldset legend, body.mid-career-contact main section.content fieldset legend, body.new-graduates-contact main section.content fieldset legend {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 30px;
  padding: 24px 0 24px 86px;
  background-color: #E5F1FF;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
}
body.comeback-contact main section.content fieldset legend span, body.mid-career-contact main section.content fieldset legend span, body.new-graduates-contact main section.content fieldset legend span {
  position: absolute;
  top: 0;
  left: 0;
  width: 74px;
  height: 100%;
  font-size: 30px;
  font-family: "geologica-variable", sans-serif;
  font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
  color: #fff;
  text-align: center;
  line-height: 74px;
  background: linear-gradient(to bottom, #00448D, #00144A);
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset legend, body.mid-career-contact main section.content fieldset legend, body.new-graduates-contact main section.content fieldset legend {
    margin-bottom: 40px;
    padding: 28px 0 28px 117px;
    font-size: 24px;
  }
  body.comeback-contact main section.content fieldset legend span, body.mid-career-contact main section.content fieldset legend span, body.new-graduates-contact main section.content fieldset legend span {
    width: 91px;
    font-size: 40px;
    line-height: 91px;
  }
}
body.comeback-contact main section.content fieldset > div, body.mid-career-contact main section.content fieldset > div, body.new-graduates-contact main section.content fieldset > div {
  position: relative;
  margin-bottom: 26px;
  padding-bottom: 17px;
  color: #000;
}
body.comeback-contact main section.content fieldset > div:before, body.mid-career-contact main section.content fieldset > div:before, body.new-graduates-contact main section.content fieldset > div:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E5F1FF;
}
body.comeback-contact main section.content fieldset > div:after, body.mid-career-contact main section.content fieldset > div:after, body.new-graduates-contact main section.content fieldset > div:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 12px;
  height: 1px;
  background-color: #00448D;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div:after, body.mid-career-contact main section.content fieldset > div:after, body.new-graduates-contact main section.content fieldset > div:after {
    width: 290px;
  }
}
body.comeback-contact main section.content fieldset > div .form-label, body.mid-career-contact main section.content fieldset > div .form-label, body.new-graduates-contact main section.content fieldset > div .form-label {
  position: relative;
  display: block;
  margin-bottom: 22px;
  padding-left: 23px;
  font-size: 16px;
}
body.comeback-contact main section.content fieldset > div .form-label:before, body.mid-career-contact main section.content fieldset > div .form-label:before, body.new-graduates-contact main section.content fieldset > div .form-label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 9px;
  height: 9px;
  background-color: #00448D;
  transform: translateY(-50%) rotate(45deg);
}
body.comeback-contact main section.content fieldset > div .form-label span, body.mid-career-contact main section.content fieldset > div .form-label span, body.new-graduates-contact main section.content fieldset > div .form-label span {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 50px;
  height: 24px;
  background-color: #E60000;
  font-size: 14px;
  text-align: center;
  line-height: 24px;
  color: #fff;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .form-label, body.mid-career-contact main section.content fieldset > div .form-label, body.new-graduates-contact main section.content fieldset > div .form-label {
    width: 270px;
    margin-bottom: 0;
    padding-left: 28px;
    font-size: 18px;
  }
  body.comeback-contact main section.content fieldset > div .form-label:before, body.mid-career-contact main section.content fieldset > div .form-label:before, body.new-graduates-contact main section.content fieldset > div .form-label:before {
    width: 18px;
    height: 18px;
  }
}
body.comeback-contact main section.content fieldset > div .content-with-caption small, body.mid-career-contact main section.content fieldset > div .content-with-caption small, body.new-graduates-contact main section.content fieldset > div .content-with-caption small {
  display: block;
  margin-top: 10px;
  font-size: 14px;
}
body.comeback-contact main section.content fieldset > div .checkbox input[type="checkbox"], body.mid-career-contact main section.content fieldset > div .checkbox input[type="checkbox"], body.new-graduates-contact main section.content fieldset > div .checkbox input[type="checkbox"] {
  display: none;
}
body.comeback-contact main section.content fieldset > div .checkbox .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .checkbox .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .checkbox .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.comeback-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.comeback-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset > div .checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
}
body.comeback-contact main section.content fieldset > div .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset > div .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset > div .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg);
  position: absolute;
  left: 9px;
  top: 5px;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .checkbox .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .checkbox .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .checkbox .wpcf7-list-item {
    display: inline-block;
    width: calc(100% / 3);
    margin: 0 0 23px 0;
  }
}
body.comeback-contact main section.content fieldset > div textarea, body.mid-career-contact main section.content fieldset > div textarea, body.new-graduates-contact main section.content fieldset > div textarea {
  width: 100%;
  max-width: 788px;
  padding: 12px 10px;
  border: 1px solid #00448D;
}
body.comeback-contact main section.content fieldset > div textarea::placeholder, body.mid-career-contact main section.content fieldset > div textarea::placeholder, body.new-graduates-contact main section.content fieldset > div textarea::placeholder {
  font-size: 16px;
  opacity: 0.25;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div textarea::placeholder, body.mid-career-contact main section.content fieldset > div textarea::placeholder, body.new-graduates-contact main section.content fieldset > div textarea::placeholder {
    font-size: 18px;
  }
}
body.comeback-contact main section.content fieldset > div .radio-button input[type="radio"], body.mid-career-contact main section.content fieldset > div .radio-button input[type="radio"], body.new-graduates-contact main section.content fieldset > div .radio-button input[type="radio"] {
  display: none;
}
body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
}
body.comeback-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg);
  position: absolute;
  left: 9px;
  top: 5px;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item {
    display: inline-block;
    margin: 0 46px 0 0;
  }
}
body.comeback-contact main section.content fieldset > div .text-form, body.mid-career-contact main section.content fieldset > div .text-form, body.new-graduates-contact main section.content fieldset > div .text-form {
  width: 100%;
  padding: 12px 10px 12px;
  border: 1px solid #00448D;
}
body.comeback-contact main section.content fieldset > div .text-form::placeholder, body.mid-career-contact main section.content fieldset > div .text-form::placeholder, body.new-graduates-contact main section.content fieldset > div .text-form::placeholder {
  font-size: 16px;
  opacity: 0.25;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .text-form::placeholder, body.mid-career-contact main section.content fieldset > div .text-form::placeholder, body.new-graduates-contact main section.content fieldset > div .text-form::placeholder {
    font-size: 18px;
  }
}
body.comeback-contact main section.content fieldset > div small, body.mid-career-contact main section.content fieldset > div small, body.new-graduates-contact main section.content fieldset > div small {
  display: block;
  margin-top: 10px;
  font-size: 14px;
}
body.comeback-contact main section.content fieldset > div .select-box-wrap, body.mid-career-contact main section.content fieldset > div .select-box-wrap, body.new-graduates-contact main section.content fieldset > div .select-box-wrap {
  position: relative;
  flex: 1;
  width: 100%;
  max-width: 788px;
  margin-left: 0;
}
body.comeback-contact main section.content fieldset > div .select-box-wrap:after, body.mid-career-contact main section.content fieldset > div .select-box-wrap:after, body.new-graduates-contact main section.content fieldset > div .select-box-wrap:after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 1px #00448D;
  border-right: solid 1px #00448D;
  transform: rotate(45deg) translate(-50%, 0%);
  position: absolute;
  top: 50%;
  right: 22px;
}
body.comeback-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap, body.mid-career-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap, body.new-graduates-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap {
  margin-left: 0;
}
body.comeback-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap .select-box, body.mid-career-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap .select-box, body.new-graduates-contact main section.content fieldset > div .select-box-wrap .wpcf7-form-control-wrap .select-box {
  flex: 1;
  width: 100%;
  max-width: 788px;
  padding: 12px 10px 12px;
  -webkit-appearance: none;
  appearance: none;
  color: #000;
  border: 1px solid #00448D;
  background-color: #fff;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .select-box-wrap, body.mid-career-contact main section.content fieldset > div .select-box-wrap, body.new-graduates-contact main section.content fieldset > div .select-box-wrap {
    margin-left: 27px;
  }
}
body.comeback-contact main section.content fieldset > div .text-link, body.mid-career-contact main section.content fieldset > div .text-link, body.new-graduates-contact main section.content fieldset > div .text-link {
  text-decoration: underline;
}
body.comeback-contact main section.content fieldset .agree, body.mid-career-contact main section.content fieldset .agree, body.new-graduates-contact main section.content fieldset .agree {
  margin: 0;
  padding: 0;
}
body.comeback-contact main section.content fieldset .agree input[type="checkbox"], body.mid-career-contact main section.content fieldset .agree input[type="checkbox"], body.new-graduates-contact main section.content fieldset .agree input[type="checkbox"] {
  display: none;
}
body.comeback-contact main section.content fieldset .agree .wpcf7-list-item, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item {
  display: block;
  margin: 0 0 20px 0;
  font-size: 16px;
  color: #000;
}
body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label {
  position: relative;
  padding-left: 40px;
  display: inline-block;
}
body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 27px;
  height: 27px;
  border: 1px solid #00448D;
  background-color: #fff;
  border-radius: 27px;
}
body.comeback-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  border-top: 2px solid #00448D;
  border-right: 2px solid #00448D;
  transform: rotate(130deg) translate(-40%, 50%);
  position: absolute;
  left: 9px;
  top: 50%;
}
body.comeback-contact main section.content fieldset .agree:before, body.mid-career-contact main section.content fieldset .agree:before, body.new-graduates-contact main section.content fieldset .agree:before {
  display: none;
}
body.comeback-contact main section.content fieldset .agree:after, body.mid-career-contact main section.content fieldset .agree:after, body.new-graduates-contact main section.content fieldset .agree:after {
  display: none;
}
body.comeback-contact main section.content fieldset .agree fieldset, body.mid-career-contact main section.content fieldset .agree fieldset, body.new-graduates-contact main section.content fieldset .agree fieldset {
  margin-bottom: 0;
}
body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label {
  font-size: 15px;
}
body.comeback-contact main section.content fieldset .note, body.mid-career-contact main section.content fieldset .note, body.new-graduates-contact main section.content fieldset .note {
  margin-top: -15px;
  padding-left: 40px;
  font-size: 14px;
}
body.comeback-contact main section.content .submit-button, body.mid-career-contact main section.content .submit-button, body.new-graduates-contact main section.content .submit-button {
  position: relative;
  width: 290px;
  height: 56px;
  margin: 0 auto 60px;
}
body.comeback-contact main section.content .submit-button input[type="submit"], body.mid-career-contact main section.content .submit-button input[type="submit"], body.new-graduates-contact main section.content .submit-button input[type="submit"] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 290px;
  margin: 0 auto;
  padding: 15px 20px;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-weight: bold;
  color: #fff;
  background-color: #00448D;
  border: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
body.comeback-contact main section.content .submit-button .wpcf7-spinner, body.mid-career-contact main section.content .submit-button .wpcf7-spinner, body.new-graduates-contact main section.content .submit-button .wpcf7-spinner {
  display: none;
}
body.comeback-contact main section.content .submit-button:before, body.mid-career-contact main section.content .submit-button:before, body.new-graduates-contact main section.content .submit-button:before {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 1px;
  background-color: #fff;
  border-radius: 1px;
  z-index: 1;
}
body.comeback-contact main section.content .submit-button:after, body.mid-career-contact main section.content .submit-button:after, body.new-graduates-contact main section.content .submit-button:after {
  content: "";
  position: absolute;
  top: 52%;
  right: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid #fff;
  clip-path: polygon(0 0, 100% 50%, 0 50%);
  z-index: 1;
}
body.comeback-contact main section.content .submit-button:hover, body.mid-career-contact main section.content .submit-button:hover, body.new-graduates-contact main section.content .submit-button:hover {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.content .submit-button, body.mid-career-contact main section.content .submit-button, body.new-graduates-contact main section.content .submit-button {
    width: 370px;
    font-size: 20px;
  }
  body.comeback-contact main section.content .submit-button input[type="submit"], body.mid-career-contact main section.content .submit-button input[type="submit"], body.new-graduates-contact main section.content .submit-button input[type="submit"] {
    width: 370px;
  }
}
body.comeback-contact main .back-button, body.mid-career-contact main .back-button, body.new-graduates-contact main .back-button {
  margin-bottom: 60px;
  text-align: center;
}
body.comeback-contact main .back-button a, body.mid-career-contact main .back-button a, body.new-graduates-contact main .back-button a {
  position: relative;
  position: relative;
  display: inline-block;
  width: calc(100% - 80px);
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #00448D;
  background: #fff;
  border: 1px solid #00448D;
  max-width: 350px;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main .back-button a, body.mid-career-contact main .back-button a, body.new-graduates-contact main .back-button a {
    max-width: 350px;
  }
}
body.comeback-contact main .back-button a:before, body.mid-career-contact main .back-button a:before, body.new-graduates-contact main .back-button a:before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  background-image: url(../images/back-arrow.svg);
  width: 17.7px;
  height: 4.89px;
}
@media screen and (min-width: 800px) {
  body.comeback-contact main .back-button, body.mid-career-contact main .back-button, body.new-graduates-contact main .back-button {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1024px) {
  /**
    * ------------------------------------------------------------
    * header
    * ------------------------------------------------------------
    */
  body {
    margin: 61px 0 0 0;
  }
  body > .header {
    max-height: 61px;
    box-shadow: none;
  }
  body > .header > div {
    position: static;
    padding: 16px 25px;
  }
  body > .header > div .logo {
    height: 29px;
  }
  body > .header > div .main-nav {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  body > .header > div .main-nav ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
  }
  body > .header > div .main-nav ul li {
    display: block;
    margin-right: 32px;
  }
  body > .header > div .main-nav ul li:nth-child(3) {
    margin-right: 40px;
  }
  body > .header > div .main-nav ul li:has(> a.btn-recruit) {
    margin-right: 26px;
  }
  body > .header > div .main-nav ul li:nth-child(5) {
    margin-right: 10px;
  }
  body > .header > div .main-nav ul li:nth-child(6) {
    margin-right: 0px;
  }
  body > .header > div .main-nav ul li .btn-recruit {
    margin-right: 0;
    padding: 6px 14px;
    font-size: 20px;
    color: #fff;
  }
  body > .header > div .main-nav ul li.has-submenu {
    position: static;
    font-size: 20px;
  }
  body > .header > div .main-nav ul li.has-submenu.open .submenu {
    display: block;
    transform: translateY(0);
    width: 100vw;
  }
  body > .header > div .main-nav ul li.has-submenu.open button::after {
    opacity: 1;
  }
  body > .header > div .main-nav ul li.has-submenu button {
    all: unset;
    position: relative;
    cursor: pointer;
    transition: 0.4s;
  }
  body > .header > div .main-nav ul li.has-submenu button:after {
    content: "";
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 2px;
    border-width: 12px 9px;
    border-style: solid;
    border-color: transparent transparent #E5F1FF transparent;
    opacity: 0;
  }
  body > .header > div .main-nav ul li.has-submenu button:hover {
    opacity: 0.7;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu {
    position: absolute;
    top: 61px;
    left: 0;
    display: none;
    width: 100vw;
    font-size: 18px;
    background-color: #E5F1FF;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu .current {
    padding-bottom: 3px;
    border-bottom: 2px solid #00448D;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu ul {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: min(100vw, 1366px);
    margin: 0 auto;
    padding: 12px 20px;
    gap: 20px;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu ul li:last-child {
    margin-right: 0;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu ul li a {
    color: #00448D;
    font-weight: 400;
    white-space: nowrap;
  }
  body > .header > div .main-nav ul li.has-submenu .submenu ul li a:hover {
    text-decoration: underline;
  }
  body > .header > div .main-nav .header_sns_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    margin-right: 12px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body > .header > div .main-nav .header_sns_link:last-child {
    margin-right: 0px;
  }
  body > .header > div .main-nav .header_sns_link img {
    width: 18px;
    height: 20px;
    object-fit: contain;
  }
  body > .header > div .main-nav .header_sns_link:last-child {
    margin-right: 0;
  }
  body > .header > div .hamburger-icon {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  /**
    * ------------------------------------------------------------
    * リクルートページ用のheader
    * ------------------------------------------------------------
    */
  body > .recruit-header {
    flex-wrap: wrap;
    padding-left: 20px;
    padding-right: 20px;
    box-shadow: none;
  }
  body > .recruit-header .main-nav {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  body > .recruit-header .main-nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  body > .recruit-header .main-nav ul li .btn-main-nav-entry {
    display: block;
    padding: 10px 24px;
    font-size: 16px;
    font-weight: 400;
    background-color: #CCE56A;
    color: #00144A;
    border-radius: 22px;
  }
  body > .recruit-header .main-nav ul li .btn-main-nav-entry:hover {
    background-color: #FFEF71;
    transition: 0.4s;
    opacity: 1;
  }
  body > .recruit-header .main-nav ul li:nth-child(1) .btn-main-nav-entry {
    margin-right: 10px;
  }
  body > .recruit-header .main-nav ul li:nth-child(2) .btn-main-nav-entry {
    margin-right: 21px;
  }
  body > .recruit-header .main-nav ul li .btn-home {
    margin-right: 17px;
    padding: 15px 14px;
    font-size: 15px;
    font-weight: 400;
    background-color: #00448D;
    color: #fff;
  }
  body > .recruit-header .main-nav ul li .header_sns_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    margin-right: 12px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body > .recruit-header .main-nav ul li .header_sns_link:last-child {
    margin-right: 0px;
  }
  body > .recruit-header .main-nav ul li .header_sns_link img {
    width: 35px;
    height: 20px;
    object-fit: contain;
  }
  body > .recruit-header .recruit-contents {
    display: block;
    width: 100%;
  }
  body > .recruit-header .recruit-contents ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 92%;
    margin: 0 auto;
    padding: 15px 0;
  }
  body > .recruit-header .recruit-contents ul li a {
    font-size: 18px;
    font-weight: 400;
  }
  body > .recruit-header .btn-entry {
    display: none;
  }
  body > .recruit-header .recruit-hamburger-icon {
    display: none;
  }
}
@media screen and (min-width: 1200px) and (min-width: 1366px) {
  body > .recruit-header {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) {
  /**
 * ------------------------------------------------------------
 * 通常ページ共通ヘッダー直前のリクルートページへの誘導エリア
 * ------------------------------------------------------------
 */
  body > footer {
    padding-top: 60px;
  }
  body > footer .info {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 20px;
    padding-right: 20px;
  }
  body > footer .info .logo {
    margin-bottom: 80px;
    padding: 0 130px 0 0;
  }
  body > footer .info .logo img {
    width: 256px;
  }
  body > footer .info .contact {
    grid-template-rows: auto auto;
    column-gap: 30px;
    margin: 0;
    padding: 0;
  }
  body > footer .info .contact h3 {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding-top: 9px;
    padding-bottom: 0;
  }
  body > footer .info .contact .letter img {
    width: 42px;
    height: auto;
    padding-bottom: 5px;
    padding-right: 0;
  }
  body > footer .info .contact p {
    grid-row: 1;
    margin: 0;
    padding-top: 9px;
    white-space: nowrap;
  }
  body > footer .info .contact .contact-link {
    grid-column: 2;
    grid-row: 2;
  }
  body > footer .info .contact .contact-link a {
    position: relative;
    display: inline-block;
    width: min(25vw, 383px);
    padding: 15px 0;
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #00448D;
    background-color: #fff;
    border: 1px solid #00448D;
  }
  body > footer .info .contact .contact-link a:before {
    content: "";
    position: absolute;
    top: 52%;
    right: 20px;
    transform: translateY(-50%);
    width: 18px;
    height: 1px;
    background-color: #00448D;
    border-radius: 1px;
  }
  body > footer .info .contact .contact-link a:after {
    content: "";
    position: absolute;
    top: 52%;
    right: 20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #00448D;
    clip-path: polygon(0 0, 100% 50%, 0 50%);
  }
  body > footer .info .contact .contact-link a:hover {
    opacity: 1;
    border: 1px solid #2D3640;
    background-color: #E5F1FF;
    transition: 0.4s;
  }
  body > footer .access {
    display: grid;
    grid-template-columns: 340px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 40px;
    align-items: start;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 55px;
  }
  body > footer .access .address {
    grid-column: 1;
    grid-row: 1;
    padding: 34px 0;
    border-bottom: 1px solid #fff;
  }
  body > footer .access .map {
    grid-column: 2;
    grid-row: 1 / 4;
    border: none;
    padding: 0;
  }
  body > footer .access .map iframe {
    height: 266px;
  }
  body > footer .access .so-icon {
    grid-column: 1;
    grid-row: 2;
    display: block;
    max-width: 180px;
  }
  body > footer .access .privacy-policy-link {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    padding: 0 0 0 23px;
  }
  .leading-recruit {
    max-width: 1366px;
    padding: 25px 80px 37px;
    background-position: center;
  }
  .leading-recruit h2 {
    padding-top: 85px;
    padding-bottom: 30px;
    font-size: 38px;
  }
  .leading-recruit h2 .title {
    padding-bottom: 45px;
  }
  .leading-recruit h2 .arrow {
    position: relative;
  }
  .leading-recruit h2 .arrow:after {
    width: 32.45px;
    height: 7.68px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body > footer .info {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body > footer .access {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) {
  body.home main {
    background-image: url(../images/home/main-bg-pc.webp);
    background-size: 180%;
    background-position: top 160px left -500px;
  }
  body.home main section.top div.leading {
    flex-direction: row;
    height: 500px;
  }
  body.home main section.top div.leading .splide {
    flex: 1;
  }
  body.home main section.top div.leading .splide img {
    flex-shrink: 0;
    max-height: 623px;
    min-height: 350px;
    height: 500px;
    object-fit: cover;
  }
  body.home main section.top div.leading .text-area {
    flex-direction: column;
    width: clamp(495px, 40%, 682px);
    height: 100%;
    padding: 44px 0 36px;
  }
  body.home main section.top div.leading .text-area > div h2 {
    font-size: clamp(27px, 2vw, 40px);
  }
  body.home main section.top div.leading .text-area > div h2 span {
    font-size: clamp(18px, 1.5vw, 28px);
  }
  body.home main section.top .contact-link {
    margin-top: 50px;
    margin-bottom: 50px;
    text-align: center;
  }
  body.home main section.top .contact-link a {
    position: relative;
    display: inline-block;
    width: auto;
    padding: 16px 61px 16px 35px;
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #00448D;
    background-color: #fff;
    border: 1px solid #00448D;
  }
  body.home main section.top .contact-link a:before {
    content: "";
    position: absolute;
    top: 52%;
    right: 31px;
    transform: translateY(-50%);
    width: 18px;
    height: 1px;
    background-color: #00448D;
    border-radius: 1px;
  }
  body.home main section.top .contact-link a:after {
    content: "";
    position: absolute;
    top: 52%;
    right: 31px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #00448D;
    clip-path: polygon(0 0, 100% 50%, 0 50%);
  }
  body.home main section.links {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 90px;
    padding-left: 20px;
    padding-right: 20px;
    gap: 20px;
  }
  body.home main section.links:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 1190px;
    height: 1px;
    background-color: #f5f5f5;
  }
  body.home main section.links .links-section {
    flex: 1;
    margin-top: 50px;
    border: 1px solid #00448D;
    align-self: stretch;
    background-color: #fff;
  }
  body.home main section.links .links-section h3 {
    background-color: #00448D;
    color: #fff;
    font-size: 24px;
    text-align: center;
    padding: 9px 0;
  }
  body.home main section.links .links-section ul {
    list-style: none;
    margin: 0;
    padding: 10px 16px 22px;
  }
  body.home main section.links .links-section ul li {
    border-bottom: 1px solid #e5e5e5;
  }
  body.home main section.links .links-section ul li a {
    display: block;
    color: #000;
    font-size: 16px;
    padding: 12px 4px;
    text-decoration: none;
    position: relative;
  }
  body.home main section.links .links-section ul li a span {
    position: relative;
  }
  body.home main section.links .links-section ul li a span::after {
    content: "";
    position: absolute;
    right: -13px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: translateY(-50%) rotate(45deg);
  }
  body.home main section.contents_links {
    padding-left: 20px;
    padding-right: 20px;
  }
  body.home main section.contents_links .headline {
    min-height: 436px;
    background-position: 50% 30%;
  }
  body.home main section.contents_links .headline > div {
    position: absolute;
    bottom: 234px;
    width: 57%;
    max-width: 774px;
    padding: 28px 0;
    background-color: #fff;
    text-align: center;
  }
  body.home main section.contents_links .headline > div p {
    color: #00448D;
    font-size: 28px;
    font-size: clamp(18px, 2.5vw, 28px);
    text-shadow: none;
  }
  body.home main section.news {
    margin-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px;
  }
  body.home main section.news .headline {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 28px;
  }
  body.home main section.news .headline h3 {
    position: relative;
    margin-bottom: 0;
    padding-left: 16px;
    font-size: 24px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    letter-spacing: 0.08em;
  }
  body.home main section.news .headline h3::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 24px;
    background-color: #00448D;
  }
  body.home main section.news .headline > a {
    margin-left: 55px;
  }
  body.home main section.news .headline .sns-links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    margin-left: 40px;
    font-size: 16px;
  }
  body.home main section.news .headline .sns-links span {
    margin-right: 22px;
    letter-spacing: 0.2em;
    color: #000;
  }
  body.home main section.news .headline .sns-links a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 43px;
    height: 43px;
    margin-right: 12px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body.home main section.news .headline .sns-links a:last-child {
    margin-right: 0px;
  }
  body.home main section.news .headline .sns-links a img {
    width: 35px;
    height: 22px;
    object-fit: contain;
  }
  body.home main section.news ul {
    padding: 30px;
  }
  body.home main section.news ul li {
    padding-bottom: 24px;
    margin-bottom: 24px;
    font-size: 18px;
  }
  body.home main section.news ul li a {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  body.home main section.news ul li a span {
    display: inline;
    width: auto;
    font-size: 18px;
  }
  body.home main section.news ul li a span:first-child {
    display: inline;
    padding-bottom: 12px;
  }
  body.home main section.news ul li a span:last-child {
    display: inline;
  }
  body.home main section.news .sns-links {
    display: none;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.home main section.top div.leading {
    padding-left: calc(50vw - 960px);
    padding-right: calc(50vw - 960px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home main section.links {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home main section.contents_links {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home main section.news {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home main section.news .headline h3::before {
    width: 9px;
    height: 30px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home main section.news .headline h3 {
    font-size: 30px;
  }
}
@media screen and (min-width: 800px) {
  body.reform main section.top .leading {
    position: relative;
    background: url(../images/reform/top-leading-bg1.webp) no-repeat 0px 85px, url(../images/reform/top-leading-bg2.webp) no-repeat calc(50% + 55px) -45px, url(../images/reform/top-leading-bg3.webp) no-repeat calc(100% - 59px) 55px;
    background-size: 104px auto, 83px auto, 111px auto;
    width: min(100vw, 1366px);
    min-height: 381px;
    margin: 0 auto;
    overflow: visible;
  }
  body.reform main section.top .leading img {
    top: 55px;
    left: calc(100% - 100px);
    z-index: 15;
    transform: translateX(-100%);
    width: clamp(320px, 29vw, 404px);
  }
  body.reform main section.top .leading h1 {
    bottom: 85px;
    left: min(15vw, 200px);
    z-index: 20;
    transform: translateX(0);
    font-size: min(3.7vw, 50px);
  }
  body.reform main section.top .sub {
    position: relative;
    background-color: #E59E2C;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 4vw;
    padding-bottom: 4vw;
    overflow: hidden;
  }
  body.reform main section.top .sub:before {
    content: "";
    position: absolute;
    top: -11px;
    left: 0;
    background-size: contain;
    background-repeat: repeat-x;
    width: 100%;
    height: 12px;
    background-image: url(../images/reform/wave-orange.webp);
  }
  body.reform main section.top .sub:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: clamp(5vw);
    padding-top: 5vw;
    padding-bottom: 5vw;
    background: url(../images/reform/top-sub-bg1.webp) no-repeat 134px calc(100% + 15px), url(../images/reform/top-sub-bg2.webp) no-repeat calc(100% - 15px) 0px;
    background-size: 60px auto, 100px auto;
  }
  body.reform main section.top .sub > div {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    padding-left: 0;
    width: 50%;
  }
  body.reform main section.top .sub > div p {
    margin-right: 15px;
    margin-bottom: 0;
    font-size: 15px;
  }
  body.reform main section.top .sub > div img {
    width: clamp(80px, 8vw, 175px);
  }
  body.reform main section.top article.raised-question {
    padding: 55px 20px 47px;
    border-radius: 0 0 100px 100px;
  }
  body.reform main section.top article.raised-question p {
    padding-bottom: 0;
    font-size: 28px;
  }
  body.reform main section.top article.raised-question p:last-child {
    font-size: 34px;
    font-weight: 600;
  }
  body.reform main section.top article.raised-question ul {
    position: relative;
    width: clamp(770px, 100%, 934px);
    height: 248px;
    max-width: none;
    margin-top: -55px;
    margin-bottom: 50px;
    padding-bottom: 0;
  }
  body.reform main section.top article.raised-question ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    margin-bottom: 0;
    font-size: 22px;
  }
  body.reform main section.top article.raised-question ul li:before {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 222px;
    height: 165px;
  }
  body.reform main section.top article.raised-question ul li:nth-child(1), body.reform main section.top article.raised-question ul li:nth-child(2), body.reform main section.top article.raised-question ul li:nth-child(3), body.reform main section.top article.raised-question ul li:nth-child(4) {
    left: auto;
    right: auto;
    margin: 0;
  }
  body.reform main section.top article.raised-question ul li:nth-child(1):before, body.reform main section.top article.raised-question ul li:nth-child(2):before, body.reform main section.top article.raised-question ul li:nth-child(3):before, body.reform main section.top article.raised-question ul li:nth-child(4):before {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../images/reform/top-bubble-pc.webp);
  }
  body.reform main section.top article.raised-question ul li:nth-child(1) {
    top: 75px;
    left: 0;
  }
  body.reform main section.top article.raised-question ul li:nth-child(2) {
    top: 155px;
    left: 224px;
  }
  body.reform main section.top article.raised-question ul li:nth-child(3) {
    top: 155px;
    right: 224px;
  }
  body.reform main section.top article.raised-question ul li:nth-child(4) {
    top: 75px;
    right: 0;
  }
  body.reform main section.top article.raised-question ul li span {
    display: inline-block;
    width: 222px;
    height: 0;
    line-height: inherit;
    padding-bottom: 60px;
  }
  body.reform main section.top article.answer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 1366px);
    margin: 58px auto 67px;
    padding: 0 50px;
  }
  body.reform main section.top article.answer:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 60px;
    left: 0;
    background-image: url(../images/reform/answer-bg-line-pc.webp);
    width: 100%;
    height: 160px;
  }
  body.reform main section.top article.answer img {
    z-index: 1;
    width: clamp(250px, 30vw, 422px);
    margin: 0 auto 0;
  }
  body.reform main section.top article.answer div {
    width: clamp(300px, 55%, 621px);
  }
  body.reform main section.top article.answer div p {
    padding-bottom: 0;
    font-size: 22px;
  }
  body.reform main section.top article.answer div ul {
    width: min(100%, 616px);
    height: 180px;
    margin: 0 auto;
  }
  body.reform main section.top article.answer div ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 110px;
    height: 110px;
    background-color: #fff;
    border-radius: 110px;
    font-size: 18px;
    text-align: center;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  }
  body.reform main section.top article.answer div ul li:nth-child(1) {
    top: 0;
  }
  body.reform main section.top article.answer div ul li:nth-child(2) {
    top: 30px;
  }
  body.reform main section.top article.answer div ul li:nth-child(3) {
    top: 10px;
  }
  body.reform main section.top article.answer div ul li:nth-child(4) {
    top: 30px;
  }
  body.reform main section.top article.answer div ul li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #2F4366;
    width: 100px;
    height: 100px;
    border-radius: 100px;
  }
  body.reform main section.reasons-chosen h2 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 244px;
    height: 11px;
    margin: 0 auto 110px;
    font-size: 22px;
    font-weight: 500;
    border-right: 2px solid #2F4366;
    border-left: 2px solid #2F4366;
  }
  body.reform main section.reasons-chosen ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
    gap: 30px;
  }
  body.reform main section.reasons-chosen ul li {
    width: calc(100% / 3);
    padding: 40px 20px;
  }
  body.reform main section.reasons-chosen ul li .number {
    top: -45px;
    width: 87px;
    height: 87px;
    border-radius: 87px;
  }
  body.reform main section.reasons-chosen ul li .number:before {
    width: 68.2px;
    height: 68.2px;
  }
  body.reform main section.reasons-chosen ul li h3 {
    font-size: 22px;
  }
  body.reform main section.reasons-chosen ul li p {
    font-size: 19px;
  }
  body.reform main section.store-feature {
    padding: 70px calc(50vw - 400px) 180px;
    clip-path: none;
  }
  body.reform main section.store-feature h2 {
    font-size: 28px;
    width: 405px;
  }
  body.reform main section.store-feature h2 span {
    font-size: 23px;
  }
  body.reform main section.store-feature ul {
    width: 100%;
  }
  body.reform main section.store-feature ul li {
    font-size: 25px;
  }
  body.reform main section.store-feature ul li span:nth-child(1):after {
    width: 190px;
  }
  body.reform main section.store-feature ul li span:nth-child(2):after {
    width: 190px;
  }
  body.reform main section.store-feature > p {
    margin-bottom: 63px;
    font-size: 22px;
  }
  body.reform main section.store-feature .contact p {
    padding-bottom: 25px;
    font-size: 22px;
  }
  body.reform main section.store-feature .contact p span {
    font-size: 15px;
  }
  body.reform main section.store-feature .contact .door-contact {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  body.reform main section.store-feature .contact .door-contact a {
    position: relative;
  }
  body.reform main section.store-feature .contact .door-contact a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background-image: url(../images/reform/door-contact-img.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 61px;
    height: 71px;
  }
  body.reform main section.store-feature .contact .door-contact a span {
    position: relative;
    display: block;
    width: 263px;
    height: 50px;
    margin-left: 40px;
    padding-right: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    font-weight: 300;
    color: #fff;
    text-align: center;
    line-height: 50px;
    background-color: #29A759;
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%);
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.2));
  }
  body.reform main section.store-feature .contact .door-contact a span:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    border-top: 4.5px solid transparent;
    border-bottom: 4.5px solid transparent;
    border-left: 7px solid #fff;
  }
  body.reform main section.possibility {
    margin-top: -100px;
    padding: 32px 20px 60px;
    border-radius: 0;
  }
  body.reform main section.possibility:before {
    top: 0;
    background-color: #F5EBE2;
    height: 100px;
    border-radius: 100px 100px 0 0;
  }
  body.reform main section.possibility > img {
    display: block;
    width: 207px;
    margin: 0 auto 42px;
  }
  body.reform main section.possibility h2 {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 566px;
    height: 11px;
    margin: 0 auto 60px;
    font-size: 22px;
    font-weight: 500;
    border-right: 2px solid #2F4366;
    border-left: 2px solid #2F4366;
    white-space: nowrap;
    text-align: center;
  }
  body.reform main section.possibility .content {
    width: clamp(770px, 100%, 884px);
    margin: 0 auto 20px;
    border-radius: 44px;
  }
  body.reform main section.possibility .content .head {
    padding: 20px 25px;
    border-radius: 50px;
  }
  body.reform main section.possibility .content .head h3 {
    font-size: 28px;
  }
  body.reform main section.possibility .content .head .accordion-icon {
    width: 32px;
    height: 32px;
  }
  body.reform main section.possibility .content .detail {
    margin-bottom: 1;
    padding: 35px 0 50px;
  }
  body.reform main section.possibility .content .detail .types h4 {
    padding-bottom: 30px;
    font-size: 20px;
    font-weight: 500;
    color: #8B3B09;
    text-align: center;
  }
  body.reform main section.possibility .content .detail .types dl {
    padding: 0 50px;
    font-size: 22px;
  }
  body.reform main section.possibility .content .detail .types dl dt {
    padding: 10px 0;
  }
  body.reform main section.possibility .content .detail .types dl dd {
    margin-bottom: 30px;
    padding: 20px 0;
  }
  body.reform main section.possibility .content .detail .types .feature {
    width: min(90%, 382px);
    height: min(62vw, 299px);
  }
  body.reform main section.possibility .content .detail .types .feature h5 {
    padding-bottom: 20px;
    font-size: 22px;
  }
  body.reform main section.possibility .content .detail .types .feature h5:before {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 296px;
  }
  body.reform main section.possibility .content .detail .types .feature p {
    font-size: 20px;
  }
  body.reform main section.possibility .examples {
    padding: 0 30px;
  }
  body.reform main section.possibility .examples h4 {
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: 500;
    color: #8B3B09;
    text-align: center;
  }
  body.reform main section.possibility .examples ol li {
    margin-bottom: 40px;
    padding: 20px 32px 30px;
  }
  body.reform main section.possibility .examples ol li h5 {
    margin-bottom: 37px;
    font-size: 22px;
  }
  body.reform main section.possibility .examples ol li h5 span {
    width: 50px;
    height: 50px;
    border-radius: 50px;
    line-height: 50px;
  }
  body.reform main section.possibility .examples ol li .detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 37px;
    padding: 0;
  }
  body.reform main section.possibility .examples ol li .detail img {
    width: 333px;
  }
  body.reform main section.possibility .examples ol li .detail p {
    padding-left: 24px;
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .suggestion {
    margin-bottom: 0;
  }
  body.reform main section.possibility .examples ol li .suggestion h6 {
    padding-bottom: 15px;
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .suggestion ul {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }
  body.reform main section.possibility .examples ol li .suggestion ul li {
    flex: 1;
    max-width: 49%;
    min-width: 32%;
    margin-bottom: 0;
    padding: 5px 20px;
    font-size: 16px;
  }
  body.reform main section.possibility .examples ol li .suggestion .list_with_caption {
    flex-wrap: nowrap;
    gap: 0;
  }
  body.reform main section.possibility .examples ol li .suggestion .list_with_caption li {
    flex: initial;
    max-width: none;
    min-width: auto;
    margin-bottom: 25px;
    padding: 0;
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .suggestion .list_with_caption li:last-child {
    margin-bottom: 0;
  }
  body.reform main section.possibility .examples ol li .suggestion .list_with_caption li p:first-child {
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .suggestion .list_with_caption li p:last-child {
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .point {
    margin-top: 45px;
  }
  body.reform main section.possibility .examples ol li .point h6 {
    padding-bottom: 15px;
    font-size: 20px;
  }
  body.reform main section.possibility .examples ol li .point p {
    font-size: 20px;
  }
  body.reform main section.works {
    width: min(100%, 885px);
    margin: 0 auto 80px;
  }
  body.reform main section.works h2 {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 424px;
    height: 11px;
    margin: 0 auto 56px;
    font-size: 22px;
    font-weight: 500;
    border-right: 2px solid #2F4366;
    border-left: 2px solid #2F4366;
  }
  body.reform main section.works .tabs {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3px;
    width: 520px;
  }
  body.reform main section.works .tabs .tab {
    flex: 1;
    font-size: 20px;
  }
  body.reform main section.works .tabs .tab.tab-active {
    font-size: 25px;
  }
  body.reform main section.works .contents section.tab-content {
    display: none;
  }
  body.reform main section.works .contents section.tab-content.tab-active {
    display: block;
  }
  body.reform main section.works .contents .splide__arrows {
    position: absolute;
    top: 40px;
    right: 231px;
    left: 231px;
  }
  body.reform main section.works .contents .splide__arrows .splide__arrow:before {
    top: 15px;
  }
  body.reform main section.works .contents .splide__slide article {
    border-radius: 0 0 40px 40px;
  }
  body.reform main section.works .contents .splide__slide article .work-number {
    padding: 40px 0 25px;
  }
  body.reform main section.works .contents .splide__slide article h3 {
    font-size: 28px;
  }
  body.reform main section.works .contents .splide__slide article > p {
    text-align: center;
  }
  body.reform main section.works .contents .splide__slide article .detail {
    padding: 36px 38px;
  }
  body.reform main section.works .contents .splide__slide article .detail .cost {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: min(100%, 330px);
    margin: 0 auto;
    padding-bottom: 30px;
    font-size: 19px;
    text-align: center;
  }
  body.reform main section.works .contents .splide__slide article .detail .cost span {
    position: relative;
    padding-left: 22px;
  }
  body.reform main section.works .contents .splide__slide article .detail .cost span:nth-child(1):before {
    width: 17px;
    height: 17px;
  }
  body.reform main section.works .contents .splide__slide article .detail .cost span:last-child:before {
    width: 17px;
    height: 17px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image {
    flex-direction: row;
    gap: 10px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image div span {
    width: 108px;
    height: 41px;
    font-size: 20px;
    line-height: 41px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .before {
    align-self: flex-start;
    width: 45%;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .before > div {
    width: 32px;
    height: 32px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .before > div img {
    width: 21.82px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .after {
    align-self: flex-start;
    width: 45%;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .after > div {
    width: 32px;
    height: 32px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image .after > div img {
    width: 21.82px;
  }
  body.reform main section.works .contents .splide__slide article .detail .image > img {
    width: 23px;
    transform: rotate(-90deg);
  }
  body.reform main section.works .contents .splide__slide article .detail .comment {
    font-size: 20px;
  }
  body.reform main section.works .contents .splide__slide article .detail .review h4 {
    font-size: 25px;
  }
  body.reform main section.works .contents .splide__slide article .detail .review p {
    font-size: 20px;
  }
  body.reform main section.faq {
    width: min(100%, 884px);
    margin: 0 auto;
    padding: 0;
  }
  body.reform main section.faq h2 {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 264px;
    height: 11px;
    margin: 0 auto 69px;
    font-size: 22px;
    font-weight: 500;
    border-right: 2px solid #2F4366;
    border-left: 2px solid #2F4366;
  }
  body.reform main section.faq article .head h3 {
    font-size: 30px;
  }
  body.reform main section.faq article .head h3 span {
    width: 87px;
    height: 87px;
    border-radius: 87px;
  }
  body.reform main section.faq article .head h3 span:before {
    width: 70.57px;
    height: 70.57px;
  }
  body.reform main section.faq article:nth-child(2) .head img {
    width: 110.97px;
  }
  body.reform main section.faq article:nth-child(3) .head img {
    width: 105.08px;
  }
  body.reform main section.faq article:nth-child(4) .head img {
    width: 104.93px;
  }
  body.reform main section.faq article dl {
    margin-bottom: 100px;
  }
  body.reform main section.faq article dl .faq-item dt {
    padding: 15px 24px;
    border-radius: 38px;
  }
  body.reform main section.faq article dl .faq-item dt span {
    padding-right: 17px;
  }
  body.reform main section.faq article dl .faq-item dt p {
    flex: 1;
    font-size: 22px;
  }
  body.reform main section.faq article dl .faq-item dt .faq-accordion-icon .bar:after {
    left: 8px;
  }
  body.reform main section.faq article dl .faq-item dd {
    display: none;
  }
  body.reform main section.faq article dl .faq-item.faq-accordion-open {
    padding: 15px 24px 20px 15px;
    background-color: #fff;
    border-radius: 30px;
  }
  body.reform main section.faq article dl .faq-item.faq-accordion-open dd {
    font-size: 22px;
  }
  body.reform main section.faq article dl .faq-item.faq-accordion-open dd span {
    padding-right: 19px;
    font-size: 25px;
  }
  body.reform main section.faq article dl .faq-item.faq-accordion-open dd > div {
    max-width: none;
    padding: 10px 18px;
  }
  body.reform main section.contact-area {
    padding: 80px 0 47px;
  }
  body.reform main section.contact-area h2 {
    padding-bottom: 23px;
    font-size: 30px;
  }
  body.reform main section.contact-area h2 span {
    position: relative;
  }
  body.reform main section.contact-area h2 span:before {
    left: -40px;
    width: 21px;
    height: 41px;
  }
  body.reform main section.contact-area h2 span:after {
    right: -40px;
    width: 23px;
    height: 41px;
  }
  body.reform main section.contact-area .door-contact {
    margin-top: 15px;
  }
  body.reform main .modal > div .modal-close {
    top: -50px;
    right: 15px;
    width: 40px;
    height: 40px;
  }
  body.reform main .modal > div .modal-close span {
    width: 16px;
    height: 16px;
  }
  body.reform main .modal > div .modal-close span::before {
    transform: rotate(45deg);
  }
  body.reform main .modal > div .modal-close span::after {
    transform: rotate(-45deg);
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top .leading img {
    left: calc(100% - 158px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.reform main section.top .sub {
    padding-left: calc(50vw - 683px);
    padding-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top .sub {
    padding-top: 85px;
    padding-bottom: 85px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top .sub:after {
    content: "";
    top: 0;
    bottom: auto;
    width: 1366px;
    height: 150px;
    background: url(../images/reform/top-sub-bg1.webp) no-repeat 134px calc(100% + 15px), url(../images/reform/top-sub-bg2.webp) no-repeat calc(100% - 15px) 80px;
    background-size: 120px auto, 127px auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top .sub > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 50px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top .sub > div p {
    margin-right: 42px;
    font-size: 25px;
    text-align: center;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top article.answer {
    padding: 0 130px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top article.answer:after {
    bottom: 105px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top article.answer div p {
    padding-bottom: 30px;
    font-size: 25px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top article.answer div ul li {
    width: 140px;
    height: 140px;
    border-radius: 140px;
    font-size: 22px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.reform main section.top article.answer div ul li:before {
    width: 130px;
    height: 130px;
    border-radius: 130px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.reasons-chosen h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background-image: url(../images/reform/door-contact-img.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 69px;
    height: 80px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a span {
    width: 306px;
    height: 58px;
    margin-left: 45px;
    padding-right: 23px;
    font-size: 21px;
    line-height: 58px;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.store-feature .contact .door-contact a span:after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.possibility h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.possibility .content .detail .types h4 {
    font-size: 22px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.possibility .examples h4 {
    font-size: 22px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.works h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.reform main section.faq h2 {
    font-size: 30px;
  }
}
@media screen and (min-width: 800px) {
  body.information main section.content h2 {
    padding: 45px 0;
    font-size: 32px;
  }
  body.information main section.content ul {
    margin: 0 auto 60px;
    padding: 0 22px 0 20px;
    margin-bottom: 100px;
  }
  body.information main section.content ul li {
    margin-bottom: 20px;
  }
  body.information main section.content ul li a {
    position: relative;
    display: block;
  }
  body.information main section.content ul li a img {
    width: 100%;
  }
  body.information main section.content ul li a span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0 10px 20px;
    background-color: rgba(47, 67, 102, 0.8);
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    color: #fff;
  }
  body.information main section.content ul li a span:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 17.7px;
    height: 4.19px;
  }
  body.information main section.content ul li a:hover {
    opacity: 1;
    transition: none;
  }
  body.information main section.content ul li a:hover span {
    opacity: 0.8;
    transition: 0.4s;
  }
  body.information main div.back-button {
    margin-bottom: 100px;
  }
  body.information main div.back-button a {
    position: relative;
    display: inline-block;
    width: 370px;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #00448D;
    background: #fff;
    border: 1px solid #00448D;
    max-width: auto;
  }
  body.information main div.back-button a:before {
    left: 42px;
    width: 20.03px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.information main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.information main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.information main section.content ul li a span {
    font-size: 24px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.information main div.back-button a {
    max-width: 350px;
  }
}
@media screen and (min-width: 800px) {
  body.brand-message main section.content {
    margin-bottom: 100px;
  }
  body.brand-message main section.content h2 {
    padding: 100px 0 56px;
    font-size: 27px;
  }
  body.brand-message main section.content div {
    width: min(100%, 1082px);
    margin: 0 auto;
    font-size: 18px;
  }
  body.brand-message main div.back-button {
    margin-bottom: 100px;
    text-align: center;
  }
  body.brand-message main div.back-button a {
    position: relative;
    position: relative;
    display: inline-block;
    width: calc(100% - 80px);
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #00448D;
    background: #fff;
    border: 1px solid #00448D;
    max-width: auto;
  }
  body.brand-message main div.back-button a:before {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/back-arrow.svg);
    width: 17.7px;
    height: 4.89px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.brand-message main div.back-button a {
    max-width: 350px;
  }
}
@media screen and (min-width: 800px) {
  body.sustainability main section.content h2 {
    padding: 45px 0;
    font-size: 32px;
  }
  body.sustainability main section.content ul {
    margin: 0 auto 60px;
    padding: 0 22px 0 20px;
    flex-wrap: wrap;
  }
  body.sustainability main section.content ul li {
    margin-bottom: 20px;
  }
  body.sustainability main section.content ul li a {
    position: relative;
    display: block;
  }
  body.sustainability main section.content ul li a img {
    width: 100%;
  }
  body.sustainability main section.content ul li a span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0 10px 20px;
    background-color: rgba(47, 67, 102, 0.8);
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    color: #fff;
  }
  body.sustainability main section.content ul li a span:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 17.7px;
    height: 4.19px;
  }
  body.sustainability main section.content ul li a:hover {
    opacity: 1;
    transition: none;
  }
  body.sustainability main section.content ul li a:hover span {
    opacity: 0.8;
    transition: 0.4s;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.sustainability main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.sustainability main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.sustainability main section.content ul li a span {
    font-size: 24px;
  }
}
@media screen and (min-width: 800px) {
  body.manufacture main section.content h2 {
    padding: 45px 0;
    font-size: 32px;
  }
  body.manufacture main section.content ul {
    margin: 0 auto 60px;
    padding: 0 22px 0 20px;
    margin-bottom: 100px;
  }
  body.manufacture main section.content ul li {
    margin-bottom: 20px;
  }
  body.manufacture main section.content ul li a {
    position: relative;
    display: block;
  }
  body.manufacture main section.content ul li a img {
    width: 100%;
  }
  body.manufacture main section.content ul li a span {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 0 10px 20px;
    background-color: rgba(47, 67, 102, 0.8);
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    color: #fff;
  }
  body.manufacture main section.content ul li a span:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 17.7px;
    height: 4.19px;
  }
  body.manufacture main section.content ul li a:hover {
    opacity: 1;
    transition: none;
  }
  body.manufacture main section.content ul li a:hover span {
    opacity: 0.8;
    transition: 0.4s;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.manufacture main section.content ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 100px;
    padding: 0 0;
  }
  body.manufacture main section.content ul li {
    width: calc(100% / 3 - 25px);
    margin-bottom: 20px;
  }
  body.manufacture main section.content ul li a span {
    font-size: 24px;
  }
}
@media screen and (min-width: 800px) {
  body.cultural-property-conservation main section.content h2 {
    padding: 60px 0 17px;
    font-size: 24px;
  }
  body.cultural-property-conservation main section.content > p {
    font-size: 18px;
  }
  body.cultural-property-conservation main section.content > p:after {
    background-image: none;
  }
  body.cultural-property-conservation main section.content > div {
    margin-top: 62px;
  }
  body.cultural-property-conservation main section.content > div ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 15px;
  }
  body.cultural-property-conservation main section.content > div ul li {
    width: auto;
    margin-bottom: 0;
    padding: 15px 25px 15px 51px;
  }
  body.cultural-property-conservation main section.content > div ul li:last-child {
    border-radius: 27px;
  }
  body.cultural-property-conservation main section.content > div > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    margin: 64px auto 0;
    max-width: 823px;
  }
  body.cultural-property-conservation main section.content > div > div h3 {
    position: relative;
    padding-bottom: 0;
    font-size: 24px;
  }
  body.cultural-property-conservation main section.content > div > div h3:before, body.cultural-property-conservation main section.content > div > div h3:after {
    content: "";
    position: absolute;
    display: block;
    width: 371px;
    height: 2px;
    background-color: #00448D;
    transform-origin: right center;
  }
  body.cultural-property-conservation main section.content > div > div h3:before {
    top: -20px;
    left: 0;
    transform: rotate(3deg);
  }
  body.cultural-property-conservation main section.content > div > div h3:after {
    bottom: -20px;
    left: 0;
    transform: rotate(-3deg);
  }
  body.cultural-property-conservation main section.content > div > div img {
    width: 67px;
    padding-bottom: 0;
  }
  body.cultural-property-conservation main section.content > div > div p {
    font-size: 18px;
    text-align: left;
  }
  body.cultural-property-conservation main section.works {
    margin-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }
  body.cultural-property-conservation main section.works article.head h3 {
    font-size: 18px;
  }
  body.cultural-property-conservation main section.works article.head h3:after {
    width: 116px;
  }
  body.cultural-property-conservation main section.works article.head > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    margin-top: 57px;
  }
  body.cultural-property-conservation main section.works article.head > div img {
    align-self: stretch;
    display: block;
    width: 40%;
    object-fit: cover;
  }
  body.cultural-property-conservation main section.works article.head > div p {
    display: block;
    width: 60%;
    font-size: 18px;
  }
  body.cultural-property-conservation main section.works article.detail {
    margin-top: 57px;
    margin-bottom: 57px;
  }
  body.cultural-property-conservation main section.works article.detail h3 {
    margin-bottom: 20px;
    padding: 12px 0 12px 13px;
    font-size: 20px;
  }
  body.cultural-property-conservation main section.works article.detail ul {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 40px;
    padding: 0 100px;
  }
  body.cultural-property-conservation main section.works article.detail ul li {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  body.cultural-property-conservation main section.works article.detail ul li img {
    width: 100%;
    height: auto;
    display: block;
  }
  body.cultural-property-conservation main section.works article.detail ul li p {
    font-size: 18px;
    color: #000;
  }
  body.cultural-property-conservation main section.works article.detail > div h3 {
    font-size: 20px;
  }
  body.cultural-property-conservation main section.works article.detail > div:nth-of-type(1), body.cultural-property-conservation main section.works article.detail > div:nth-of-type(2) {
    display: inline-block;
    width: calc(50% - 20px);
    vertical-align: top;
    margin-top: 0;
    margin-right: 20px;
  }
  body.cultural-property-conservation main section.works article.detail > div:nth-of-type(1):last-of-type, body.cultural-property-conservation main section.works article.detail > div:nth-of-type(2):last-of-type {
    margin-right: 0;
  }
  body.cultural-property-conservation main section.works article.detail > div:nth-of-type(1) img, body.cultural-property-conservation main section.works article.detail > div:nth-of-type(2) img {
    margin-bottom: 24px;
    padding: 0 53px;
  }
  body.cultural-property-conservation main section.works article.detail > div:nth-of-type(1) p, body.cultural-property-conservation main section.works article.detail > div:nth-of-type(2) p {
    padding: 0 53px;
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.cultural-property-conservation main section.works {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) {
  body.privacy-policy main section.content {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  body.privacy-policy main section.content > p {
    margin-bottom: 43px;
    padding-bottom: 43px;
  }
  body.privacy-policy main section.content ol li {
    margin-bottom: 43px;
    padding-bottom: 43px;
  }
  body.privacy-policy main section.content ol li h2 {
    font-size: 24px;
    padding-left: 33px;
  }
  body.privacy-policy main section.content ol li h2 span {
    padding-right: 25px;
    font-size: 30px;
  }
  body.privacy-policy main section.content ol li h2:before {
    width: 13px;
    height: 13px;
  }
  body.privacy-policy main section.content ol li > p {
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) {
  body.contact main section.content > p {
    padding: 100px 0 40px;
    font-size: 18px;
  }
  body.contact main section.content fieldset {
    margin-bottom: 34px;
  }
  body.contact main section.content fieldset > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 42px;
  }
  body.contact main section.content fieldset > div .content-with-caption {
    flex: 1;
    margin-left: 24px;
  }
  body.contact main section.content fieldset > div .content-with-caption .wpcf7-form-control-wrap {
    flex: 0 1 auto;
    margin-left: 0;
  }
  body.contact main section.content fieldset > div .content-with-caption small {
    font-size: 16px;
  }
  body.contact main section.content fieldset > div .wpcf7-form-control-wrap {
    flex: 1;
    margin-left: 24px;
  }
  body.contact main section.content fieldset .agree {
    align-items: center;
    flex-direction: column;
  }
  body.contact main section.content fieldset .agree input[type="checkbox"] {
    display: none;
  }
  body.contact main section.content fieldset .agree .wpcf7-list-item {
    display: block;
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #000;
  }
  body.contact main section.content fieldset .agree .wpcf7-list-item-label {
    position: relative;
    padding-left: 40px;
    display: inline-block;
  }
  body.contact main section.content fieldset .agree .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 27px;
    height: 27px;
    border: 1px solid #00448D;
    background-color: #fff;
    border-radius: 27px;
  }
  body.contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    border-top: 2px solid #00448D;
    border-right: 2px solid #00448D;
    transform: rotate(130deg) translate(-40%, 50%);
    position: absolute;
    left: 9px;
    top: 50%;
  }
  body.contact main section.content fieldset .agree:before {
    display: none;
  }
  body.contact main section.content fieldset .agree:after {
    display: none;
  }
  body.contact main section.content fieldset .agree fieldset {
    margin-bottom: 0;
  }
  body.contact main section.content fieldset .agree .wpcf7-list-item {
    margin: 0;
  }
  body.contact main section.content fieldset .agree .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 15px;
  }
  body.contact main section.content fieldset .note {
    margin-top: -15px;
    padding-left: 40px;
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) {
  body.history main section.content {
    margin-bottom: 100px;
    padding-top: 40px;
    padding-bottom: 100px;
  }
  body.history main section.content dl > div {
    display: grid;
    grid-template-columns: 27px 1fr;
  }
  body.history main section.content dl > div dt {
    font-size: 20px;
  }
  body.history main section.content dl > div dd {
    padding: 20px 0 42px;
    font-size: 18px;
  }
  body.history main section.content dl > div:last-child .dd-dotted-line:after {
    border-left: none;
  }
  body.history main section.content dl > div:last-child dd {
    padding: 20px 0 0;
  }
}
@media screen and (min-width: 800px) {
  body.philosophy main section.leading {
    position: relative;
    margin: 0 auto 87px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.philosophy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.philosophy main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.philosophy main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.philosophy main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.philosophy main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.philosophy main section.leading > p {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.philosophy main section.vision > div dt {
    width: 464px;
    margin: 0 auto 20px;
    padding-bottom: 15px;
    font-size: 24px;
  }
  body.philosophy main section.vision > div dd {
    font-size: 21px;
  }
  body.philosophy main section.vision > div dd span {
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.philosophy main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.philosophy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.philosophy main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.philosophy main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.philosophy main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.philosophy main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.philosophy main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) {
  body.quality-and-environmental-policy main section.leading {
    position: relative;
    margin: 0 auto 329px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.quality-and-environmental-policy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.quality-and-environmental-policy main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.quality-and-environmental-policy main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.quality-and-environmental-policy main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.quality-and-environmental-policy main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.quality-and-environmental-policy main section.leading > p {
    position: absolute;
    bottom: -400px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.quality-and-environmental-policy main section.leading p {
    max-width: none;
  }
  body.quality-and-environmental-policy main section.leading .main-image {
    background-image: url(../images/quality-and-environmental-policy/top-img.webp);
  }
  body.quality-and-environmental-policy main section.content {
    padding-left: 20px;
    padding-right: 20px;
  }
  body.quality-and-environmental-policy main section.content > p {
    margin-bottom: 40px;
    font-size: 18px;
  }
  body.quality-and-environmental-policy main section.content ol li {
    margin-bottom: 40px;
  }
  body.quality-and-environmental-policy main section.content ol li h2 {
    margin-bottom: 10px;
    font-size: 20px;
  }
  body.quality-and-environmental-policy main section.content ol li p {
    font-size: 18px;
  }
  body.quality-and-environmental-policy main section.content div.signature {
    margin-bottom: 100px;
    font-size: 18px;
  }
  body.quality-and-environmental-policy main section.certificate {
    width: min(90%, 1366px);
    margin-bottom: 100px;
    margin: 0 auto 100px;
    padding: 67px 197px;
  }
  body.quality-and-environmental-policy main section.certificate h2 {
    padding-bottom: 40px;
    font-size: 24px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.quality-and-environmental-policy main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.quality-and-environmental-policy main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.quality-and-environmental-policy main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.quality-and-environmental-policy main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.quality-and-environmental-policy main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.quality-and-environmental-policy main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.quality-and-environmental-policy main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.quality-and-environmental-policy main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) {
  body.company main section.leading {
    position: relative;
    margin: 0 auto 60px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.company main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.company main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.company main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.company main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.company main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.company main section.leading > p {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.company main section.leading .main-image {
    background-image: url(../images/company/top-img.webp);
  }
  body.company main section.content {
    margin-bottom: 100px;
  }
  body.company main section.content dl > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    padding: 0;
  }
  body.company main section.content dl > div:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #E5F1FF;
  }
  body.company main section.content dl > div:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.company main section.content dl > div dt {
    align-self: stretch;
    width: 290px;
    padding: 27px 0 27px 30px;
    font-size: 24px;
    background-color: #FAFCFF;
  }
  body.company main section.content dl > div dd {
    flex: 1;
    width: 100%;
    padding: 30px 0 30px 35px;
    font-size: 18px;
  }
  body.company main section.content dl > div dd .label {
    padding: 18px 0 18px 20px;
    font-size: 20px;
  }
  body.company main section.content dl:last-child:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #E5F1FF;
  }
  body.company main section.content dl:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.company main section.content dl .has-accordion dd article h2 {
    width: 100%;
    padding: 20px;
    font-size: 20px;
  }
  body.company main section.content dl .has-accordion dd article h2 .accordion-icon {
    width: 15px;
    height: 15px;
    padding: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.company main section.leading {
    position: relative;
    margin-bottom: 119px;
    padding-top: 87px;
  }
  body.company main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.company main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.company main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.company main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.company main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.company main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.company main section.content dl > div:after {
    width: 290px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.company main section.content dl:last-child:after {
    width: 290px;
  }
}
@media screen and (min-width: 800px) {
  body.partnership main section.content {
    padding-left: 20px;
    padding-right: 20px;
  }
  body.partnership main section.content > ol {
    margin-bottom: 40px;
  }
  body.partnership main section.content > ol > li {
    padding: 40px 0;
  }
  body.partnership main section.content > ol > li h2:before {
    width: 13px;
    height: 13px;
  }
  body.partnership main section.content > ol > li h2 span {
    padding-left: 23px;
    font-size: 30px;
  }
  body.partnership main section.content > ol > li h2 > p {
    padding-left: 20px;
    font-size: 24px;
  }
  body.partnership main section.content > ol > li > p {
    padding-bottom: 20px;
    font-size: 18px;
  }
  body.partnership main section.content > ol > li ol {
    margin-top: 12px;
  }
  body.partnership main section.content > ol > li ol li {
    font-size: 18px;
  }
  body.partnership main section.content > ol > li > article h3 {
    padding: 10px 13px;
    font-size: 20px;
  }
  body.partnership main section.content > ol > li > article > p {
    font-size: 18px;
  }
  body.partnership main section.content > ol > li > article > p:after {
    margin-bottom: 0;
  }
  body.partnership main section.content div.signature {
    letter-spacing: 1px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.partnership main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) {
  body.health-management main section.certificate h2 {
    margin-bottom: 50px;
    font-size: 24px;
  }
  body.health-management main section.certificate > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 63px;
    width: min(100%, 886px);
    margin: 0 auto;
  }
  body.health-management main section.certificate > div img {
    width: 305px;
  }
  body.health-management main section.certificate > div p {
    flex: 1;
    font-size: 18px;
  }
  body.health-management main section.content {
    margin-bottom: 100px;
  }
  body.health-management main section.content > p {
    font-size: 18px;
  }
  body.health-management main section.content ol {
    margin: 40px 0;
  }
  body.health-management main section.content ol li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 40px 0;
    gap: 32px;
  }
  body.health-management main section.content ol li > div {
    flex: 1;
  }
  body.health-management main section.content ol li > div h2 {
    margin-bottom: 20px;
  }
  body.health-management main section.content ol li > div h2:before {
    width: 13px;
    height: 13px;
  }
  body.health-management main section.content ol li > div h2 span {
    padding-left: 23px;
    font-size: 30px;
  }
  body.health-management main section.content ol li > div h2 > p {
    padding-left: 20px;
    font-size: 24px;
  }
  body.health-management main section.content ol li > img {
    width: 426px;
  }
}
@media screen and (min-width: 800px) {
  body.sdgs main section.goal {
    padding: 67px calc(50vw - 418px) 65px;
    background-image: url(../images/sdgs/goal-bg.webp);
    background-position: top 0px center;
  }
  body.sdgs main section.goal img {
    width: 525px;
    margin: 0 auto 40px;
  }
  body.sdgs main section.goal p {
    font-size: 18px;
    text-align: center;
    color: #fff;
  }
  body.sdgs main section.content {
    margin-bottom: 100px;
    padding-top: 100px;
  }
  body.sdgs main section.content h2 {
    padding-left: 33px;
    margin-bottom: 39px;
    font-size: 24px;
  }
  body.sdgs main section.content h2:before {
    width: 13px;
    height: 13px;
  }
  body.sdgs main section.content > p {
    margin-bottom: 90px;
    padding-top: 40px;
  }
  body.sdgs main section.content > ul > li {
    display: grid;
    grid-template-columns: 27px 1fr;
    margin-bottom: 32px;
  }
  body.sdgs main section.content > ul > li .dt-block {
    display: block;
    width: 6px;
    height: 34px;
    margin: 0 15px 0 8px;
    background-color: #00448D;
  }
  body.sdgs main section.content > ul > li:nth-child(1) .dt-block {
    background-color: #E59E2C;
  }
  body.sdgs main section.content > ul > li:nth-child(2) .dt-block {
    background-color: #41A751;
  }
  body.sdgs main section.content > ul > li:nth-child(3) .dt-block {
    background-color: #CB497B;
  }
  body.sdgs main section.content > ul > li h3 {
    padding: 0 14px;
    font-size: 20px;
    color: #fff;
  }
  body.sdgs main section.content > ul > li:nth-child(1) h3 {
    background-color: #E59E2C;
  }
  body.sdgs main section.content > ul > li:nth-child(2) h3 {
    background-color: #41A751;
  }
  body.sdgs main section.content > ul > li:nth-child(3) h3 {
    background-color: #CB497B;
  }
  body.sdgs main section.content > ul > li .dd-dotted-line {
    position: relative;
    margin: 0 14px 0 10px;
  }
  body.sdgs main section.content > ul > li .dd-dotted-line:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    border-left: 1px dashed #00448D;
  }
  body.sdgs main section.content > ul > li:nth-child(1) .dd-dotted-line:after {
    border-left: 1px dashed #E59E2C;
  }
  body.sdgs main section.content > ul > li:nth-child(2) .dd-dotted-line:after {
    border-left: 1px dashed #41A751;
  }
  body.sdgs main section.content > ul > li:nth-child(3) .dd-dotted-line:after {
    border-left: 1px dashed #CB497B;
  }
  body.sdgs main section.content > ul > li > div > ul > li {
    width: calc(100% / 6);
  }
}
@media screen and (min-width: 800px) {
  body.manufacturing-department main section.about h2, body.manufacturing-department main section.production h2, body.manufacturing-department main section.instruction h2 {
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 20px;
    font-size: 24px;
  }
  body.manufacturing-department main section.about h2 span, body.manufacturing-department main section.production h2 span, body.manufacturing-department main section.instruction h2 span {
    display: block;
    padding-left: 33px;
  }
  body.manufacturing-department main section.about h2 span:before, body.manufacturing-department main section.production h2 span:before, body.manufacturing-department main section.instruction h2 span:before {
    top: 35%;
    width: 13px;
    height: 13px;
  }
  body.manufacturing-department main section.about h2 .underline, body.manufacturing-department main section.production h2 .underline, body.manufacturing-department main section.instruction h2 .underline {
    padding-bottom: 20px;
  }
  body.manufacturing-department main section.about article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 100px;
    padding: 40px 66px;
    gap: 45px;
  }
  body.manufacturing-department main section.about article .overview {
    width: 40%;
    min-width: 312px;
    margin: 0;
    padding: 41px 30px 27px;
    gap: 15px;
  }
  body.manufacturing-department main section.about article .overview h3 {
    position: absolute;
    padding: 6px 15px;
    font-size: 24px;
  }
  body.manufacturing-department main section.about article .overview span {
    padding: 5px 10px;
    font-size: 24px;
  }
  body.manufacturing-department main section.about article .overview > div {
    position: relative;
    width: 16.8px;
    height: 16.8px;
  }
  body.manufacturing-department main section.about article .overview > div::before, body.manufacturing-department main section.about article .overview > div::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    background-color: #00448D;
    transform-origin: center;
  }
  body.manufacturing-department main section.about article .overview > div::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  body.manufacturing-department main section.about article .overview > div::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  body.manufacturing-department main section.about article .detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 25px;
  }
  body.manufacturing-department main section.about article .detail figure {
    width: 100%;
    margin: 0;
  }
  body.manufacturing-department main section.about article .detail figure img {
    width: clamp(120px, 40%, 197px);
  }
  body.manufacturing-department main section.about article .detail figure figcaption h4 {
    padding-bottom: 15px;
    font-size: 18px;
    font-weight: 300;
  }
  body.manufacturing-department main section.about article .detail figure figcaption p {
    font-size: 18px;
    color: #000;
  }
  body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 60px;
  }
  body.manufacturing-department main section.production .title, body.manufacturing-department main section.instruction .title {
    gap: 23px;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  body.manufacturing-department main section.production .title p, body.manufacturing-department main section.instruction .title p {
    font-size: 24px;
    line-height: 1.6;
  }
  body.manufacturing-department main section.production .title img, body.manufacturing-department main section.instruction .title img {
    display: block;
  }
  body.manufacturing-department main section.production .title img {
    width: 110.91px;
  }
  body.manufacturing-department main section.instruction .title img {
    width: 83.96px;
  }
  body.manufacturing-department main section.production .detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
  body.manufacturing-department main section.production .detail img {
    display: block;
    width: 50%;
    height: 283px;
    margin-top: 68px;
    object-fit: cover;
  }
  body.manufacturing-department main section.production .detail > div {
    width: 50%;
    padding: 0;
  }
  body.manufacturing-department main section.production .detail > div h3 {
    position: relative;
    text-align: center;
    font-size: 18px;
    font-weight: 300;
  }
  body.manufacturing-department main section.production .detail > div h3:after {
    bottom: -25px;
    width: 266.9px;
    height: 12px;
  }
  body.manufacturing-department main section.production .detail > div ul {
    margin-top: 42px;
  }
  body.manufacturing-department main section.production .detail > div ul li {
    width: 100%;
    margin-bottom: 10px;
    padding: 16px 35px 16px;
    font-size: 20px;
  }
  body.manufacturing-department main section.production .detail > div > span {
    font-size: 20px;
  }
  body.manufacturing-department main section.instruction .detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
  body.manufacturing-department main section.instruction .detail > img {
    width: 50%;
    padding-bottom: 0;
  }
  body.manufacturing-department main section.instruction .detail > p {
    font-size: 18px;
  }
  body.manufacturing-department main div.back-button {
    margin-bottom: 60px;
    text-align: center;
  }
  body.manufacturing-department main div.back-button a {
    position: relative;
    position: relative;
    display: inline-block;
    width: calc(100% - 80px);
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #00448D;
    background: #fff;
    border: 1px solid #00448D;
    max-width: 350px;
  }
  body.manufacturing-department main div.back-button a:before {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    background-image: url(../images/back-arrow.svg);
    width: 17.7px;
    height: 4.89px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.manufacturing-department main section.production, body.manufacturing-department main section.instruction {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.manufacturing-department main div.back-button a {
    max-width: 350px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.manufacturing-department main div.back-button {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 800px) {
  body.single-post main section.title {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  body.single-post main section.title span {
    font-size: 23px;
  }
  body.single-post main section.title h1 {
    font-size: 40px;
  }
  body.single-post main section.content {
    margin-top: 40px;
    margin-bottom: 100px;
  }
  body.single-post main section.content p {
    margin: 25px 0;
    font-size: 18px;
  }
  body.single-post main section.content h2 {
    padding: 15px;
    margin: 25px 0;
    font-size: 24px;
  }
  body.single-post main section.content h3 {
    margin: 25px 0;
    font-size: 20px;
  }
  body.single-post main section.content ul {
    margin: 25px 0;
  }
  body.single-post main section.content ol {
    margin: 25px 0;
  }
  body.single-post main section.content .wp-block-quote {
    margin: 25px 0;
    padding: 25px 13px;
  }
  body.single-post main section.content .wrap-style {
    margin: 25px 0;
    padding: 24px 13px;
  }
  body.single-post main section.content .wp-block-button {
    margin: 25px auto;
  }
  body.single-post main section.content .wp-block-button .wp-block-button__link {
    max-width: 370px;
  }
  body.single-post main section.sns-share {
    max-width: 1082px;
    margin: 0 auto 42px;
    padding-top: 25px;
  }
  body.single-post main section.sns-share h2 {
    font-size: 28px;
  }
  body.single-post main section.sns-share ul {
    width: 197px;
    margin: 23px auto 0;
  }
  body.single-post main section.sns-share ul a img {
    width: 40px;
  }
}
@media screen and (min-width: 800px) {
  body.recruit main section.top {
    background: url(../images/recruit/top-white-bg-pc.webp) no-repeat, url(../images/recruit/top-blue-bg-pc.webp) no-repeat;
    background-size: 35% 100%, 65% 100%;
    background-position: left top, right top;
    width: 100%;
    max-width: 100%;
    height: 1040px;
  }
  body.recruit main section.top > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: min(100%, 1920px);
    height: 564px;
    margin: 0 auto;
  }
  body.recruit main section.top > div .copy {
    background-image: none;
    width: clamp(280px, 35%, 633px);
    height: 564px;
    padding: 144px 0 0 75px;
  }
  body.recruit main section.top > div .copy h1 {
    font-size: 32px;
    font-weight: 600;
  }
  body.recruit main section.top > div .copy h1 span {
    color: #000;
  }
  body.recruit main section.top > div figure {
    background-image: none;
    width: clamp(520px, 65%, 1287px);
    height: 564px;
  }
  body.recruit main section.top > div figure .slider {
    top: 33px;
  }
  body.recruit main section.top > div figure .slider .splide__slide img {
    width: 199px;
  }
  body.recruit main section.top > div figure figcaption {
    bottom: 55px;
    left: auto;
    right: 45px;
    padding: 0;
    font-size: 14px;
  }
  body.recruit main section.text {
    position: absolute;
    left: 50%;
    bottom: 100px;
    transform: translateX(-50%);
    width: min(100%, 1276px);
    padding: 40px 68px 60px;
  }
  body.recruit main section.text > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  body.recruit main section.text > div h2 {
    width: 123px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 0;
  }
  body.recruit main section.text > div h2 .h-2color-line {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 1px;
    margin-left: 10px;
    margin-top: 0;
    background-color: #E5F1FF;
  }
  body.recruit main section.text > div h2 .h-2color-line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.recruit main section.text > div p {
    flex: 1;
    font-size: 18px;
    line-height: 1.6;
  }
  body.recruit main section.text > div ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 5px;
    column-gap: 20px;
  }
  body.recruit main section.text > div ul li {
    margin-bottom: 16px;
    width: min(48%, 450px);
  }
  body.recruit main section.text > div ul li:last-child {
    margin-bottom: 0;
  }
  body.recruit main section.about {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row;
    width: min(100vw, 1276px);
    margin: 0 auto 47px;
    padding: 0 0 0 45px;
    background-image: none;
  }
  body.recruit main section.about > div {
    order: 0;
    padding-top: 194px;
  }
  body.recruit main section.about > div h2 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    font-size: 14px;
    font-weight: 600;
    padding-top: 50px;
    padding-bottom: 26px;
  }
  body.recruit main section.about > div h2 .h-2color-line {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 1px;
    margin-left: 10px;
    margin-top: 0;
    background-color: #E5F1FF;
  }
  body.recruit main section.about > div h2 .h-2color-line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.recruit main section.about > div p {
    font-size: 14px;
    line-height: 1.8;
  }
  body.recruit main section.about > img {
    position: absolute;
    top: -13px;
    right: 0;
    width: min(70%, 822px);
  }
  body.recruit main section.link_card ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    gap: 36px;
  }
  body.recruit main section.link_card ul li {
    width: 50%;
  }
  body.recruit main section.link_card ul li a > div {
    height: 130px;
    padding: 65px 25px 33px 29px;
  }
  body.recruit main section.link_card ul li a > div p {
    font-size: 28px;
  }
  body.recruit main section.link_card ul li a > div .arrow {
    width: 52px;
    height: 52px;
  }
  body.recruit main section.link_card ul li a > div .arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30%;
    transform: translateY(-50%);
    width: 18px;
    height: 1px;
    background-color: #00448D;
    border-radius: 1px;
  }
  body.recruit main section.link_card ul li a > div .arrow:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 30%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #00448D;
    clip-path: polygon(0 0, 100% 50%, 0 50%);
  }
  body.recruit main section.link_card ul li a:hover {
    opacity: 0.6;
  }
  body.recruit main section.learn {
    margin-bottom: 100px;
  }
  body.recruit main section.learn h2 {
    margin-bottom: 40px;
  }
  body.recruit main section.learn article {
    margin-bottom: 100px;
  }
  body.recruit main section.learn article:last-child {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 37px;
    width: min(100vw, 945.98px);
    margin: 0 auto 0;
    padding: 0 20px;
  }
  body.recruit main section.learn article h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 26px;
    padding-bottom: 40px;
    text-align: center;
  }
  body.recruit main section.learn article h3 .h-2color-line {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 1px;
    margin-left: 10px;
    margin-top: 18px;
    background-color: #E5F1FF;
  }
  body.recruit main section.learn article h3 .h-2color-line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.recruit main section.learn article .image {
    position: relative;
    width: min(100%, 945.98px);
    margin: 0 auto;
  }
  body.recruit main section.learn article .image img {
    width: 100%;
    margin: 0 auto;
  }
  body.recruit main section.learn article .image .image-link-button {
    position: absolute;
    top: 217px;
    right: 36px;
    width: 220px;
    padding: 15px 23px;
  }
  body.recruit main section.learn article .image .image-link-button p {
    font-size: 29px;
  }
  body.recruit main section.learn article .image .image-link-button .arrow {
    width: 44.61px;
    height: 44.61px;
  }
  body.recruit main section.learn article .image .image-link-button .arrow:after {
    width: 7px;
    height: 7px;
  }
  body.recruit main section.learn article .lead_area {
    margin-bottom: 0;
    padding: 0;
  }
  body.recruit main section.learn article .lead_area h3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 40px;
    padding-bottom: 0;
    text-align: left;
  }
  body.recruit main section.learn article .lead_area h3 .h-2color-line {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 1px;
    margin-left: 10px;
    margin-top: 0;
    background-color: #E5F1FF;
  }
  body.recruit main section.learn article .lead_area h3 .h-2color-line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.recruit main section.learn article .lead_area p {
    font-size: 18px;
    line-height: 1.4;
    text-align: left;
  }
  body.recruit main section.learn article .blue-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background-color: #00448D;
    border-radius: 28px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    max-width: 400px;
  }
  body.recruit main section.learn article .blue-link .arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body.recruit main section.learn article .blue-link .arrow:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-right: 2px;
    border-right: 1px solid #00448D;
    border-bottom: 1px solid #00448D;
    transform: rotate(-45deg);
  }
  body.recruit main section.learn article .blue-link:hover {
    opacity: 0.6;
    transition: 0.4s;
  }
  body.recruit main #entry {
    scroll-margin-top: 80px;
  }
  body.recruit main section.entry {
    background-image: url(../images/recruit/top-blue-bg-pc.webp);
    background-position: bottom 0px center;
    background-size: 100% 569px;
    padding-bottom: 339px;
  }
  body.recruit main section.entry > img {
    width: min(100%, 1276px);
    margin: 0 auto;
  }
  body.recruit main section.entry > article {
    position: absolute;
    top: 276px;
    width: min(100%, 1083px);
    padding: 30px 0 80px;
  }
  body.recruit main section.entry > article h3 {
    margin-bottom: 40px;
  }
  body.recruit main section.entry > article > p {
    padding-bottom: 20px;
    font-size: 18px;
  }
  body.recruit main section.entry > article ul {
    max-width: 570.38px;
    margin: 0 auto;
  }
  body.recruit main section.entry > article ul li {
    margin-bottom: 15px;
  }
  body.recruit main section.entry > article ul li:last-child {
    margin-bottom: 0;
  }
  body.recruit main section.entry > article ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background-color: #CCE56A;
    border-radius: 28px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    font-size: 20px;
    font-weight: 700;
    color: #000;
  }
  body.recruit main section.entry > article ul li a .arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body.recruit main section.entry > article ul li a .arrow:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-right: 2px;
    border-right: 1px solid #00448D;
    border-bottom: 1px solid #00448D;
    transform: rotate(-45deg);
  }
  body.recruit main section.entry > article ul li a:hover {
    background-color: #FFEF71;
    opacity: 1;
    transition: 0.4s;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.recruit {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.recruit main section.top {
    background-size: 50% 100%, 50% 100%;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.recruit main section.top > div .copy {
    width: 50%;
    padding: 125px 0 0 320px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.recruit main section.top > div .copy h1 {
    font-size: 45px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.recruit main section.top > div figure {
    width: 50%;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.recruit main section.about {
    margin-right: calc(50vw - 638px);
    margin-left: calc(50vw - 638px);
    padding: 0;
  }
}
@media screen and (min-width: 800px) {
  body.our-employee main section.leading {
    position: relative;
    margin: 0 auto 327px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.our-employee main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.our-employee main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.our-employee main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.our-employee main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.our-employee main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.our-employee main section.leading > p {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.our-employee main section.leading ul {
    position: absolute;
    top: 410px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 20px;
  }
  body.our-employee main section.leading ul li {
    width: 690px;
    margin-bottom: 15px;
  }
  body.our-employee main section.leading ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background-color: #fff;
    border-radius: 28px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    font-size: 18px;
    font-weight: 700;
  }
  body.our-employee main section.leading ul li a .arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #f5f5f5;
  }
  body.our-employee main section.leading ul li a .arrow:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-right: 2px;
    border-right: 1px solid #00448D;
    border-bottom: 1px solid #00448D;
    transform: rotate(45deg);
  }
  body.our-employee main section.leading ul li a:hover {
    background-color: #00448D;
    color: #fff;
    opacity: 1;
    transition: 0.4s;
  }
  body.our-employee main section.content {
    margin-bottom: 527px;
    padding-left: 20px;
    padding-right: 20px;
  }
  body.our-employee main section.content .head {
    position: relative;
    top: -393px;
    z-index: 5;
    width: 100%;
    scroll-margin-top: 130px;
  }
  body.our-employee main section.content .head img {
    transform: translateX(-50%);
    width: calc(100% - 40px);
    max-width: 892px;
  }
  body.our-employee main section.content .head h2 {
    position: absolute;
    top: 393px;
    width: calc(100% - 255px);
    padding: 36px 18px;
    font-size: 23px;
    border-radius: 0 20px 20px 20px;
  }
  body.our-employee main section.content .head h2:before {
    left: 2px;
  }
  body.our-employee main section.content .head h2:after {
    left: 2px;
  }
  body.our-employee main section.content:nth-child(3) article {
    padding-top: 148px;
  }
  body.our-employee main section.content:nth-child(4) article {
    padding-top: 148px;
  }
  body.our-employee main section.content:nth-child(5) article {
    padding-top: 148px;
  }
  body.our-employee main section.content > article {
    position: relative;
    width: calc(100% - 2px);
    max-width: 1082px;
    margin: 0 auto;
    padding: 148px 95px 140px;
  }
  body.our-employee main section.content > article:before {
    content: "";
    top: -188px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1082px;
    height: 189px;
  }
  body.our-employee main section.content > article > p {
    margin-bottom: 35px;
    font-size: 18px;
  }
  body.our-employee main section.content > article > p span {
    font-size: 40px;
    padding-right: 22px;
  }
  body.our-employee main section.content > article ol li {
    margin-bottom: 35px;
  }
  body.our-employee main section.content > article ol li h3 {
    font-size: 20px;
  }
  body.our-employee main section.content > article ol li h3 span {
    font-size: 30px;
  }
  body.our-employee main section.content > article ol li > p {
    font-size: 18px;
  }
  body.our-employee main section.content > article > img {
    position: absolute;
    bottom: -200px;
    right: 95px;
    width: 528px;
  }
  body.our-employee main section.content > ul {
    width: 100vw;
    margin-top: -677px;
    margin-left: calc(50% - 50vw);
    padding-top: 917px;
    padding-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px;
  }
  body.our-employee main section.content > ul li {
    margin-bottom: 30px;
    padding: 45px 50px;
  }
  body.our-employee main section.content > ul li:last-child {
    position: relative;
    margin-bottom: 0;
  }
  body.our-employee main section.content > ul li h2 {
    position: relative;
    margin-bottom: 25px;
    padding-left: 20px;
    font-size: 20px;
  }
  body.our-employee main section.content > ul li h2:before {
    width: 13px;
    height: 13px;
  }
  body.our-employee main section.content > ul li p {
    font-size: 18px;
  }
  body.our-employee main section.content > ul li > img {
    position: absolute;
    bottom: -41px;
    right: 95px;
    padding-top: 0;
    width: 266px;
  }
  body.our-employee main section.schedule {
    margin: 60px 0 100px;
    padding-left: 20px;
    padding-right: 20px;
  }
  body.our-employee main section.schedule h2 {
    margin-bottom: 45px;
    font-size: 23px;
    font-weight: 400;
  }
  body.our-employee main section.schedule dl {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  body.our-employee main section.schedule dl:after {
    content: "";
    position: absolute;
    top: 29px;
    left: 50%;
    transform: translateX(-50%);
    width: 92%;
    height: 17px;
    border-bottom: 1px dashed #00448D;
  }
  body.our-employee main section.schedule dl > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
  }
  body.our-employee main section.schedule dl > div .dt-block {
    display: none;
  }
  body.our-employee main section.schedule dl > div dt {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15px;
  }
  body.our-employee main section.schedule dl > div .dt-block-pc {
    display: block;
    width: 34px;
    height: 6px;
    background-color: #00448D;
  }
  body.our-employee main section.schedule dl > div .dd-dotted-line {
    display: none;
  }
  body.our-employee main section.schedule dl > div dd {
    padding: 18px 0 45px;
    font-size: 18px;
    text-align: center;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.our-employee {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.our-employee main section.leading {
    position: relative;
    margin-bottom: 1000px;
    padding-top: 87px;
  }
  body.our-employee main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.our-employee main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.our-employee main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.our-employee main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.our-employee main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.our-employee main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.our-employee main section.content {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.our-employee main section.content > ul {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1100px) {
  body.our-employee main section.schedule {
    padding-left: calc(50vw - 541px);
    padding-right: calc(50vw - 541px);
  }
}
@media screen and (min-width: 800px) {
  body.our-works main section.leading {
    position: static;
    position: relative;
    margin: 0 auto 310px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.our-works main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.our-works main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.our-works main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.our-works main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.our-works main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.our-works main section.leading > p {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.our-works main section.content {
    margin-bottom: 50px;
  }
  body.our-works main section.content h2 {
    position: relative;
    margin-bottom: 33px;
    padding: 10px 0;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    border-top: 1px solid #00448D;
    border-bottom: 1px solid #00448D;
  }
  body.our-works main section.content h2:before {
    content: "";
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: #00448D;
  }
  body.our-works main section.content h2:after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: #00448D;
  }
  body.our-works main section.content dl {
    margin-top: 50px;
  }
  body.our-works main section.content dl dd {
    padding: 10px 13px;
    font-size: 20px;
  }
  body.our-works main section.content dl dt {
    margin-bottom: 50px;
    font-size: 18px;
  }
  body.our-works main section.content .contact-button {
    margin-top: 50px;
  }
  body.our-works main section.content .contact-button a {
    width: 370px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.our-works {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.our-works main section.leading {
    position: relative;
    margin-bottom: 320px;
    padding-top: 87px;
  }
  body.our-works main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.our-works main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.our-works main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.our-works main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.our-works main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.our-works main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.our-works main section.content h2 {
    margin-bottom: 43px;
  }
}
@media screen and (min-width: 800px) {
  body.working-environment main section.leading {
    position: static;
    position: relative;
    margin: 0 auto 310px;
    padding-top: 60px;
    max-width: 1366px;
  }
  body.working-environment main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.working-environment main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.working-environment main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.working-environment main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.working-environment main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.working-environment main section.leading > p {
    position: absolute;
    bottom: 80px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.working-environment main section.content {
    margin-bottom: 100px;
  }
  body.working-environment main section.content h2 {
    position: relative;
    margin-bottom: 33px;
    padding: 10px 0;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    border-top: 1px solid #00448D;
    border-bottom: 1px solid #00448D;
  }
  body.working-environment main section.content h2:before {
    content: "";
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: #00448D;
  }
  body.working-environment main section.content h2:after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: #00448D;
  }
  body.working-environment main section.content > p {
    margin-bottom: 40px;
    font-size: 18px;
  }
  body.working-environment main section.content h3 {
    margin-bottom: 40px;
    font-size: 24px;
  }
  body.working-environment main section.content ol li {
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
  body.working-environment main section.content ol li h4 {
    margin-bottom: 20px;
    font-size: 18px;
  }
  body.working-environment main section.content ol li h4 span {
    padding-right: 13px;
    color: #00448D;
  }
  body.working-environment main section.content ol li p {
    font-size: 16px;
    color: #000;
  }
  body.working-environment main section.content .headline_blue_bg {
    margin-bottom: 15px;
    padding: 10px 13px;
    font-size: 20px;
  }
  body.working-environment main section.content .has-list-style {
    counter-reset: list-counter;
    margin-bottom: 40px;
  }
  body.working-environment main section.content .has-list-style:last-child {
    margin-bottom: 0;
  }
  body.working-environment main section.content .has-list-style li {
    margin-bottom: 20px;
    padding-left: 37px;
    font-size: 18px;
  }
  body.working-environment main section.content .has-img ol li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
  }
  body.working-environment main section.content .has-img ol li > div {
    flex: 1;
    margin-bottom: 0;
  }
  body.working-environment main section.content .has-img ol li > img {
    width: 426px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.working-environment {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.working-environment main section.leading {
    position: relative;
    margin-bottom: 320px;
    padding-top: 87px;
  }
  body.working-environment main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.working-environment main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.working-environment main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.working-environment main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.working-environment main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.working-environment main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: -57px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.working-environment main section.content h2 {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 800px) {
  body.about-chowa main section.leading {
    position: relative;
    margin: 0 auto 430px;
    padding-top: 60px;
    max-width: 1366px;
    width: min(100%, 1366px);
    margin: 0 auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.about-chowa main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  body.about-chowa main section.leading > div h1 {
    margin-bottom: 60px;
    padding-left: 20px;
    line-height: 1;
    border-left: 26px solid #00448D;
  }
  body.about-chowa main section.leading > div h1 p {
    padding-top: 5px;
    padding-bottom: 28px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }
  body.about-chowa main section.leading > div h1 span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
  }
  body.about-chowa main section.leading > div .main-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(100% - 20px);
    height: 188px;
    margin-left: auto;
  }
  body.about-chowa main section.leading > p {
    position: absolute;
    bottom: 350px;
    left: 0;
    width: calc(100% - 43px);
    padding: 20px 20px 0 20px;
    font-size: 16px;
    background-color: #fff;
  }
  body.about-chowa main section.leading .image {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  body.about-chowa main section.leading .image .slider {
    width: 616px;
  }
  body.about-chowa main section.leading .image .slider .splide__slide img {
    height: 510px;
  }
  body.about-chowa main section.mission {
    padding-top: 0px;
    padding-bottom: 190px;
  }
  body.about-chowa main section.mission h2 {
    margin-bottom: 20px;
    padding-left: 53px;
    font-size: 16px;
  }
  body.about-chowa main section.mission > article {
    margin-left: 0px;
    margin-right: 0px;
    padding: 40px 20px 60px;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(to bottom, #00448D, #00144A);
    margin: 0 !important;
  }
  body.about-chowa main section.mission > article .head {
    position: relative;
    margin-bottom: 60px;
    padding: 35px 0;
    text-align: center;
    background-color: #fff;
  }
  body.about-chowa main section.mission > article .head:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../images/philosophy/content-head-bg.webp);
    bottom: 0;
    right: 0;
    width: 239px;
    height: 178px;
  }
  body.about-chowa main section.mission > article .head h2 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 2.5;
  }
  body.about-chowa main section.mission > article .head h2 span {
    padding-bottom: 10px;
    border-bottom: 1px solid #00448D;
  }
  body.about-chowa main section.mission > article .head p {
    font-size: 14px;
  }
  body.about-chowa main section.mission > article .signature p {
    margin-top: 60px;
    font-size: 16px;
    color: #fff;
    text-align: right;
  }
  body.about-chowa main section.mission > article > p {
    font-size: 16px;
    color: #fff;
    line-height: 1.7;
  }
  body.about-chowa main section.mission > article h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 2.5;
  }
  body.about-chowa main section.mission > article h3 span {
    padding-bottom: 10px;
    border-bottom: 1px solid #00448D;
  }
  body.about-chowa main section.mission > article .signature {
    margin-top: 30px;
    margin-right: 40px;
    font-size: 18px;
  }
  body.about-chowa main section.brand-message {
    margin-bottom: 88px;
  }
  body.about-chowa main section.brand-message h2 {
    padding-left: calc(50% - 683px);
    margin-left: 53px;
    font-size: 14px;
    font-weight: 400;
  }
  body.about-chowa main section.brand-message h2 span:last-child {
    display: inline;
    padding-top: 0;
    padding-left: 18px;
  }
  body.about-chowa main section.brand-message > div h3 {
    font-size: 27px;
  }
  body.about-chowa main section.brand-message > div > div {
    font-size: 16px;
    color: #000;
  }
  body.about-chowa main section.brand-message > div > div p {
    padding-bottom: 20px;
    font-size: 18px;
  }
  body.about-chowa main section.brand-message > div > div span {
    display: block;
    text-align: right;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.about-chowa {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.about-chowa main section.leading {
    position: relative;
    margin-bottom: 97px;
    padding-top: 87px;
  }
  body.about-chowa main section.leading > div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  body.about-chowa main section.leading > div h1 {
    position: absolute;
    margin-top: 13px;
    margin-bottom: 40px;
    padding-left: 23px;
    border-left: 30px solid #00448D;
    line-height: 1.2;
  }
  body.about-chowa main section.leading > div h1 p {
    padding-top: 15px;
    padding-bottom: 60px;
    font-size: 60px;
    font-weight: 500;
  }
  body.about-chowa main section.leading > div h1 span {
    font-size: 23px;
    font-weight: 400;
  }
  body.about-chowa main section.leading > div .main-image {
    width: 650px;
    height: 320px;
    z-index: -1;
  }
  body.about-chowa main section.leading > p {
    position: static;
    width: min(80%, 1020px);
    margin-top: 350px;
    padding: 20px 35px 20px 53px;
    font-size: 18px;
    background-color: #fff;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.about-chowa main section.mission > article {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.about-chowa main section.mission > article {
    margin-left: 0px;
    margin-right: 0px;
    padding: 60px 45px 95px;
  }
  body.about-chowa main section.mission > article .head:after {
    right: 35px;
    width: 516px;
    height: 160px;
  }
  body.about-chowa main section.mission > article > p {
    font-size: 18px;
    text-align: center;
    width: min(90%, 992px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) and (min-width: 1366px) {
  body.about-chowa main section.mission > article {
    margin-left: calc(50vw - 683px);
    margin-right: calc(50vw - 683px);
  }
}
@media screen and (min-width: 800px) {
  body.mid-career-recruitment main section.leading, body.new-graduates-recruitment main section.leading {
    margin-bottom: 280px;
  }
  body.mid-career-recruitment main section.content, body.new-graduates-recruitment main section.content {
    margin-bottom: 40px;
  }
  body.mid-career-recruitment main section.content > h2, body.new-graduates-recruitment main section.content > h2 {
    width: 100%;
    padding: 27px 30px;
    font-size: 26px;
  }
  body.mid-career-recruitment main section.content > h2 .accordion-icon, body.new-graduates-recruitment main section.content > h2 .accordion-icon {
    width: 24px;
    height: 24px;
  }
  body.mid-career-recruitment main section.content > h2 .accordion-icon .bar, body.new-graduates-recruitment main section.content > h2 .accordion-icon .bar {
    width: 24px;
  }
  body.mid-career-recruitment main section.content > h2 .accordion-icon .bar:after, body.new-graduates-recruitment main section.content > h2 .accordion-icon .bar:after {
    left: 12px;
    height: 24px;
  }
  body.mid-career-recruitment main section.content .details, body.new-graduates-recruitment main section.content .details {
    padding: 45px 33px;
    border: 1px solid #00448D;
  }
  body.mid-career-recruitment main section.content .details .no-details-taxt, body.new-graduates-recruitment main section.content .details .no-details-taxt {
    font-size: 24px;
  }
  body.mid-career-recruitment main section.content .details dl > div, body.new-graduates-recruitment main section.content .details dl > div {
    flex-direction: row;
    gap: 25px;
    padding: 25px 0;
  }
  body.mid-career-recruitment main section.content .details dl > div dt, body.new-graduates-recruitment main section.content .details dl > div dt {
    width: 280px;
    padding-bottom: 0;
    font-size: 24px;
  }
  body.mid-career-recruitment main section.content .details dl > div dd, body.new-graduates-recruitment main section.content .details dl > div dd {
    flex: 1;
    font-size: 18px;
  }
  body.mid-career-recruitment main section.content .details dl > div dd .label, body.new-graduates-recruitment main section.content .details dl > div dd .label {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    padding: 8px 0 8px 10px;
    font-size: 16px;
    color: #00448D;
    background-color: #E5F1FF;
  }
  body.mid-career-recruitment main section.entry_flow, body.new-graduates-recruitment main section.entry_flow {
    margin-top: 100px;
    margin-bottom: 100px;
  }
  body.mid-career-recruitment main section.entry_flow h2, body.new-graduates-recruitment main section.entry_flow h2 {
    margin-bottom: 38px;
    font-size: 24px;
    text-align: center;
  }
  body.mid-career-recruitment main section.entry_flow ul, body.new-graduates-recruitment main section.entry_flow ul {
    position: relative;
    flex-direction: row;
  }
  body.mid-career-recruitment main section.entry_flow ul:after, body.new-graduates-recruitment main section.entry_flow ul:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    width: 89%;
    height: 35px;
    border-bottom: 1px dashed #00448D;
  }
  body.mid-career-recruitment main section.entry_flow ul li, body.new-graduates-recruitment main section.entry_flow ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    margin-bottom: 38px;
    font-size: 18px;
    text-align: center;
  }
  body.mid-career-recruitment main section.entry_flow ul li span, body.new-graduates-recruitment main section.entry_flow ul li span {
    margin-bottom: 20px;
    padding: 0px 10px 5px;
    font-family: "geologica-variable", sans-serif;
    font-variation-settings: "slnt" 0, "SHRP" 0, "CRSV" 0, "wght" 100;
    font-size: 40px;
    color: #00448D;
    background-color: #fff;
    border: 1px solid #00448D;
  }
  body.mid-career-recruitment main section.entry_flow ul li p, body.new-graduates-recruitment main section.entry_flow ul li p {
    color: #00448D;
  }
  body.mid-career-recruitment main section.entry_flow ul li p > span, body.new-graduates-recruitment main section.entry_flow ul li p > span {
    font-size: 15px;
    background-color: transparent;
    border: none;
  }
  body.mid-career-recruitment main section.entry_flow > p, body.new-graduates-recruitment main section.entry_flow > p {
    font-size: 18px;
    text-align: center;
  }
  body.mid-career-recruitment main .entry-button, body.new-graduates-recruitment main .entry-button {
    margin-bottom: 100px;
    padding: 0;
  }
  body.mid-career-recruitment main .entry-button > span, body.new-graduates-recruitment main .entry-button > span {
    margin-bottom: 21px;
    font-size: 21px;
  }
  body.mid-career-recruitment main .entry-button a, body.new-graduates-recruitment main .entry-button a {
    width: 481px;
    margin: 0 auto;
    padding: 30px;
  }
  body.mid-career-recruitment main .entry-button a > div, body.new-graduates-recruitment main .entry-button a > div {
    font-size: 25px;
  }
  body.mid-career-recruitment main .entry-button a > div span, body.new-graduates-recruitment main .entry-button a > div span {
    font-size: 20px;
  }
  body.mid-career-recruitment main .entry-button a .arrow, body.new-graduates-recruitment main .entry-button a .arrow {
    width: 27px;
    height: 27px;
  }
  body.mid-career-recruitment main .entry-button > p, body.new-graduates-recruitment main .entry-button > p {
    margin-top: 20px;
    font-size: 20px;
    text-align: center;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.mid-career-recruitment, body.new-graduates-recruitment {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) {
  body.comeback-contact main section.leading, body.mid-career-contact main section.leading, body.new-graduates-contact main section.leading {
    margin-bottom: 280px;
  }
  body.comeback-contact main .caption, body.mid-career-contact main .caption, body.new-graduates-contact main .caption {
    margin-bottom: 40px;
    font-size: 18px;
    color: #000;
  }
  body.comeback-contact main section.content > p, body.mid-career-contact main section.content > p, body.new-graduates-contact main section.content > p {
    padding: 100px 0 40px;
    font-size: 18px;
  }
  body.comeback-contact main section.content fieldset, body.mid-career-contact main section.content fieldset, body.new-graduates-contact main section.content fieldset {
    margin-bottom: 34px;
  }
  body.comeback-contact main section.content fieldset > div, body.mid-career-contact main section.content fieldset > div, body.new-graduates-contact main section.content fieldset > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 42px;
  }
  body.comeback-contact main section.content fieldset > div:before, body.mid-career-contact main section.content fieldset > div:before, body.new-graduates-contact main section.content fieldset > div:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #E5F1FF;
  }
  body.comeback-contact main section.content fieldset > div:after, body.mid-career-contact main section.content fieldset > div:after, body.new-graduates-contact main section.content fieldset > div:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 12px;
    height: 1px;
    background-color: #00448D;
  }
  body.comeback-contact main section.content fieldset > div .form-label, body.mid-career-contact main section.content fieldset > div .form-label, body.new-graduates-contact main section.content fieldset > div .form-label {
    position: relative;
    display: block;
    margin-bottom: 22px;
    padding-left: 23px;
    font-size: 16px;
  }
  body.comeback-contact main section.content fieldset > div .form-label:before, body.mid-career-contact main section.content fieldset > div .form-label:before, body.new-graduates-contact main section.content fieldset > div .form-label:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 9px;
    height: 9px;
    background-color: #00448D;
    transform: translateY(-50%) rotate(45deg);
  }
  body.comeback-contact main section.content fieldset > div .form-label span, body.mid-career-contact main section.content fieldset > div .form-label span, body.new-graduates-contact main section.content fieldset > div .form-label span {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 50px;
    height: 24px;
    background-color: #E60000;
    font-size: 14px;
    text-align: center;
    line-height: 24px;
    color: #fff;
  }
  body.comeback-contact main section.content fieldset > div .content-with-caption, body.mid-career-contact main section.content fieldset > div .content-with-caption, body.new-graduates-contact main section.content fieldset > div .content-with-caption {
    flex: 1;
    margin-left: 24px;
  }
  body.comeback-contact main section.content fieldset > div .content-with-caption .wpcf7-form-control-wrap, body.mid-career-contact main section.content fieldset > div .content-with-caption .wpcf7-form-control-wrap, body.new-graduates-contact main section.content fieldset > div .content-with-caption .wpcf7-form-control-wrap {
    flex: 0 1 auto;
    margin-left: 0;
  }
  body.comeback-contact main section.content fieldset > div .content-with-caption small, body.mid-career-contact main section.content fieldset > div .content-with-caption small, body.new-graduates-contact main section.content fieldset > div .content-with-caption small {
    font-size: 16px;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap {
    flex: 1;
    margin-left: 24px;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"], body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"], body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"] {
    display: none;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item {
    display: block;
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #000;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label {
    position: relative;
    padding-left: 40px;
    display: inline-block;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 27px;
    height: 27px;
    border: 1px solid #00448D;
    background-color: #fff;
  }
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    border-top: 2px solid #00448D;
    border-right: 2px solid #00448D;
    transform: rotate(130deg);
    position: absolute;
    left: 9px;
    top: 5px;
  }
  body.comeback-contact main section.content fieldset > div textarea, body.mid-career-contact main section.content fieldset > div textarea, body.new-graduates-contact main section.content fieldset > div textarea {
    width: 100%;
    max-width: 788px;
    padding: 12px 10px;
    border: 1px solid #00448D;
  }
  body.comeback-contact main section.content fieldset > div textarea::placeholder, body.mid-career-contact main section.content fieldset > div textarea::placeholder, body.new-graduates-contact main section.content fieldset > div textarea::placeholder {
    font-size: 16px;
    opacity: 0.25;
  }
  body.comeback-contact main section.content fieldset > div .radio-button input[type="radio"], body.mid-career-contact main section.content fieldset > div .radio-button input[type="radio"], body.new-graduates-contact main section.content fieldset > div .radio-button input[type="radio"] {
    display: none;
  }
  body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item {
    display: block;
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #000;
  }
  body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label {
    position: relative;
    padding-left: 40px;
    display: inline-block;
  }
  body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 27px;
    height: 27px;
    border: 1px solid #00448D;
    background-color: #fff;
  }
  body.comeback-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset > div .radio-button input[type="radio"]:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    border-top: 2px solid #00448D;
    border-right: 2px solid #00448D;
    transform: rotate(130deg);
    position: absolute;
    left: 9px;
    top: 5px;
  }
  body.comeback-contact main section.content fieldset > div .text-form, body.mid-career-contact main section.content fieldset > div .text-form, body.new-graduates-contact main section.content fieldset > div .text-form {
    width: 100%;
    padding: 12px 10px 12px;
    border: 1px solid #00448D;
  }
  body.comeback-contact main section.content fieldset > div .text-form::placeholder, body.mid-career-contact main section.content fieldset > div .text-form::placeholder, body.new-graduates-contact main section.content fieldset > div .text-form::placeholder {
    font-size: 16px;
    opacity: 0.25;
  }
  body.comeback-contact main section.content fieldset .agree, body.mid-career-contact main section.content fieldset .agree, body.new-graduates-contact main section.content fieldset .agree {
    align-items: center;
    flex-direction: column;
  }
  body.comeback-contact main section.content fieldset .agree input[type="checkbox"], body.mid-career-contact main section.content fieldset .agree input[type="checkbox"], body.new-graduates-contact main section.content fieldset .agree input[type="checkbox"] {
    display: none;
  }
  body.comeback-contact main section.content fieldset .agree .wpcf7-list-item, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item {
    display: block;
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #000;
  }
  body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label {
    position: relative;
    padding-left: 40px;
    display: inline-block;
  }
  body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label::before, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label::before, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 27px;
    height: 27px;
    border: 1px solid #00448D;
    background-color: #fff;
    border-radius: 27px;
  }
  body.comeback-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.mid-career-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after, body.new-graduates-contact main section.content fieldset .agree input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    border-top: 2px solid #00448D;
    border-right: 2px solid #00448D;
    transform: rotate(130deg) translate(-40%, 50%);
    position: absolute;
    left: 9px;
    top: 50%;
  }
  body.comeback-contact main section.content fieldset .agree:before, body.mid-career-contact main section.content fieldset .agree:before, body.new-graduates-contact main section.content fieldset .agree:before {
    display: none;
  }
  body.comeback-contact main section.content fieldset .agree:after, body.mid-career-contact main section.content fieldset .agree:after, body.new-graduates-contact main section.content fieldset .agree:after {
    display: none;
  }
  body.comeback-contact main section.content fieldset .agree fieldset, body.mid-career-contact main section.content fieldset .agree fieldset, body.new-graduates-contact main section.content fieldset .agree fieldset {
    margin-bottom: 0;
  }
  body.comeback-contact main section.content fieldset .agree .wpcf7-list-item-label, body.mid-career-contact main section.content fieldset .agree .wpcf7-list-item-label, body.new-graduates-contact main section.content fieldset .agree .wpcf7-list-item-label {
    font-size: 15px;
  }
  body.comeback-contact main section.content fieldset .note, body.mid-career-contact main section.content fieldset .note, body.new-graduates-contact main section.content fieldset .note {
    margin-top: -15px;
    padding-left: 40px;
    font-size: 14px;
  }
  body.comeback-contact main section.content .submit-button, body.mid-career-contact main section.content .submit-button, body.new-graduates-contact main section.content .submit-button {
    position: relative;
    width: 290px;
    height: 56px;
    margin: 0 auto 60px;
  }
  body.comeback-contact main section.content .submit-button input[type="submit"], body.mid-career-contact main section.content .submit-button input[type="submit"], body.new-graduates-contact main section.content .submit-button input[type="submit"] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 290px;
    margin: 0 auto;
    padding: 15px 20px;
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.08em;
    font-weight: 700;
    font-weight: bold;
    color: #fff;
    background-color: #00448D;
    border: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  body.comeback-contact main section.content .submit-button .wpcf7-spinner, body.mid-career-contact main section.content .submit-button .wpcf7-spinner, body.new-graduates-contact main section.content .submit-button .wpcf7-spinner {
    display: none;
  }
  body.comeback-contact main section.content .submit-button:before, body.mid-career-contact main section.content .submit-button:before, body.new-graduates-contact main section.content .submit-button:before {
    content: "";
    position: absolute;
    top: 52%;
    right: 20px;
    transform: translateY(-50%);
    width: 18px;
    height: 1px;
    background-color: #fff;
    border-radius: 1px;
    z-index: 1;
  }
  body.comeback-contact main section.content .submit-button:after, body.mid-career-contact main section.content .submit-button:after, body.new-graduates-contact main section.content .submit-button:after {
    content: "";
    position: absolute;
    top: 52%;
    right: 20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #fff;
    clip-path: polygon(0 0, 100% 50%, 0 50%);
    z-index: 1;
  }
  body.comeback-contact main section.content .submit-button:hover, body.mid-career-contact main section.content .submit-button:hover, body.new-graduates-contact main section.content .submit-button:hover {
    opacity: 0.8;
    transition: 0.4s;
  }
}
@media screen and (min-width: 800px) and (min-width: 1200px) {
  body.comeback-contact, body.mid-career-contact, body.new-graduates-contact {
    margin-top: 131px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div:after, body.mid-career-contact main section.content fieldset > div:after, body.new-graduates-contact main section.content fieldset > div:after {
    width: 290px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .form-label, body.mid-career-contact main section.content fieldset > div .form-label, body.new-graduates-contact main section.content fieldset > div .form-label {
    width: 270px;
    margin-bottom: 0;
    padding-left: 28px;
    font-size: 18px;
  }
  body.comeback-contact main section.content fieldset > div .form-label:before, body.mid-career-contact main section.content fieldset > div .form-label:before, body.new-graduates-contact main section.content fieldset > div .form-label:before {
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .wpcf7-form-control-wrap .checkbox .wpcf7-list-item {
    display: inline-block;
    width: calc(100% / 3);
    margin: 0 0 23px 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div textarea::placeholder, body.mid-career-contact main section.content fieldset > div textarea::placeholder, body.new-graduates-contact main section.content fieldset > div textarea::placeholder {
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.mid-career-contact main section.content fieldset > div .radio-button .wpcf7-list-item, body.new-graduates-contact main section.content fieldset > div .radio-button .wpcf7-list-item {
    display: inline-block;
    margin: 0 46px 0 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content fieldset > div .text-form::placeholder, body.mid-career-contact main section.content fieldset > div .text-form::placeholder, body.new-graduates-contact main section.content fieldset > div .text-form::placeholder {
    font-size: 18px;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.comeback-contact main section.content .submit-button, body.mid-career-contact main section.content .submit-button, body.new-graduates-contact main section.content .submit-button {
    width: 370px;
    font-size: 20px;
  }
  body.comeback-contact main section.content .submit-button input[type="submit"], body.mid-career-contact main section.content .submit-button input[type="submit"], body.new-graduates-contact main section.content .submit-button input[type="submit"] {
    width: 370px;
  }
}
