@charset "UTF-8";
/* company 会社案内  */
#Company .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Company .c-page-kv--company { background: url("../img/company/head.png") center / cover no-repeat; }
#Company .c-page-kv { margin-top: var(--fixed-header-height); }
#Company .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Company .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Company .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Company .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Company .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Company .c-page-kv__ttl-jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Company .company-profile { background: #fff; padding: clamp(60px, 7vw, 70px) 0; }
#Company .company-profile__inner { width: min(850px, 90%); margin: 0 auto; }
#Company .company-profile__dl { margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.12); }
#Company .company-profile__row { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(0,0,0,.12); }
#Company .company-profile__dt { margin: 0; font-weight: 600; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Company .company-profile__dd { margin: 0; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Company .company-profile__mark { display: inline-block; margin-top: 10px; }
#Company .company-profile__mark img { width: 100px; height: auto; display: block; }

#Company .history, #Company .access { position: relative; }
#Company .history::before, #Company .access::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.22); }

#Company .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Company .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Company .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Company .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Company .history { background: #fff; padding: clamp(50px, 7vw, 80px) 0; }
#Company .history__inner { width: min(850px, 90%); margin: 0 auto; }
#Company .history__table { border-top: 1px solid rgba(0,0,0,.18); }
#Company .history__row:has(.history__events) { grid-template-columns: 120px 1fr; align-items: start; }
#Company .history__events { grid-column: 2 / -1; }
#Company .history__event { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: start; }
#Company .history__row { display: grid; grid-template-columns: 120px 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.18); align-items: center; }
#Company .history__year { margin: 0; font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; font-size: clamp(28px, 3vw, 37px); letter-spacing: .06em; color: #2b2b2b; }
#Company .history__month { margin: 0; font-weight: 600; font-size: clamp(14px, 3vw, 16px); }
#Company .history__desc { margin: 0;  font-size: 16px; line-height: 2; }
#Company .access { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Company .access__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Company .access__map { width: 100%; margin: 0 auto; }
#Company .access__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Company .access__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Company .access__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

@media only screen and (max-width: 980px){
  #Company .c-page-kv--company { background: url(../img/company/head_sp.png) center / cover no-repeat; }
  #Company .access__note span { margin: 15px auto 0 0; }
  #Company .access__note { flex-direction: column; display: flex; text-align: left;}
  #Company .access__iframe { height: 250px; }
}

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Company .c-page-kv__ttl { gap: 5px; }
  #Company .company-profile__mark img { width: 70px; }
  #Company .company-profile__row { grid-template-columns: 1fr; gap: 0px; padding: 15px 0; }
  #Company .company-profile__dt, #Company .company-profile__dd { font-size: 14px; }  
  #Company .history__row { display: grid; grid-template-columns: 3.5em 1fr; grid-template-areas: "year year" "month desc"; gap: 8px 12px; align-items: start; }
  #Company .history__row > .history__year { grid-area: year; font-size: 22px; }
  #Company .history__row > .history__month { grid-area: month; text-align: right; }
  #Company .history__row > .history__desc { grid-area: desc; }
  #Company .history__row:has(.history__events) { grid-template-areas: "year year" "events events"; }
  #Company .history__events { grid-area: events; }
  #Company .history__event { display: grid; grid-template-columns: 3.5em 1fr; gap: 8px 12px; align-items: start; }
  #Company .history__event .history__month { grid-area: auto; text-align: right; }
  #Company .history__event .history__desc { grid-area: auto; }
  #Company .history__month, #Company .history__desc { font-size: 14px; }
}

/* entry 採用情報  */
#Entry .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Entry .c-page-kv--entry { background: url("../img/entry/head.png") center / cover no-repeat; }
#Entry .c-page-kv { margin-top: var(--fixed-header-height); }
#Entry .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Entry .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Entry .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Entry .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Entry .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Entry .c-page-kv__ttl-jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Entry .entry-profile { background: #fff; padding: clamp(10px, 7vw, 20px) 0; }
#Entry .entry-profile__inner { width: min(850px, 90%); margin: 0 auto; }
#Entry .entry-profile__dl { margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.12); }
#Entry .entry-profile__row { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(0,0,0,.12); }
#Entry .entry-profile__dt { margin: 0; font-weight: 600; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Entry .entry-profile__dd { margin: 0; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Entry .entry-profile__mark { display: inline-block; margin-top: 10px; }
#Entry .entry-profile__mark img { width: 100px; height: auto; display: block; }

#Entry .entry_a {
 color: #0000FF;
}

#Entry div.right {text-align: right;}


#Entry dt::before {
    content: url(../img/entry/person.png);
    margin-right:10pt;
  }
#Entry dt {
    color: purple;
    font-weight: bold;
    margin-top:10pt;
    vertical-align: middle;
  }


#Entry table.schedule {
    border-spacing: 0pt;
    margin-bottom: 10pt;
    line-height: 1.5;
  }
#Entry table.schedule td {
    padding: 10pt;
  }
#Entry table.schedule_desc {
    border-spacing: 0pt;
    line-height: 1.5;
  }
#Entry table.schedule_desc tr:nth-child(1) td {
    border-top: 3px solid black;
  }
#Entry table.schedule_desc td {
    border-bottom: 3px solid black;
  }
#Entry table.schedule_desc td.fresh_step1 {
    min-width: 3em;
  }

#Entry td.leftborder {
    border-left-color: white;
    border-left-style: solid;
    border-left-width: 2px;
  }
#Entry td.fresh_step1 {
    padding-left: 5px;
    color: white;
    background-color: #009999;
    border-top-color: black;
    border-top-style: solid;
    width: 100px;
  }
#Entry td.fresh_step2 {
    padding-left: 5px;
    color: white;
    background-color: #0099CC;
  }
#Entry td.fresh_step3 {
    padding-left: 5px;
    color: white;
    background-color: #0099CC;
  }
#Entry td.fresh_step4 {
    padding-left: 5px;
    color: white;
    background-color: #3399FF;
  }
#Entry td.fresh_step5 {
    padding-left: 5px;
    color: white;
    background-color: #0066FF;
  }
#Entry td.fresh_step6 {
    padding-left: 5px;
    color: white;
    background-color: #3333FF;
  }
#Entry td.fresh_step7 {
    padding-left: 5px;
    color: white;
    background-color: #002060;
  }
#Entry td.fresh_step8 {
    padding-left: 5px;
    color: white;
    background-color: #0033CC;
  }
#Entry td.fresh_step9 {
    padding-left: 5px;
    color: white;
    background-color: #0033CC;
  }

#Entry table.schedule_desc td.mid_step1 {
    min-width: 5em;
  }
#Entry td.mid_step1 {
    padding-left: 5px;
    color: white;
    background-color: #33B4B4;
  }
#Entry td.mid_step2 {
    padding-left: 5px;
    color: white;
    background-color: #339696;
  }
#Entry td.mid_step3 {
    padding-left: 5px;
    color: white;
    background-color: #337D99;
  }
#Entry td.mid_step4 {
    padding-left: 5px;
    color: white;
    background-color: #006020;
  }
#Entry td.mid_step5 {
    padding-left: 5px;
    color: white;
    background-color: #009933;
  }
#Entry td.mid_step6 {
    padding-left: 5px;
    color: white;
    background-color: #009933;
  }

#Entry table.careerpath {
    border-spacing: 0pt;
    margin: 10pt;
  }
#Entry table.careerpath td,th {
    border-style: solid;
    border-color: black;
    border-width: 1pt;
    padding: 2pt;
  }
#Entry table.careerpath th {
    background-color: #CCCCFF;
  }
#Entry td.path1 {
    color: black;
    background-color: #CCFFCC;
  }
#Entry td.path2 {
    color: black;
    background-color: #99FF99;
  }
#Entry td.path3 {
    color: black;
    background-color: #66FF66;
  }
#Entry td.path4 {
    color: white;
    background-color: #33CC33;
  }
#Entry td.path5 {
    color: white;
    background-color: #0099CC;
  }
#Entry td.path6 {
    color: white;
    background-color: #0066CC;
  }
#Entry td.path7 {
    color: white;
    background-color: #CC9900;
  }

#Entry .career_path {max-width: 70%; height: auto;}
#Entry .history, #Entry .access { position: relative; }
#Entry .history::before, #Entry .access::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.22); }

#Entry .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Entry .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Entry .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Entry .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Entry .history { background: #fff; padding: clamp(50px, 7vw, 80px) 0; }
#Entry .history__inner { width: min(850px, 90%); margin: 0 auto; }
#Entry .history__table { border-top: 1px solid rgba(0,0,0,.18); }
#Entry .history__row:has(.history__events) { grid-template-columns: 120px 1fr; align-items: start; }
#Entry .history__events { grid-column: 2 / -1; }
#Entry .history__event { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: start; }
#Entry .history__row { display: grid; grid-template-columns: 120px 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.18); align-items: center; }
#Entry .history__year { margin: 0; font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; font-size: clamp(28px, 3vw, 37px); letter-spacing: .06em; color: #2b2b2b; }
#Entry .history__month { margin: 0; font-weight: 600; font-size: clamp(14px, 3vw, 16px); }
#Entry .history__desc { margin: 0;  font-size: 16px; line-height: 2; }
#Entry .access { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Entry .access__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Entry .access__map { width: 100%; margin: 0 auto; }
#Entry .access__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Entry .access__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Entry .access__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

@media only screen and (max-width: 980px){
  #Entry .c-page-kv--entry { background: url(../img/entry/head_sp.png) center / cover no-repeat; }
  #Entry .access__note span { margin: 15px auto 0 0; }
  #Entry .access__note { flex-direction: column; display: flex; text-align: left;}
  #Entry .access__iframe { height: 250px; }
}

/*　600pxからレスポンシブ*/
@media only screen and (max-width: 600px){
  #Entry .c-page-kv__ttl { gap: 5px; }
  #Entry .entry-profile__mark img { width: 70px; }
  #Entry .entry-profile__row { grid-template-columns: 1fr; gap: 0px; padding: 15px 0; }
  #Entry .entry-profile__dt, #Entry .entry-profile__dd { font-size: 14px; }  
  #Entry .history__row { display: grid; grid-template-columns: 3.5em 1fr; grid-template-areas: "year year" "month desc"; gap: 8px 12px; align-items: start; }
  #Entry .history__row > .history__year { grid-area: year; font-size: 22px; }
  #Entry .history__row > .history__month { grid-area: month; text-align: right; }
  #Entry .history__row > .history__desc { grid-area: desc; }
  #Entry .history__row:has(.history__events) { grid-template-areas: "year year" "events events"; }
  #Entry .history__events { grid-area: events; }
  #Entry .history__event { display: grid; grid-template-columns: 3.5em 1fr; gap: 8px 12px; align-items: start; }
  #Entry .history__event .history__month { grid-area: auto; text-align: right; }
  #Entry .history__event .history__desc { grid-area: auto; }
  #Entry .history__month, #Entry .history__desc { font-size: 14px; }
}

/* fukuri 福利厚生  */
#Fukuri .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Fukuri .c-page-kv--fukuri { background: url("../img/fukuri/head.png") center / cover no-repeat; }
#Fukuri .c-page-kv { margin-top: var(--fixed-header-height); }
#Fukuri .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Fukuri .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Fukuri .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Fukuri .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Fukuri .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Fukuri .c-page-kv__ttl-jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Fukuri .fukuri-profile { background: #fff; padding: clamp(60px, 7vw, 70px) 0; }
#Fukuri .fukuri-profile__inner { width: min(850px, 90%); margin: 0 auto; }
#Fukuri .fukuri-profile__dl { margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.12); }
#Fukuri .fukuri-profile__row { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(0,0,0,.12); }
#Fukuri .fukuri-profile__dt { margin: 0; font-weight: 600; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Fukuri .fukuri-profile__dd { margin: 0; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Fukuri .fukuri-profile__mark { display: inline-block; margin-top: 10px; }
#Fukuri .fukuri-profile__mark img { width: 100px; height: auto; display: block; }

#Fukuri .history, #Fukuri .access { position: relative; }
#Fukuri .history::before, #Fukuri .access::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.22); }

#Fukuri .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Fukuri .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Fukuri .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Fukuri .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Fukuri .history { background: #fff; padding: clamp(50px, 7vw, 80px) 0; }
#Fukuri .history__inner { width: min(850px, 90%); margin: 0 auto; }
#Fukuri .history__table { border-top: 1px solid rgba(0,0,0,.18); }
#Fukuri .history__row:has(.history__events) { grid-template-columns: 120px 1fr; align-items: start; }
#Fukuri .history__events { grid-column: 2 / -1; }
#Fukuri .history__event { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: start; }
#Fukuri .history__row { display: grid; grid-template-columns: 120px 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.18); align-items: center; }
#Fukuri .history__year { margin: 0; font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; font-size: clamp(28px, 3vw, 37px); letter-spacing: .06em; color: #2b2b2b; }
#Fukuri .history__month { margin: 0; font-weight: 600; font-size: clamp(14px, 3vw, 16px); }
#Fukuri .history__desc { margin: 0;  font-size: 16px; line-height: 2; }
#Fukuri .access { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Fukuri .access__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Fukuri .access__map { width: 100%; margin: 0 auto; }
#Fukuri .access__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Fukuri .access__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Fukuri .access__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

@media only screen and (max-width: 980px){
  #Fukuri .c-page-kv--fukuri { background: url(../img/fukuri/head_sp.png) center / cover no-repeat; }
  #Fukuri .access__note span { margin: 15px auto 0 0; }
  #Fukuri .access__note { flex-direction: column; display: flex; text-align: left;}
  #Fukuri .access__iframe { height: 250px; }
}

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Fukuri .c-page-kv__ttl { gap: 5px; }
  #Fukuri .fukuri-profile__mark img { width: 70px; }
  #Fukuri .fukuri-profile__row { grid-template-columns: 1fr; gap: 0px; padding: 15px 0; }
  #Fukuri .fukuri-profile__dt, #Fukuri .fukuri-profile__dd { font-size: 14px; }  
  #Fukuri .history__row { display: grid; grid-template-columns: 3.5em 1fr; grid-template-areas: "year year" "month desc"; gap: 8px 12px; align-items: start; }
  #Fukuri .history__row > .history__year { grid-area: year; font-size: 22px; }
  #Fukuri .history__row > .history__month { grid-area: month; text-align: right; }
  #Fukuri .history__row > .history__desc { grid-area: desc; }
  #Fukuri .history__row:has(.history__events) { grid-template-areas: "year year" "events events"; }
  #Fukuri .history__events { grid-area: events; }
  #Fukuri .history__event { display: grid; grid-template-columns: 3.5em 1fr; gap: 8px 12px; align-items: start; }
  #Fukuri .history__event .history__month { grid-area: auto; text-align: right; }
  #Fukuri .history__event .history__desc { grid-area: auto; }
  #Fukuri .history__month, #Fukuri .history__desc { font-size: 14px; }
}

/* security セキュリティ  */
#Security .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Security .c-page-kv--security { background: url("../img/security/head.png") center / cover no-repeat; }
#Security .c-page-kv { margin-top: var(--fixed-header-height); }
#Security .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Security .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Security .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Security .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Security .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Security .c-page-kv__ttl-jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Security .security-profile { background: #fff; padding: clamp(60px, 7vw, 70px) 0; }
#Security .security-profile__inner { width: min(850px, 90%); margin: 0 auto; }
#Security .security-profile__dl { margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.12); }
#Security .security-profile__row { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(0,0,0,.12); }
#Security .security-profile__dt { margin: 0; font-weight: 600; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Security .security-profile__dd { margin: 0; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Security .security-profile__mark { display: inline-block; margin-top: 10px; }
#Security .security-profile__mark img { width: 100px; height: auto; display: block; }

#Security .history, #Security .access { position: relative; }
#Security .history::before, #Security .access::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.22); }

#Security .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Security .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Security .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Security .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Security .history { background: #fff; padding: clamp(50px, 7vw, 80px) 0; }
#Security .history__inner { width: min(850px, 90%); margin: 0 auto; }
#Security .history__table { border-top: 1px solid rgba(0,0,0,.18); }
#Security .history__row:has(.history__events) { grid-template-columns: 120px 1fr; align-items: start; }
#Security .history__events { grid-column: 2 / -1; }
#Security .history__event { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: start; }
#Security .history__row { display: grid; grid-template-columns: 120px 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.18); align-items: center; }
#Security .history__year { margin: 0; font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; font-size: clamp(28px, 3vw, 37px); letter-spacing: .06em; color: #2b2b2b; }
#Security .history__month { margin: 0; font-weight: 600; font-size: clamp(14px, 3vw, 16px); }
#Security .history__desc { margin: 0;  font-size: 16px; line-height: 2; }
#Security .access { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Security .access__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Security .access__map { width: 100%; margin: 0 auto; }
#Security .access__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Security .access__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Security .access__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

@media only screen and (max-width: 980px){
  #Security .c-page-kv--security { background: url(../img/security/head_sp.png) center / cover no-repeat; }
  #Security .access__note span { margin: 15px auto 0 0; }
  #Security .access__note { flex-direction: column; display: flex; text-align: left;}
  #Security .access__iframe { height: 250px; }
}

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Security .c-page-kv__ttl { gap: 5px; }
  #Security .security-profile__mark img { width: 70px; }
  #Security .security-profile__row { grid-template-columns: 1fr; gap: 0px; padding: 15px 0; }
  #Security .security-profile__dt, #Security .security-profile__dd { font-size: 14px; }  
  #Security .history__row { display: grid; grid-template-columns: 3.5em 1fr; grid-template-areas: "year year" "month desc"; gap: 8px 12px; align-items: start; }
  #Security .history__row > .history__year { grid-area: year; font-size: 22px; }
  #Security .history__row > .history__month { grid-area: month; text-align: right; }
  #Security .history__row > .history__desc { grid-area: desc; }
  #Security .history__row:has(.history__events) { grid-template-areas: "year year" "events events"; }
  #Security .history__events { grid-area: events; }
  #Security .history__event { display: grid; grid-template-columns: 3.5em 1fr; gap: 8px 12px; align-items: start; }
  #Security .history__event .history__month { grid-area: auto; text-align: right; }
  #Security .history__event .history__desc { grid-area: auto; }
  #Security .history__month, #Security .history__desc { font-size: 14px; }
}

/* contact セキュリティ  */
#Contact .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Contact .c-page-kv--contact { background: url("../img/contact/head.png") center / cover no-repeat; }
#Contact .c-page-kv { margin-top: var(--fixed-header-height); }
#Contact .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Contact .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Contact .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Contact .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Contact .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Contact .c-page-kv__ttl-jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Contact .contact-profile { background: #fff; padding: clamp(60px, 7vw, 70px) 0; }
#Contact .contact-profile__inner { width: min(850px, 90%); margin: 0 auto; }
#Contact .contact-profile__dl { margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,.12); }
#Contact .contact-profile__row { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid rgba(0,0,0,.12); }
#Contact .contact-profile__dt { margin: 0; font-weight: 600; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Contact .contact-profile__dd { margin: 0; color: #2b2b2b; font-size: 16px; line-height: 1.9; }
#Contact .contact-profile__mark { display: inline-block; margin-top: 10px; }
#Contact .contact-profile__mark img { width: 100px; height: auto; display: block; }

#Contact .history, #Contact .access { position: relative; }
#Contact .history::before, #Contact .access::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.22); }

#Contact .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Contact .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Contact .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Contact .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Contact .history { background: #fff; padding: clamp(50px, 7vw, 80px) 0; }
#Contact .history__inner { width: min(850px, 90%); margin: 0 auto; }
#Contact .history__table { border-top: 1px solid rgba(0,0,0,.18); }
#Contact .history__row:has(.history__events) { grid-template-columns: 120px 1fr; align-items: start; }
#Contact .history__events { grid-column: 2 / -1; }
#Contact .history__event { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: start; }
#Contact .history__row { display: grid; grid-template-columns: 120px 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.18); align-items: center; }
#Contact .history__year { margin: 0; font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; font-size: clamp(28px, 3vw, 37px); letter-spacing: .06em; color: #2b2b2b; }
#Contact .history__month { margin: 0; font-weight: 600; font-size: clamp(14px, 3vw, 16px); }
#Contact .history__desc { margin: 0;  font-size: 16px; line-height: 2; }
#Contact .access { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Contact .access__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Contact .access__map { width: 100%; margin: 0 auto; }
#Contact .access__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Contact .access__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Contact .access__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

@media only screen and (max-width: 980px){
  #Contact .c-page-kv--contact { background: url(../img/contact/head_sp.png) center / cover no-repeat; }
  #Contact .access__note span { margin: 15px auto 0 0; }
  #Contact .access__note { flex-direction: column; display: flex; text-align: left;}
  #Contact .access__iframe { height: 250px; }
}

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Contact .c-page-kv__ttl { gap: 5px; }
  #Contact .contact-profile__mark img { width: 70px; }
  #Contact .contact-profile__row { grid-template-columns: 1fr; gap: 0px; padding: 15px 0; }
  #Contact .contact-profile__dt, #Contact .contact-profile__dd { font-size: 14px; }  
  #Contact .history__row { display: grid; grid-template-columns: 3.5em 1fr; grid-template-areas: "year year" "month desc"; gap: 8px 12px; align-items: start; }
  #Contact .history__row > .history__year { grid-area: year; font-size: 22px; }
  #Contact .history__row > .history__month { grid-area: month; text-align: right; }
  #Contact .history__row > .history__desc { grid-area: desc; }
  #Contact .history__row:has(.history__events) { grid-template-areas: "year year" "events events"; }
  #Contact .history__events { grid-area: events; }
  #Contact .history__event { display: grid; grid-template-columns: 3.5em 1fr; gap: 8px 12px; align-items: start; }
  #Contact .history__event .history__month { grid-area: auto; text-align: right; }
  #Contact .history__event .history__desc { grid-area: auto; }
  #Contact .history__month, #Contact .history__desc { font-size: 14px; }
}

/* Seminar 会社説明会  */
#Seminar .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Seminar .c-page-kv--seminar { background: url("../img/seminar/head.png") center / cover no-repeat; }
#Seminar .c-page-kv { margin-top: var(--fixed-header-height); }
#Seminar .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Seminar .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Seminar .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Seminar .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Seminar .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Seminar .c-page-kv__ttl-jp { font-size: clamp(30px, 5vw, 48px); font-weight: 700; letter-spacing: .06em; line-height: 1; }

#Seminar .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Seminar .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Seminar .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Seminar .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Seminar .body { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Seminar .body__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Seminar .body__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Seminar .body__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Seminar .body__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Seminar .c-page-kv__ttl { gap: 5px; }
}

/* Message ご挨拶  */
#Message .c-page-kv { position: relative; min-height: clamp(105px, 22vw, 370px); display: grid; place-items: center; overflow: hidden; }
#Message .c-page-kv--message { background: url("../img/message/head.png") center / cover no-repeat; }
#Message .c-page-kv { margin-top: var(--fixed-header-height); }
#Message .c-page-kv::before { content: ""; position: absolute; inset: 0; }
#Message .c-page-kv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(78,71,112,.35) 0%, rgba(78,71,112,0) 18%, rgba(78,71,112,0) 82%, rgba(78,71,112,.35) 100%); pointer-events: none; }
#Message .c-page-kv__inner { position: relative; z-index: 1; width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Message .c-page-kv__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Message .c-page-kv__ttl-en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight:600; letter-spacing: .06em; font-size: clamp(30px, 5vw, 48px); line-height: 1; }
#Message .c-page-kv__ttl-jp { font-size: clamp(30px, 5vw, 48px); font-weight: 700; letter-spacing: .06em; line-height: 1; }

#Message .c-page-head { text-align: center; margin: 0 0 clamp(22px, 4vw, 34px); }
#Message .c-page-head__ttl { margin: 0; display: inline-flex; flex-direction: column; align-items: center; gap: 10px; color: #2b2b2b; }
#Message .c-page-head__en { font-family: var(--font-en, "Montserrat", sans-serif); font-weight: 600; letter-spacing: .06em; font-size: clamp(34px, 5vw, 48px); line-height: 1; }
#Message .c-page-head__jp { font-size: clamp(14px, 1.5vw, 20px); font-weight: 700; letter-spacing: .12em; }
#Message .body { background: #fff; padding: clamp(50px, 7vw, 80px) 0 clamp(60px, 8vw, 100px); }
#Message .body__inner { width: min(850px, 90%); margin: 0 auto; text-align: center; }
#Message .body__iframe { width: 100%; aspect-ratio: 1 / 1; border: 0; display: block; }
#Message .body__note { text-align: left; font-size:clamp(14px, 1.5vw, 16px);}
#Message .body__note span { font-size:clamp(14px, 1.5vw, 18px); margin: 14px auto 0; display: inline-block; background: #363636; color: #fff; letter-spacing: .04em; padding: 4px 10px 6px; }

/* 600pxからレスポンシブ */
@media only screen and (max-width: 600px){
  #Message .c-page-kv__ttl { gap: 5px; }
}


