@charset "UTF-8";

.page-contact{
  background:transparent;
}
.page-contact main{overflow:hidden}
.page-contact .page-title{padding:125px 0 0}

.page-contact .job-section,.page-contact .contact-form-section,.page-contact .employee-link{width:100%!important}
.job-section__inner,.contact-form-section__inner,.employee-link__inner{margin-top:48px}
.job-section__inner{margin-top:clamp(33px,calc(22.604px + 2.772vw),50.964px)}
.job-section{padding-top:clamp(44.241px,calc(31.487px + 3.401vw),80.466px);padding-bottom:clamp(90px,calc(65.352px + 6.573vw),160px)}
.job-section dl{margin:0}
.job-section dl>div{display:grid;grid-template-columns:clamp(160px,calc(108.571px + 6.696vw),205px) minmax(0,1fr);column-gap:clamp(12px,calc(7.429px + .595vw),16px);padding:clamp(35px,calc(30.429px + .595vw),39px) clamp(12px,calc(2.857px + 1.19vw),20px);align-items:start;border-bottom:1px solid #dedede}
.job-section dl>div:first-child{padding-top:0}
.job-section dt,.job-section dd{padding:0;font-family:var(--font-ja)}
.job-section dt{font-size:clamp(17px,calc(15.857px + .149vw),18px);font-weight:600;line-height:clamp(30px,calc(27.714px + .298vw),32px)}
.job-section dd{margin:0;font-size:clamp(15px,calc(13.857px + .149vw),16px);font-weight:400;line-height:clamp(30px,calc(27.714px + .298vw),32px)}
.job-section dd small{font:inherit}

.contact-form-section{padding-bottom:clamp(90px,calc(65.352px + 6.573vw),160px)}
.contact-form-section__layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);column-gap:60px;align-items:start}
.contact-form-section__heading.shared-page-gutter{width:100%!important;margin:0!important}
.contact-form-section__inner{width:100%;margin:0}
.contact-form-section form{width:100%;max-width:none;margin:0}
.form-row{display:block;margin:0 0 30px;padding:0;border:0}
.form-row>label,.form-referral legend{display:block;color:#000;font-family:var(--font-ja);font-size:16px;font-style:normal;font-weight:600;line-height:35.547px}
.form-row>label{margin:0 0 7.227px}
.form-referral legend{margin:0 0 12px}
.required-mark{margin-left:2px;color:#f00;font-family:var(--font-ja);font-size:16px;font-style:normal;font-weight:600;line-height:35.547px}
.form-row em,.privacy em{margin-left:4px;color:#f00;font-family:var(--font-ja);font-size:11px;font-style:normal;font-weight:600;line-height:normal}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #c3c3c3;border-radius:4px;background:#fff;color:#111;font:inherit}
.form-row input,.form-row select{height:42px;padding:0 20px}
.form-row textarea{height:199px;min-height:199px;padding:14px 20px;resize:vertical}
.form-row input::placeholder,.form-row textarea::placeholder{color:#e0e0e0}
.form-split-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.recruit-form .form-row>p>label{display:block;margin:0 0 7.227px;color:#000;font-family:var(--font-ja);font-size:16px;font-style:normal;font-weight:600;line-height:35.547px}
.recruit-form .form-split-fields>p{display:contents}
.recruit-form .form-split-fields .wpcf7-form-control-wrap{display:block;min-width:0;width:100%}
.form-referral{min-width:0}
.form-referral label{display:block;margin:0 0 8px;font-size:14px;line-height:20px}
.recruit-form .form-referral .wpcf7-checkbox{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.recruit-form .form-referral .wpcf7-list-item{display:block;margin:0}
.form-row.form-referral input,.consent input{width:12px;height:12px;margin:0 8px 0 0;padding:0;vertical-align:middle}
.privacy{max-width:none;margin:31px 0 20px;padding:24px 26px;border:1px solid #111;border-radius:4px;font-size:12px;line-height:1.9}
.privacy p{margin:0 0 18px}
.privacy p a{text-decoration:underline;text-underline-offset:.2em}
.privacy strong{display:block;margin-bottom:8px}
.consent{display:block;font-size:13px;text-align:left}
.recruit-form .privacy>p:last-child{margin-bottom:0}
.recruit-form .privacy .wpcf7-list-item{margin:0}
.recruit-form .privacy .wpcf7-list-item>label{display:flex;align-items:center}
.confirm-button.gradient-button{margin:35px auto 0}

/* Keep CF7 feedback aligned with the form, including wrapped field errors. */
.recruit-form .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;text-align:left;font-size:14px;line-height:1.8}
.recruit-form .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:13px;line-height:1.6}
.recruit-form .wpcf7-form-control-wrap{min-width:0}
.recruit-form .confirm-button:disabled{opacity:.55;cursor:not-allowed}
.page-contact .employee-link--single .interview-controls{display:none}

@media(min-width:1024px){
  .contact-form-section form{padding-top:2.427px}
  .form-row{margin-bottom:22.227px}
  .form-referral.form-row{margin-bottom:19.227px}
  .form-referral legend{margin-bottom:4.227px}
  .form-referral label{display:flex;align-items:center;font-size:13px;font-weight:500}
  .form-referral label:last-child{margin-bottom:0}
  .form-row.form-referral input,.consent input{flex:0 0 11px;width:11px;height:11px;margin:0 8px 0 0;padding:0;appearance:none;border:1px solid #c3c3c3;border-radius:2px;background:#fff}
  .form-row.form-referral input:checked,.consent input:checked{background:linear-gradient(135deg,#f9ca70,#f08696);box-shadow:inset 0 0 0 2px #fff}
  .form-row--message{margin-bottom:0}
  .privacy{margin-top:32px;margin-bottom:0;padding:20px 20px}
  .privacy p{margin-bottom:4.377px;font-size:13px;font-weight:500}
  .privacy strong{margin-bottom:.727px;font-family:var(--font-ja);font-size:14px;font-style:normal;font-weight:600;line-height:35.547px}
  .consent{display:flex;align-items:center;font-size:13px;font-weight:500;line-height:20px}
  .confirm-button.gradient-button{margin:40px 0 0}
  .form-row input::placeholder,.form-row textarea::placeholder{font-family:var(--font-ja);font-size:14px;font-style:normal;line-height:normal}
  .form-row input:not([type="email"])::placeholder,.form-row textarea::placeholder{font-weight:600}
  .form-row input[type="email"]::placeholder{font-weight:400}
}

@media(max-width:1023px){
  .contact-form-section__layout{display:block}
  .contact-form-section__heading .form-intro{font-size:14px!important;font-weight:400!important}
  .contact-form-section__inner{width:min(100%,640px);margin-top:23px}
  .contact-form-section form{margin-top:0}
  .form-row{display:block;margin-bottom:21px;padding:0;border:0}
  .form-row>label,.form-referral legend{display:block;margin-bottom:5px;font-size:16px;font-weight:600;line-height:35.547px}
  .required-mark{color:#f00;font-size:14px;font-weight:600;line-height:35.547px}
  .form-row em,.privacy em{font-size:11px;font-weight:600}
  .form-row input,.form-row select{height:46px;padding:0 10px;font-size:13px}
  .form-row textarea{height:auto;min-height:133px;padding:10px;font-size:13px}
  .form-split-fields{gap:7px}
  .form-referral label,.consent{display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:500;line-height:20px}
  .form-referral label:last-child{margin-bottom:0}
  .form-row.form-referral input,.consent input{flex:0 0 11px;width:11px;height:11px;margin:0 8px 0 0;padding:0;appearance:none;border:1px solid #c3c3c3;border-radius:2px;background:#fff}
  .form-row.form-referral input:checked,.consent input:checked{background:linear-gradient(135deg,#f9ca70,#f08696);box-shadow:inset 0 0 0 2px #fff}
  .privacy{margin:24px 0 16px}
  .privacy p{font-size:12px;font-weight:400}
  .privacy strong{margin-bottom:5px;font-family:var(--font-ja);font-size:16px;font-style:normal;font-weight:600;line-height:35.547px}
  .privacy .consent{margin-bottom:3px}
  .confirm-button.gradient-button{margin-top:26px}
}

.employee-link{padding-bottom:0}
.employee-link__lead{font-size:14px;line-height:2}
.employee-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16.923px;margin-top:clamp(33px,calc(22.604px + 2.772vw),50.964px)}
.employee-cards article{position:relative;width:100%;height:auto;min-height:518.292px;padding:0;overflow:hidden;border:0;border-radius:20px}
.employee-cards img{position:absolute;top:33px;left:50%;width:249.196px;height:249.196px;margin:0;object-fit:contain;transform:translateX(-50%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.25) 86%,transparent 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.25) 86%,transparent 90%,transparent 100%)}
.employee-card__number{position:absolute;z-index:3;top:27px;left:29px;background:var(--interview-number-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-family:"gotham",sans-serif;font-size:18px;font-weight:400;line-height:1}
.employee-cards .interview-summary-card__tag{top:289.06px;left:29px}
.employee-cards h3{position:absolute;z-index:2;top:336.06px;left:29px;width:312.949px;height:96px;margin:0;font-family:var(--font-ja);font-size:18px;font-weight:600;line-height:32px}
.employee-cards article>a{position:absolute;z-index:2;right:33.362px;bottom:33.232px;margin:0;font-family:var(--font-en);font-size:17.879px;font-weight:400;line-height:35.758px;white-space:nowrap}
.interview-controls{display:none}
.employee-link__button.gradient-button{margin:48px auto 0}

@media(min-width:901px){
  .employee-link__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
  }
  .employee-link__lead{grid-column:1;grid-row:1;margin:0}
  .employee-cards{grid-column:1/-1;grid-row:2}
  .interview-controls{grid-column:1/-1;grid-row:3}
  .employee-link__button.gradient-button{grid-column:2;grid-row:1;margin:0}
}

/* OTHER INTERVIEW: mirror the environment interview-card composition. */
@media(min-width:1024px){
  .employee-cards{
    display:grid;
    grid-template-columns:repeat(3,362.077px);
    gap:16.923px;
    width:1120px;
    zoom:clamp(.8228,calc((100vw - (2 * var(--page-inline-gutter))) / 1120px),1);
  }
  .employee-cards article{width:362.077px}
}

@media(max-width:1023px){
  .page-contact .employee-link__button.gradient-button{display:none}
  .employee-cards{
    display:flex;
    box-sizing:border-box;
    width:100vw;
    gap:clamp(10.258px,calc(6.40094px + 1.028549vw),16.923px);
    margin:clamp(33px,calc(22.604px + 2.772vw),50.964px) 0 -22px calc(50% - 50vw);
    padding:18px var(--page-inline-gutter) 22px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-padding-inline:var(--page-inline-gutter);
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .employee-cards::-webkit-scrollbar{display:none}
  .employee-cards article{
    display:block;
    flex:0 0 clamp(306.9px,calc(274.968866px + 8.514969vw),362.077px);
    width:clamp(306.9px,calc(274.968866px + 8.514969vw),362.077px);
    height:clamp(429.59px,calc(378.257824px + 13.68858vw),518.292px);
    min-height:clamp(429.59px,calc(378.257824px + 13.68858vw),518.292px);
    scroll-snap-align:start;
  }
  /* 掲載順によらず同じ画像枠を使い、カード中央に配置する。 */
  .employee-cards img{
    top:clamp(29.47px,calc(27.43px + .544vw),33px);
    width:clamp(210.928px,calc(188.782167px + 5.905556vw),249.196px);
    height:clamp(210.928px,calc(188.782167px + 5.905556vw),249.196px);
  }
  .employee-card__number{
    top:clamp(20px,calc(14.792px + 1.389vw),29px);
    left:clamp(21.248px,calc(16.761889px + 1.196296vw),29px);
  }
  .employee-cards .interview-summary-card__tag{top:clamp(231.476px,calc(198.151926px + 8.88642vw),289.06px);left:clamp(21.248px,calc(16.761889px + 1.196296vw),29px)}
  .employee-cards h3{
    top:clamp(273.084px,calc(236.639556px + 9.718519vw),336.06px);
    left:clamp(21.248px,calc(16.761889px + 1.196296vw),29px);
    width:clamp(253.9px,calc(219.728125px + 9.1125vw),312.949px);
    height:clamp(90px,calc(86.527778px + .925926vw),96px);
    font-size:clamp(16px,calc(14.842593px + .308642vw),18px);
    line-height:clamp(30px,calc(28.842593px + .308642vw),32px);
  }
  .employee-cards article>a{
    right:clamp(26.326px,calc(22.254241px + 1.085802vw),33.362px);
    bottom:clamp(21.732px,calc(15.076907px + 1.774691vw),33.232px);
    font-size:clamp(16px,calc(14.912616px + .289969vw),17.879px);
  }
  .page-contact .interview-controls{
    display:grid;
    grid-template-columns:156px 153px;
    align-items:center;
    column-gap:27px;
    width:336px;
    height:32px;
    margin:29px 0 0;
    zoom:clamp(1,calc(.768519 + .061728vw),1.4);
  }
  .page-contact .interview-buttons{display:flex;gap:12px}
  .page-contact .interview-buttons button{
    position:relative;
    width:72px;
    height:32px;
    padding:0;
    border:1px solid #000;
    border-radius:16px;
    background:transparent;
  }
  .page-contact .interview-buttons button span{
    position:absolute;
    top:50%;
    left:50%;
    width:8px;
    height:8px;
    border-top:1px solid #000;
    border-right:1px solid #000;
  }
  .page-contact .interview-prev span{transform:translate(-35%,-50%) rotate(-135deg)}
  .page-contact .interview-next span{transform:translate(-65%,-50%) rotate(45deg)}
  .page-contact .interview-scrollbar{
    position:relative;
    width:100%;
    height:4px;
    border-radius:2px;
    background:#e3e3d8;
    touch-action:none;
  }
  .page-contact .interview-scrollbar__thumb{
    position:absolute;
    top:0;
    left:0;
    width:50px;
    height:4px;
    border-radius:2px;
    background:#aaa;
    cursor:grab;
    touch-action:none;
    transition:height .12s,top .12s;
  }
  .page-contact .interview-scrollbar__thumb.is-dragging{
    top:-2px;
    height:8px;
    cursor:grabbing;
  }
}

@media(max-width:900px){
  .page-contact .page-title{padding:107px 0 0}
  .job-section__inner,.employee-link__inner{margin-top:34px}
  .job-section__inner{margin-top:clamp(33px,calc(22.604px + 2.772vw),50.964px)}
  .contact-form-section__layout{display:block}
  .contact-form-section__inner{margin-top:34px}
  .contact-form-section form{margin-top:0}
  .form-row{display:block;padding:12px 0;border:0}
  .form-row label{display:block;margin-bottom:5px;font-size:12px;line-height:1.5}
  .recruit-form .form-row>p>label{margin-bottom:5px;font-size:12px;line-height:1.5}
  .required-mark{font-size:12px;line-height:1.5}
  .form-row em{font-size:9px}
  .form-row input,.form-row select{height:40px;padding:0 10px;font-size:13px}
  .form-row textarea{height:auto;min-height:133px;padding:10px;font-size:13px}
  .form-split-fields{gap:7px}
  .privacy{margin:24px 0 16px;font-size:10px}
  .consent{font-size:11px;text-align:left}
  .confirm-button.gradient-button{margin-top:26px}
  .employee-link{padding-bottom:86px}
  .employee-link__lead{font-size:12px}
  .employee-link__lead br{display:none}
  .employee-link__button.gradient-button{margin-top:28px}
  .page-contact .site-footer{margin-top:0}
}

@media(max-width:767px){
  .job-section dl>div{display:block;padding:clamp(31px,calc(27.174px + 1.02vw),35px) clamp(9px,calc(6.13px + .765vw),12px)}
  .job-section dl>div:first-child{padding-top:0}
  .job-section dt,.job-section dd{padding:0}
  .job-section dt{margin-bottom:clamp(14px,calc(12.087px + .51vw),16px);font-size:clamp(16px,calc(15.043px + .255vw),17px);font-weight:600;line-height:clamp(28px,calc(26.087px + .51vw),30px)}
  .job-section dd{font-size:clamp(14px,calc(13.043px + .255vw),15px);font-weight:400;line-height:clamp(28px,calc(26.087px + .51vw),30px)}
  .job-section dd br{display:none}
}
/* Shared divider color. */
.page-contact .job-section dl>div{border-bottom-color:#c9c9c9}
