/* Company page: Figma 2034:1174. Keep content in normal document flow. */
.ys-page-company .text-green { color: var(--green); }
.ys-page-company iframe.company-map { border: 0; }
.ys-page-company .company-map-link { display: block; margin-top: 12px; font-size: 13px; line-height: 1.7; text-decoration: underline; text-underline-offset: .2em; }
.ys-page-company .company-content > .container > .japanese-heading { color: var(--ink); }
.ys-page-company .company-content .japanese-heading em { color: var(--yellow); }
.ys-page-company .company-reasons-heading { display: flex; align-items: center; justify-content: center; gap: 30px; }
.ys-page-company .company-reasons-heading::before,
.ys-page-company .company-reasons-heading::after { content: ''; width: 40px; height: 3px; flex-shrink: 0; background: url('../images/7c978.svg') center/100% 100% no-repeat; }
.ys-page-company .company-reasons-heading::after { background-image: url('../images/7ebc2.svg'); }
.ys-page-company .company-reasons-heading > span { color: var(--ink); }
.ys-page-company .message-panel { border: 3px solid var(--green); background: linear-gradient(133deg,#fff 18.526%,#f8fff9 85.968%); }
.ys-page-company .message-panel .section-heading > span { color: var(--yellow); }
.ys-page-company .message-panel p { font-weight: 500; }
.ys-page-company .reason-photo { overflow: hidden; position: relative; aspect-ratio: 515/290; }
.ys-page-company .reason-photo { mask: url('../images/20482.svg') center/100% 100% no-repeat; }
.ys-page-company .reason-photo-3 { mask-image: url('../images/81ccb.svg'); }
.ys-page-company .reason-photo img { position: absolute; max-width: none; height: auto; }
.ys-page-company .reason-photo-1 img { width: 99.806%; left: .194%; top: 0; }
.ys-page-company .reason-photo-2 img { width: 110.291%; left: -10.291%; top: -23.448%; }
.ys-page-company .reason-photo-3 img { width: 108.738%; left: 0; top: -1.379%; }
.ys-page-company .reason-row h3 { color: var(--ink); }
.ys-page-company .method-cards article { border-radius: 10px; }
.ys-page-company .company-decorations { display: none; }

@media (min-width: 1101px) {
  .ys-page-company .page-hero { margin-top: calc(-100 * var(--u)); }
  .ys-page-company .company-content { padding: calc(100 * var(--u)) 0 calc(175 * var(--u)); background: none; overflow: visible; }
  .ys-page-company .subnav + .company-content { background: none; }
  .ys-page-company .company-content::before,
  .ys-page-company .company-content::after,
  .ys-page-company #overview::before,
  .ys-page-company #overview::after { display: none; }
  .ys-page-company .company-content > .container > .japanese-heading { line-height: 1; height: calc(48 * var(--u)); margin: 0; }
  .ys-page-company .intro-lead { font-weight: 500; margin: calc(40 * var(--u)) 0 0; line-height: 2; }
  .ys-page-company .message-panel { margin-top: calc(175 * var(--u)); height: calc(810 * var(--u)); min-height: 0; padding: calc(77 * var(--u)) calc(67 * var(--u)) 0; border-width: calc(3 * var(--u)); }
  .ys-page-company .message-panel { mask: url('../images/605d3.svg') center/100% 100% no-repeat; }
  .ys-page-company .message-panel::before { inset: auto; left: calc(624.416 * var(--u)); top: calc(401.8 * var(--u)); width: calc(2164 * var(--u)); height: calc(542 * var(--u)); transform: translate(-50%,-50%) rotate(13.89deg); background: linear-gradient(190.218deg,#79e06f 7.0604%,#28a745 73.843%); }
  .ys-page-company .message-panel .section-heading { height: calc(104 * var(--u)); margin: 0 0 calc(80 * var(--u)); gap: 0; }
  .ys-page-company .message-panel .section-heading > span { line-height: 1; }
  .ys-page-company .message-panel .section-heading small { margin-top: calc(20 * var(--u)); line-height: 1; }
  .ys-page-company .message-panel p { font-size: calc(16 * var(--u)); line-height: 2; margin: 0; letter-spacing:.08em; }
  .ys-page-company .message-panel p + p { margin-top: calc(32 * var(--u)); }
  /* The signature is covered by the message panel in the Figma layer order. */
  .ys-page-company .message-panel .message-sign { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ys-page-company #reasons { padding: calc(175 * var(--u)) 0 0; }
  .ys-page-company #reasons > h2 { height: calc(58 * var(--u)); line-height: 1; margin: 0 0 calc(80 * var(--u)); }
  .ys-page-company .company-reasons-heading { gap: calc(36 * var(--u)); }
  .ys-page-company .company-reasons-heading::before,
  .ys-page-company .company-reasons-heading::after { width: calc(64.47 * var(--u)); height: calc(3 * var(--u)); }
  .ys-page-company .reason-row { align-items: start; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(70 * var(--u)); min-height: calc(290 * var(--u)); margin: calc(80 * var(--u)) 0 0; }
  .ys-page-company .reason-row.reverse > .reason-photo { order: 2; }
  .ys-page-company .reason-row h3 { height: calc(39.134 * var(--u)); font-size: calc(24 * var(--u)); line-height: 2; margin: 0 0 calc(15.056 * var(--u)); letter-spacing:.08em; white-space: nowrap; }
  .ys-page-company .reason-row p { font-size: calc(16 * var(--u)); font-weight: 500; line-height: 2; margin: 0; letter-spacing:.08em; }
  .ys-page-company .reason-row p + p { margin: 0; }
  .ys-page-company #reasons > .company-method-heading { position: relative; left: calc(15 * var(--u)); height: calc(32 * var(--u)); line-height: 1; font-size: calc(32 * var(--u)); margin: calc(80 * var(--u)) 0; letter-spacing:.08em; }
  .ys-page-company .method-cards { gap: calc(86 * var(--u)); grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ys-page-company .method-cards article { min-height: calc(527 * var(--u)); padding: calc(26 * var(--u)) calc(51.2 * var(--u)) 0; border-width: calc(3 * var(--u)); border-radius: calc(10 * var(--u)); position: relative; }
  .ys-page-company .method-cards article:nth-child(2) { min-height: calc(523 * var(--u)); align-self: center; }
  .ys-page-company .method-icon { height: calc(246 * var(--u)); max-width: none; width: auto; margin: 0 auto calc(26 * var(--u)); }
  .ys-page-company .method-cards article:nth-child(2) .method-icon { height: calc(187.3 * var(--u)); margin-top: calc(36 * var(--u)); margin-bottom: calc(48.7 * var(--u)); }
  .ys-page-company .method-cards h3 { font-size: calc(24 * var(--u)); line-height: 2; margin: 0 0 calc(15 * var(--u)); white-space: nowrap; }
  .ys-page-company .method-cards p { font-size: calc(16 * var(--u)); line-height: 2; font-weight: 500; letter-spacing:.08em; margin: 0; width: calc(412.427 * var(--u)); }
  .ys-page-company #overview { background: linear-gradient(214.14deg,#79e06f 7.0604%,#28a745 73.843%); padding: calc(175 * var(--u)) 0; min-height: 0; }
  .ys-page-company #overview .section-heading { height: calc(104 * var(--u)); margin: 0 0 calc(100 * var(--u)); }
  .ys-page-company .overview-box { position: relative; left: calc(5 * var(--u)); height: calc(1255 * var(--u)); min-height: 0; padding: calc(108 * var(--u)) calc(165 * var(--u)) 0; }
  .ys-page-company .overview-box .info-table { border-spacing: 0; border-collapse: collapse; width: calc(1100 * var(--u)); }
  .ys-page-company .overview-box .info-table tr { background: url('../images/b9df0.svg') left bottom/100% calc(2 * var(--u)) no-repeat; }
  .ys-page-company .overview-box .info-table th,
  .ys-page-company .overview-box .info-table td { border: 0; padding: calc(30 * var(--u)) 0; height: auto; font-size: calc(16 * var(--u)); line-height: 1; font-weight: 500; vertical-align: top; letter-spacing:.08em; background: transparent; }
  .ys-page-company .overview-box .info-table tr:first-child > * { padding-top: 0; }
  .ys-page-company .overview-box .info-table th { width: calc(306.3 * var(--u)); padding-left: calc(56.3 * var(--u)); }
  .ys-page-company .overview-box .info-table tr:nth-child(3) > *,
  .ys-page-company .overview-box .info-table tr:nth-child(4) > *,
  .ys-page-company .overview-box .info-table tr:nth-child(5) > * { line-height: 2; }
  .ys-page-company .company-map { display: block; margin-top: calc(81 * var(--u)); width: calc(1100 * var(--u)); height: calc(284 * var(--u)); object-fit: cover; object-position: center 46.3%; }
  .ys-page-company .company-decorations { display: block; position: absolute; inset: calc(-100 * var(--u)) 0 0; pointer-events: none; z-index: -1; }
  .ys-page-company .company-decorations::before { content: ''; position: absolute; left: calc(-220 * var(--u)); top: calc(1301 * var(--u)); width: calc(1068 * var(--u)); height: calc(710 * var(--u)); background: url('../images/0b6c1.svg') center/contain no-repeat; opacity: .2; }
  .ys-page-company .company-outline { position: absolute; width: calc(349.505 * var(--u)); height: calc(667.237 * var(--u)); border: calc(6 * var(--u)) solid var(--yellow); border-image: linear-gradient(to bottom,#eada2a,#79e06f) 1; }
  .ys-page-company .company-outline-a { left: calc(1570.525 * var(--u)); top: calc(1631.368 * var(--u)); transform: rotate(-140.8deg); }
  .ys-page-company .company-outline-b { left: calc(-226.475 * var(--u)); top: calc(2406.368 * var(--u)); transform: rotate(-140.8deg); }
  .ys-page-company .company-outline-c { left: calc(1833.806 * var(--u)); top: calc(2925.042 * var(--u)); transform: rotate(53.94deg); }
  .ys-page-company .company-outline-d { left: calc(1730.956 * var(--u)); top: calc(4210.543 * var(--u)); transform: rotate(-151.58deg); }
  .ys-page-company .company-outline-e,
  .ys-page-company .company-outline-f,
  .ys-page-company .company-outline-g,
  .ys-page-company .company-outline-h { width: calc(385.641 * var(--u)); height: calc(736.224 * var(--u)); }
  .ys-page-company .company-outline-e { left: calc(-46.718 * var(--u)); top: calc(3942.443 * var(--u)); transform: rotate(-152.48deg); }
  .ys-page-company .company-outline-f { left: calc(-127.826 * var(--u)); top: calc(4285.564 * var(--u)); transform: rotate(-141.18deg); }
  .ys-page-company .company-outline-g { left: calc(1743.174 * var(--u)); top: calc(6079.564 * var(--u)); transform: rotate(-141.18deg); }
  .ys-page-company .company-outline-h { left: calc(-245.718 * var(--u)); top: calc(6511.443 * var(--u)); transform: rotate(-152.48deg); }
  .ys-page-company .banner-point { left: 84.352%; top: 53.861%; width: 11.636%; height: 34.333%; right: auto; transform: rotate(48.93deg); }
}

@media (max-width: 1100px) {
  .ys-page-company .company-content::before,
  .ys-page-company .company-content::after,
  .ys-page-company #overview::before,
  .ys-page-company #overview::after { display: none; }
  .ys-page-company .company-content { background: none; padding: 64px 0; }
  .ys-page-company .subnav + .company-content { background: none; }
  .ys-page-company .company-content > .container > .japanese-heading { font-size: 32px; line-height: 1.6; margin-bottom: 28px; }
  .ys-page-company .intro-lead { font-size: 16px; line-height: 2; margin: 0; }
  .ys-page-company .message-panel { margin-top: 64px; }
  .ys-page-company .message-panel { padding: 45px 24px 90px; }
  .ys-page-company .message-panel::before { inset: -10% -30%; width: 160%; height: 100%; background: linear-gradient(160deg,#79e06f,#28a745); }
  .ys-page-company .message-panel .message-sign { text-align: right; margin-top: 35px; }
  .ys-page-company .reason-row.reverse > .reason-photo { order: 2; }
  .ys-page-company .company-reasons-heading { gap: 15px; line-height: 1.6; }
  .ys-page-company .company-reasons-heading::before,
  .ys-page-company .company-reasons-heading::after { width: 24px; }
  .ys-page-company .reason-row h3 { line-height: 1.7; }
  .ys-page-company #reasons { padding: 72px 0 0; }
  .ys-page-company #reasons > h2 { margin: 0 0 48px; }
  .ys-page-company .reason-row { margin: 48px 0 0; gap: 32px; }
  .ys-page-company #reasons .reason-row:first-of-type { margin-top: 0; }
  .ys-page-company .reason-row p { font-size: 15px; line-height: 2; }
  .ys-page-company .reason-row p + p { margin-top: 0; }
  .ys-page-company #reasons > .company-method-heading { margin: 56px 0 32px; font-size: 24px; line-height: 1.8; }
  .ys-page-company .method-cards { margin: 0; gap: 24px; }
  .ys-page-company .method-cards article { padding: 28px; }
  .ys-page-company .method-icon { height: 170px; max-width: 100%; width: auto; margin: 0 auto 24px; }
  .ys-page-company .method-cards h3 { font-size: 20px; line-height: 1.7; }
  .ys-page-company .method-cards p { font-size: 15px; line-height: 2; }
  .ys-page-company #overview { padding: 64px 0; }
  .ys-page-company #overview .section-heading { margin-bottom: 48px; }
  .ys-page-company .overview-box { padding: 32px; }
  .ys-page-company .company-map { display: block; width: 100%; height: 240px; object-fit: cover; margin-top: 32px; }
  .ys-page-company .banner-space { margin: 64px auto; }
}
@media (max-width: 767px) {
  .ys-page-company .company-content > .container > .japanese-heading { font-size: 25px; }
  .ys-page-company .intro-lead { font-size: 14px; text-align: left; }
  .ys-page-company .intro-lead br { display: none; }
  .ys-page-company .message-panel { margin-top: 48px; padding: 40px 20px 64px; }
  .ys-page-company #reasons { padding-top: 56px; }
  .ys-page-company .reason-row { gap: 24px; margin-top: 40px; }
  .ys-page-company .reason-row p { font-size: 14px; }
  .ys-page-company #reasons > .company-method-heading { font-size: 20px; margin: 48px 0 28px; }
  .ys-page-company .overview-box { padding: 20px 15px; }
  .ys-page-company .company-map { height: 240px; margin-top: 24px; }
  .ys-page-company .overview-box .info-table,
  .ys-page-company .overview-box .info-table tbody { display: block; width: 100%; }
  .ys-page-company .overview-box .info-table tr { display: block; padding: 18px 0; border-bottom: 1px solid #ccc; background: none; }
  .ys-page-company .overview-box .info-table tr:first-child { padding-top: 0; }
  .ys-page-company .overview-box .info-table th,
  .ys-page-company .overview-box .info-table td { display: block; width: auto; padding: 0; border: 0; text-align: left; font-size: 14px; line-height: 2; overflow-wrap: anywhere; }
  .ys-page-company .overview-box .info-table th { margin-bottom: 8px; font-weight: 700; }
  .ys-page-company .company-reasons-heading { font-size: 23px; gap: 8px; }
  .ys-page-company .company-reasons-heading::before,
  .ys-page-company .company-reasons-heading::after { width: 16px; }
  .ys-page-company .reason-row.reverse > .reason-photo { order: 0; }
  .ys-page-company .method-cards { grid-template-columns: 1fr; }
  .ys-page-company .method-cards p { text-align: left; }
}
