/*
Theme Name: kowa_themes
Description: Description
Version: 1.0.0
--------------------------------------------------------------*/
@charset "UTF-8";
/* CSS Document */

.sec_topHero {
  background: url(assets/images/bg_hero.svg) center top no-repeat;
  background-size: 2000px 874px;
  padding-bottom: 100px;
  position: relative;
}

.sec_topHero .ly_inner {
  padding-top: 591px;
}

.sec_topHero .ttl {
  width: 84px;
  position: absolute;
  top: 10px;
  left: 0;
  z-index: 10;
}

.slider_box {
  width: 455px;
  position: absolute;
  top: 106px;
  left: 70px;
  z-index: 9;
}

.hero_slider {
  filter: drop-shadow(0px 0px 50px #999999);
}

.sec_topHero .about_logo {
  width: 286px;
  height: 60px;
  margin: 0 auto 42px;
  position: relative;
}

.sec_topHero .about_logo .anim_img {
  transition: all 0.2s;
  display: block;
  width: 286px;
  height: 60px;
}

.sec_topHero .about_logo.set .anim_img {
  position: fixed;
  top: 0;
  left: calc(50% - 143px);
  z-index: 9999;
}

.sec_topHero .about_logo.set.on .anim_img {
  width: 204px;
  height: 43px;
  margin: 0 auto;
  top: 25px;
  left: 27px;
}

.about_img_box {
  margin-bottom: 15px;
}

.about_img_box .img {
  margin-bottom: 5px;
}

.about_img_box .img_txt {
  font-size: 12px;
  font-weight: 500;
  text-align: right;
}

.sec_bg01 {
  background: #d9d5de;
}

.sec_bg01::after {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  background: #fff;
}

.sec_bg01 .ly_inner {
  padding-bottom: 50px;
}

.cmn_lists li {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
}

.cmn_lists li::before {
  content: "■";
  font-size: 16px;
  color: #6b95ce;
  margin-right: 0.5em;
}

.sec_topGreeting {
  padding-bottom: 100px;
}

.sec_topGreeting .people {
  width: 150px;
  margin: 0 auto 50px;
}

.sec_topGreeting .c_name {
  margin-top: 30px;
  text-align: right;
  font-size: 14px;
  font-weight: 500;
}

.sec_topGreeting .name {
  margin-top: 15px;
  text-align: right;
  font-size: 18px;
  font-weight: 500;
}

.sec_topGreeting .name .post {
  font-size: 14px;
  margin-right: 1em;
}

.chara_info {
  background: #dce3ea;
  margin-top: 95px;
  padding: 50px 15px 30px;
  position: relative;
}

.chara_info::before {
  content: "";
  background: url(assets/images/illust_float_character.svg) center center no-repeat;
  background-size: 125px 116px;
  width: 125px;
  height: 116px;
  position: absolute;
  top: -20px;
  right: 20px;
}

.chara_info .msg_box {
  margin: 0 0 30px;
  padding-left: 15px;
}

.chara_info .msg_box.non_line {
  margin-bottom: 0;
}

.chara_info .msg_box::after {
  left: 0;
  transform: translateX(15px);
}

.chara_info .msg_box.non_line::after {
  display: none;
}

.chara_info .msg_box .msg {
  text-align: left;
}

.company_tbl {
}

.company_tbl th {
  color: #544863;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.57;
  position: relative;
  width: 65px;
  text-align: left;
}

.company_tbl th::after {
  content: "";
  display: block;
  width: 1px;
  height: 9px;
  position: absolute;
  top: 7px;
  right: 0;
  background: #6b95ce;
}

.company_tbl td {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.57;
  text-align: left;
  padding-left: 0.5em;
  padding-bottom: 10px;
}

.company_tbl td img {
  width: 76px;
  margin-top: 10px;
  margin-right: 5px;
  display: inline-block;
}

.sec_topAccess .map {
  margin: 10px 0 20px;
}

.sec_topAccess .map iframe {
  width: 100%;
  height: 164px;
}

.sec_topItem {
  background: url(assets/images/bg_businessItem.svg) center bottom 100px no-repeat;
  background-size: 2000px 663px;
  padding-bottom: 120px;
}

.sec_topItem .businessItem_lists {
  margin-bottom: 55px;
}

.sec_topItem .img {
  margin: 0 auto 20px;
}

.sec_topItem .desc {
  color: #544863;
}

.sec_topHistory {
  position: relative;
  padding-bottom: 60px;
}

.sec_topHistory::before,
.sec_topHistory::after {
  content: "";
  width: 733px;
  height: 711px;
  position: absolute;
  background: url(assets/images/illust_bg_history.svg) center center no-repeat;
}

.sec_topHistory::before {
  top: 144px;
  left: 50%;
  transform: translateX(265px);
}

.sec_topHistory::after {
  top: 700px;
  left: 50%;
  transform: translateX(-998px);
}

.history_lists {
  padding: 0 10px;
}

.history_lists dt {
  font-size: 12px;
  font-weight: 700;
  color: #544863;
  margin-bottom: 10px;
}

.history_lists dt .num {
  font-size: 18px;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  margin-right: 0.2em;
}

.history_lists dd {
  font-size: 14px;
  line-height: 1.57;
  font-weight: 500;
  position: relative;
  padding-left: 0.5em;
  margin-bottom: 30px;
}

.history_lists dd:has(+ dd) {
  margin-bottom: 10px;
}

.history_lists dd::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 1px;
  height: 12px;
  background: #6b95ce;
}

.sec_topHistory .img {
  margin-bottom: 20px;
  width: calc(100% + 40px);
  transform: translateX(-20px);
}

.sec_topHistory .desc {
  color: #544863;
}

.sec_topHistory .desc.min {
  font-size: 14px;
  margin-top: 5px;
}

.sec_topMission {
  position: relative;
  background: #dce3ea;
}

.sec_topMission .ly_inner {
}

.sec_topMission::before,
.sec_topMission::after {
  content: "";
  width: 733px;
  height: 711px;
  position: absolute;
  background: url(assets/images/illust_bg_mission.svg) center center no-repeat;
}

.sec_topMission::before {
  top: 144px;
  left: 50%;
  transform: translateX(265px);
}

.sec_topMission::after {
  top: 700px;
  left: 50%;
  transform: translateX(-998px);
}

.sec_topMission .head_mission {
  text-align: center;
  color: #544863;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
}

.sec_topMission .sub_mission {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 25px;
}

.sec_topMission .img {
  margin-bottom: 40px;
}

.sec_topMission .mission_box {
  margin-bottom: 40px;
}

.sec_topMission .mission_box .mission_ttl {
  text-align: center;
  color: #544863;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}

.sec_topMission .mission_box .mission_desc {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  width: 260px;
  margin: 0 auto;
}

.sec_topMission .mission_separate {
  width: 1px;
  height: 90px;
  background: #544863;
  margin: 30px auto 125px;
}

.sec_topMission .img:last-child {
  margin-bottom: 100px;
}

.sec_topMission .spacer {
  height: 100px;
  width: 100%;
  background: #fff;
}

.recruit_box {
  margin-bottom: 30px;
}

.recruit_head {
  background: #544863;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  padding: 15px 0;
}

.recruit_body {
  background: #fff;
  padding: 20px 30px;
}

.recruit_body a {
  display: block;
  background: #fff url(assets/images/ico_arw_recruit.svg) right center no-repeat;
  background-size: 19px 45px;
  text-align: left;
}

.recruit_body p,
.recruit_body a {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.recruit_body > p {
  text-align: center;
}

.sec_topRelation {
  padding-bottom: 30px;
}

.relation_box {
  background: #d9d5de;
  padding: 27px;
  margin-bottom: 15px;
}

.relation_box .ttl {
  font-size: 16px;
  font-weight: 500;
  color: #6b95ce;
  margin-bottom: 20px;
}

.relation_box .relation_lists li {
  margin-bottom: 15px;
}

.relation_box .relation_lists a {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  color: #544863;
  padding-bottom: 5px;
  border-bottom: solid 1px #544863;
}

.sec_topNews {
  background: #544863;
  padding-bottom: 70px;
}

.news_lists li {
  background: #fff;
  padding: 25px;
  margin-bottom: 10px;
}

.news_lists li .date {
  font-size: 14px;
  font-weight: 500;
  color: #6b95ce;
  margin-bottom: 15px;
}

.news_lists li .body p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}
