#header{background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.5) 80%);}
#header .icon-bar{background:  #fff;}
#header #humberger span:nth-of-type(1)::before {color: #fff;}
@media screen and (max-width: 768px){
  #header{background: unset;}
  .icon-bar{background:  #fff;}
#header.fixed .icon-bar{background:  #00479d;}
#humberger span:nth-of-type(1)::before {color: #fff;}
#header.fixed #humberger span:nth-of-type(1)::before {color: #00479d;}
#header .logo .logoW{display:block;}
#header .logo .logoB{display:none;}
#header.fixed .logo .logoW{display:none;}
#header.fixed .logo .logoB{display:block;}
}

.mv{width:100%; margin-left: auto;position: relative;padding-bottom: 70px;background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 30%,#e5edf1 30%,#e5edf1 100%);}
.mv .mainimg{width: 70%;height: 500px;margin-left: auto;border-radius: 0 0 0 60px;overflow: hidden}
.mv img{width: 100%;height: 500px;object-fit: cover}
.mv .pagetitle{position: absolute;bottom: 0;left: 0; height: 430px;width: 40%;border-radius: 0 60px 60px 0; background: linear-gradient(to right,  rgba(0,71,157,1) 0%,rgba(0,71,157,1) 1%,rgba(0,183,238,0.8) 100%);}
.mv .pagetitle h2{width: 100%;text-align: center; color: #fff;font-size: 3.9rem;font-weight: bold; letter-spacing: 0.2em;position: absolute;   top: 50%;   left: 50%;   -webkit-transform: translate(-50%, -50%);   transform: translate(-50%, -50%);}

.mv .pageGnav{position: absolute;bottom: 0; right: 0; height: 120px;width: 57%;border-radius: 15px 0px 0px 15px; background: linear-gradient(90deg, #00b7ee 0%, #00479d 50%); border: 2px solid #00479d; border-right: 0;}
.mv .pageGnav h2{width: 100%;text-align: center; color: #fff;font-size: 2.4rem;font-weight: bold; letter-spacing: 0.2em;position: absolute;   top: 50%;   left: 50%;   -webkit-transform: translate(-50%, -50%);   transform: translate(-50%, -50%);}
.mv .pageGnav .gnav-list{display: flex; list-style: none; padding: 0; margin: 0; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; align-items: center;flex-wrap: wrap;}
.mv .pageGnav .gnav-list a{width: calc(100% / 3); text-align: center; height: 50%;}
.mv .pageGnav .gnav-list a li {position: relative; text-decoration: none; color: #00a0e9; font-size: 1.8rem; padding: 8px 25px; transition: 0.2s; border-bottom: 2px solid transparent; font-weight: bold; top: 50%; left:50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.mv .pageGnav .gnav-list a li::after {content: ""; position: absolute; right: 40px; top: 51%; transform: translateY(-50%) rotate(90deg); width: 17px; height: 17px; background: url(../images/icon_arrowB.svg) no-repeat center center; background-size: contain;}
.mv .pageGnav .gnav-list a {transition: background-color 0.4s ease;}
.mv .pageGnav .gnav-list a:hover{background-color: #fff; color: #fff;}
.mv .pageGnav .gnav-list a:first-child{border-radius: 12px 0 0 0;}
.mv .pageGnav .gnav-list a:nth-child(4){border-radius: 0 0 0 12px;}
.mv .pageGnav .gnav-list a li {transition: color 0.3s ease; color: #fff; /* 通常色 */}
.mv .pageGnav .gnav-list a:hover li {color: #00479d; /* ホバー時に白に */}
.pageGnav_sp .gnav-list{display: flex; background: linear-gradient(90deg, #00b7ee 0%, #00479d 100%); border-right: 0; border-left: 0; flex-wrap: wrap;border-radius: 10px;}
.pageGnav_sp .gnav-list a{width: calc(100% / 2 - 1px);padding: 10px 0;}
.pageGnav_sp .gnav-list a:nth-child(2n){border-left: 1px solid #fff;}
.pageGnav_sp .gnav-list a:nth-child(n+3) {border-top: 1px solid #fff;}
.pageGnav_sp .gnav-list a li{color: #fff; position: relative;display: block; text-align: center;}
.pageGnav_sp .gnav-list a li::after {content: ""; position: absolute; right: 15px; top: 51%; transform: translateY(-50%) rotate(90deg); width: 17px; height: 17px; background: url(../images/icon_arrowB.svg) no-repeat center center; background-size: contain;}
/*#header .g_nav a {color: #fff;}*/
#header.fixed .g_nav a {color: #000;}

#newslist{margin-top: 60px}
#newslist dl{margin-top: 12px; display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;display: -webkit-flex;flex-wrap: wrap;-webkit-flex-wrap:wrap;justify-content: flex-start;-webkit-justify-content: flex-start;align-items: center;border-bottom: 1px solid #909090;padding-bottom: 12px;margin-bottom: 12px;}
#newslist dt{color: #004470;font-weight: bold;margin-right: 30px;position: relative;padding-left: 18px;}
#newslist dt::before{    content: "";    position: absolute;    top: 50%;left: 0;    transform: translateY(-50%);border: 5px solid transparent;border-left: 8px solid #004470;}
#newslist .bt_blue{margin: 50px auto 0;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
#newslist{margin-top: 100px}
#newslist dl {flex-direction: column;align-items: flex-start;}
#newslist dt {margin-right: 0;margin-bottom: 6px;padding-left: 16px;}
#newslist dd {margin-left: 0;}
}
.pagination {text-align: center;margin: 40px 0;}
.pagination .page-numbers {display: inline-block;margin: 0 6px;padding: 8px 14px;font-size: 16px;color: #333;background-color: #f4f4f4;border: 1px solid #ccc;border-radius: 4px;text-decoration: none;transition: background-color 0.2s, color 0.2s;}
.pagination .page-numbers:hover {background-color: #0073aa;color: #fff;border-color: #0073aa;}
.pagination .current {background-color: #0073aa;color: #fff;border-color: #0073aa;font-weight: bold;cursor: default;}


@media screen and (max-width: 1200px) {/*スマホのスタイル*/
.mv{padding-bottom: 70px;}
.mv .mainimg{width: 70%;height: 400px;}
.mv img{height: 400px;}
.mv .pagetitle{height: 330px;}
.mv .pagetitle h2{font-size: 3rem;}
}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
.mv{padding-bottom:50px;background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 40%,#e5edf1 40%,#e5edf1 100%);}
.mv .mainimg{width: 90%;height: 200px;}
.mv img{height: 200px;}
.mv .pagetitle{height:150px;width: 60%;border-radius: 0 30px 30px 0; }
.mv .pagetitle h2{font-size: 2.2rem;}
#header .g_nav a {color: unset;}
#header.fixed .g_nav a {color: unset;}
}

.breadcrumb{font-size:1.3rem;text-align:left;padding:20px 0;}
.breadcrumb a{padding-bottom:1px;border-bottom:1px solid #000;color: #000}

.page_contents{background: #e5edf1}
.page_contents img{width: 100%;height: auto}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.page_contents{padding-top: 30px;}
}


/* タブ */
.tabmenu{background: #fff;padding: 20px 0}
.tabmenu li{text-align: center;position: relative;box-sizing:border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;-o-box-sizing: border-box;cursor: pointer}
.tabmenu li img{width: 100%;height: auto;margin-bottom: 4px;}
.tabmenu li a{display: block;position: relative;padding-bottom: 12px}
.tabmenu li::after {  position: absolute;  content: "";  width: 1px;  height: 100%;  background-color: #b4b4b4;  top: 0;  right: 0;}
.tabmenu li:nth-child(1)::before {  position: absolute;  content: "";  width: 1px;  height: 100%;  background-color: #b4b4b4;  top: 0;  left: 0;}
.tabmenu li a:after {content: '';    width: 8px;    height: 8px;    margin-top: -5px;    border-top: solid 1px #555;    border-right: solid 1px #555;    transform: rotate(135deg);    position: absolute;    bottom: 2px;	left: 0;right: 0;margin: auto}

.tab-item a:hover, .tab-item.is-active a {  color: #00a0cd;}
.tab-item.is-active a:after{border-top: solid 1px #00a0cd;    border-right: solid 1px #00a0cd;}
.panel-item {  display: none;  width: 100%;padding: 60px 0 }
.panel-item.is-active {  display: block;  animation: panel-show .9s ease-in-out forwards;}
@keyframes panel-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.panel-item {padding: 30px 0 }
.panel-item  li{margin-top: 30px}
.tabmenu li:nth-child(4)::before {  position: absolute;  content: "";  width: 1px;  height: 100%;  background-color: #b4b4b4;  top: 0;  left: 0;}
}


/*事業概要*/
.p_business{}
.p_business .tabmenu li{width: 16.66%;}
.p_business .tabmenu li img{width: 50%;}
@media screen and (max-width: 1000px) {/*スマホのスタイル*/
.p_business .panel-item .col3{width: 45%;margin-bottom: 20px}
.p_business .panel-item .col3.mSide20{margin-left: 2%;margin-right:2%;}
}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.p_business{}
.p_business .tabmenu li{width: 33.333%;margin-bottom: 20px}
.p_business .panel-item .mT60{margin-top: 0px}
.p_business .panel-item .col3{width: 100%;margin-bottom: 20px}
.p_business .panel-item .col3.mSide20{margin-left: 0%;margin-right:0%;}
}

/*最新情報一覧*/
.p_newsList{}
.p_newsList dl{margin-top: 12px; display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;display: -webkit-flex;flex-wrap: wrap;-webkit-flex-wrap:wrap;justify-content: flex-start;-webkit-justify-content: flex-start;align-items: center;border-bottom: 1px solid #909090;padding-bottom: 12px;margin-bottom: 12px;}
.p_newsList dt{color: #004470;font-weight: bold;margin-right: 30px;position: relative;padding-left: 18px;}
.p_newsList dt::before{    content: "";    position: absolute;    top: 50%;left: 0;    transform: translateY(-50%);border: 5px solid transparent;border-left: 8px solid #004470;}
.p_newsList .bt_blue{margin: 50px auto 0;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/

}

/*最新情報詳細*/
.p_newsDetail p{margin-top: 50px;font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;}
.p_newsDetail p a{border-bottom: 1px solid;}
.p_newsDetail p.has-text-align-center {text-align: center;}
.p_newsDetail p.has-text-align-right {text-align: right;}
@media screen and (max-width: 768px) {
  .p_newsDetail p {margin-top: 30px;font-size: 1.4rem;}
}




/*会社情報*/
#philosophy,#recruit,#education,#briefing,#faq,#entry,#privacy,#staff,#error404{padding-top: 60px;}
#briefing,#error404{padding-bottom: 80px;}
#message,#overview,#office,#history,#description,#ability,#management,#inquiry,#entry_form,#policy,#security{padding-top: 160px;}
#inquiry,#entry_form,#security{padding-bottom: 100px;}
#OpenCompany{padding: 80px 0 100px;}
#history,#description{padding-bottom: 100px;}
#rinen{padding-top: 50px;}
#other_staff{padding: 50px 0 100px;}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
#philosophy{padding-top: 50px}
.col2{width: 100%;}
}

#philosophy h2.comp_mincho,#rinen h2.comp_mincho, #office h2.comp_mincho,#education h2.comp_mincho,#briefing h2.comp_mincho,#OpenCompany h2.comp_mincho{margin-top: 50px; font-size: 3.5rem; font-weight: bold; letter-spacing: 0.15em; line-height: 1.4; color: #00a0e9;}

#rinen ul.custom-list{margin-top: 50px; font-size: 2rem; line-height: 2.2; letter-spacing: 0.06em; font-weight: bold;}
#rinen ul.custom-list li::before {content: "一. "; margin-right: 0.5em;}
.col2-left:first-of-type {width: 30%;}
.col2-left:last-of-type {width: 66%;}
@media screen and (max-width: 768px){
  #philosophy h2.comp_mincho,#rinen h2.comp_mincho,#education h2.comp_mincho,#briefing h2.comp_mincho,#OpenCompany h2.comp_mincho{font-size: 2.3rem;}
  #rinen ul.custom-list{font-size: 1.5rem;}
  .col2-left:first-of-type {width: 100%;}
  .col2-left:last-of-type {width: 100%;display: grid;}
}


#message .column-outside-right {margin-left: calc((40vw - 100%) * -1);}
#message .column-outside-right img{height: 600px;object-fit: cover;border-radius: 0px 60px 60px 0px}
.m_mincho{font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: bold; font-style: normal;}
.message_ul{margin-top: 50px;}
.txt_margin0{margin-top: 0;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
#message .column-outside-right{/*右側へ要素を広げる（2カラム）*/margin-left:0;}
#message .column-outside-right img{height: auto;width: 100%;object-fit: cover;border-radius: 30px}
.txt_margin0{margin-top: 30px;}
.flex_order {flex-direction: column;}
.conts_a {order: 2;}
.conts_b {order: 1;text-align: right;}
.col2_grid{display: grid;}
}

.T_overview{width: 100%; font-size: 1.7rem; line-height: 2.2; letter-spacing: 0.06em; margin-top: 50px;}
.T_overview tr{border-bottom: 1px solid #c1c1c1;}
.T_overview th{width: 20%; text-align: left; padding: 25px 0; font-weight: bold;}
.T_overview td{width: 100%; padding: 28px 0;}

@media screen and (max-width: 768px) {
  .T_overview, .T_overview tbody, .T_overview tr {display: block; width: 100%;}
  .T_overview th, .T_overview td {display: block; width: 100%; padding: 12px 0;}
  .T_overview th {font-weight: bold; border-bottom: none;}
}

.company-logos {display: flex; gap: 40px; align-items: center; flex-wrap: wrap;}
.company-logos img {width: auto; height: 40px; object-fit: contain;}

#office iframe{margin-top: 10px;}

.bt_blue{margin: 20px 0 0 auto; width: 250px; border-radius: 50px;cursor: pointer;  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
background: linear-gradient(90deg, #00479d 0%, #00b7ee 50%, #00479d 100%);
background-size: 200% 100%;}
.bt_blue a{display: block;padding:8px  20px;text-align: center;color: #fff;letter-spacing: 0.2em;font-size: 1.3rem;background: url("../images/icon_arrowW.svg") no-repeat 95% center;background-size: 22px}
.bt_blue:hover{background-position: 100% 0;}

@media screen and (max-width: 768px) {/*スマホのスタイル*/
.bt_blue{margin: 50px auto 0; width: 80%; }
.bt_blue a{font-size: 1.3rem}
#office .bt_blue{margin: 20px 0 0 auto; width: 70%;}
#office .bt_blue a{font-size: 1.2rem}
}

.bt_blue_news{margin: 50px auto 0; width: 400px; border-radius: 50px;cursor: pointer;  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
background: linear-gradient(90deg, #00479d 0%, #00b7ee 50%, #00479d 100%);
background-size: 200% 100%;}
.bt_blue_news a{display: block;padding:8px  20px;text-align: center;color: #fff;letter-spacing: 0.2em;font-size: 2rem;background: url("../images/icon_arrowW.svg") no-repeat 95% center;background-size: 22px}
.bt_blue_news:hover{background-position: 100% 0;}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.bt_blue_news{margin: 50px auto 0; width: 80%; }
.bt_blue_news a{font-size: 1.6rem}
}

.timeline {
  position: relative;
  padding-left: 40px;
  border-left: 2px solid #ccc;
  margin-left: 20px;
}

.timeline-item {
  position: relative;
}

.timeline-marker {
  position: absolute;
  left: -49px;
  top: 9px;
  width: 16px;
  height: 16px;
  background-color: #00a0e9;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 0 0 2px #ccc;
}

.timeline-body {
  display: flex;
  gap: 1em; /* ← 年代とテキストの間を1文字分 */
  align-items: flex-start;
  flex-wrap: wrap;
}

.timeline-date {
  font-weight: bold;
  white-space: nowrap;
  min-width: 300px;
}

.timeline-text {
  flex: 1;
}

/* スマホ対応：縦並びに切り替え */
@media screen and (max-width: 768px) {
  .timeline {
    padding-left: 30px;
}
  .timeline-body {
    flex-direction: column;
    gap: 4px;
  }
  .timeline-marker {
  left: -39px;
}
}


/*採用情報*/
.column-outside-right {margin-left: calc((50vw - 100%) * -1);}
#recruit .column-outside-right img {height: 500px;}
.column-outside-right img {height: 700px;object-fit: cover;border-radius: 0px 60px 60px 0px;}
@media screen and (max-width: 768px) {
    #recruit .business_mv_sp {
        margin-top: 30px;
    }
    #recruit .business_mv_sp img {
        height: 200px;
        width: 100%;
        object-fit: cover;
        border-radius: 30px;
    }
}

.recruit_catch{display: flex;justify-content: space-evenly;flex-wrap: wrap;}
.recruit_catch .txt{background: linear-gradient(to top, rgba(233, 71, 10, 1) 0%, rgba(233, 71, 10, 1) 1%, rgb(255 149 67 / 80%) 100%);padding: 15px;font-weight: bold;font-size: 1.8rem;color: #fff;border-radius: 15px;}
.recruit_catch .none_txt{background: unset;padding: 15px 0;font-weight: bold;font-size: 1.8rem;color: #231815;}
@media screen and (max-width: 1200px){
.recruit_catch .txt{width: 85%;text-align: center;}
.recruit_catch .txt:nth-child(2),.recruit_catch .txt:nth-child(3){margin-top: 0;}
}

#support {
    background: url(../images/recruit/support_mv.webp) no-repeat center center;
    background-size: cover;
    padding: 80px 0;
    color: #fff;
}
#schedule {
    background: url(../images/recruit/schedule_mv.jpg) no-repeat center center;
    background-size: cover;
    padding: 80px 0;
    color: #fff;
}

.bt_white{margin: 50px 0 0; width: 400px;overflow: hidden;border-radius: 50px; }
.bt_white a{display: block;padding:8px  20px;text-align: center;color: #00a0e9;letter-spacing: 0.2em;font-size: 2rem;background:#fff  url("../images/icon_arrowB.svg") no-repeat 95% center;background-size: 22px;position: relative;border-radius: 50px;}

.bt_white a::after {  background: #00479d  url("../images/icon_arrowB.svg") no-repeat 95% center;  position: absolute;  top: 0;  left: 0;  content: '';  width: 100%;  height: 100%;  transform: scale(0, 1);  transform-origin: left top;  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);  z-index: -1;border-radius: 50px}
.bt_white a:hover {  color: #fff;}
.bt_white a:hover::after {  transform: scale(1, 1);}
@media screen and (max-width: 768px) {/*スマホのスタイル*/
.bt_blue,
.bt_white{margin: 50px auto 0; width: 80%; }
.bt_blue a,
.bt_white a{font-size: 1.6rem}
#support {background-position: calc(100% + 200px) center;}
#schedule {background-position: calc(100% + 350px) center;}
}

#interview{display: flex;justify-content: space-between;flex-wrap: wrap;margin-top: 50px;border-top: 1px solid #ccc;border-bottom: 1px solid #ccc;}
.conts_padtop{padding-top: 160px;}
.recruit_img-number{display: flex;justify-content: space-between;}
.recruit_img-number img{border-radius: 8px;height: auto;width: 230px;max-width: 100%;}
.recruit_subtxt{font-style: italic;font-size: 1.1rem;letter-spacing: 0.1em;line-height: 1;}
.recruit_txt{font-size: 3.8rem;font-weight: bold;letter-spacing: 0.1em;}
.interview_title{padding-top: 20px;}
.interview_a{padding: 40px 20px;width: 50%;border-radius: 15px;position: relative;overflow: hidden;background-size: cover;background-position: center;transition: background-image 0.5s ease;z-index: 1;}
.interview_a:hover {opacity: 1;z-index: 100;}

/* 1つ目 */
#interview a:nth-of-type(1):hover {
  background-image: url(/images/recruit/interview1_bk.jpg);
}

/* 2つ目 */
#interview a:nth-of-type(2):hover {
  background-image: url(/images/recruit/interview2_bk.jpg);
}

/* 3つ目 */
#interview a:nth-of-type(3):hover {
  background-image: url(/images/recruit/interview3_bk.jpg);
}

/* 4つ目 */
#interview a:nth-of-type(4):hover {
  background-image: url(/images/recruit/interview4_bk.jpg);
}
.interview_a img {position: relative;z-index: -1;}
.interview_a:hover img {opacity: 0;}
.interview_a,
.interview_a .interview_title p,
.interview_a .recruit_txt,
.interview_a .recruit_subtxt {transition: color 0.5s ease;}
.interview_a:hover,
.interview_a:hover .interview_title p,
.interview_a:hover .recruit_txt,
.interview_a:hover .recruit_subtxt {color: white;}

.view{text-align: right;font-weight: bold;margin: 10px 20px 0 0;}
.view span{background: linear-gradient(to right, rgba(0, 71, 157, 1) 0%, rgba(0, 71, 157, 1) 1%, rgba(0, 183, 238, 0.8) 100%);color: #fff;padding: 10px 50px;border-radius: 100px;display: inline-block;background-color: transparent;transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;}
.interview_a:hover .view span {background: #fff;border: 1px solid #00a0e9;color: #00a0e9;transform: scale(1.1);}
@media screen and (max-width: 768px) {
  .interview_a{width: 100%; color: #fff!important;padding: 20px;margin-top: 25px;}
  .interview_a img{display: none;}
  #interview a:nth-of-type(1){background-image: url(/images/recruit/interview1_bk.jpg);}
  #interview a:nth-of-type(2) {background-image: url(/images/recruit/interview2_bk.jpg);}
  #interview a:nth-of-type(3) {background-image: url(/images/recruit/interview3_bk.jpg);}
  #interview a:nth-of-type(4) {background-image: url(/images/recruit/interview4_bk.jpg);margin-bottom: 25px;}
  .view{margin: 20px 0 0;}
  .view span{color: #00a0e9;border: 1px solid #00a0e9;background: #fff;}
}

.recruit-container {margin: 0 auto;background: white;border-radius: 12px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);padding: 35px 35px 50px;margin-top: 60px!important;}
.recruit-title {font-size: 24px;font-weight: bold;margin-bottom: 20px;}
.tabs {display: flex;border-bottom: 2px solid #ccc;margin-bottom: 20px;}
.tab-button {flex: 1;padding: 15px 20px;cursor: pointer;background: none;border: none;font-size: 2.3rem;transition: color 0.4s ease, background-color 0.4s ease;border-radius: 10px 10px 0 0;}
.tab-button:hover {color: #CCC;}
.tab-button.active-new {background: linear-gradient(to top, rgba(0, 71, 157, 1) 0%, rgba(0, 71, 157, 1) 1%, rgba(0, 183, 238, 0.8) 100%);color: #fff;font-weight: bold;border-radius: 10px 10px 0 0;}
.tab-button.active-mid {background: linear-gradient(to top, rgba(233, 71, 10, 1) 0%, rgba(233, 71, 10, 1) 1%, rgb(255 149 67 / 80%) 100%);color: #fff;font-weight: bold;border-radius: 10px 10px 0 0;}

#content-newgrad tr{border-bottom: 1px solid #00a0cd;}
#content-newgrad tr span{color: #00a0cd;}
#content-midcareer tr{border-bottom: 1px solid #e9470a;}
#content-midcareer tr span{color: #e9470a;}

.tab-content {display: none;}
.tab-content.active {display: block;}

.job-title {font-size: 20px;font-weight: bold;margin-bottom: 10px;}
.job-info {font-size: 16px;}
@media screen and (max-width: 768px) {
  .recruit_sp{padding: 10px;}
  .tab-button{font-size: 1.7rem;}
}


/*社内制度*/
#education img{margin-top: 50px;}
.skillup{display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    background-color: #fafafa;
    border-radius: 20px;
  margin-top: 50px;}
.skillup_conts{padding: 20px;}
.skillup h2{font-size: 2.5rem;font-weight: bold;}
.txt_L{text-align: left;}
.skillup_conts img{width: 50%;}
@media screen and (max-width: 768px) {
  .skillup_conts img{width: 70%;}
  .skillup h2{font-size: 2rem;}
}

#ability table{font-size: 1.7rem;margin-top: 50px;}
#ability th,#ability td{border: 1px solid #ccc;vertical-align: middle;padding: 15px 10px;}
#ability td {
    text-align: center;
}

.centered-cell {
    display: inline-block;
    text-align: left;
}
.title-tr{background-color: #00479d;}
.title-td1{background: #00b7ee;}
.title-td2{background: #3a9fd8;}
.title-td3{background: #2983c5;}
.title-td4{background: #0f5dac;}
.title-td5{background: #00479d;}
#ability table tr td:not(:nth-child(1)){background-color: #fafafa;}
#ability table tr td:nth-child(1){color: #fff;font-weight: bold;}
#ability table tr:nth-child(1){color: #fff;font-weight: bold;}
.table-scroll-notice {font-size: 1.4rem;text-align: center;margin-top: 50px;margin-bottom: 10px;display: none;color: #555;}

.table-scroll-notice.visible {display: block;margin-top: 50px;text-align: right;}
.table-wrapper {overflow-x: auto;width: 100%;}
@media screen and (max-width: 768px) {
    #ability table {width: 100%;display: block;overflow-x: auto;white-space: nowrap;font-size: 1.4rem;margin-top: 0;}
    #ability th,#ability td {padding: 10px 8px;min-width: 120px; /* スクロールを考慮したセル幅 */}
    .centered-cell {display: inline-block;text-align: left;}
}

#management{padding-bottom: 100px;}
.management_table tr {position: relative;display: table;width: 100%;margin-bottom: 20px; /* 行と行の間隔 */border-collapse: separate;border-spacing: 0;background: #fafafa;border-radius: 12px;overflow: hidden;border-bottom: none;}
.management_table th,
.management_table td {padding: 30px 16px;vertical-align: middle;background: transparent; /* 背景はtrに任せる */border: none;line-height: 2.2;letter-spacing: 0.06em;}
.management_table th{text-align: center;}
.management_table th img{width: auto;height: 70px;}
.management_table td span{font-size: 2.5rem;font-weight: bold;}
.management_table tr + tr::before {content: "";position: absolute;display: block;width: 0;height: 0;margin: 10px auto;border-left: 20px solid transparent;border-right: 20px solid transparent;border-top: 20px solid #e5edf1;left: 50%;top: -11px;transform: translateX(-50%);}
@media screen and (max-width: 768px){
  .management_table th, .management_table td {padding: 10px 16px;}
  .management_table th{display: table-cell;width: 30%;}
  .management_table td{display: table-cell;width: 100%;font-size: 1.4rem;}
  .management_table td span{font-size: 2rem;}
  .management_table tr + tr::before{border-top: 12px solid #e5edf1;}
}

/* 採用スケジュール */
.seminar-table {width: 100%;border-collapse: collapse;margin-top: 50px;font-size: 1.7rem;}
.seminar-table th,
.seminar-table td {border: 1px solid #ccc;padding: 0.75em 1em;text-align: left;}
.seminar-table th {background-color: #00479d;font-weight: bold;color: #fff;}
.seminar-table tbody tr:nth-child(4n-2),
.seminar-table tbody tr:nth-child(4n) {background-color: #e6f7ff;}
.seminar-table tbody tr:nth-child(4n-3),
.seminar-table tbody tr:nth-child(4n-1) {background-color: #fafafa;}
.status-ended {color: #d00; /* 赤 */font-weight: bold;}
.status-open {color: #00a800; /* 緑 */font-weight: bold;}
@media screen and (max-width: 768px){
  .seminar-table{font-size: 1.4rem;}
}

.mynavi_col{border: 1px solid #02abeb;background-color: #fff;text-align: center;border-radius: 5px;overflow: hidden;}
.mynavi_col img{padding: 15px 0 30px;width: 60%;transition: transform 0.3s ease;}
.mynavi_col:hover img,.mynavi_col:hover .mynavi-btn {transform: scale(1.05);}
.mynavi-text {font-size: 1.5rem;margin-top: 20px;font-weight: bold;color: #e9470a;}
#briefing ul,#OpenCompany ul{margin-top: 20px;}
.NoSche_none,.NoSche_none1,.NoSche_none2 {display: none;padding-top: 50px;}
p.no_schedule {font-size: 2.7rem;font-weight: bold;margin-top: 50px;}
@media screen and (max-width: 768px){
  .mynavi-text {font-size: 1.2rem;margin-top: 10px;}
  .mynavi_col img{padding: 15px 0 15px;}
  .mynavi_col{margin-top: 20px;}
}


/* お問い合わせ */
.accordion {margin-top: 50px;background-color: #fff;border-radius: 8px;box-shadow: 0 4px 10px rgba(0,0,0,0.1);background: linear-gradient(to right, rgba(0, 71, 157, 1) 0%, rgba(0, 71, 157, 1) 1%, rgba(0, 183, 238, 0.8) 100%);}
.accordion-item + .accordion-item {border-top: 1px solid #ddd;}
.accordion-header {display: flex;align-items: center;justify-content: space-between;padding: 2rem;cursor: pointer;font-size: 2rem;line-height: 2.2;letter-spacing: 0.06em;transition: background 0.3s ease, opacity 0.3s ease;}
.accordion-header:hover {opacity: 0.7; /* ← これだけで薄くなる */}

.q-number {background-color: #fff;color: #00479d;border-radius: 50%;width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;font-size: 14px;font-weight: bold;flex-shrink: 0;margin-right: 1rem;}
.q-text {flex: 1;font-weight: bold;color: #fff;}

.toggle-icon {position: relative;width: 20px;height: 20px;transition: transform 0.3s ease;}
.toggle-icon::before,
.toggle-icon::after {content: "";position: absolute;background-color: #fff;width: 100%;height: 2px;top: 50%;left: 0;transform: translateY(-50%);transition: transform 0.3s ease;}
.toggle-icon::after {transform: rotate(90deg);}

.accordion-item.active .toggle-icon::after {transform: rotate(0deg); /* 横棒だけ残す＝「−」に見える */}
.accordion-content {max-height: 0;overflow: hidden;transition: max-height 0.4s ease, padding 0.3s ease;padding: 0 1rem;background-color: #fff;font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;}
.accordion-item.active .accordion-content {padding: 1rem;font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;}
@media screen and (max-width: 768px) {
.accordion-header,.accordion-content,.accordion-item.active .accordion-content {font-size: 1.4rem;}
.accordion-header{padding: 1rem;}
.toggle-icon{margin-left: 1rem;}
}

#inquiry .snow-monkey-form{margin: 0 auto;padding: 4rem 2rem;border: 1px solid #ddd;border-radius: 10px;background-color: #f9f9f9;font-family: sans-serif;margin-top: 20px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);}
.smf-item__description{background: linear-gradient(to right, rgba(233, 71, 10, 1) 0%, rgba(233, 71, 10, 1) 1%, rgb(255 149 67 / 80%) 100%);padding: 5px 10px;margin-left: 10px;border-radius: 3px;color: #fff!important;font-weight: bold;width: fit-content;}
.smf-item__label{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;font-weight: bold;}
.snow-monkey-form .smf-button-control__control{background: linear-gradient(to right, rgba(0, 71, 157, 1) 0%, rgba(0, 71, 157, 1) 1%, rgba(0, 183, 238, 0.8) 100%)!important;color: #fff!important;border: none!important;min-width: 250px!important;padding: 1rem 0!important;border-radius: 50px!important;font-size: 2rem!important;cursor: pointer!important;transition: background-color 0.3s ease!important;letter-spacing: 0.06em!important;}
.smf-form{width: 70%;margin: 50px auto 0;}
.snow-monkey-forms-turnstile{width: 70%;margin: 0 auto;display: flex;justify-content: center;align-items: center;}
.smf-action{margin-top: 50px!important;}
span.screen-reader-text {display: none;}
.finish_txt{padding-bottom: 100px;}
.grecaptcha-badge{bottom: 100px!important;}
#inquiry p.txt strong a{border-bottom:1px solid;}
@media screen and (max-width: 768px){
  .snow-monkey-form{padding: 3rem 0rem;}
  .smf-form{width: 100%;}
  .snow-monkey-form .smf-button-control__control{font-size: 1.5rem!important;}
  .smf-item__label{font-size: 1.4rem;}
  .grecaptcha-badge{bottom: 120px!important;}
}
@media screen and (max-width: 639px){
  .smf-item__col{display: flex;align-items: center;}
  .smf-item__description{margin: 0 0 0 10px!important;}
  .smf-item__controls{width: 100%;}
}


/* エントリー */
.recruit-flow-horizontal {max-width: 800px;margin: 3rem auto;padding: 2rem;background-color: #f7f9fb;border-radius: 12px;font-family: "Hiragino Kaku Gothic ProN", sans-serif;}
.recruit-flow-horizontal .title_e {text-align: center;font-size: 1.3rem;color: #00479d;font-weight: bold;margin-bottom: 0.4rem;}
.recruit-flow-horizontal .title_j {text-align: center;font-size: 2rem;margin-bottom: 2rem;font-family: "Yu Mincho", serif;color: #222;}

.flow-item {position: relative;border: 2px solid #00479d;border-radius: 10px;margin-bottom: 5.5rem;padding: 3rem 1.5rem 2.5rem;background-color: #fff;box-shadow: 0 4px 12px rgba(0,0,0,0.05);line-height: 2.2;letter-spacing: 0.06em;}
.flow-left {position: absolute;top: -2.9rem;left: 1.5rem;background: #00479d;color: #fff;padding: 0.8rem 2rem;font-weight: bold;font-size: 1.8rem;border-radius: 999px;z-index: 1;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);}
.flow-right {font-size: 1.7rem;color: #333;margin-top: 0.5rem;padding-left: 0.5rem;}
.flow-item:last-of-type {margin-bottom: 0;}
.flow-arrow {text-align: center;margin: -3rem 0 2rem;line-height: 1;}
.flow-arrow::before {content: "";display: inline-block;width: 0;height: 0;border-left: 12px solid transparent;border-right: 12px solid transparent;border-top: 16px solid #00479d;}
.flow-split {display: flex;flex-wrap: wrap;gap: 2rem;}
.flow-col {flex: 1 1 45%;background-color: #f2f7fc;border: 1px solid #d0e2f1;border-radius: 8px;padding: 1.2rem 1.5rem;box-shadow: 0 2px 5px rgba(0,0,0,0.03);}
.flow-subtitle {font-size: 1.8rem;font-weight: bold;color: #00479d;margin-bottom: 0.6rem;border-left: 4px solid #00479d;padding-left: 0.5rem;}
.flow-col p {font-size: 1.7rem;color: #333;line-height: 2.2;letter-spacing: 0.06em;}
.flow-col p a{border-bottom: 1px solid;}

.career_col{background-color: #fcf8f2;border: 1px solid #f1e7d0;}
.career_subtitle{color: #e9670a;border-left: 4px solid #e9670a;}
.smf-form .smf-select-control{max-width: 100%;}

@media screen and (max-width: 768px) {
.flow-item {padding: 2.5rem 1rem 1.5rem;}
.flow-left {font-size: 1.2rem;padding: 0.5rem 2rem;top: -1.7rem;}
.flow-right {font-size: 1.4rem;}
.flow-split {flex-direction: column;}
.flow-subtitle{font-size: 1.5rem;}
.flow-col p{font-size: 1.4rem;}
}



.formtab-tabs {display: flex;border-bottom: 2px solid #ccc;margin-bottom: 40px;}
.formtab-button {flex: 1;padding: 15px 20px;cursor: pointer;background: none;border: none;font-size: 2.3rem;transition: color 0.4s ease, background-color 0.4s ease;border-radius: 10px 10px 0 0;}
.formtab-button:hover {color: #CCC;}
.formtab-active-entry:hover,
.formtab-active-inquiry:hover,
.formtab-active-career:hover {color: #fff;cursor: default;}
.formtab-active-entry {background: linear-gradient(to top, #00479d 0%, rgba(0, 183, 238, 0.8) 100%);color: #fff;font-weight: bold;}
.formtab-active-inquiry {background: linear-gradient(to top, #009bc6 0%, rgb(0 217 238 / 80%) 100%);color: #fff;font-weight: bold;}
.formtab-active-career {background: linear-gradient(to top, #e9470a 0%, rgba(255, 149, 67, 0.8) 100%);color: #fff;font-weight: bold;}
.formtab-content {display: none;}
.formtab-active {display: block;}
.formtab-box {margin: 0 auto;padding: 35px 35px 50px;border: 1px solid #ddd;border-radius: 10px;background-color: #f9f9f9;font-family: sans-serif;margin-top: 20px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);}
#autozip {display: none !important;}
@media screen and (max-width: 768px) {
  .formtab-container {padding: 10px;}
  .formtab-button {font-size: 1.4rem;padding: 10px 5px;}
  .formtab-box{padding: 10px;}
}


/* 個人情報保護方針 */
.ul_privacy{margin-top: 50px;}
.txt_privacy{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;}
.col2_privacy{background: #fff;border-radius: 25px;padding: 20px;text-align: center;}
.txt_sub{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;margin-top: 20px;padding-left: 1em;}
.txt_subconts{text-indent: -1em;font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;padding-left: 3em;}
.txt_subconts2{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;padding-left: 3em;}
.txt_subconts2_sub{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;padding-left: 5em;text-indent: -1em;}
.subconts2_none{text-indent: unset;padding-left: 4em;}
.subconts2_ind{text-indent: -1em;padding-left: 4em;}
.subconts2_margin{margin-top: 20px;}
.txt_subconts3{font-size: 1.7rem;line-height: 2.2;letter-spacing: 0.06em;padding-left: 4em;text-indent: -2em;}
.margin_none{margin-top: unset;}
.sub_ind{text-indent: -1em;padding-left: 2em;}
@media screen and (max-width: 768px){
  .ul_privacy{margin-top: 30px;flex-direction: column-reverse;}
  .col2_privacy{margin-top: 30px;}
  .txt_privacy,.txt_sub,.txt_subconts,.txt_subconts2,.txt_subconts2_sub,.txt_subconts3{font-size: 1.4rem;}
}


/* 働く社員の声 */
.interview_bg::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 80%;
    height: 100%;
    background: url(../images/interview/interview_bg.svg) no-repeat right bottom;
    transform: scale(-1, 1);
    background-size: 100% auto;
}
.other_bg{
  background: #d9ddde;
}
.other_bg::before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/interview/other_bg.svg) no-repeat center center;
    transform: scale(1, 1);
    background-size: 100% auto;
}
.staff-card {
  display: flex;
  background-color: #fff;
  border-radius: 50px;
  overflow: hidden;
  margin: 0 auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.staff-image,
.staff-content {
  width: 50%;
}

.staff-image {
  position: relative;
}

/* 初期状態 */
.staff-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  filter: blur(8px);
  transform: scale(1.08);
  opacity: 0;

  transition:
  filter 1.2s ease,
  transform 1.2s ease,
  opacity 1.2s ease;
}

/* 読み込み完了後 */
.staff-image img.is-loaded {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
}

.staff-file {
  display: inline-block;
    margin-bottom: 16px;
    padding: 10px 20px;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    background: linear-gradient(to right, rgba(0, 71, 157, 1) 0%, rgba(0, 71, 157, 1) 1%, rgba(0, 183, 238, 0.8) 100%);
    border-radius: 50px;
    width: fit-content;
}
.staff-content {
  padding: 32px 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.staff-content h2 {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 16px;
}

.staff-txt{font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;}
.staff-name{margin-top: 50px;
    font-size: 2.4rem;
    line-height: 2.2;
    letter-spacing: 0.06em;
    text-align: right;}


@media screen and (max-width: 768px) {

  .staff-card {
    flex-direction: column;
    border-radius: 30px;
  }

  .staff-image,
  .staff-content {
    width: 100%;
  }

  /* 写真エリア */
  .staff-image {
    height: 220px;
  }

  .staff-image img {
    height: 100%;
  }

  /* テキストエリア */
  .staff-content {
    padding: 20px 6%;
  }

  .staff-file {
    font-size: 1rem;
    padding: 8px 16px;
    margin-bottom: 12px;
  }

  .staff-txt {
    font-size: 1.7rem;
    letter-spacing: 0.06em;
  }

  .staff-name {
    margin-top: 15px;
    font-size: 1.6rem;
    text-align: right;
  }
}


.interview-detail {
  display: flex;
  gap: 6%;
  margin: 80px auto 0;
  align-items: flex-start;
  padding-bottom: 60px;
}

/* 左：インタビュー本文 */
.interview-text {
  width: 60%;
}

.interview-block {
  margin-bottom: 70px;
}

.interview-block h2 {
  font-size: 2.5rem;
  margin-bottom: 12px;
  font-weight: bold;
  color: #00a0e9;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
.interview-block-image {
  margin-top: 32px;
  max-height: 400px;        /* ← ここで高さを制限 */
  overflow: hidden;     /* はみ出しを隠す */
  border-radius: 20px;
}
.interview-block-image img {
  width: 100%;
  border-radius: 20px;
  display: block;
  object-fit: cover;
}

/* 右：スケジュール */
.interview-schedule {
  width: 34%;
  background-color: #f5f8fc;
  background-image: url("/images/interview/clock-img.png"),url("/images/interview/clock-img2.png"); /* 時計画像 */
  background-repeat: no-repeat, no-repeat;
  background-position: right -30px top -30px,left -20px bottom -25px;
  background-size: 220px auto,150px auto;

  border-radius: 30px;
  padding: 32px;
}

.schedule-title {
  font-size: 2.3rem;
    margin-bottom: 24px;
    font-weight: bold;
    color: #00479d;
}

.schedule-list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.schedule-list li {
  position: relative;
  padding-left: 80px;
  margin-bottom: 32px;
  font-size: 1.6rem;
}


.schedule-list li span {
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  text-align: right;
  font-weight: bold;
  color: #00479d;
  background: #f5f8fc;
}
.schedule-list li b{font-weight: bold;}

.interview-block p{margin-top: 30px;}
.interview-text .interview-block:last-child {
  margin-bottom: 0;
}
/* 縦ライン */
.schedule-list::before {
  content: "";
  position: absolute;
  left: 10px;           /* 時刻の少し右 */
  top: 0;
  width: 2px;
  height: 100%;
  background-color: #d6e6f5;
}

@media screen and (max-width: 768px) {

  .interview-detail {
    flex-direction: column;
    gap: 48px;
  }

  .interview-text,
  .interview-schedule {
    width: 100%;
  }

  .interview-schedule {
    padding: 24px;
  }

  .interview-block h2 {
    font-size: 1.6rem;
  }
  .schedule-title{font-size: 1.8rem;}
  .schedule-list li{font-size: 1.4rem;}
}

.other-interviews {
  margin: 120px auto 0;
}

.other-interviews-title {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 48px;
  letter-spacing: 0.15em;
}

.other-interviews-list {
  display: flex;
  gap: 4%;
  padding-top: 60px;
}

.other-interview-card {
  position: relative; /* 追加 */
  width: 30.6%;
  background: #fff;
  border-radius: 24px;
  text-decoration: none;
  color: #fff; /* 文字は白 */
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.other-interview-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

/* 画像 */
.other-interview-image {
  height: 260px; /* 少し高さを出すと映える */
  overflow: hidden;
}

.other-interview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.other-interview-name,
.other-interview-role {
  position: absolute;
  left: 20px;
  z-index: 2;
}

/* 名前（左上） */
.other-interview-name {
  top: 40px;
  font-size: 2.5rem;
  font-weight: bold;
  margin: 0;
  color: #fff;
}

/* 職業（名前の下） */
.other-interview-role {
  top: 20px;
  font-size: 1.4rem;
  margin: 0;
  opacity: 0.9;
  color: #fff;
  font-style: italic;
}
.other-interview-catch {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 2;

  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
  max-width: calc(100% - 40px);
  color: #fff;
}

@media screen and (max-width: 768px) {

  .other-interviews-list {
    flex-direction: column; /* ← 横 → 縦 */
    gap: 32px;
  }

  .other-interview-card {
    width: 100%; /* ← 30.6% を解除 */
  }

  .other-interview-image {
    height: 220px;
  }

  .other-interview-name {
    font-size: 2.3rem;
    top: 34px;
  }

  .other-interview-role {
    font-size: 1.3rem;
    top: 17px;
  }

  .other-interview-catch {
    font-size: 1.4rem;
  }
}

/* 404エラー */
.c-text-top{
margin-top: 50px;
}
.c-btn-wrap{
  margin-top: 30px;
  font-weight: bold;
}