@charset "UTF-8";
@import url('https://fonts.cdnfonts.com/css/barlow');
 /* 全ページ共通CSS */           
.contents_inner {
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}
.overimg:hover{opacity: 0.5;}
.spnone{display: block;}
.sponly{display: none;}
.f-left{float: left;}
.f-right{float: right;}
.img100{width: 100%;}
.img90{width: 90%;}
.normal{font-weight: normal;}
.justify{text-align: justify;}
.w48per{width: 48%;}
.w30per{width: 30%;}
.w50per{width: 50%;}
.w48per img{width: 100%;}
.w66per{width: 66%;position: relative;}
.w80per{width: 80%;margin: 0 auto;}
.w90per{width: 90%;margin: 0 auto;}
.white{color:#ffffff;}
.barlow{font-family: 'Barlow', sans-serif;}
.pc-center{text-align: center;}
.navy{color:#1c2951;}
.sec_p{font-size: 1.2em; line-height: 1.8;}
.tbonly{display: none;}
.ttl_black{margin-top: 2%; font-size: 1em;display: block;font-weight: bold;}
.ttl_black02{margin-top: 3%; font-size: 1em;display: block;font-weight: bold;}
.ttl_wihte{color:#ffffff;margin-top: 3%; font-size: 1em;display: block;font-weight: bold;}
.center{text-align: center;}
.sec_ttl{font-size: 4em;text-align: center;}

/* NEWSのタイトル */
.sec_ttl_left{font-size: 3.6em;text-align: left;}
.sec_ttl_left span{font-size: 0.3em;font-weight: normal;margin-left: 0em;}

/* section_01 */
/* news */
.news_ttl{width:25%;float: left;}
#news{width: 72%;float: right;}
#news dl a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 1em;
    margin-bottom: 1em;
	margin-top: 1em;
	border-bottom: solid 1px #000000;
	color: #000000;
}
#news dl:last-of-type {
    margin-bottom: 0;
}
#news dl dt{display: flex;}
#news dl dt span.date {
    position: relative;
    display: inline-block;
    justify-content: flex-start;
    align-items: center;
    font-family: "B612 Mono", monospace;
    padding-right: 0em;
	color:#000000;
	width: 9em;
}
#news dl dt span.category{text-align: center;width: 6em;padding: 0 0em; display: inline-block;background-color: #ce678c;color:#ffffff;margin-right: 1em;}

#news dl dd {
    font-size: 1.0em;
    line-height: 1.5;
}
#news dl dd {
    display: block;
    transition:all 0.3s;
}
#news dl a:hover {
    color: #003894;
}
.news_btn{float:left; width: 70%;margin: 2em auto;display: block;}
.news_btn img{width: 100%;}

/* section_02 */
.section_02{position: relative; background-image: url("../img/sec_02_back_pc.webp");background-repeat: no-repeat;background-size: contain;height: 0;padding-top: 40.49%;}
.section_02_box {text-align: justify; width: 45%; position: absolute;top:20%;left: 50%; color: #ffffff;}
.page_ttl_small{display: inline-block;font-size: 1.6em;}
.page_h3{font-size: 2.4em;margin: 0.2em 0;}
.more_btn{width: 30%;display: block;margin-top: 2em;}
.more_btn img{width: 100%;}

/* section_03 */
.baner_ttl_small{display: inline-block;font-size: 1.6em;line-height: 1.2em;}
.baner_h3{font-size: 2.4em;margin: 0em 0;line-height: 1.2em;}
.center_h2{text-align: center;font-size: 2.4em;font-weight: 600;}
.company_box{background-color: #deebf8; width: 100%;height: auto;margin: 1em 0;}
.text_box{padding: 3em;}

/* section_04 */
.section_04{background-image: url("../img/sec_04_back_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: cover; 
    height: auto;
    width: 100%;
	position: relative;padding:0em;}
.business_img{position: absolute; width: 50%;margin-left: 50px;margin-top: 3em;}
.service-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  max-width: 900px;
  margin: 0 auto;}

.service-item {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 40px 10px 15px;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.144em;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease;}

/* 矢印 */
.service-item::after {
  content: "";
  position: absolute;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);}

/* hover */
.service-item:hover {
  background-color: rgba(255, 255, 255, 0.1);}
/* ===== タブレット ===== */
@media (max-width: 1000px) {
.service-item {
  position: relative;
  display: flex;
  align-items: center;
  padding: 7px 40px 7px 15px;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.144em;}
}
/* ===== スマホ ===== */
@media (max-width: 640px) {
  .service-list {
    grid-template-columns: 1fr;
    gap: 16px;}
  .service-item {
    font-size: 1.3em;
    padding: 14px 48px 14px 20px;}
}
.mt_m{display: block; margin: 3em 0 0;}

/* section_04六角形リンクCSS */
.hex-map {
    position: relative;
    width: 120%;
    max-width: 700px;
    margin: 7em auto 0;
    margin-left: 5%;
}
/* ===== スマホ ===== */
@media (max-width: 640px) {
.hex-map {
  position: relative;
  width: 100%;
  max-width: 700px; /* PC最大幅 */
  margin: 0 auto;
margin-left: 0%;
}
}
.hex-map img {
  width: 100%;
  height: auto;
  display: block;
}

/* 六角形共通 */
.hex-area {
  position: absolute;
  clip-path: polygon(
    25% 0%,
    75% 0%,
    100% 50%,
    75% 100%,
    25% 100%,
    0% 50%
  );
}

/* ===== PC / SP 共通（%指定なので自動対応） ===== */

/* 上 */
.hex-top {
  top: 0%;
  left: 32%;
  width: 36%;
  height: 32%;
}

/* 左 */
.hex-left {
  top: 17%;
  left: 1%;
  width: 36%;
  height: 32%;
}

/* 中央ロゴ */
.hex-center {
  top: 34%;
  left: 32%;
  width: 36%;
  height: 32%;
}

/* 右 */
.hex-right {
  top: 17%;
  right: 1%;
  width: 36%;
  height: 32%;
}

/* 下左 */
.hex-bottom-left {
  bottom: 17%;
  left: 1%;
  width: 36%;
  height: 32%;
}

/* 下中央 */
.hex-bottom-center {
  bottom: 0%;
  left: 32%;
  width: 36%;
  height: 32%;
}

/* 下右 */
.hex-bottom-right {
  bottom: 17%;
  right: 1%;
  width: 36%;
  height: 32%;
}

/* ===== デバッグ用（確認後は削除） ===== */

/*.hex-area {
  background: rgba(255, 0, 0, 0.2);
}*/




/* section_05 */
.section_05{background-image: url("../img/sec_05-1_back_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: cover; 
    height: auto;
    width: 100%;
	position: relative;padding:0em;}
.japan-map{background-image: url("../img/sec_05-2_back_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: cover; 
    height: auto;
    width: 100%;
	position: relative;padding:0em 0em 15em;}
.base-btn{position: absolute;bottom:0;right:0;width: 40%;}
.base-btn img{width: 100%;}

/* section_06 */
.section_06{background-image: url("../img/sec_06_back_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: cover; 
    height: auto;
    width: 100%;
	position: relative;padding:0em;}
.office-wrap{margin-bottom: 4em;}
.office_ttl{border-left: solid 3px #ffffff;padding-left: 0.6em;font-size: 1.6em;color:#ffffff;margin-bottom: 0.8em;}
.office_img_r{width: 90%;margin-left: 10%;}
.office_img_l{width: 90%;margin-right: 10%;}
.office-list {
  display: grid;
  gap: 15px;
  margin: 0 auto;}

/* section_07 */
.recruit_box{background-color: #0e9b94; width: 100%;height: auto;margin: 1em 0 3em;}
.question_box{background-color: #deebf8; width: 100%;height: auto;margin: 1em 0 3em;}
.baner_w50per_left{width: 50%;float:left;}
.baner_w50per_right{width: 50%;float:right;}

.mtb_m{margin: 1em 0;}

/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width:1000px) {
.spnone{display: block;}
.tbonly{display: block;}
.tbnone{display: none;}
.sponly{display: none;}
/* section_01 */
.business_img{position: relative; width: 90%;margin-left: 30px;margin-top: 3em;}
.base-btn{position: absolute;bottom:0;right:3em;width: 40%;}
.sec_p{font-size: 1.0em; line-height: 1.6;}
}

/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width:640px) {
 /* 全ページ共通CSS */  
.spnone{display: none;}
.sponly{display: block;}
.tbonly{display: none;}
.f-left{float: none;}
.f-right{float: none;}
.w90per{width: 100%;margin:0 auto;}
.w80per{width: 80%;margin:0 auto;}
.w50per{width: 100%;}
.w48per{width: 100%;margin-bottom: 3%;}
.w66per{width: 100%;position: relative;}	
.lh_l {line-height:1.8 !important;}
.pc-center{text-align: left;}
.sec_ttl{font-size: 2.6em;}

/* NEWSのタイトル */
.sec_ttl_left{font-size: 2.6em;text-align: left;}

/* news */
.news_ttl{width:100%;float:none;display: flex;justify-content: space-between;}
#news{width: 100%;float: none;}
#news dl a {
	display: block;}
#news dl dd {
    font-size: 0.84em;}
.news_btn{float:none; width: 40%;margin: 1em 0;display: block;}
.news_btn img{width: 100%;}
.ttl_black{margin-top: 1%; font-size: 1em;display: block;font-weight: bold;}
.ttl_black02{margin-top: 3%; font-size: 1em;display: block;font-weight: bold;}
.ttl_wihte{color:#ffffff;margin-top: 3%; font-size: 1em;display: block;font-weight: bold;}
.page_h3{font-size: 1.4em;margin: 1% 0 2%;}
.sec_p{font-size: 0.84em; line-height: 1.6;}
/* section_02 */
.section_02{position: relative; background-image: url("../img/sec_02_back_sp.webp");background-repeat: no-repeat;background-size: contain;background-position: bottom; height: 22em;}
.section_02_box {text-align: justify; width: 90%; position: absolute;top:0%;left: 5%; color: #ffffff;}
.page_ttl_small{display: inline-block;font-size: 1.2em;margin-top: 1.6em;}
.page_h3{font-size: 1.6em;margin: 0.2em 0;}
.more_btn{width: 30%;display: block;margin-top: 2em;}
.more_btn img{width: 100%;}

/* section_03 */
.baner_ttl_small{display: inline-block;font-size: 1.2em;line-height: 1.2em;}
.baner_h3{font-size: 1.6em;margin: 0em 0;line-height: 1.2em;}
.center_h2{text-align: center;font-size: 1.4em;font-weight: 600;line-height: 1.2em;}
.company_box{background-color: #deebf8; width: 100%;height: auto;margin: 1em 0;}
.text_box{padding: 1em;}	

/* section_04 */
.section_04{background-image: url("../img/sec_04_back_sp.webp");
    background-repeat: no-repeat;
    background-position: top left; 
    background-size: cover; 
    height: auto;
    width: 100%;
	position: relative;padding:0em;}
.business_img{position: relative; width: 100%;margin-left: 00px;margin-top: 0em;}
/* section_05 */
.section_05{background-image: url("../img/sec_05-1_back_sp.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: contain; 
    height: auto;
    width: 100%;
	position: relative;padding:0em 0 4em;}
.japan-map{background-image: url("../img/sec_05-2_back_sp.webp");
    background-repeat: no-repeat;
    background-position: bottom center; 
    background-size: contain; 
    height: auto;
    width: 100%;
	position: relative;padding:0em 0em 15em;}
.base-btn{position: absolute;bottom:-4em;right:0;width: 100%;}

/* section_06 */
.section_06{background-image: url("../img/sec_06_back_sp.webp");
    background-repeat: no-repeat;
    background-position: top center; 
    background-size: contain; 
	background-color: #1c2951;
    height: auto;
    width: 100%;
	position: relative;padding:0em;}
.office-wrap{width: 94%;margin: 0 auto; margin-bottom: 2.6em;}
.office_ttl{border-left: solid 3px #ffffff;padding-left: 0.6em;font-size: 1.14em;color:#ffffff;margin-bottom: 0.8em;}
.office_img_r{width: 100%;margin-left: 0%;margin-top: 1.6em;}
.office_img_l{width: 100%;margin-right: 0%;margin-top: 1.6em;}
.office-list {
  display: grid;
  gap: 15px;
  margin: 0 auto;
}

/* section_07 */
.recruit_box{background-color: #0e9b94; width: 100%;height: auto;margin: 1em 0 1em;}
.question_box{background-color: #deebf8; width: 100%;height: auto;margin: 1em 0 1em;}
.baner_w50per_left{width: 49%;float:left;}
.baner_w50per_right{width: 49%;float:right;}

}
