@charset "utf-8";
.kv { background: url("../images/top/kv.png")no-repeat; background-size: cover; background-position: top right; width: 100%; /*min-height: 1040px;*/ height: 100vh; }

h2 { font-size: clamp(1.563rem, 1.484rem + 0.39vw, 1.875rem); position: relative; padding-top: 30px; }
h2:after { content: attr(data-text); display: inline-block; font-size: clamp(3.125rem, 2.344rem + 3.91vw, 6.25rem); position: absolute; font-family: var(--en-font); color: #ececeb; top: 0; right: 0; bottom: 0; left: 0; margin: auto; z-index: -1; }
span.color-blue { color: var(--color-blue); }

/*news section*/
.news { margin-bottom: 200px; }
.news h2 { width: 340px; text-align: center; z-index: -1; }
.news .blk_flex { display: flex; justify-content: space-between;}
.news .blk_flex + .txt_link{margin-top: 30px;}
.news .news_entry { display: flex; padding: 15px 0; }
.news .blk_flex:nth-child(1) .news_entry_box:nth-child(1) .news_entry{padding-top: 30px;}
.news .news_entry:hover { opacity: .6;}
.news .news_entry_box { border-bottom: 1px solid #c1c1c1; }
.news .news_toppage { width: min(940px,100%); }
.news .categories { background: var(--color-red); font-size: 11px; text-align: center; color: #fff; display: inline-block; border-radius: 50px; padding: 5px 10px; margin-bottom: 6px; }
.news .categories:not(.important){background: var(--color-blue);}
.news time { font-size: 14px; margin-right: 30px; color: #808080;}
.news p.news_ttl { font-size: clamp(1rem, 0.969rem + 0.16vw, 1.125rem); line-height: 1.4; }
.news .txt_link { font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); display: block; text-align: right; }
.news .txt_link:hover { color: var(--color-blue); }

a.dc_bnr { margin-bottom: 50px; }

.company { margin-bottom: 130px; }
.company .company-bg { width: 100%; height: 435px; background: url("../images/top/company-bg.png")no-repeat; background-size: cover; background-position: center; position: absolute; }
.company .contents_inner { margin-top: 400px; }
.company h2 { text-align: center; margin-bottom: 100px; }
.company h2:after { content: attr(data-text); color: #ececeb; }
.company .company-menu-flex { display: flex; justify-content: space-between; }
.company .company-menu-flex:not(.column3) { margin-bottom: 50px; }
.company .company-menu-flex .company-menu-box { width: 48%; }
.company .company-txt-img { margin-bottom: 70px; }
.company p.company-txt { font-size: clamp(1rem, 0.969rem + 0.16vw, 1.125rem); line-height: 1.6; text-align: center; margin-bottom: 120px; }
.company .company-menu-box a picture { margin-bottom: 20px; transition: 0.5s; }
.company .company-menu-box p.link-txt { font-weight: 700; position: relative; padding-left: 20px; font-size: clamp(0.875rem, 0.844rem + 0.16vw, 1rem); }
.company .company-menu-box p.link-txt::before { content:''; position: absolute; left:0; top: 4px; width:6px; height:6px; border-top: 2px solid #317db8; border-right:2px solid #317db8; transform: rotate(45deg); }
.company .company-menu-box:hover p.link-txt { color: #317db8; transition: .5s; }
.company .company-menu-box:hover picture { filter: brightness(0.6); }
.company .company-menu-flex.column3 .company-menu-box { width: calc(92% / 3); }

.recruit h2 { text-align: center; margin-bottom: 50px; }
.recruit .recruit_contents { background: #317db8; }
.recruit .recruit_contents > .contents_wrapper { padding: 100px 5% 100px 380px; }
.recruit p.recruit_txt { text-align: center; font-size: clamp(1rem, 0.969rem + 0.16vw, 1.125rem); color: #fff; line-height: 1.6; margin-bottom: 50px; }
.recruit .recruit_link { background: #ffffff; text-align: center; margin: 0 auto; border-radius: 50px; font-size: clamp(1.125rem, 1.094rem + 0.16vw, 1.25rem); padding: 20px 0; display: block; color: #317db8; width: min(380px,100%); font-weight: 700; }
.recruit .recruit_link:hover { background: #323232; color: #fff; }
.recruit .recruit_txt { margin-bottom: 50px; }

.bnr_message p.bnr_message_obi { background: #7fc440; padding: 15px 20px; color: #fff; text-align: center; font-size: clamp(1.125rem, 1.094rem + 0.16vw, 1.25rem); font-weight: 700; margin-bottom: 30px; position: relative; line-height: 1.4; }
.bnr_message p.bnr_message_obi::before { content: ''; display: block; background: url("../images/top/character.svg")no-repeat; background-size: contain; width: 300px; height: 124px; top: -123px; position: absolute; right: 0; left: 0; margin: 0 auto; background-position: center; z-index: -1; }
.bnr_message p.bnr_message_obi::after { content: ''; display: inline-block; background: url("../images/top/icon_handshake.svg")no-repeat; background-size: contain; width: 30px; height: 20px; margin-left: 10px; vertical-align: -2px; }
.footerbnr-area { padding: 200px 5% 150px 380px; }
.footerbnr-area ul { display: flex; justify-content: space-between; gap: 15px; }
.footerbnr-area ul img { border: 1px solid #d6d6d6; }
.footerbnr-area .grp_bnr ul { justify-content: center; margin-bottom: 35px; flex-wrap: wrap; }
.footerbnr-area .grp_bnr li { width: calc(95% / 3); }
.footerbnr-area .sub_bnr li { width: calc(96% / 5); }
.footerbnr-area li a:hover { opacity: .5; }

@media screen and (max-width: 940px) {
  h2 { padding-top: 20px; }  
  .kv { background: url("../images/top/kv_sp.png")no-repeat; background-size: cover; background-position: top center; /* min-height: 1134px;*/ margin-top: 70px; position: initial; }
  .company .company-bg { width: 100%; height: 620px; background: url("../images/top/company-bg_sp.png")no-repeat; background-size: cover; background-position: center; position: initial; }
  .news { margin: 0 0 60px; }
  .news .blk_flex { display: block; }
  .product { padding: 0 0 60px; }
  .product h2 { margin-bottom: 30px; }
  .company .contents_inner { margin-top: 0px; }
  .company h2 { margin-bottom: 40px; }
  .company .company-txt-img { margin-bottom: 40px; }
  .company p.company-txt { margin-bottom: 50px; }
  .company .company-menu-box p.link-txt { line-height: 1.4; }
  .company { margin-bottom: 60px; } 
  .contact_common { padding: 0 0 60px; }
  .recruit .recruit_contents > .contents_wrapper {
    padding: 60px 5%; }
  .recruit .recruit_txt , .recruit p.recruit_txt { margin-bottom: 30px; }
  .footerbnr-area ul { gap:10px; flex-wrap: wrap; }
  .footerbnr-area .sub_bnr ul::after { content: ''; width: calc(94% / 3); }
  .footerbnr-area .grp_bnr ul { margin-bottom: 30px; }
  .footerbnr-area .grp_bnr li { width: calc(97% / 2); }
  .footerbnr-area .sub_bnr li { width: calc(94% / 3); }
  .footerbnr-area { padding: 130px 5% 120px; }
  .bnr_message p.bnr_message_obi::before { width: 200px; height: 135px; top: -114px;  }
}

@media screen and (max-width: 600px) {
	.kv { height: 724px; }
  .company .company-bg { height: 245px; }
  .news time { font-size: 12px; padding-top: 5px; }
}

@media screen and (max-width: 414px) {
  .kv { height: 500px; }
}

@media screen and (max-width: 375px) {
  .kv { height: 452px; }
}
