@charset "UTF-8";
main {
  padding-bottom: 0;
  z-index: 1;
}

header #header-bottom nav .sns {
  display: none;
}

#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: clamp(1px, 2.0833333333vw, 30px);
}
#page-company .company-intro__nav {
  position: absolute;
  top: clamp(1px, 8.3333333333vw, 120px);
  left: 50%;
  width: clamp(1px, 79.8611111111vw, 1150px);
  transform: translateX(-50%);
  display: flex;
  justify-content: flex-end;
}
#page-company .company-intro__nav ul {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: clamp(1px, 1.7361111111vw, 25px) clamp(1px, 0.6944444444vw, 10px);
}
#page-company .company-intro__nav li {
  width: clamp(1px, 14.2361111111vw, 205px);
}
#page-company .company-intro__nav a {
  display: flex;
  align-items: center;
  gap: clamp(1px, 0.8333333333vw, 12px);
  font-size: clamp(1px, 1.1111111111vw, 16px);
  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: clamp(1px, 0.9722222222vw, 14px);
  height: clamp(1px, 0.0694444444vw, 1px);
  background-color: #999;
}
#page-company .company-about {
  max-width: clamp(1px, 86.8055555556vw, 1250px);
  margin: clamp(1px, 4.1666666667vw, 60px) auto 0;
  padding-top: clamp(1px, 4.1666666667vw, 60px);
  padding-left: clamp(1px, 3.4722222222vw, 50px);
  display: grid;
  grid-template-columns: clamp(1px, 27.4305555556vw, 395px) 1fr;
  gap: clamp(1px, 2.7777777778vw, 40px);
  align-items: start;
}
#page-company .company-about .company-about__body {
  padding-top: clamp(1px, 5.5555555556vw, 80px);
  font-size: clamp(1px, 1.1111111111vw, 16px);
  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: clamp(1px, 5.9722222222vw, 86px);
}
#page-company .company-philosophy .company-philosophy__visual img {
  width: 100%;
  height: clamp(1px, 34.7222222222vw, 500px);
  object-fit: cover;
}
#page-company .company-philosophy .company-philosophy__panel {
  position: absolute;
  top: 0;
  left: 50%;
  width: clamp(1px, 61.1111111111vw, 880px);
  padding: clamp(1px, 2.7777777778vw, 40px) clamp(1px, 4.1666666667vw, 60px) clamp(1px, 3.4722222222vw, 50px);
  background: rgba(255, 255, 255, 0.91);
  transform: translateX(clamp(-200px, -13.8888888889vw, 1px));
}
#page-company .company-philosophy .company-philosophy__logo {
  margin-bottom: clamp(1px, 1.7361111111vw, 25px);
}
#page-company .company-philosophy .company-philosophy__logo img {
  width: clamp(1px, 15.7638888889vw, 227px);
  height: auto;
}
#page-company .company-philosophy p {
  font-size: clamp(1px, 1.1111111111vw, 16px);
  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 {
  max-width: clamp(1px, 88.8888888889vw, 1280px);
  margin: 0 auto 0;
  padding-top: clamp(1px, 8.75vw, 126px);
  padding-bottom: clamp(1px, 10.4166666667vw, 150px);
}
#page-company .company-message .company-message__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(1px, 31.5277777778vw, 454px);
  gap: clamp(1px, 6.6666666667vw, 96px);
  align-items: end;
  padding-left: clamp(1px, 4.1666666667vw, 60px);
}
#page-company .company-message .company-message__body {
  padding-top: clamp(1px, 2.3611111111vw, 34px);
  padding-bottom: clamp(1px, 1.0416666667vw, 15px);
}
#page-company .company-message .company-message__body p + p {
  margin-top: clamp(1px, 1.6666666667vw, 24px);
}
#page-company .company-message .company-message__body h4 {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
  margin-top: clamp(1px, 6.5972222222vw, 95px);
}
#page-company .company-message .company-message__body h4 + p {
  margin-top: clamp(1px, 2.0833333333vw, 30px);
}
#page-company .company-message .company-message__body p {
  font-size: clamp(1px, 1.1111111111vw, 16px);
  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: clamp(1px, 2.0833333333vw, 30px);
  text-align: right;
  color: #333;
  font-weight: bold;
}
#page-company .company-message .company-message__body p.company-message__name span {
  font-size: clamp(1px, 0.9722222222vw, 14px);
  margin-right: 1em;
}
#page-company .company-message .company-message__image img {
  width: 100%;
  height: auto;
  display: block;
}
#page-company .company-value {
  padding-top: clamp(1px, 8.75vw, 126px);
  padding-bottom: clamp(1px, 15.2777777778vw, 220px);
  background-color: #faf9f6;
}
#page-company .company-value .company-value-layout {
  max-width: clamp(1px, 79.8611111111vw, 1150px);
  margin: 0 auto 0;
}
#page-company .company-value .company-value__head {
  display: grid;
  grid-template-columns: clamp(1px, 23.9583333333vw, 345px) 1fr;
  gap: clamp(1px, 2.7777777778vw, 40px);
  align-items: start;
}
#page-company .company-value .company-value__lead {
  padding-top: clamp(1px, 5.2083333333vw, 75px);
}
#page-company .company-value .company-value__lead h4 {
  margin: 0;
  font-size: clamp(1px, 1.9444444444vw, 28px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.64;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-value .company-value__lead p {
  margin-top: clamp(1px, 1.6666666667vw, 24px);
  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: clamp(1px, 5.5555555556vw, 80px) auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1px, 3.4722222222vw, 50px);
}
#page-company .company-value .value__grid .value-card {
  min-height: clamp(1px, 28.4722222222vw, 410px);
  padding: clamp(1px, 4.1666666667vw, 60px) clamp(1px, 1.0416666667vw, 15px);
  border: clamp(1px, 0.0694444444vw, 1px) solid #ece7de;
  border-radius: clamp(1px, 0.3472222222vw, 5px);
  text-align: center;
}
#page-company .company-value .value__grid .value-card h3 {
  margin: 0;
  font-size: clamp(1px, 1.5277777778vw, 22px);
  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: clamp(1px, 6.9444444444vw, 100px);
  margin: clamp(1px, 3.3333333333vw, 48px) auto 0;
  object-fit: contain;
}
#page-company .company-value .value__grid .value-card p {
  margin: clamp(1px, 3.6111111111vw, 52px) 0 0;
  font-size: clamp(1px, 1.1111111111vw, 16px);
  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;
  justify-content: flex-end;
  gap: clamp(1px, 2.7777777778vw, 40px);
  margin-top: clamp(1px, 2.2222222222vw, 32px);
}
#page-company .company-value .company-value__links a {
  display: inline-flex;
  align-items: center;
  gap: clamp(1px, 0.6944444444vw, 10px);
  font-size: clamp(1px, 0.9722222222vw, 14px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-value .company-value__links a::before {
  content: "";
  width: clamp(1px, 0.6944444444vw, 10px);
  height: clamp(1px, 0.6944444444vw, 10px);
  background: url("../img/common/icon-triangle.png") center/contain no-repeat;
}
#page-company .company-value .company-value__staff {
  margin-top: clamp(1px, 7.8472222222vw, 113px);
  position: relative;
  text-align: center;
}
#page-company .company-value .company-value__staff figure {
  margin: 0;
  position: absolute;
  width: clamp(1px, 32.5vw, 468px);
}
#page-company .company-value .company-value__staff figure:nth-of-type(1) {
  left: clamp(-100px, -6.9444444444vw, 1px);
  top: 0;
}
#page-company .company-value .company-value__staff figure:nth-of-type(2) {
  right: clamp(-100px, -6.9444444444vw, 1px);
  top: clamp(1px, 6.9444444444vw, 100px);
}
#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: clamp(1px, 27.7777777778vw, 400px);
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(clamp(1px, 2.5vw, 36px));
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1px, 1.8055555556vw, 26px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-company .company-outline {
  padding-top: clamp(1px, 1.3888888889vw, 20px);
  padding-bottom: clamp(1px, 8.6805555556vw, 125px);
  max-width: clamp(1px, 79.8611111111vw, 1150px);
  margin: clamp(1px, 19.4444444444vw, 280px) auto 0;
}
#page-company .company-outline .company-outline__list {
  margin-top: clamp(1px, 6.9444444444vw, 100px);
  display: grid;
  grid-template-columns: clamp(1px, 16.3888888889vw, 236px) 1fr;
  gap: clamp(1px, 3.3333333333vw, 48px);
  align-items: start;
  padding: clamp(1px, 0.6944444444vw, 10px) 0;
}
#page-company .company-outline .company-outline__list dt {
  position: relative;
  margin: 0;
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: right;
  color: #333;
  border-right: clamp(1px, 0.2083333333vw, 3px) solid #ddaf00;
  padding: clamp(1px, 0.6944444444vw, 10px) 0;
  padding-right: clamp(1px, 4.5138888889vw, 65px);
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
}
#page-company .company-outline .company-outline__list dd {
  height: 100%;
  margin: 0;
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
  padding: clamp(1px, 0.6944444444vw, 10px) 0;
}
#page-company .company-outline .company-outline__list a {
  color: #666;
  text-decoration: none;
}
#page-company .company-access {
  padding-top: clamp(1px, 7.6388888889vw, 110px);
  padding-bottom: clamp(1px, 8.3333333333vw, 120px);
  background-color: #faf9f6;
}
#page-company .company-access .company-access-layout {
  max-width: clamp(1px, 79.8611111111vw, 1150px);
  margin: 0 auto 0;
}
#page-company .company-access .company-access__office {
  display: grid;
  align-items: start;
  position: relative;
}
#page-company .company-access .company-access__office.company-access__office--head {
  grid-template-columns: 1fr clamp(1px, 62.5vw, 900px);
  margin-top: clamp(1px, 4.1666666667vw, 60px);
  z-index: 1;
}
#page-company .company-access .company-access__office.company-access__office--head .company-access__image {
  padding: 0 clamp(1px, 2.0833333333vw, 30px) clamp(1px, 2.0833333333vw, 30px) 0;
  display: flex;
  justify-content: flex-end;
}
#page-company .company-access .company-access__office.company-access__office--head .company-access__image img {
  width: clamp(1px, 27.7777777778vw, 400px);
}
#page-company .company-access .company-access__office.company-access__office--head .company-access__body {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(1px, 8.3333333333vw, 120px);
  padding-bottom: clamp(1px, 4.1666666667vw, 60px);
}
#page-company .company-access .company-access__office.company-access__office--branch {
  max-width: clamp(1px, 79.8611111111vw, 1150px);
  margin: 0 auto 0;
  grid-template-columns: minmax(0, 1fr) clamp(1px, 27.7777777778vw, 400px);
  margin-top: clamp(1px, 9.0277777778vw, 130px);
  z-index: 1;
}
#page-company .company-access .company-access__office.company-access__office--branch .company-access__image {
  order: 2;
  padding: 0 0 clamp(1px, 2.0833333333vw, 30px) clamp(1px, 2.0833333333vw, 30px);
}
#page-company .company-access .company-access__office.company-access__office--branch .company-access__body {
  order: 1;
  padding-left: 0;
}
#page-company .company-access .company-access__office.company-access__office--branch .company-access__body p {
  width: clamp(1px, 35.7638888889vw, 515px);
}
#page-company .company-access .company-access__image {
  background-color: #faf9f6;
}
#page-company .company-access .company-access__image img {
  width: 100%;
  display: block;
}
#page-company .company-access .company-access__body {
  padding-left: clamp(1px, 3.8194444444vw, 55px);
}
#page-company .company-access .company-access__body h4 {
  font-size: clamp(1px, 1.25vw, 18px);
  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: clamp(1px, 1.5277777778vw, 22px);
}
#page-company .company-access .company-access__body p {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-company .company-access .company-access__body p + h4 {
  margin-top: clamp(1px, 2.4305555556vw, 35px);
}
#page-company .company-access .company-access__map {
  margin-top: clamp(-60px, -4.1666666667vw, 1px);
  position: relative;
}
#page-company .company-access .company-access__map iframe {
  display: block;
  width: 100%;
  height: clamp(1px, 27.7777777778vw, 400px);
  border: 0;
}

/**
特定商取引法
*/
#page-commercial {
  width: clamp(1px, 69.4444444444vw, 1000px);
  margin: 0 auto;
  padding-bottom: clamp(1px, 7.6388888889vw, 110px);
}
#page-commercial h3 {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: 1.8px;
  text-align: left;
  color: #333;
  border-bottom: clamp(1px, 0.0694444444vw, 1px) solid #ccc;
  padding-bottom: clamp(1px, 0.5555555556vw, 8px);
}
#page-commercial table {
  width: clamp(1px, 57.6388888889vw, 830px);
  margin: clamp(1px, 2.7777777778vw, 40px) auto 0;
}
#page-commercial table th,
#page-commercial table td {
  border: solid clamp(1px, 0.0694444444vw, 1px) #ccc;
  padding: clamp(1px, 0.9027777778vw, 13px) clamp(1px, 1.1111111111vw, 16px);
}
#page-commercial table th {
  width: clamp(1px, 18.0555555556vw, 260px);
  background-color: #e6ecde;
  vertical-align: middle;
  font-size: clamp(1px, 1.1111111111vw, 16px);
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: 1.6px;
  text-align: center;
  color: #333;
}
#page-commercial table td {
  font-size: clamp(1px, 1.1111111111vw, 16px);
  font-weight: normal;
  letter-spacing: 1.6px;
  line-height: 1.75;
  text-align: left;
  color: #333;
}
#page-commercial table td h4 {
  margin-top: clamp(1px, 0.8333333333vw, 12px);
}
#page-commercial table td h4:first-of-type {
  margin-top: 0;
}

/**
お問い合わせ
*/
#page-recruit_entry,
#page-partner_entry,
#page-contact {
  width: 100%;
  padding-bottom: clamp(1px, 13.8888888889vw, 200px);
  width: clamp(1px, 80.5555555556vw, 1160px);
  margin: 0 auto;
  padding-top: clamp(1px, 6.9444444444vw, 100px);
}
#page-recruit_entry .description,
#page-partner_entry .description,
#page-contact .description {
  margin-bottom: clamp(1px, 3.8194444444vw, 55px);
}
#page-recruit_entry .description strong,
#page-partner_entry .description strong,
#page-contact .description strong {
  display: block;
  font-size: clamp(1px, 1.9444444444vw, 28px);
  text-align: center;
}
#page-recruit_entry .description p,
#page-partner_entry .description p,
#page-contact .description p {
  margin-top: clamp(1px, 1.3888888889vw, 20px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#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.0694444444vw, 1px) solid #7a7a7a;
}
#page-recruit_entry h3,
#page-partner_entry h3,
#page-contact h3 {
  font-size: clamp(1px, 1.9444444444vw, 28px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: 0.01em;
  text-align: left;
  color: #333;
  border-left: clamp(1px, 0.3472222222vw, 5px) solid #ddaf00;
  padding: clamp(1px, 0.5555555556vw, 8px) clamp(1px, 0.8333333333vw, 12px);
}
#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: clamp(1px, 62.5vw, 900px);
  margin: clamp(1px, 3.8194444444vw, 55px) auto 0;
}
#page-recruit_entry .form h3,
#page-partner_entry .form h3,
#page-contact .form h3 {
  text-align: center;
  background-color: #b3aa82;
  padding: clamp(1px, 0.5555555556vw, 8px) clamp(1px, 0.6944444444vw, 10px);
  font-size: clamp(1px, 1.3888888889vw, 20px);
  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-top: clamp(1px, 3.125vw, 45px);
}
#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 {
  border: clamp(1px, 0.0694444444vw, 1px) solid #ccc;
  font-size: clamp(1px, 1.1111111111vw, 16px);
  line-height: 1.38;
  padding: clamp(1px, 0.6944444444vw, 10px) clamp(1px, 0.8333333333vw, 12px) clamp(1px, 0.6944444444vw, 10px) clamp(1px, 0.6944444444vw, 10px);
}
#page-recruit_entry .form table tr th,
#page-partner_entry .form table tr th,
#page-contact .form table tr th {
  text-align: left;
  width: clamp(1px, 19.4444444444vw, 280px);
  padding-left: clamp(1px, 1.7361111111vw, 25px);
  color: #333333;
  vertical-align: middle;
  background-color: #ebebeb;
}
#page-recruit_entry .form table tr th.middle,
#page-partner_entry .form table tr th.middle,
#page-contact .form table tr th.middle {
  vertical-align: middle;
  padding-top: 0;
}
#page-recruit_entry .form table tr th:after,
#page-partner_entry .form table tr th:after,
#page-contact .form table tr th:after {
  float: right;
  content: "任意";
  background: #aaaaaa;
  color: #fff;
  font-size: clamp(1px, 0.8333333333vw, 12px);
  padding: clamp(1px, 0.2777777778vw, 4px) clamp(1px, 0.7638888889vw, 11px);
  margin-top: clamp(-2px, -0.1388888889vw, 1px);
}
#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 td,
#page-partner_entry .form table tr td,
#page-contact .form table tr td {
  background-color: #fff;
  vertical-align: middle;
}
#page-recruit_entry .form table tr a,
#page-partner_entry .form table tr a,
#page-contact .form table tr a {
  font-size: clamp(1px, 0.9722222222vw, 14px);
  color: #1d2b59;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.56px;
  color: #0000ff;
}
#page-recruit_entry .form table tr .label,
#page-partner_entry .form table tr .label,
#page-contact .form table tr .label {
  font-size: clamp(1px, 0.9722222222vw, 14px);
  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: clamp(1px, 1.1111111111vw, 16px);
  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=tel],
#page-recruit_entry .form table tr input[type=url],
#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=tel],
#page-partner_entry .form table tr input[type=url],
#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=tel],
#page-contact .form table tr input[type=url],
#page-contact .form table tr input[type=email] {
  border: clamp(1px, 0.0694444444vw, 1px) solid #cccccc;
  padding: 0.32em 0.65em;
  font-size: clamp(1px, 1.25vw, 18px);
  max-width: clamp(1px, 31.25vw, 450px);
  font-family: "Noto Sans JP", sans-serif;
}
#page-recruit_entry .form table tr input[type=checkbox],
#page-recruit_entry .form table tr input[type=radio],
#page-partner_entry .form table tr input[type=checkbox],
#page-partner_entry .form table tr input[type=radio],
#page-contact .form table tr input[type=checkbox],
#page-contact .form table tr input[type=radio] {
  accent-color: #575757;
}
#page-recruit_entry .form table tr textarea,
#page-partner_entry .form table tr textarea,
#page-contact .form table tr textarea {
  width: 100%;
  max-width: none;
}
#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: clamp(1px, 0.9722222222vw, 14px);
  margin-top: clamp(1px, 0.8333333333vw, 12px);
}
#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 .search_address,
#page-partner_entry .form table tr .search_address,
#page-contact .form table tr .search_address {
  margin-left: clamp(1px, 0.8333333333vw, 12px);
  color: #9a7d4f;
  border-color: #9a7d4f;
  font-weight: bold;
}
#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 {
  margin-left: 0;
}
#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: 0.25em;
}
#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 {
  margin-left: 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: clamp(1px, 0.3472222222vw, 5px);
}
#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 {
  margin: 0 clamp(1px, 0.3472222222vw, 5px);
}
#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 .line,
#page-partner_entry .form table tr .line,
#page-contact .form table tr .line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1px, 0.8333333333vw, 12px);
}
#page-recruit_entry .form table tr .line + .line,
#page-partner_entry .form table tr .line + .line,
#page-contact .form table tr .line + .line {
  margin-top: 0.75em;
}
#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.75em;
  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.5em;
  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: clamp(1px, 1.7361111111vw, 25px);
}
#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: clamp(1px, 0.5555555556vw, 8px);
  font-size: clamp(1px, 1.1111111111vw, 16px);
}
#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: clamp(1px, 0.8333333333vw, 12px);
  display: block;
  margin-top: clamp(1px, 0.2777777778vw, 4px);
}
#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: clamp(1px, 1.1111111111vw, 16px);
  width: 3.25em;
  padding: clamp(1px, 0.5555555556vw, 8px) clamp(1px, 0.5555555556vw, 8px);
  margin-right: clamp(1px, 0.2777777778vw, 4px);
}
#page-recruit_entry .form .check,
#page-partner_entry .form .check,
#page-contact .form .check {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: clamp(1px, 0.6944444444vw, 10px);
  align-items: center;
  padding-top: clamp(1px, 0.2777777778vw, 4px);
  font-size: clamp(1px, 1.1111111111vw, 16px);
}
#page-recruit_entry .form .check label,
#page-partner_entry .form .check label,
#page-contact .form .check label {
  padding: clamp(1px, 0.3472222222vw, 5px);
  font-weight: bold;
}
#page-recruit_entry .form .wpcf7-response-output,
#page-partner_entry .form .wpcf7-response-output,
#page-contact .form .wpcf7-response-output {
  width: clamp(1px, 48.6111111111vw, 700px);
  margin: clamp(1px, 3.4722222222vw, 50px) auto 0;
}
#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: clamp(1px, 3.3333333333vw, 48px);
  gap: clamp(1px, 3.4722222222vw, 50px);
}
#page-recruit_entry .form .btns .wpcf7-list-item,
#page-partner_entry .form .btns .wpcf7-list-item,
#page-contact .form .btns .wpcf7-list-item {
  margin: 0;
}
#page-recruit_entry .form [type=reset],
#page-partner_entry .form [type=reset],
#page-contact .form [type=reset] {
  font-size: clamp(1px, 1.1111111111vw, 16px);
  background: transparent;
  border: 0;
  border-bottom: clamp(1px, 0.0694444444vw, 1px) solid #333;
  padding: 0 0 clamp(1px, 0.2777777778vw, 4px);
  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;
  align-items: center;
  justify-content: center;
  position: relative;
}
#page-recruit_entry .form .submit .wpcf7-spinner,
#page-recruit_entry .form .submit .ajax-loader,
#page-partner_entry .form .submit .wpcf7-spinner,
#page-partner_entry .form .submit .ajax-loader,
#page-contact .form .submit .wpcf7-spinner,
#page-contact .form .submit .ajax-loader {
  position: absolute;
  top: 50%;
  right: clamp(1px, 1.3888888889vw, 20px);
  transform: translateX(-50%) translateY(-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: clamp(1px, 1.5277777778vw, 22px);
  color: #fff;
  width: clamp(1px, 36.1111111111vw, 520px);
  height: clamp(1px, 4.8611111111vw, 70px);
  cursor: pointer;
  font-weight: bold;
  border-radius: clamp(1px, 0.3472222222vw, 5px);
  background-color: #ddaf00;
  font-family: "Noto Sans JP", sans-serif;
}
#page-recruit_entry .form .submit [type=submit]:hover,
#page-partner_entry .form .submit [type=submit]:hover,
#page-contact .form .submit [type=submit]:hover {
  opacity: 0.5;
}
#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;
  width: clamp(1px, 80.5555555556vw, 1160px);
  margin: 0 auto;
  padding-top: clamp(1px, 6.9444444444vw, 100px);
}
#page-recruit_entry_thanks::after,
#page-partner_entry_thanks::after,
#page-contact_send::after {
  content: "";
  display: block;
  background: url(../img/contact/thanks-bg.jpg) center bottom no-repeat;
  background-size: contain;
  width: 100%;
  height: clamp(1px, 34.7222222222vw, 500px);
  margin-top: clamp(1px, 20vw, 288px);
}
#page-recruit_entry_thanks h3,
#page-partner_entry_thanks h3,
#page-contact_send h3 {
  font-size: clamp(1px, 2.3611111111vw, 34px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-recruit_entry_thanks h3 + p,
#page-partner_entry_thanks h3 + p,
#page-contact_send h3 + p {
  margin-top: clamp(1px, 4.1666666667vw, 60px);
}
#page-recruit_entry_thanks h4,
#page-partner_entry_thanks h4,
#page-contact_send h4 {
  font-size: clamp(1px, 1.3888888889vw, 20px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: 2px;
  text-align: center;
  color: #333;
  margin-top: clamp(1px, 3.4722222222vw, 50px);
}
#page-recruit_entry_thanks p,
#page-partner_entry_thanks p,
#page-contact_send p {
  margin-top: clamp(1px, 1.3888888889vw, 20px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: normal;
  color: #666;
}
#page-recruit_entry_thanks .link,
#page-partner_entry_thanks .link,
#page-contact_send .link {
  display: flex;
  justify-content: flex-start;
  margin-top: clamp(1px, 6.25vw, 90px);
  gap: clamp(1px, 0.6944444444vw, 10px);
}
#page-recruit_entry_thanks .link a,
#page-partner_entry_thanks .link a,
#page-contact_send .link a {
  display: inline-flex;
  align-items: center;
  gap: clamp(1px, 0.6944444444vw, 10px);
  font-size: clamp(1px, 0.9722222222vw, 14px);
  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: clamp(1px, 0.625vw, 9px);
  height: clamp(1px, 0.625vw, 9px);
  background: url("../img/common/icon-triangle.png") center/contain no-repeat;
}

/**
サイトポリシー
*/
#page-privacy,
#page-sitepolicy {
  padding: clamp(0px, 0vw, 1px) 0 clamp(1px, 20vw, 288px);
  position: relative;
  width: clamp(1px, 80.5555555556vw, 1160px);
  margin: 0 auto;
  padding-top: clamp(1px, 6.9444444444vw, 100px);
}
#page-privacy p,
#page-sitepolicy p {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.65;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy p + p,
#page-sitepolicy p + p {
  margin-top: clamp(1px, 1.1111111111vw, 16px);
}
#page-privacy p.align-right,
#page-sitepolicy p.align-right {
  margin-top: clamp(1px, 3.125vw, 45px);
  text-align: right;
}
#page-privacy h3,
#page-sitepolicy h3 {
  margin-top: clamp(1px, 3.8194444444vw, 55px);
  font-size: clamp(1px, 1.3888888889vw, 20px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy h3:first-child,
#page-sitepolicy h3:first-child {
  margin-top: 0;
}
#page-privacy h3 + p,
#page-sitepolicy h3 + p {
  margin-top: clamp(1px, 1.1111111111vw, 16px);
}
#page-privacy dl,
#page-sitepolicy dl {
  margin-top: clamp(1px, 4.1666666667vw, 60px);
}
#page-privacy dl dt,
#page-sitepolicy dl dt {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: bold;
  margin-top: clamp(1px, 3.4722222222vw, 50px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#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: clamp(1px, 1.1111111111vw, 16px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-privacy ol,
#page-privacy ul,
#page-sitepolicy ol,
#page-sitepolicy ul {
  margin-top: clamp(1px, 1.1111111111vw, 16px);
}
#page-privacy ul li,
#page-sitepolicy ul li {
  padding-left: 1em;
  position: relative;
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  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: clamp(1px, 3.125vw, 45px);
  border: solid clamp(1px, 0.0694444444vw, 1px) #ccc;
  padding: clamp(1px, 2.0833333333vw, 30px);
}
#page-privacy .info h4,
#page-sitepolicy .info h4 {
  font-size: clamp(1px, 1.3888888889vw, 20px);
  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: clamp(1px, 0.6944444444vw, 10px);
  font-size: clamp(1px, 1.25vw, 18px);
  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: clamp(1px, 2.0833333333vw, 30px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}

/**
デジタルカタログ
*/
#page-catalog {
  padding-bottom: clamp(1px, 13.8888888889vw, 200px);
  width: clamp(1px, 80.5555555556vw, 1160px);
  margin: 0 auto;
  padding-top: clamp(1px, 10.4166666667vw, 150px);
}
#page-catalog .catalog-intro {
  padding: clamp(1px, 1.5277777778vw, 22px) clamp(1px, 2.7777777778vw, 40px);
  background-color: #faf9f6;
}
#page-catalog .catalog-intro p {
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-catalog .catalog-main {
  display: grid;
  grid-template-columns: clamp(1px, 23.6111111111vw, 340px) 1fr;
  gap: clamp(1px, 4.1666666667vw, 60px);
  align-items: center;
  width: clamp(1px, 55.5555555556vw, 800px);
  margin: clamp(1px, 4.1666666667vw, 60px) auto 0;
}
#page-catalog .catalog-main .catalog-main__cover {
  width: clamp(1px, 23.6111111111vw, 340px);
  height: clamp(1px, 34.7222222222vw, 500px);
  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.0694444444vw, 1px) solid #ccc;
}
#page-catalog .catalog-main .catalog-main__body h3 {
  margin: 0;
  font-size: clamp(1px, 2.3611111111vw, 34px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #333;
}
#page-catalog .catalog-main .catalog-main__body p {
  margin-top: clamp(1px, 1.7361111111vw, 25px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #ddaf00;
}
#page-catalog .catalog-main .catalog-main__buttons {
  display: grid;
  grid-template-columns: repeat(2, clamp(1px, 16.6666666667vw, 240px));
  gap: clamp(1px, 0.6944444444vw, 10px);
  margin-top: clamp(1px, 4.5138888889vw, 65px);
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 0.5555555556vw, 8px);
  height: clamp(1px, 2.7777777778vw, 40px);
  border: clamp(1px, 0.0694444444vw, 1px) solid #ccc;
  border-radius: clamp(1px, 0.2777777778vw, 4px);
  background-color: #fff;
  font-size: clamp(1px, 0.9722222222vw, 14px);
  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: clamp(1px, 1.25vw, 18px);
  height: clamp(1px, 1.25vw, 18px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button.catalog-button--view::before {
  width: clamp(1px, 1.25vw, 18px);
  height: clamp(1px, 0.8333333333vw, 12px);
  background-image: url(../img/common/icon-book.png);
}
#page-catalog .catalog-main .catalog-main__buttons .catalog-button.catalog-button--download::before {
  width: clamp(1px, 1.0416666667vw, 15px);
  height: clamp(1px, 1.0416666667vw, 15px);
  background-image: url(../img/common/icon-download.png);
}
#page-catalog .catalog-request {
  margin-top: clamp(1px, 5.5555555556vw, 80px);
  padding: clamp(1px, 3.8194444444vw, 55px) clamp(1px, 2.7777777778vw, 40px) clamp(1px, 4.8611111111vw, 70px);
  background-color: #faf9f6;
  text-align: center;
}
#page-catalog .catalog-request h3 {
  margin: 0;
  font-size: clamp(1px, 1.3888888889vw, 20px);
  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: clamp(1px, 1.9444444444vw, 28px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #666;
}
#page-catalog .catalog-request a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 0.5555555556vw, 8px);
  width: clamp(1px, 26.3888888889vw, 380px);
  height: clamp(1px, 4.5833333333vw, 66px);
  margin-top: clamp(1px, 3.8194444444vw, 55px);
  border-radius: clamp(1px, 0.3472222222vw, 5px);
  background-color: #ddaf00;
  font-size: clamp(1px, 1.5277777778vw, 22px);
  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: clamp(1px, 1.8055555556vw, 26px);
  height: clamp(1px, 1.3194444444vw, 19px);
  background: url("../img/common/icon-mail-white.png") center/contain no-repeat;
}
#page-catalog .catalog-flow {
  margin-top: clamp(1px, 11.1111111111vw, 160px);
}
#page-catalog .catalog-flow .section-heading {
  display: grid;
  grid-template-columns: clamp(1px, 16.3194444444vw, 235px) 1fr;
  align-items: start;
  gap: clamp(1px, 5.2083333333vw, 75px);
}
#page-catalog .catalog-flow .section-heading .section-heading__en {
  display: flex;
  align-items: center;
  gap: clamp(1px, 2.0833333333vw, 30px);
  font-family: "Libre Baskerville", serif;
  font-size: clamp(1px, 1.3888888889vw, 20px);
  font-weight: normal;
  font-stretch: normal;
  font-style: italic;
  line-height: 2.3;
  letter-spacing: normal;
  text-align: left;
  color: #ddaf00;
}
#page-catalog .catalog-flow .section-heading .section-heading__en::after {
  content: "";
  display: block;
  width: clamp(1px, 13.1944444444vw, 190px);
  height: clamp(1px, 0.0694444444vw, 1px);
  background-color: #ccc;
}
#page-catalog .catalog-flow .section-heading .section-heading-title {
  margin: 0;
  font-size: clamp(1px, 2.3611111111vw, 34px);
  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: clamp(1px, 1.8055555556vw, 26px);
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  color: #666;
}
#page-catalog .catalog-flow__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1px, 3.4722222222vw, 50px);
  margin-top: clamp(1px, 4.8611111111vw, 70px);
}
#page-catalog .catalog-flow__grid .catalog-flow-card {
  min-height: clamp(1px, 20.4861111111vw, 295px);
  padding: clamp(1px, 2.9166666667vw, 42px) clamp(1px, 1.0416666667vw, 15px) clamp(1px, 2.6388888889vw, 38px);
  border: clamp(1px, 0.0694444444vw, 1px) solid #ccc;
  border-radius: clamp(1px, 0.3472222222vw, 5px);
  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: clamp(1px, 1.3888888889vw, 20px);
  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: clamp(1px, 2.0833333333vw, 30px);
}
#page-catalog .catalog-flow__grid .catalog-flow-card h4 {
  margin-top: clamp(1px, 2.7777777778vw, 40px);
  font-size: clamp(1px, 1.5277777778vw, 22px);
  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: clamp(1px, 2.7777777778vw, 40px);
  font-size: clamp(1px, 1.25vw, 18px);
  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: clamp(1px, 15.2777777778vw, 220px) 0 0;
  position: relative;
}
#page-coming_soon .inner {
  width: clamp(1px, 62.5vw, 900px);
  margin: 0 auto;
}
#page-coming_soon h3 {
  font-size: clamp(1px, 2.6388888889vw, 38px);
  font-weight: bold;
  text-align: center;
  color: #000000;
}
#page-coming_soon p {
  font-size: clamp(1px, 1.25vw, 18px);
  line-height: 1.67;
  text-align: center;
  color: #333333;
  margin-top: clamp(1px, 2.0833333333vw, 30px);
}
#page-coming_soon .link a {
  width: clamp(1px, 20.8333333333vw, 300px);
  height: clamp(1px, 4.1666666667vw, 60px);
  margin: clamp(1px, 2.7777777778vw, 40px) auto 0;
  font-size: clamp(1px, 1.25vw, 18px);
}

/**
notfound
*/
#page-notfound {
  width: clamp(1px, 80.5555555556vw, 1160px);
  margin: 0 auto;
  padding: clamp(1px, 9.0277777778vw, 130px) 0 clamp(1px, 15.2777777778vw, 220px);
  position: relative;
  text-align: center;
}
#page-notfound .inner {
  width: clamp(1px, 62.5vw, 900px);
  margin: 0 auto;
}
#page-notfound h3 {
  margin: 0;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1px, 2.5vw, 36px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.55;
  letter-spacing: normal;
  text-align: center;
  color: #333;
}
#page-notfound .text {
  margin-top: clamp(1px, 2.9166666667vw, 42px);
}
#page-notfound p {
  width: auto;
  margin: 0;
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.9;
  letter-spacing: normal;
  text-align: center;
  color: #666;
}
#page-notfound p a {
  text-decoration: none;
  border-bottom: clamp(1px, 0.0694444444vw, 1px) solid #ccc;
}
#page-notfound .link {
  display: flex;
  justify-content: center;
  margin-top: clamp(1px, 4.0277777778vw, 58px);
}
#page-notfound .link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 0.8333333333vw, 12px);
  min-width: clamp(1px, 22.2222222222vw, 320px);
  height: clamp(1px, 4.4444444444vw, 64px);
  padding: 0 clamp(1px, 2.3611111111vw, 34px);
  border-radius: clamp(1px, 0.3472222222vw, 5px);
  background-color: #ddaf00;
  font-size: clamp(1px, 1.25vw, 18px);
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
