@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap');

* {
  box-sizing: border-box;
}

body {
  background-color: #ffffff;
  color: #1d1d1d;
  font-family: "Hiragino Sans", "noto-sans-cjk-jp", sans-serif;
  font-size: 14px;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

a {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  transition: 0.8s;
  -webkit-transition: 0.8s;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.6;
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

.l-inner {
  width: 95%;
  margin: 0 auto;
  max-width: 1200px;
}

/* Common Title
--------------------------------------------------------- */
.cmn-ttl {
  line-height: 1.6;
  font-size: 41px;
  font-weight: 600;
  text-align: center;
}

.cmn-ttl .en-ttl {
  display: block;
  color: #01a3e9;
  font-family: "Arial", sans-serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 2px;
}

/* Common Highlight
--------------------------------------------------------- */
.highlight {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.highlight::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 20px;
  background-color: #ecff07;
  content: "";
}

/* Header
--------------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  padding: 17px 0;
  background-color: #ffffff;
}

.header .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header .header-logo {
  width: 112px;
}

.header .gnav {
  display: flex;
  align-items: center;
}

.header .gnav ul {
  display: flex;
  margin-right: 5px;
}

.header .gnav li {
  position: relative;
  padding: 0 21px;
}

.header .gnav li::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 15px;
  background-color: #01a3e9;
  content: "";
  border-radius: 10px;
}

.header .gnav li:last-child::after {
  display: none;
}

.header .gnav a {
  color: #1d1d1d;
  font-weight: 600;
}

.header .gnav .inquiry-btn {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  background-color: #01a3e9;
  color: #ffffff;
  font-size: 17px;
  letter-spacing: -0.5px;
  border-radius: 7px;
}

.header .gnav .inquiry-btn .inquiry-ico {
  width: 19px;
  margin-right: 14px;
}

.header .gnav .inquiry-btn span {
  display: block;
  padding-bottom: 6px;
  font-size: 11px;
  letter-spacing: 0;
}

/* Mainvisual Section
--------------------------------------------------------- */
.sec-mv {
  position: relative;
  padding: 93px 0 40px;
}

.sec-mv::before {
  position: absolute;
  bottom: -80px;
  left: 0;
  width: 302px;
  height: 465px;
  background: url("../img/img_circle01.png") no-repeat center/contain;
  content: "";
}

.sec-mv .mv-content {
  display: flex;
  position: relative;
  padding: 48px 39px 27px;
  background: url("../img/img_mv_content_bg.png") no-repeat center/100% 100%;
}

.sec-mv .txt-blk {
  width: 630px;
}

.sec-mv .mv-ttl {
  line-height: 1.34;
  margin-left: 24px;
  color: #ffffff;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 57px;
  font-weight: 700;
  letter-spacing: 2.6px;
}

.sec-mv .mv-ttl span {
  font-size: 45px;
}

.sec-mv .mv-ttl .small-txt {
  font-size: 44px;
}

.sec-mv .mv-txt {
  position: relative;
  margin: 26px 32px 49px;
  padding-left: 40px;
  color: #ffffff;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 1px;
}

.sec-mv .mv-txt::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  height: 1px;
  background-color: #ffffff;
  content: "";
  transform: translateY(-50%);
}

.sec-mv .mv-list {
  display: flex;
}

.sec-mv .list-item {
  width: 199px;
  margin-right: 2.6%;
}

.sec-mv .list-item:last-child {
  margin-right: 0;
}

.sec-mv .list-content {
  padding: 11px 18px 17px;
  box-shadow: 0 3px 21px rgba(0, 134, 191, 0.64);
  background: url("../img/img_list_bg.png") no-repeat center/cover;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  border-radius: 14px;
}

.sec-mv .city-txt {
  line-height: 1.3;
  padding-bottom: 7px;
  font-size: 18px;
  text-align: center;
}

.sec-mv .content01 .city-txt {
  padding-bottom: 5px;
  font-size: 24px;
}

.sec-mv .list-ttl-blk {
  position: relative;
  z-index: 1;
  padding-bottom: 18px;
}

.sec-mv .content02 .list-ttl-blk {
  text-align: center;
}

.sec-mv .unit {
  font-size: 27px;
}

.sec-mv .content01 .list-ttl {
  display: inline-block;
  width: 102px;
  font-size: 55px;
  letter-spacing: 2.4px;
}

.sec-mv .content02 .list-ttl {
  padding: 0 11px;
  font-size: 44px;
}

.sec-mv .content03 .list-ttl {
  margin-left: 37px;
  font-size: 74px;
}

.sec-mv .highlight::after {
  bottom: -7px;
}

.sec-mv .content01 .numerator {
  display: block;
  text-align: left;
}

.sec-mv .content01 .separator {
  position: absolute;
  top: 24%;
  left: 15px;
  width: 64px;
}

.sec-mv .content01 .denominator {
  display: block;
  margin-top: -18.4px;
  text-align: right;
}

.sec-mv .nation-txt {
  display: block;
  margin: 6px 0 8px;
  text-align: center;
}

.sec-mv .nation-txt span {
  position: relative;
  padding: 0 12px;
  font-size: 16px;
}

.sec-mv .nation-txt span::before,
.sec-mv .nation-txt span::after {
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 19px;
  background-color: #1d1d1d;
  content: "";
  border-radius: 10px;
}

.sec-mv .nation-txt span::before {
  left: 0;
  transform: rotate(-20deg);
}

.sec-mv .nation-txt span::after {
  right: 0;
  transform: rotate(20deg);
}

.sec-mv .list-txt {
  line-height: 1.3;
  font-size: 20px;
  text-align: center;
  letter-spacing: 2.5px;
}

.sec-mv .list-note {
  line-height: 1.3;
  padding-top: 8px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 500;
}

.sec-mv .img-blk {
  width: 516px;
  margin-left: -35px;
}

/* Prefecture Section
--------------------------------------------------------- */
.sec-prefecture {
  position: relative;
  padding: 34px 0 64px;
  background: url("../img/img_prefecture_bg.png") no-repeat center/100% 100%;
}

.sec-prefecture::after {
  position: absolute;
  top: 8px;
  right: 0;
  z-index: -1;
  width: 343px;
  height: 465px;
  background: url("../img/img_circle02.png") no-repeat center/contain;
  content: "";
}

.sec-prefecture .prefecture-list {
  display: flex;
  position: relative;
  margin-top: 28px;
  padding-top: 60px;
  text-align: center;
}

.sec-prefecture .prefecture-list::before {
  position: absolute;
  top: 70px;
  right: 0;
  left: 0;
  width: 65px;
  height: 65px;
  margin: 0 auto;
  background: url("../img/ico_cross.svg") no-repeat center/contain;
  content: "";
}

.sec-prefecture .prefecture-list .staff-ttl,
.sec-prefecture .prefecture-list .solve-ttl {
  font-weight: 600;
}

.sec-prefecture .prefecture-list .prefecture-item {
  width: 585px;
}

.sec-prefecture .prefecture-list .prefecture-item:first-child {
  margin-right: 2.4%;
}

.sec-prefecture .prefecture-list .list-ttl {
  display: inline-block;
  position: relative;
  line-height: 1.2;
  margin-bottom: 63px;
  padding: 0 67px;
  color: #ffffff;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 28px;
  font-weight: 700;
}

.sec-prefecture .prefecture-list .list-ttl::before,
.sec-prefecture .prefecture-list .list-ttl::after {
  position: absolute;
  top: -19px;
  width: 91px;
  height: 115px;
  content: "";
}

.sec-prefecture .prefecture-list .list-ttl::before {
  left: 0;
  background: url("../img/img_ttl_before.png") no-repeat center/contain;
}

.sec-prefecture .prefecture-list .list-ttl::after {
  right: 0;
  background: url("../img/img_ttl_after.png") no-repeat center/contain;
}

.sec-prefecture .prefecture-list .content-blk {
  padding: 42px 40px 10px;
  background-color: #ffffff;
  border-radius: 16px;
}

.sec-prefecture .prefecture-list .company-content {
  position: relative;
}

.sec-prefecture .company-content .company-txt {
  position: absolute;
  bottom: 18px;
  left: 17px;
  line-height: 1.3;
  color: #ffffff;
  font-size: 13px;
}

.sec-prefecture .company-txt .number {
  display: block;
  padding: 2px 0 1px;
  font-size: 38px;
  font-weight: 600;
}

.sec-prefecture .company-txt .company {
  font-size: 24px;
}

.sec-prefecture .prefecture-list .staff-content {
  padding: 39px 0 42px;
}

.sec-prefecture .staff-content .staff-ttl {
  position: relative;
  padding-bottom: 20px;
  font-size: 24px;
}

.sec-prefecture .staff-content .staff-ttl::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 27px;
  height: 2px;
  margin: 0 auto;
  background-color: #01a3e9;
  content: "";
  border-radius: 10px;
}

.sec-prefecture .staff-content .staff-txt {
  line-height: 1.7;
  padding-top: 20px;
  text-align: left;
}

.sec-prefecture .prefecture-list .solve-list {
  display: flex;
  flex-wrap: wrap;
}

.sec-prefecture .solve-list .solve-item {
  position: relative;
  width: 48.8%;
  margin-bottom: 26px;
  border: 3px solid #01a3e9;
  border-radius: 6px;
}

.sec-prefecture .solve-list .solve-item:not(:nth-child(2n)) {
  margin-right: 2.4%;
}

.sec-prefecture .solve-list .solve-ttl {
  position: absolute;
  top: -12px;
  right: 0;
  left: 0;
  margin: 0 auto;
  color: #01a3e9;
  font-size: 20px;
}

.sec-prefecture .solve-list .ttl-small {
  font-size: 18px;
}

.sec-prefecture .solve-list .solve-ttl span {
  padding: 0 10px;
  background-color: #ffffff;
}

.sec-prefecture .solve-list .ttl-small span {
  padding: 0 5px;
}

.sec-prefecture .solve-list .solve-txt {
  line-height: 1.5;
  padding: 22px 12px 15px;
  font-weight: 500;
  text-align: left;
}

/* Staff Section
--------------------------------------------------------- */
.sec-staff {
  padding: 65px 0 68px;
  background: url("../img/img_staff_bg.jpg") no-repeat center/cover;
  color: #ffffff;
  text-align: center;
}

.sec-staff .support-txt {
  font-size: 22px;
  font-weight: 600;
}

.sec-staff .support-txt span {
  display: inline-block;
  position: relative;
  padding: 4px 21px;
}

.sec-staff .support-txt span::before,
.sec-staff .support-txt span::after {
  position: absolute;
  top: 50%;
  width: 1px;
  height: 28px;
  background-color: #ffffff;
  content: "";
  border-radius: 10px;
}

.sec-staff .support-txt span::before {
  left: 0;
  transform: translateY(-50%) rotate(-18deg);
}

.sec-staff .support-txt span::after {
  right: 0;
  transform: translateY(-50%) rotate(18deg);
}

.sec-staff .staff-ttl {
  padding: 26px 0 37px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 2.1px;
}

.sec-staff .staff-ttl span {
  display: inline-block;
  font-size: 34px;
}

.sec-staff .staff-txt {
  line-height: 1.75;
  padding-bottom: 52px;
  font-size: 18px;
}

.sec-staff .staff-txt span {
  display: block;
  font-size: 16px;
}

.sec-staff .consult-btn {
  position: relative;
  width: 308px;
  padding: 29px 20px;
  border: 1px solid #01a3e9;
  background-color: #01a3e9;
  color: #ffffff;
  font-size: 22px;
  letter-spacing: 2.5px;
  border-radius: 7px;
}

.sec-staff .consult-btn::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 17px;
  height: 17px;
  background: url("../img/ico_arrow.svg") no-repeat center/contain;
  content: "";
  transform: translateY(-50%);
}

/* Reasons Section
--------------------------------------------------------- */
.sec-reasons {
  padding: 79px 0 40px;
}

.sec-reasons .reasons-ttl {
  padding-bottom: 53px;
  font-size: 41px;
  font-weight: 600;
  text-align: center;
}

.sec-reasons .reasons-main-ttl {
  display: inline-block;
  position: relative;
  padding: 0 31px 0 20px;
}

.sec-reasons .reasons-main-ttl::before,
.sec-reasons .reasons-main-ttl::after {
  position: absolute;
  bottom: 0;
  width: 2px;
  height: 65px;
  background-color: #1d1d1d;
  content: "";
  border-radius: 10px;
}

.sec-reasons .reasons-main-ttl::before {
  left: 0;
  transform: rotate(-25deg);
}

.sec-reasons .reasons-main-ttl::after {
  right: 9px;
  transform: rotate(25deg);
}

.sec-reasons .reasons-ttl-img {
  display: block;
  width: 320px;
}

.sec-reasons .reasons-ttl .highlight {
  padding: 4px 5px 9px;
}

.sec-reasons .reasons-blk .reasons-tile {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  background-color: #e3f7ff;
  font-weight: 600;
  border-radius: 23px;
}

.sec-reasons .reasons-tile:nth-child(2) {
  flex-direction: row-reverse;
}

.sec-reasons .reasons-tile .reasons-desc-item {
  width: 50%;
  color: #01a3e9;
}

.sec-reasons .reasons-tile:nth-child(1) .reasons-desc-item {
  padding: 49px 30px 0 40px;
}

.sec-reasons .reasons-tile:nth-child(2) .reasons-desc-item {
  padding: 40px 40px 0 18px;
}

.sec-reasons .reasons-tile:nth-child(3) .reasons-desc-item {
  padding: 62px 30px 0 40px;
}

.sec-reasons .reasons-desc-item .desc-ttl {
  display: flex;
  align-items: center;
  padding-bottom: 19px;
  padding-left: 10px;
}

.sec-reasons .reasons-tile:nth-child(3) .desc-ttl {
  padding-left: 7px;
}

.sec-reasons .desc-ttl .point-part {
  width: 90px;
  margin-right: 19px;
  padding: 10px 0 29px;
  background: url("../img/img_point_bg.png") no-repeat center/cover;
  color: #ffffff;
  font-family: "Nanum Gothic", sans-serif;
  font-size: 19px;
  font-weight: 400;
  text-align: center;
}

.sec-reasons .desc-ttl .point-no {
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 39px;
}

.sec-reasons .desc-ttl .list-ttl {
  flex: 1;
  font-size: 20px;
}

.sec-reasons .list-ttl .highlight {
  padding: 15px 0 4px;
  font-size: 34px;
}

.sec-reasons .reasons-desc-item p {
  line-height: 1.7;
}

.sec-reasons .reasons-tile:nth-child(odd) .reasons-desc-item p {
  padding-left: 5px;
}

.sec-reasons .reasons-tile:nth-child(even) .reasons-desc-item p {
  padding-left: 10px;
}

.sec-reasons .reasons-tile .reasons-img-item {
  display: flex;
  width: 580px;
  padding: 14px 0 8px;
  background: url("../img/img_item_bg.png") no-repeat center/100% 100%;
  color: #ffffff;
}

.sec-reasons .reasons-tile:nth-child(3) .reasons-img-item {
  display: block;
  padding: 22px 0 20px;
}

.sec-reasons .reasons-img-item .reasons-slide {
  width: 50%;
  padding: 27px 0 22px;
  text-align: center;
}

.sec-reasons .reasons-tile:nth-child(3) .reasons-slide {
  padding: 0;
}

.sec-reasons .reasons-slide:first-child {
  border-right: 1px dashed #ffffff;
}

.sec-reasons .reasons-slide .reasons-slide-ttl {
  display: inline-block;
  line-height: 1.4;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.sec-reasons .reasons-slide-ttl .ttl-sm {
  display: block;
  font-size: 13px;
  text-align: right;
}

.sec-reasons .reasons-slide .slide-img {
  width: 210px;
}

.sec-reasons .reasons-slide .slide01 {
  margin: 38px auto 18px;
}

.sec-reasons .reasons-slide .slide02 {
  margin: 47px auto 8px;
}

.sec-reasons .reasons-slide .slide03 {
  margin: 21px auto 16px;
}

.sec-reasons .reasons-slide .slide04 {
  margin: 38px auto 32px;
}

.sec-reasons .reasons-slide .slide05 {
  margin: -26px auto 10px;
}

.sec-reasons .reasons-slide .slide06 {
  margin: -35px auto 19px;
}

.sec-reasons .reasons-slide .slide-part {
  display: inline-flex;
  align-items: baseline;
  font-family: "honoka-maru-gothic", sans-serif;
  font-weight: 400;
}

.sec-reasons .reasons-slide .less .count {
  font-size: 42px;
}

.sec-reasons .slide-part .count {
  font-size: 64px;
}

.sec-reasons .reasons-tile:nth-child(3) .slide-part .count {
  font-size: 45px;
}

.sec-reasons .reasons-tile:nth-child(3) .reasons-slide:nth-child(2) .count {
  font-size: 43px;
}

.sec-reasons .slide-part .unit {
  margin-left: 8px;
  font-size: 29px;
  text-align: left;
}

.sec-reasons .reasons-tile:nth-child(3) .slide-part .unit {
  font-size: 16px;
}

.sec-reasons .slide-part .txt-sm {
  display: block;
  margin-top: 1px;
  font-size: 20px;
}

.sec-reasons .reasons-slide .city {
  display: block;
  margin-bottom: 13px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 21px;
  font-weight: 700;
  text-align: center;
}

.sec-reasons .reasons-tile:nth-child(3) .flex {
  display: flex;
}

.sec-reasons .reasons-tile .cmn-slide-ttl {
  line-height: 1.6;
  margin-bottom: 20px;
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}

.sec-reasons .reasons-tile .cmn-slide-ttl span {
  display: block;
  font-size: 13px;
}

.sec-reasons .reasons-tile .reasons-source {
  margin-top: 22px;
  text-align: center;
}

/* Voice Section
--------------------------------------------------------- */
.sec-voice {
  padding: 42px 0 62px;
  background-color: #e3f7ff;
}

.sec-voice .cmn-ttl {
  padding-bottom: 45px;
}

.sec-voice .voice-tile {
  display: flex;
  margin-bottom: 76px;
}

.sec-voice .voice-slide {
  width: 50%;
  padding: 33px 29px 20px;
  background-color: #01a3e9;
  border-radius: 16px;
}

.sec-voice .voice-slide:first-child {
  margin-right: 30px;
}

.sec-voice .voice-slide-ttl {
  padding-bottom: 35px;
  color: #ffffff;
  font-weight: 600;
}

.sec-voice .voice-slide-ttl .slide-ttl-lg {
  line-height: 1.5;
  margin-bottom: 17px;
  padding: 0 11px 22px;
  font-size: 24px;
  border-bottom: 1px solid #ffffff;
}

.sec-voice .slide-ttl-sm {
  padding: 0 12px;
  font-size: 16px;
  text-align: right;
}

.sec-voice .voice-item {
  line-height: 1.6;
  font-weight: 600;
}

.sec-voice .voice-item:nth-last-of-type(3) {
  margin-bottom: 30px;
}

.sec-voice .voice-item:nth-last-of-type(2) {
  margin-bottom: 22px;
}

.sec-voice .c-white-box {
  margin-bottom: 18px;
  padding: 5px 10px 7px 10px;
  background-color: #ffffff;
  border-radius: 4px;
}

.sec-voice .voice-item:last-of-type .c-white-box {
  line-height: 1.7;
  padding: 13px 20px 19px 18px;
}

.sec-voice .c-white-box .box-ttl {
  color: #01a3e9;
  font-size: 18px;
}

.sec-voice .voice-item .list {
  line-height: 1.7;
  padding: 0 10px;
  color: #ffffff;
}

.sec-voice .c-white-box p {
  padding-top: 10px;
  font-weight: 400;
}

.sec-voice .voice-source {
  color: #ffffff;
  font-size: 16px;
  text-align: right;
}

.sec-voice .voice-notice {
  width: 900px;
  margin: 0 auto;
}

.sec-voice .voice-notice .notice-txt {
  display: block;
  margin-bottom: 8px;
  padding: 0 8px;
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 1.4px;
}

.sec-voice .voice-notice .highlight {
  padding-bottom: 10px;
}

.sec-voice .voice-notice .time {
  display: block;
  text-align: right;
}

/* IT Week Section
--------------------------------------------------------- */
.sec-it-week {
  padding: 38px 0 44px;
  background: url("../img/img_it_week_bg.jpg") no-repeat center/cover;
}

.sec-it-week .it-content {
  width: 797px;
  overflow: hidden;
  margin: 0 auto;
  padding-bottom: 29px;
  box-shadow: 5px 5px 25px rgba(5, 87, 137, 0.16);
  background-color: #ffffff;
  border-radius: 16px;
}

.sec-it-week .it-ttl,
.sec-it-week .detail-list {
  font-weight: 600;
}

.sec-it-week .it-ttl {
  padding: 19px 0;
  background-color: #01a3e9;
  color: #ffffff;
  font-size: 20px;
  text-align: center;
}

.sec-it-week .it-txt {
  line-height: 1.85;
  padding: 36px 0 41px;
  font-size: 15px;
  text-align: center;
}

.sec-it-week .detail-list {
  width: 535px;
  margin: 0 auto;
}

.sec-it-week .detail-list li {
  display: flex;
  overflow: hidden;
  margin-bottom: 12px;
  background-color: #e3f7ff;
  font-size: 16px;
  letter-spacing: 1px;
  border-radius: 6px;
}

.sec-it-week .detail-ttl {
  padding: 17px 36px;
  background-color: #01a3e9;
  color: #ffffff;
}

.sec-it-week .detail-ttl span {
  padding-right: 32px;
}

.sec-it-week .detail-txt {
  padding: 17px 21px;
}

/* Copyright
--------------------------------------------------------- */
.copyright {
  padding: 24px 0;
  background-color: #212121;
  color: #ffffff;
  text-align: center;
}

/* Ipad
--------------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1280px) {

  body {
    font-size: 1.4vw;
  }

  .l-inner {
    width: 100%;
    padding: 0 3.2vw;
    max-width: 100%;
  }

  /* Common Title
  --------------------------------------------------------- */
  .cmn-ttl {
    font-size: 3.203vw;
  }

  .cmn-ttl .en-ttl {
    font-size: 1.406vw;
    letter-spacing: 0.156vw;
  }

  /* Common Highlight
  --------------------------------------------------------- */
  .highlight::after {
    height: 1.563vw;
  }

  /* Header
  --------------------------------------------------------- */
  .header {
    padding: 1.328vw 0;
  }

  .header .header-logo {
    width: 8.75vw;
  }

  .header .gnav ul {
    margin-right: 0.469vw;
  }

  .header .gnav li {
    padding: 0 1.641vw;
  }

  .header .gnav li::after {
    width: 0.1vw;
    height: 1.172vw;
    border-radius: 0.781vw;
  }

  .header .gnav .inquiry-btn {
    padding: 0.938vw 1.5vw;
    font-size: 1.4vw;
    letter-spacing: -0.039vw;
    border-radius: 0.547vw;
  }

  .header .gnav .inquiry-btn .inquiry-ico {
    width: 1.484vw;
    margin-right: 1.094vw;
  }

  .header .gnav .inquiry-btn span {
    padding-bottom: 0.469vw;
    font-size: 1vw;
  }

  /* Mainvisual Section
  --------------------------------------------------------- */
  .sec-mv {
    padding: 7.266vw 0 3.125vw;
  }

  .sec-mv::before {
    bottom: -6.25vw;
    width: 23.594vw;
    height: 36.328vw;
  }

  .sec-mv .mv-content {
    padding: 3.75vw 3.047vw 2.109vw;
  }

  .sec-mv .txt-blk {
    width: 49.219vw;
  }

  .sec-mv .mv-ttl {
    margin-left: 1.875vw;
    font-size: 4.453vw;
    letter-spacing: 0.203vw;
  }

  .sec-mv .mv-ttl span {
    font-size: 3.516vw;
  }

  .sec-mv .mv-ttl .small-txt {
    font-size: 3.438vw;
  }

  .sec-mv .mv-txt {
    margin: 2.031vw 2.5vw 3.828vw;
    padding-left: 3.125vw;
    font-size: 1.641vw;
    letter-spacing: 0.078vw;
  }

  .sec-mv .mv-txt::before {
    width: 2.031vw;
    height: 0.078vw;
  }

  .sec-mv .list-item {
    width: 16vw;
  }

  .sec-mv .list-content {
    padding: 0.859vw 1.2vw 1.328vw;
    box-shadow: 0 0.234vw 1.641vw rgba(0, 134, 191, 0.64);
    border-radius: 1.094vw;
  }

  .sec-mv .city-txt {
    padding-bottom: 0.547vw;
    font-size: 1.406vw;
  }

  .sec-mv .content01 .city-txt {
    padding-bottom: 0.391vw;
    font-size: 1.875vw;
  }

  .sec-mv .list-ttl-blk {
    padding-bottom: 1.406vw;
  }

  .sec-mv .unit {
    font-size: 2.109vw;
  }

  .sec-mv .content01 .list-ttl {
    width: 7.969vw;
    font-size: 4.297vw;
    letter-spacing: 0.188vw;
  }

  .sec-mv .content02 .list-ttl {
    padding: 0 0.859vw;
    font-size: 3.438vw;
  }

  .sec-mv .content03 .list-ttl {
    margin-left: 2.891vw;
    font-size: 5.781vw;
  }

  .sec-mv .highlight::after {
    bottom: -0.547vw;
  }

  .sec-mv .content01 .separator {
    left: 1.172vw;
    width: 5vw;
  }

  .sec-mv .content01 .denominator {
    margin-top: -1.437vw;
  }

  .sec-mv .nation-txt {
    margin: 0.469vw 0 0.425vw;
  }

  .sec-mv .nation-txt span {
    padding: 0 0.938vw;
    font-size: 1.25vw;
  }

  .sec-mv .nation-txt span::before,
  .sec-mv .nation-txt span::after {
    width: 0.078vw;
    height: 1.484vw;
    border-radius: 0.781vw;
  }

  .sec-mv .list-txt {
    font-size: 1.563vw;
    letter-spacing: 0.195vw;
  }

  .sec-mv .list-note {
    padding-top: 0.625vw;
    font-size: 1vw;
  }

  .sec-mv .img-blk {
    width: 40.313vw;
    margin-left: -2.734vw;
  }

  /* Prefecture Section
  --------------------------------------------------------- */
  .sec-prefecture {
    padding: 4.5vw 0 5.078vw;
  }

  .sec-prefecture::after {
    top: 0.625vw;
    width: 26.797vw;
    height: 36.328vw;
  }

  .sec-prefecture .prefecture-list {
    margin-top: 3.5vw;
    padding-top: 4.844vw;
  }

  .sec-prefecture .prefecture-list::before {
    top: 5.469vw;
    width: 5.078vw;
    height: 5.078vw;
  }

  .sec-prefecture .prefecture-list .prefecture-item {
    width: 45.703vw;
  }

  .sec-prefecture .prefecture-list .list-ttl {
    margin-bottom: 5.5vw;
    padding: 0 5.234vw;
    font-size: 2.188vw;
  }

  .sec-prefecture .prefecture-list .list-ttl::before,
  .sec-prefecture .prefecture-list .list-ttl::after {
    top: -1.484vw;
    width: 7.109vw;
    height: 8.984vw;
  }

  .sec-prefecture .prefecture-list .content-blk {
    padding: 3.281vw 2.7vw 0.8vw;
    border-radius: 1.25vw;
  }

  .sec-prefecture .company-content .company-txt {
    bottom: 1.406vw;
    left: 1.328vw;
    font-size: 1.016vw;
  }

  .sec-prefecture .company-txt .number {
    padding: 0.156vw 0 0.078vw;
    font-size: 2.969vw;
  }

  .sec-prefecture .company-txt .company {
    font-size: 1.875vw;
  }

  .sec-prefecture .prefecture-list .staff-content {
    padding: 3.047vw 0 3.125vw;
  }

  .sec-prefecture .staff-content .staff-ttl {
    padding-bottom: 1.563vw;
    font-size: 1.875vw;
  }

  .sec-prefecture .staff-content .staff-ttl::after {
    width: 2.109vw;
    height: 0.156vw;
    border-radius: 0.781vw;
  }

  .sec-prefecture .staff-content .staff-txt {
    padding-top: 1.719vw;
  }

  .sec-prefecture .solve-list .solve-item {
    width: 48.8%;
    margin-bottom: 2vw;
    border: 0.234vw solid #01a3e9;
    border-radius: 0.469vw;
  }

  .sec-prefecture .solve-list .solve-ttl {
    top: -0.938vw;
    font-size: 1.563vw;
  }

  .sec-prefecture .solve-list .ttl-small {
    font-size: 1.406vw;
  }

  .sec-prefecture .solve-list .solve-ttl span {
    padding: 0 0.781vw;
  }

  .sec-prefecture .solve-list .ttl-small span {
    padding: 0 0.391vw;
  }

  .sec-prefecture .solve-list .solve-txt {
    padding: 1.641vw 0.938vw 1.172vw;
  }

  /* Staff Section
  --------------------------------------------------------- */
  .sec-staff {
    padding: 5.078vw 0 5.313vw;
  }

  .sec-staff .support-txt {
    font-size: 1.719vw;
  }

  .sec-staff .support-txt span {
    padding: 0.313vw 1.641vw;
  }

  .sec-staff .support-txt span::before,
  .sec-staff .support-txt span::after {
    width: 0.078vw;
    height: 2.188vw;
    border-radius: 0.781vw;
  }

  .sec-staff .staff-ttl {
    padding: 2.031vw 0 2.891vw;
    font-size: 3.281vw;
    letter-spacing: 0.164vw;
  }

  .sec-staff .staff-ttl span {
    font-size: 2.656vw;
  }

  .sec-staff .staff-txt {
    padding-bottom: 4.063vw;
    font-size: 1.406vw;
  }

  .sec-staff .staff-txt span {
    font-size: 1.25vw;
  }

  .sec-staff .consult-btn {
    width: 24.063vw;
    padding: 2.266vw 1.563vw;
    border: 0.078vw solid #01a3e9;
    font-size: 1.719vw;
    letter-spacing: 0.195vw;
    border-radius: 0.547vw;
  }

  .sec-staff .consult-btn::after {
    right: 1.563vw;
    width: 1.328vw;
    height: 1.328vw;
  }

  /* Reasons Section
  --------------------------------------------------------- */
  .sec-reasons {
    padding: 6.172vw 0 2.969vw;
  }

  .sec-reasons .reasons-ttl {
    padding-bottom: 4.141vw;
    font-size: 3.203vw;
  }

  .sec-reasons .reasons-main-ttl {
    padding: 0 2.422vw 0 1.563vw;
  }

  .sec-reasons .reasons-main-ttl::before,
  .sec-reasons .reasons-main-ttl::after {
    width: 0.156vw;
    height: 5.078vw;
    border-radius: 0.781vw;
  }

  .sec-reasons .reasons-ttl-img {
    width: 25vw;
  }

  .sec-reasons .reasons-ttl .highlight {
    padding: 0.313vw 0.391vw 0.703vw;
  }

  .sec-reasons .reasons-blk .reasons-tile {
    margin-bottom: 2.344vw;
    border-radius: 1.797vw;
  }

  .sec-reasons .reasons-tile:nth-child(1) .reasons-desc-item {
    padding: 3.828vw 2.813vw 1.641vw 3.125vw;
  }

  .sec-reasons .reasons-tile:nth-child(2) .reasons-desc-item {
    padding: 3.125vw 3.125vw 1.641vw 1.406vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .reasons-desc-item {
    padding: 4.844vw 2.344vw 1.641vw 3.125vw;
  }

  .sec-reasons .reasons-desc-item .desc-ttl {
    padding-bottom: 1.484vw;
    padding-left: 0.781vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .desc-ttl {
    padding-left: 0.547vw;
  }

  .sec-reasons .desc-ttl .point-part {
    width: 7.031vw;
    margin-right: 1.484vw;
    padding: 0.781vw 0 2.266vw;
    font-size: 1.484vw;
  }

  .sec-reasons .desc-ttl .point-no {
    font-size: 3.047vw;
  }

  .sec-reasons .desc-ttl .list-ttl {
    font-size: 1.563vw;
  }

  .sec-reasons .list-ttl .highlight {
    padding: 1.172vw 0 0.313vw;
    font-size: 2.656vw;
  }

  .sec-reasons .reasons-tile:nth-child(odd) .reasons-desc-item p {
    padding-left: 0.391vw;
  }

  .sec-reasons .reasons-tile:nth-child(even) .reasons-desc-item p {
    padding-left: 0.781vw;
  }

  .sec-reasons .reasons-tile .reasons-img-item {
    width: 45.313vw;
    padding: 1.094vw 0 0.625vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .reasons-img-item {
    padding: 1.719vw 0 1.563vw;
  }

  .sec-reasons .reasons-img-item .reasons-slide {
    padding: 2.109vw 0 1.719vw;
  }

  .sec-reasons .reasons-slide:first-child {
    border-right: 0.078vw dashed #ffffff;
  }

  .sec-reasons .reasons-slide .reasons-slide-ttl {
    font-size: 1.406vw;
  }

  .sec-reasons .reasons-slide-ttl .ttl-sm {
    font-size: 1.016vw;
  }

  .sec-reasons .reasons-slide .slide-img {
    width: 16.406vw;
  }

  .sec-reasons .reasons-slide .slide01 {
    margin: 2.969vw auto 1.406vw;
  }

  .sec-reasons .reasons-slide .slide02 {
    margin: 3.672vw auto 0.625vw;
  }

  .sec-reasons .reasons-slide .slide03 {
    margin: 1.641vw auto 1.25vw;
  }

  .sec-reasons .reasons-slide .slide04 {
    margin: 2.969vw auto 2.5vw;
  }

  .sec-reasons .reasons-slide .slide05 {
    margin: -2.031vw auto 0.781vw;
  }

  .sec-reasons .reasons-slide .slide06 {
    margin: -2.734vw auto 1.484vw;
  }

  .sec-reasons .reasons-slide .less .count {
    font-size: 3.281vw;
  }

  .sec-reasons .slide-part .count {
    font-size: 5vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .slide-part .count {
    font-size: 3.516vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .reasons-slide:nth-child(2) .count {
    font-size: 3.359vw;
  }

  .sec-reasons .slide-part .unit {
    margin-left: 0.625vw;
    font-size: 2.266vw;
  }

  .sec-reasons .reasons-tile:nth-child(3) .slide-part .unit {
    font-size: 1.25vw;
  }

  .sec-reasons .slide-part .txt-sm {
    margin-top: 0.078vw;
    font-size: 1.563vw;
  }

  .sec-reasons .reasons-slide .city {
    margin-bottom: 1.016vw;
    font-size: 1.641vw;
  }

  .sec-reasons .reasons-tile .cmn-slide-ttl {
    margin-bottom: 1.563vw;
    font-size: 1.719vw;
  }

  .sec-reasons .reasons-tile .cmn-slide-ttl span {
    font-size: 1.016vw;
  }

  .sec-reasons .reasons-tile .reasons-source {
    margin-top: 1.719vw;
    font-size: 1.2vw;
  }

  /* Voice Section
  --------------------------------------------------------- */
  .sec-voice {
    padding: 3.281vw 0 4.844vw;
  }

  .sec-voice .cmn-ttl {
    padding-bottom: 3.516vw;
  }

  .sec-voice .voice-tile {
    margin-bottom: 5.938vw;
  }

  .sec-voice .voice-slide {
    padding: 2.578vw 1.5vw 1.563vw;
    border-radius: 1.25vw;
  }

  .sec-voice .voice-slide:first-child {
    margin-right: 2vw;
  }

  .sec-voice .voice-slide-ttl {
    padding-bottom: 2.734vw;
  }

  .sec-voice .voice-slide-ttl .slide-ttl-lg {
    margin-bottom: 1.328vw;
    padding: 0vw 0.859vw 1.719vw;
    font-size: 1.8vw;
    border-bottom: 0.078vw solid #ffffff;
  }

  .sec-voice .slide-ttl-sm {
    padding: 0 0.938vw;
    font-size: 1.25vw;
  }

  .sec-voice .voice-item:nth-last-of-type(3) {
    margin-bottom: 2.344vw;
  }

  .sec-voice .voice-item:nth-last-of-type(2) {
    margin-bottom: 1.719vw;
  }

  .sec-voice .c-white-box {
    margin-bottom: 1.406vw;
    padding: 0.391vw 0.781vw 0.547vw 0.781vw;
    border-radius: 0.313vw;
  }

  .sec-voice .voice-item:last-of-type .c-white-box {
    padding: 1.016vw 1.563vw 1.484vw 1.406vw;
  }

  .sec-voice .c-white-box .box-ttl {
    font-size: 1.406vw;
  }

  .sec-voice .voice-item .list {
    padding: 0 0.5vw;
  }

  .sec-voice .c-white-box p {
    padding-top: 0.781vw;
  }

  .sec-voice .voice-source {
    font-size: 1.25vw;
  }

  .sec-voice .voice-notice {
    width: 70.313vw;
  }

  .sec-voice .voice-notice .notice-txt {
    margin-bottom: 0.625vw;
    padding: 0 0.625vw;
    font-size: 2.031vw;
    letter-spacing: 0.109vw;
  }

  .sec-voice .voice-notice .highlight {
    padding-bottom: 0.781vw;
  }

  /* IT Week Section
  --------------------------------------------------------- */
  .sec-it-week {
    padding: 3.125vw 0 3.438vw;
  }

  .sec-it-week .it-content {
    width: 62.266vw;
    padding-bottom: 2.266vw;
    box-shadow: 0.391vw 0.391vw 1.953vw rgba(5, 87, 137, 0.16);
    border-radius: 1.25vw;
  }

  .sec-it-week .it-ttl {
    padding: 1.484vw 0;
    font-size: 1.563vw;
  }

  .sec-it-week .it-txt {
    padding: 2.813vw 0 3.203vw;
    font-size: 1.172vw;
  }

  .sec-it-week .detail-list {
    width: 41.797vw;
  }

  .sec-it-week .detail-list li {
    margin-bottom: 0.938vw;
    font-size: 1.25vw;
    letter-spacing: 0.078vw;
    border-radius: 0.469vw;
  }

  .sec-it-week .detail-ttl {
    padding: 1.328vw 2.813vw;
  }

  .sec-it-week .detail-ttl span {
    padding-right: 2.5vw;
  }

  .sec-it-week .detail-txt {
    padding: 1.328vw 1.641vw;
  }

  /* Copyright
--------------------------------------------------------- */
  .copyright {
    padding: 1.875vw 0;
  }

}

/* SP
--------------------------------------------------------- */
@media screen and (max-width: 767.9px) {
  body {
    min-width: 1280px;
  }

  .header .l-inner {
    width: 1280px;
    padding: 0 40px;
  }
}