@charset "UTF-8";
main {
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0vw;
}

#page-company-wrap {
  width: 100%;
  position: relative;
}

#page-company .section-heading {
  display: flex;
  flex-direction: column;
}
#page-company .section-heading .section-heading-title {
  margin-top: 4vw;
}
#page-company .company-intro__nav {
  margin-top: 10.6666666667vw;
  padding: 0 2.6666666667vw;
}
#page-company .company-intro__nav ul {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 3.3333333333vw 1.3333333333vw;
}
#page-company .company-intro__nav a {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-intro__nav a::before {
  content: "";
  display: block;
  width: 2vw;
  height: 0.2666666667vw;
  background-color: #999;
}
#page-company .company-about {
  margin-top: 29.3333333333vw;
  padding: 0 2.6666666667vw;
}
#page-company .company-about .company-about__body {
  margin-top: 6.6666666667vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-philosophy {
  position: relative;
  margin-top: 56vw;
}
#page-company .company-philosophy .company-philosophy__visual img {
  width: 100%;
  height: 66.6666666667vw;
  object-fit: cover;
}
#page-company .company-philosophy .company-philosophy__panel {
  position: absolute;
  top: -37.2vw;
  right: 0;
  width: 97.3333333333vw;
  padding: 0 2vw 10vw 3.3333333333vw;
  background: rgba(255, 255, 255, 0.91);
}
#page-company .company-philosophy .company-philosophy__logo {
  margin-bottom: 3.3333333333vw;
}
#page-company .company-philosophy .company-philosophy__logo img {
  width: 38.1333333333vw;
  height: auto;
}
#page-company .company-philosophy p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-message {
  margin: 0 auto 0;
  padding-top: 20vw;
  padding-bottom: 20vw;
}
#page-company .company-message .company-message__layout {
  padding: 0 2.6666666667vw;
}
#page-company .company-message .company-message__body {
  padding-top: 4.5333333333vw;
  padding-bottom: 2vw;
}
#page-company .company-message .company-message__body p + p {
  margin-top: 3.2vw;
}
#page-company .company-message .company-message__body h4 {
  font-size: 3.7333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
  margin-top: 6vw;
}
#page-company .company-message .company-message__body h4 + p {
  margin-top: 6vw;
}
#page-company .company-message .company-message__body p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-message .company-message__body p.company-message__name {
  margin-top: 4vw;
  text-align: right;
  color: #666;
  font-weight: bold;
}
#page-company .company-message .company-message__body p.company-message__name span {
  font-size: 3.2vw;
  margin-right: 1em;
}
#page-company .company-message .company-message__image {
  width: 60.5333333333vw;
  margin: 15.3333333333vw auto 0;
}
#page-company .company-message .company-message__image img {
  width: auto;
  height: auto;
  display: block;
}
#page-company .company-value {
  background-color: #faf9f6;
  padding: 16.8vw 2.6666666667vw 69.3333333333vw;
}
#page-company .company-value .company-value-layout {
  margin: 0 auto 0;
}
#page-company .company-value .company-value__lead {
  margin-top: 16vw;
}
#page-company .company-value .company-value__lead h4 {
  margin: 0;
  font-size: 5.3333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.64;
  letter-spacing: -0.01em;
  text-align: left;
  color: #333;
}
#page-company .company-value .company-value__lead p {
  margin-top: 4vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-value .value__grid {
  margin-top: 13.3333333333vw;
  display: grid;
  gap: 10.6666666667vw;
}
#page-company .company-value .value__grid .value-card {
  padding: 8vw 4vw;
  border: clamp(1px, 0.1333333333vw, 1px) solid #ece7de;
  border-radius: 1.3333333333vw;
  text-align: center;
}
#page-company .company-value .value__grid .value-card h3 {
  margin: 0;
  font-size: 4.5333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-company .company-value .value__grid .value-card img {
  width: auto;
  height: 18.1333333333vw;
  margin: 4.6666666667vw auto 0;
  object-fit: contain;
}
#page-company .company-value .value__grid .value-card p {
  margin: 6.4vw 0 0;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.65;
  letter-spacing: normal;
  text-align: center;
  color: #666;
}
#page-company .company-value .company-value__links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5.3333333333vw;
  margin-top: 8vw;
}
#page-company .company-value .company-value__links a {
  display: inline-flex;
  align-items: center;
  gap: 2.1333333333vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-value .company-value__links a::before {
  content: "";
  width: 2.2666666667vw;
  height: 2.2666666667vw;
  background: url("../img/common/icon-triangle.png") center/contain no-repeat;
}
#page-company .company-value .company-value__staff {
  margin-top: 24vw;
  position: relative;
  text-align: center;
}
#page-company .company-value .company-value__staff figure {
  margin: 0;
  position: absolute;
  width: 62.4vw;
}
#page-company .company-value .company-value__staff figure:nth-of-type(1) {
  left: -2.6666666667vw;
  top: 0;
}
#page-company .company-value .company-value__staff figure:nth-of-type(2) {
  right: -2.6666666667vw;
  top: 52vw;
}
#page-company .company-value .company-value__staff img {
  display: block;
  width: 100%;
  height: auto;
}
#page-company .company-value .company-value__staff strong {
  position: absolute;
  display: block;
  width: 1em;
  height: 53.3333333333vw;
  right: 10.6666666667vw;
  top: 50%;
  transform: translateX(0) translateY(-6.1333333333vw);
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: "Shippori Mincho", serif;
  font-size: 4vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-outline {
  margin: 0 auto;
  padding: 40vw 2.6666666667vw 18.6666666667vw;
}
#page-company .company-outline .company-outline__list {
  margin-top: 10.6666666667vw;
  display: grid;
  grid-template-columns: 26.9333333333vw 1fr;
  gap: 6.4vw;
  align-items: start;
  padding: 2.6666666667vw 0;
}
#page-company .company-outline .company-outline__list dt {
  height: 100%;
  position: relative;
  margin: 0;
  font-size: 3.7333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
  border-right: 0.5333333333vw solid #ddaf00;
  padding: 1.3333333333vw 0;
}
#page-company .company-outline .company-outline__list dd {
  margin: 0;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
  padding: 1.3333333333vw 0;
}
#page-company .company-outline .company-outline__list a {
  color: #666;
  text-decoration: none;
}
#page-company .company-access {
  padding: 14.6666666667vw 2.6666666667vw 22.4vw;
  background-color: #faf9f6;
}
#page-company .company-access .company-access-layout {
  margin: 0 auto 0;
}
#page-company .company-access .company-access__office {
  position: relative;
}
#page-company .company-access .company-access__office.company-access__office--head {
  margin-top: 13.3333333333vw;
  z-index: 1;
}
#page-company .company-access .company-access__office.company-access__office--branch {
  margin: 0 auto 0;
  margin-top: 17.3333333333vw;
}
#page-company .company-access .company-access__office.company-access__office--branch .company-access__image {
  width: 53.3333333333vw;
  margin: 0 auto;
}
#page-company .company-access .company-access__image img {
  width: 100%;
  display: block;
}
#page-company .company-access .company-access__body {
  margin-top: 7.3333333333vw;
}
#page-company .company-access .company-access__body h4 {
  font-size: 3.7333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-access .company-access__body h4 + p {
  margin-top: 4.6666666667vw;
}
#page-company .company-access .company-access__body p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-access .company-access__body p + h4 {
  margin-top: 7.3333333333vw;
}
#page-company .company-access .company-access__map {
  margin-top: 12vw;
  position: relative;
  margin-left: -2.6666666667vw;
  margin-right: -2.6666666667vw;
}
#page-company .company-access .company-access__map iframe {
  display: block;
  width: 100%;
  height: 72vw;
  border: 0;
}

/**
お問い合わせ
*/
#page-recruit_entry,
#page-partner_entry,
#page-contact {
  width: 94.6666666667vw;
  margin: 0 auto;
  padding-bottom: 14.6666666667vw;
}
#page-recruit_entry .description,
#page-partner_entry .description,
#page-contact .description {
  padding: 26.6666666667vw 0 0;
}
#page-recruit_entry .description strong,
#page-partner_entry .description strong,
#page-contact .description strong {
  display: block;
  font-size: 4.5333333333vw;
  margin-bottom: 4.6666666667vw;
}
#page-recruit_entry .description p,
#page-partner_entry .description p,
#page-contact .description p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666666;
}
#page-recruit_entry .description:last-of-type,
#page-partner_entry .description:last-of-type,
#page-contact .description:last-of-type {
  margin-bottom: 0;
}
#page-recruit_entry .description a,
#page-partner_entry .description a,
#page-contact .description a {
  color: #333333;
  text-decoration: none;
  border-bottom: clamp(1px, 0.1333333333vw, 1px) solid #7a7a7a;
}
#page-recruit_entry h3,
#page-partner_entry h3,
#page-contact h3 {
  font-size: 4.5333333333vw;
  font-weight: bold;
  letter-spacing: 0.01em;
  text-align: left;
  color: #333;
  border-left: 0.6666666667vw solid #ddaf00;
  padding: 0.5333333333vw 1.7333333333vw;
  margin-top: 12.6666666667vw;
}
#page-recruit_entry p + p,
#page-partner_entry p + p,
#page-contact p + p {
  margin-top: 1em;
}
#page-recruit_entry .form,
#page-partner_entry .form,
#page-contact .form {
  width: 92vw;
  margin: 0 auto;
  margin-top: 6.6666666667vw;
  padding-bottom: 13.3333333333vw;
  color: #333;
}
#page-recruit_entry .form h3,
#page-partner_entry .form h3,
#page-contact .form h3 {
  text-align: center;
  font-size: 3.7333333333vw;
  background-color: #b3aa82;
  padding: 1.8666666667vw 2.6666666667vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #fff;
}
#page-recruit_entry .form table,
#page-partner_entry .form table,
#page-contact .form table {
  width: 100%;
  margin: 4vw auto 0;
  table-layout: fixed;
}
#page-recruit_entry .form table tr th,
#page-recruit_entry .form table tr td,
#page-partner_entry .form table tr th,
#page-partner_entry .form table tr td,
#page-contact .form table tr th,
#page-contact .form table tr td {
  width: 100%;
  display: block;
  padding: 0;
  border: 0.2666666667vw solid #ccc;
  border-bottom: 0;
  font-size: 3.7333333333vw;
}
#page-recruit_entry .form table tr th,
#page-partner_entry .form table tr th,
#page-contact .form table tr th {
  text-align: center;
  vertical-align: middle;
  background-color: #ebebeb;
  padding: 2.4vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2.6666666667vw;
}
#page-recruit_entry .form table tr th:after,
#page-partner_entry .form table tr th:after,
#page-contact .form table tr th:after {
  content: "任意";
  display: flex;
  width: 8vw;
  height: 4vw;
  justify-content: center;
  align-items: center;
  background: #aaaaaa;
  color: #fff;
  font-size: 2.4vw;
}
#page-recruit_entry .form table tr th.require:after,
#page-partner_entry .form table tr th.require:after,
#page-contact .form table tr th.require:after {
  content: "必須";
  background: #d03f3f;
}
#page-recruit_entry .form table tr:last-of-type td,
#page-partner_entry .form table tr:last-of-type td,
#page-contact .form table tr:last-of-type td {
  border-bottom: 0.2666666667vw solid #ccc;
}
#page-recruit_entry .form table tr td,
#page-partner_entry .form table tr td,
#page-contact .form table tr td {
  padding: 2.1333333333vw 1.8666666667vw;
  vertical-align: middle;
  background-color: #fff;
}
#page-recruit_entry .form table tr a,
#page-partner_entry .form table tr a,
#page-contact .form table tr a {
  font-size: 2.9333333333vw;
  color: #1d2b59;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.56px;
}
#page-recruit_entry .form table tr .label,
#page-partner_entry .form table tr .label,
#page-contact .form table tr .label {
  font-size: 3.7333333333vw;
  color: #999999;
  display: block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
#page-recruit_entry .form table tr .label:first-of-type,
#page-partner_entry .form table tr .label:first-of-type,
#page-contact .form table tr .label:first-of-type {
  margin-top: 0;
}
#page-recruit_entry .form table tr .label:last-of-type,
#page-partner_entry .form table tr .label:last-of-type,
#page-contact .form table tr .label:last-of-type {
  margin-bottom: 0;
}
#page-recruit_entry .form table tr .wpcf7-not-valid-tip,
#page-partner_entry .form table tr .wpcf7-not-valid-tip,
#page-contact .form table tr .wpcf7-not-valid-tip {
  font-size: 3.7333333333vw;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
#page-recruit_entry .form table tr select,
#page-recruit_entry .form table tr textarea,
#page-recruit_entry .form table tr input[type=text],
#page-recruit_entry .form table tr input[type=url],
#page-recruit_entry .form table tr input[type=tel],
#page-recruit_entry .form table tr input[type=email],
#page-partner_entry .form table tr select,
#page-partner_entry .form table tr textarea,
#page-partner_entry .form table tr input[type=text],
#page-partner_entry .form table tr input[type=url],
#page-partner_entry .form table tr input[type=tel],
#page-partner_entry .form table tr input[type=email],
#page-contact .form table tr select,
#page-contact .form table tr textarea,
#page-contact .form table tr input[type=text],
#page-contact .form table tr input[type=url],
#page-contact .form table tr input[type=tel],
#page-contact .form table tr input[type=email] {
  width: 100%;
  border: 0.2666666667vw solid #cccccc;
  padding: 0.5em 0.65em;
  font-size: 3.7333333333vw;
  max-width: 100%;
  font-family: "Noto Sans JP", sans-serif;
}
#page-recruit_entry .form table tr select.p-postal-code,
#page-recruit_entry .form table tr textarea.p-postal-code,
#page-recruit_entry .form table tr input[type=text].p-postal-code,
#page-recruit_entry .form table tr input[type=url].p-postal-code,
#page-recruit_entry .form table tr input[type=tel].p-postal-code,
#page-recruit_entry .form table tr input[type=email].p-postal-code,
#page-partner_entry .form table tr select.p-postal-code,
#page-partner_entry .form table tr textarea.p-postal-code,
#page-partner_entry .form table tr input[type=text].p-postal-code,
#page-partner_entry .form table tr input[type=url].p-postal-code,
#page-partner_entry .form table tr input[type=tel].p-postal-code,
#page-partner_entry .form table tr input[type=email].p-postal-code,
#page-contact .form table tr select.p-postal-code,
#page-contact .form table tr textarea.p-postal-code,
#page-contact .form table tr input[type=text].p-postal-code,
#page-contact .form table tr input[type=url].p-postal-code,
#page-contact .form table tr input[type=tel].p-postal-code,
#page-contact .form table tr input[type=email].p-postal-code {
  width: 38.6666666667vw;
}
#page-recruit_entry .form table tr select[name=zip],
#page-recruit_entry .form table tr textarea[name=zip],
#page-recruit_entry .form table tr input[type=text][name=zip],
#page-recruit_entry .form table tr input[type=url][name=zip],
#page-recruit_entry .form table tr input[type=tel][name=zip],
#page-recruit_entry .form table tr input[type=email][name=zip],
#page-partner_entry .form table tr select[name=zip],
#page-partner_entry .form table tr textarea[name=zip],
#page-partner_entry .form table tr input[type=text][name=zip],
#page-partner_entry .form table tr input[type=url][name=zip],
#page-partner_entry .form table tr input[type=tel][name=zip],
#page-partner_entry .form table tr input[type=email][name=zip],
#page-contact .form table tr select[name=zip],
#page-contact .form table tr textarea[name=zip],
#page-contact .form table tr input[type=text][name=zip],
#page-contact .form table tr input[type=url][name=zip],
#page-contact .form table tr input[type=tel][name=zip],
#page-contact .form table tr input[type=email][name=zip] {
  width: 24vw;
}
#page-recruit_entry .form table tr textarea,
#page-partner_entry .form table tr textarea,
#page-contact .form table tr textarea {
  width: 100%;
}
#page-recruit_entry .form table tr ::placeholder,
#page-partner_entry .form table tr ::placeholder,
#page-contact .form table tr ::placeholder {
  color: #ccc;
}
#page-recruit_entry .form table tr input[type=file]::file-selector-button,
#page-partner_entry .form table tr input[type=file]::file-selector-button,
#page-contact .form table tr input[type=file]::file-selector-button {
  cursor: pointer;
  font-size: 3.2vw;
  margin-top: 1.6vw;
}
#page-recruit_entry .form table tr .wpcf7-checkbox,
#page-partner_entry .form table tr .wpcf7-checkbox,
#page-contact .form table tr .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  margin-top: 4vw;
}
#page-recruit_entry .form table tr .wpcf7-checkbox .wpcf7-list-item,
#page-partner_entry .form table tr .wpcf7-checkbox .wpcf7-list-item,
#page-contact .form table tr .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin-left: 0;
  margin-bottom: 3.3333333333vw;
}
#page-recruit_entry .form table tr .wpcf7-checkbox .wpcf7-list-item input,
#page-partner_entry .form table tr .wpcf7-checkbox .wpcf7-list-item input,
#page-contact .form table tr .wpcf7-checkbox .wpcf7-list-item input {
  width: 4.5333333333vw;
  height: 4.5333333333vw;
}
#page-recruit_entry .form table tr .wpcf7-checkbox .wpcf7-list-item:last-of-type,
#page-partner_entry .form table tr .wpcf7-checkbox .wpcf7-list-item:last-of-type,
#page-contact .form table tr .wpcf7-checkbox .wpcf7-list-item:last-of-type {
  margin-bottom: 0;
}
#page-recruit_entry .form table tr .wpcf7-radio,
#page-partner_entry .form table tr .wpcf7-radio,
#page-contact .form table tr .wpcf7-radio {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.6666666667vw;
}
#page-recruit_entry .form table tr .wpcf7-radio .wpcf7-list-item,
#page-partner_entry .form table tr .wpcf7-radio .wpcf7-list-item,
#page-contact .form table tr .wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
}
#page-recruit_entry .form table tr .wpcf7-radio .wpcf7-list-item label,
#page-partner_entry .form table tr .wpcf7-radio .wpcf7-list-item label,
#page-contact .form table tr .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
}
#page-recruit_entry .form table tr .wpcf7-radio .wpcf7-list-item input,
#page-partner_entry .form table tr .wpcf7-radio .wpcf7-list-item input,
#page-contact .form table tr .wpcf7-radio .wpcf7-list-item input {
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  margin: 0 0.6666666667vw;
}
#page-recruit_entry .form table tr .wpcf7-radio .wpcf7-list-item:last-of-type,
#page-partner_entry .form table tr .wpcf7-radio .wpcf7-list-item:last-of-type,
#page-contact .form table tr .wpcf7-radio .wpcf7-list-item:last-of-type {
  margin-bottom: 0;
}
#page-recruit_entry .form table tr .wpcf7-acceptance .wpcf7-list-item,
#page-partner_entry .form table tr .wpcf7-acceptance .wpcf7-list-item,
#page-contact .form table tr .wpcf7-acceptance .wpcf7-list-item {
  padding-top: 0.5em;
  margin-left: 0;
}
#page-recruit_entry .form table tr .line,
#page-partner_entry .form table tr .line,
#page-contact .form table tr .line {
  margin-top: 0.25em;
  margin-bottom: 0.5em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.4vw;
}
#page-recruit_entry .form table tr dl,
#page-partner_entry .form table tr dl,
#page-contact .form table tr dl {
  display: flex;
  flex-wrap: wrap;
}
#page-recruit_entry .form table tr dl dt,
#page-partner_entry .form table tr dl dt,
#page-contact .form table tr dl dt {
  display: flex;
  align-items: center;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
#page-recruit_entry .form table tr dl dd,
#page-partner_entry .form table tr dl dd,
#page-contact .form table tr dl dd {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
#page-recruit_entry .form table tr .boxes,
#page-partner_entry .form table tr .boxes,
#page-contact .form table tr .boxes {
  display: flex;
  align-items: center;
  gap: 4.6666666667vw;
}
#page-recruit_entry .form table tr .boxes .box,
#page-partner_entry .form table tr .boxes .box,
#page-contact .form table tr .boxes .box {
  display: flex;
  align-items: center;
  gap: 2.6666666667vw;
  font-size: 3.2vw;
}
#page-recruit_entry .form table tr .boxes .box .name,
#page-partner_entry .form table tr .boxes .box .name,
#page-contact .form table tr .boxes .box .name {
  color: #333333;
}
#page-recruit_entry .form table tr .boxes .box .name span,
#page-partner_entry .form table tr .boxes .box .name span,
#page-contact .form table tr .boxes .box .name span {
  font-size: 2.4vw;
  display: block;
  margin-top: 0.5333333333vw;
}
#page-recruit_entry .form table tr .boxes .box label input,
#page-partner_entry .form table tr .boxes .box label input,
#page-contact .form table tr .boxes .box label input {
  font-size: 3.2vw;
  width: 3.25em;
  padding: 1.8666666667vw 1.0666666667vw;
  margin-right: 1.0666666667vw;
}
#page-recruit_entry .form .check,
#page-partner_entry .form .check,
#page-contact .form .check {
  margin: 0vw auto 0;
  font-size: 3.7333333333vw;
  text-align: center;
}
#page-recruit_entry .form .check label,
#page-partner_entry .form .check label,
#page-contact .form .check label {
  margin-top: 5.3333333333vw;
  padding: 0.6666666667vw;
  display: inline-block;
  padding-left: 1.25em;
  font-weight: bold;
}
#page-recruit_entry .form .check label .wpcf7-list-item,
#page-partner_entry .form .check label .wpcf7-list-item,
#page-contact .form .check label .wpcf7-list-item {
  margin-left: 0;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-recruit_entry .form .check label .wpcf7-list-item input,
#page-partner_entry .form .check label .wpcf7-list-item input,
#page-contact .form .check label .wpcf7-list-item input {
  position: absolute;
  top: 0.25em;
  transform: translateX(-20px);
}
#page-recruit_entry .form .btns,
#page-partner_entry .form .btns,
#page-contact .form .btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 13.3333333333vw;
  gap: 8.6666666667vw;
}
#page-recruit_entry .form [type=reset],
#page-partner_entry .form [type=reset],
#page-contact .form [type=reset] {
  font-size: 3.7333333333vw;
  background: transparent;
  border: 0;
  border-bottom: 0.2666666667vw solid #333;
  padding: 0 0 0.5333333333vw;
  margin: 0;
  color: #333;
  cursor: pointer;
}
#page-recruit_entry .form [type=reset]:hover,
#page-partner_entry .form [type=reset]:hover,
#page-contact .form [type=reset]:hover {
  opacity: 0.65;
}
#page-recruit_entry .form .submit,
#page-partner_entry .form .submit,
#page-contact .form .submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  position: relative;
}
#page-recruit_entry .form .submit .ajax-loader,
#page-partner_entry .form .submit .ajax-loader,
#page-contact .form .submit .ajax-loader {
  position: absolute;
  top: 50%;
  right: 6.6666666667vw;
  transform: translateX(-50%);
}
#page-recruit_entry .form .submit [type=submit],
#page-partner_entry .form .submit [type=submit],
#page-contact .form .submit [type=submit] {
  display: block;
  border: 0;
  font-size: 4.2666666667vw;
  font-weight: bold;
  color: #fff;
  width: 81.3333333333vw;
  height: 17.3333333333vw;
  border-radius: 1.3333333333vw;
  background-color: #ddaf00;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}
#page-recruit_entry .form .submit [type=submit]:disabled,
#page-partner_entry .form .submit [type=submit]:disabled,
#page-contact .form .submit [type=submit]:disabled {
  opacity: 1;
  background-color: #ccc;
  cursor: not-allowed;
}

#page-recruit_entry_thanks,
#page-partner_entry_thanks,
#page-contact_send {
  position: relative;
  padding: 0vw 2.6666666667vw 0vw;
}
#page-recruit_entry_thanks::after,
#page-partner_entry_thanks::after,
#page-contact_send::after {
  content: "";
  display: block;
  background: url(../img/contact/thanks-bg-sp.jpg) center bottom no-repeat;
  background-size: contain;
  width: 100%;
  height: 66.6666666667vw;
  margin-top: 40vw;
}
#page-recruit_entry_thanks h3,
#page-partner_entry_thanks h3,
#page-contact_send h3 {
  font-size: 5.6vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.57;
  letter-spacing: -0.2666666667vw;
  text-align: left;
  color: #333;
  margin-top: 21.3333333333vw;
}
#page-recruit_entry_thanks h3 + p,
#page-partner_entry_thanks h3 + p,
#page-contact_send h3 + p {
  margin-top: 8vw;
}
#page-recruit_entry_thanks p,
#page-partner_entry_thanks p,
#page-contact_send p {
  margin-top: 4vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-recruit_entry_thanks .info,
#page-partner_entry_thanks .info,
#page-contact_send .info {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.6666666667vw;
}
#page-recruit_entry_thanks .info .tel,
#page-partner_entry_thanks .info .tel,
#page-contact_send .info .tel {
  display: inline-block;
}
#page-recruit_entry_thanks .info .tel a,
#page-partner_entry_thanks .info .tel a,
#page-contact_send .info .tel a {
  font-size: 5.7333333333vw;
  text-decoration: none;
  font-weight: bold;
  border-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
#page-recruit_entry_thanks .info .tel a:before,
#page-partner_entry_thanks .info .tel a:before,
#page-contact_send .info .tel a:before {
  content: "";
  display: block;
  background: url(../img/common/icon-tel-black@2x.png) center center no-repeat;
  background-size: contain;
  width: 5.2vw;
  height: 5.2vw;
  margin-top: 0.5333333333vw;
  margin-right: 0.6666666667vw;
}
#page-recruit_entry_thanks .info .time,
#page-partner_entry_thanks .info .time,
#page-contact_send .info .time {
  display: inline-block;
  font-size: 3.5333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-recruit_entry_thanks .link,
#page-partner_entry_thanks .link,
#page-contact_send .link {
  margin-top: 17.3333333333vw;
}
#page-recruit_entry_thanks .link a,
#page-partner_entry_thanks .link a,
#page-contact_send .link a {
  display: inline-flex;
  align-items: center;
  gap: 2.1333333333vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-recruit_entry_thanks .link a::before,
#page-partner_entry_thanks .link a::before,
#page-contact_send .link a::before {
  content: "";
  width: 2.2666666667vw;
  height: 2.6666666667vw;
  background: url("../img/common/icon-triangle.png") center/contain no-repeat;
}

/**
サイトポリシー
*/
#page-privacy,
#page-sitepolicy {
  position: relative;
  margin: 24vw auto 0;
  padding: 0vw 4vw 40vw;
}
#page-privacy p,
#page-sitepolicy p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy p + p,
#page-sitepolicy p + p {
  margin-top: 4vw;
}
#page-privacy p.align-right,
#page-sitepolicy p.align-right {
  margin-top: 6vw;
  text-align: right;
}
#page-privacy h3,
#page-sitepolicy h3 {
  margin-top: 7.3333333333vw;
  font-size: 4.2666666667vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy h3 + p,
#page-sitepolicy h3 + p {
  margin-top: 4.6666666667vw;
}
#page-privacy dl,
#page-sitepolicy dl {
  margin-top: 10vw;
}
#page-privacy dl dt,
#page-sitepolicy dl dt {
  font-size: 5.0666666667vw;
  font-weight: bold;
  margin-top: 7.3333333333vw;
}
#page-privacy dl dt:first-of-type,
#page-sitepolicy dl dt:first-of-type {
  margin-top: 0;
}
#page-privacy dl dd,
#page-sitepolicy dl dd {
  margin-top: 6vw;
  font-size: 3.7333333333vw;
  letter-spacing: 0.01em;
}
#page-privacy dl dd:last-of-type,
#page-sitepolicy dl dd:last-of-type {
  margin-right: -2.6666666667vw;
}
#page-privacy ol,
#page-privacy ul,
#page-sitepolicy ol,
#page-sitepolicy ul {
  margin-top: 4.6666666667vw;
}
#page-privacy ul li,
#page-sitepolicy ul li {
  position: relative;
  padding-left: 1em;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy ul li:before,
#page-sitepolicy ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#page-privacy ol li,
#page-sitepolicy ol li {
  list-style-type: decimal;
}
#page-privacy .info,
#page-sitepolicy .info {
  margin-top: 12.6666666667vw;
  border: solid clamp(1px, 0.1333333333vw, 1px) #ccc;
  padding: 4vw;
}
#page-privacy .info h4,
#page-sitepolicy .info h4 {
  font-size: 4.2666666667vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy .info p,
#page-sitepolicy .info p {
  margin-top: 4vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy .info .address,
#page-sitepolicy .info .address {
  margin-top: 7.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}

/**
デジタルカタログ
*/
#page-catalog {
  padding-bottom: 26.6666666667vw;
  width: 94.6666666667vw;
  margin: 0 auto;
  padding-top: 20vw;
}
#page-catalog .catalog-intro {
  padding: 5.0666666667vw 4vw;
  background-color: #faf9f6;
}
#page-catalog .catalog-intro p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-catalog .catalog-main {
  margin-top: 10.6666666667vw;
}
#page-catalog .catalog-main .catalog-main__cover {
  width: 45.3333333333vw;
  height: 66.6666666667vw;
  margin: 0 auto;
  background-color: #c9c9c9;
}
#page-catalog .catalog-main .catalog-main__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-catalog .catalog-main .catalog-main__cover img.coming_soon {
  border: clamp(1px, 0.1333333333vw, 1px) solid #ccc;
}
#page-catalog .catalog-main .catalog-main__body {
  margin-top: 10vw;
  text-align: center;
}
#page-catalog .catalog-main .catalog-main__body h3 {
  margin: 0;
  font-size: 6.6666666667vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-catalog .catalog-main .catalog-main__body p {
  margin-top: 6vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #ddaf00;
}
#page-catalog .catalog-main .catalog-main__buttons {
  display: grid;
  gap: 4vw;
  width: 65.3333333333vw;
  margin: 7.7333333333vw auto 0;
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.7333333333vw;
  height: 12.8vw;
  border: 0.2666666667vw solid #ccc;
  border-radius: 1.3333333333vw;
  background-color: #fff;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
  text-decoration: none;
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button::before {
  content: "";
  display: block;
  width: 3.3333333333vw;
  height: 3.3333333333vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button.catalog-button--view::before {
  width: 4.4vw;
  height: 3.0666666667vw;
  background-image: url(../img/common/icon-book.png);
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button.catalog-button--download::before {
  width: 4.4vw;
  height: 3.7333333333vw;
  background-image: url(../img/common/icon-download.png);
}
#page-catalog .catalog-request {
  margin-top: 19.7333333333vw;
  padding: 15.7333333333vw 4vw 15.4666666667vw;
  background-color: #faf9f6;
  text-align: center;
}
#page-catalog .catalog-request h3 {
  margin: 0;
  font-size: 4.5333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-catalog .catalog-request p {
  margin-top: 6.6666666667vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: center;
  color: #666;
}
#page-catalog .catalog-request a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.9333333333vw;
  width: 100%;
  height: 16vw;
  margin-top: 8.2666666667vw;
  border-radius: 1.0666666667vw;
  background-color: #ddaf00;
  font-size: 4.2666666667vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
#page-catalog .catalog-request a::before {
  content: "";
  display: block;
  width: 5.0666666667vw;
  height: 3.4666666667vw;
  background: url("../img/common/icon-mail-white.png") center/contain no-repeat;
}
#page-catalog .catalog-flow {
  margin-top: 28vw;
}
#page-catalog .catalog-flow .section-heading {
  display: block;
}
#page-catalog .catalog-flow .section-heading .section-heading__en {
  display: flex;
  align-items: center;
  gap: 4.5333333333vw;
  font-family: "Libre Baskerville", serif;
  font-size: 4vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: italic;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #ddaf00;
}
#page-catalog .catalog-flow .section-heading .section-heading__en::after {
  content: "";
  display: block;
  width: 19.3333333333vw;
  height: 0.2666666667vw;
  background-color: #ccc;
}
#page-catalog .catalog-flow .section-heading .section-heading-title {
  margin-top: 6vw;
  font-size: 6.6666666667vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.35;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-catalog .catalog-flow .section-heading p {
  margin-top: 7.2vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-catalog .catalog-flow__grid {
  display: grid;
  gap: 6.6666666667vw;
  margin-top: 13.3333333333vw;
}
#page-catalog .catalog-flow__grid .catalog-flow-card {
  min-height: 54.6666666667vw;
  padding: 9.3333333333vw 2.6666666667vw 12vw;
  border: 0.2666666667vw solid #ccc;
  border-radius: 0.8vw;
  background-color: #fff;
  text-align: center;
}
#page-catalog .catalog-flow__grid .catalog-flow-card .catalog-flow-card__step {
  margin: 0;
  font-family: "Libre Baskerville", serif;
  font-size: 4vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: italic;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #ddaf00;
}
#page-catalog .catalog-flow__grid .catalog-flow-card .catalog-flow-card__step span {
  font-size: 5.3333333333vw;
}
#page-catalog .catalog-flow__grid .catalog-flow-card h4 {
  margin-top: 4.9333333333vw;
  font-size: 4.5333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-catalog .catalog-flow__grid .catalog-flow-card p {
  margin-top: 7.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  text-align: center;
  color: #666;
}

/**
リンク
*/
/**
サイトマップ
*/
/**
coming_soon
*/
#page-coming_soon {
  background-color: rgb(255, 255, 255);
  padding: 2.6666666667vw 0 0vw;
  position: relative;
}
#page-coming_soon .inner {
  margin: 0 auto;
}
#page-coming_soon h3 {
  font-size: 7.2vw;
  font-weight: bold;
  text-align: center;
  color: #000000;
}
#page-coming_soon p {
  font-size: 3.7333333333vw;
  text-align: center;
  color: #333333;
  margin-top: 6vw;
}
#page-coming_soon .link a {
  width: 74.6666666667vw;
  height: 14.6666666667vw;
  margin: 8vw auto 0;
  font-size: 3.7333333333vw;
}

/**
notfound-page
*/
#page-notfound {
  width: 94.6666666667vw;
  margin: 0 auto;
  padding: 14vw 0 20vw;
  position: relative;
  text-align: center;
}
#page-notfound .inner {
  padding: 0 4vw;
}
#page-notfound h3 {
  margin: 0;
  font-family: "Shippori Mincho", serif;
  font-size: 5.6vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-notfound .text {
  margin-top: 6.6666666667vw;
}
#page-notfound p {
  font-size: 3.7333333333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.85;
  letter-spacing: normal;
  text-align: center;
  color: #666;
  margin: 0 auto;
  width: auto;
}
#page-notfound p a {
  text-decoration: none;
  border-bottom: clamp(1px, 0.1333333333vw, 1px) solid #ccc;
}
#page-notfound .link {
  display: flex;
  justify-content: center;
  margin-top: 8.6666666667vw;
}
#page-notfound .link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.1333333333vw;
  width: 69.3333333333vw;
  height: 12vw;
  border-radius: 0.8vw;
  background-color: #ddaf00;
  font-size: 3.7333333333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  color: #fff;
  text-decoration: none;
}
