@charset "UTF-8";
/* 
font-family: "M PLUS Rounded 1c", sans-serif;
font-family: "Noto Sans JP", sans-serif;
*/
html {
  scroll-padding-top: 110px;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #242424;
  min-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

/*--------------------cmn--------------------*/
.cmn_txt {
  font-size: 16px;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #242424;
}

.cmn_ttl {
  font-size: 45px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  text-align: center;
  position: relative;
  z-index: 1;
  padding-bottom: 0.7777777778em;
  margin-bottom: 50px;
}
.cmn_ttl::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
  content: "";
  display: block;
  width: 1.4444444444em;
  height: 0.1111111111em;
  background: url(/img/concept/dotttl.png) no-repeat center center/contain;
}
.cmn_ttl span {
  color: #3186e5;
}

.cmn_tel p {
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  position: relative;
  z-index: 1;
  padding-left: 1em;
}
.cmn_tel p::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.68em;
  height: 0.76em;
  background: url(/img/common/telicon.png) no-repeat center center/contain;
}
.cmn_tel span {
  display: block;
  width: 100%;
  margin-top: -7px;
}

/*--------------------cmn--------------------*/
/*--------------------header--------------------*/
.header {
  width: 100%;
  background: #fff;
  padding: 13px 20px;
  position: fixed;
  z-index: 15;
}
.header_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.header_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 17px;
}
.header_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
}
.header_dl dt {
  letter-spacing: 0.1em;
  color: #3186e5;
  background: #d9f2ff;
  border-radius: 999px;
  padding: 5px 8px;
}
.header_dl dd {
  letter-spacing: 0.05em;
}
.header_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.header_mail {
  background: #ff9600;
  width: 200px;
  padding: 12px 20px 13px 15px;
  border-radius: 999px;
}
.header_mail p {
  text-align: center;
  display: block;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 1;
}
.header_mail p::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 1.5333333333em;
  height: 1.2em;
  background: url(/img/common/mailicon.png) no-repeat center center/contain;
}
.header_mail p::after {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.4em;
  height: 0.6em;
  background: url(/img/common/btnarw.png) no-repeat center center/contain;
}

.sns_btn {
  width: 40px;
  height: 40px;
}
.sns_btn img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.global_nav {
  margin-top: 135px;
}
.global_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.global_nav_item {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #3186e5;
  width: 155px;
  text-align: center;
  border-left: 2px dotted #3186e5;
  padding: 2px 0;
}
.global_nav_item:last-child {
  border-right: 2px dotted #3186e5;
}
.global_nav_item a {
  color: #3186e5;
}
.global_nav_item span {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #59b3e2;
  display: block;
  margin-top: 9px;
}
.global_nav_item .current {
  background: #e8f7ff;
}
.global_nav_item .hover_hover {
  transition: 0.3s;
}
.global_nav_item .hover_hover:hover {
  opacity: 1;
  background: #e8f7ff;
}

/*--------------------header--------------------*/
/*--------------------footer--------------------*/
.footer {
  width: 100%;
  padding: 50px 0;
  background: url(/img/top/fnami.png) no-repeat left bottom/auto, #59b3e2;
}
.footer_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
.footer_logo {
  margin-bottom: 33px;
}
.footer_address {
  font-size: 16px;
  line-height: 1.875em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  margin-bottom: 13px;
}
.footer_dl {
  margin-bottom: 20px;
}
.footer_dl_box {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.footer_dl_box:not(:last-child) {
  margin-bottom: 10px;
}
.footer_dl_box dt {
  text-align: center;
  width: 83px;
  background: #fff;
  border-radius: 999px;
  padding: 5px;
  color: #3186e5;
}
.footer_dl_box dd {
  color: #fff;
}
.footer_tel p {
  font-size: 26px;
  color: #fff;
}
.footer_tel p::before {
  background: url(/img/common/teliconwhite.png) no-repeat center center/contain;
}
.footer_nav {
  margin-top: 70px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 40px;
}
.footer_nav_item {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  z-index: 1;
  padding-left: 1.3125em;
}
.footer_nav_item:not(:last-child) {
  margin-bottom: 22px;
}
.footer_nav_item a {
  color: #fff;
}
.footer_nav_item::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "＞";
  display: block;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
}

.copy_right {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  text-align: right;
  display: block;
}
.copy_right a {
  color: #fff;
}

/*--------------------footer--------------------*/
/*--------------------mv--------------------*/
/*--------------------swiper--------------------*/
.mv {
  width: 100%;
  height: clamp(500px, 39.0625vw, 750px);
  position: relative;
  z-index: 1;
  top: 110px;
}
.mv_catch {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.swiper {
  position: absolute;
  z-index: -5;
  left: 0%;
  top: 0%;
  width: 100%;
  height: 100%;
}

.swiper-slide {
  width: 100%;
  height: 100%;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------swiper--------------------*/
/*--------------------mv--------------------*/
/*--------------------sv--------------------*/
.sv_privacy .sv_catch span {
  font-size: 42px;
}

.sv_not_found .sv_catch span {
  font-size: 38px;
}

.sv {
  top: 110px;
  width: 100%;
  height: 470px;
  position: relative;
  z-index: 1;
}
.sv_img {
  position: absolute;
  z-index: -2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.sv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sv_catch {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(/img/sv/svttldeco.png) no-repeat center center/contain;
  width: 500px;
  height: 210px;
}
.sv_catch span {
  display: inline-block;
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #3186e5;
  position: relative;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%);
}
.sv_catch span::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
  content: "";
  display: block;
  width: 98%;
  height: 0.4em;
  background: rgba(255, 150, 0, 0.15);
}

/*--------------------sv--------------------*/
/*--------------------company--------------------*/
.company {
  width: 100%;
  background: url(/img/common/hatal.png) no-repeat left top 5%/15%, url(/img/common/hatar.png) no-repeat right top 5%/15%;
}
.company_box {
  margin-top: 50px;
}
.company_box_ttl {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 4px double #ff9600;
  padding-bottom: 0.7083333333em;
  margin-bottom: 30px;
}
.company_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.company_dl {
  width: 520px;
}
.company_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  font-size: 16px;
  line-height: 1.875em;
  letter-spacing: 0.1em;
}
.company_dl_box:not(:last-child) dt {
  border-bottom: 1px solid #fff;
}
.company_dl_box:first-child dd {
  border-top: 1px solid #07216e;
}
.company_dl_box:last-child dd {
  border-bottom: 1px solid #07216e;
}
.company_dl_box dt {
  color: #fff;
  background: #07216e;
  padding: 15px;
  text-align: center;
  width: 150px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.company_dl_box dd {
  width: calc(100% - 150px);
  color: #242424;
  background: #fff;
  padding: 15px 20px;
  border-bottom: 1px solid #07216e;
}

.googlemap {
  width: 520px;
  height: 240px;
  border-radius: 30px;
  overflow: hidden;
}
.googlemap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: none;
}

.cmn_dl {
  width: 100%;
}
.cmn_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  font-size: 16px;
  line-height: 1.875em;
  letter-spacing: 0.1em;
}
.cmn_dl_box:not(:last-child) dt {
  border-bottom: 1px solid #fff;
}
.cmn_dl_box:first-child dd {
  border-top: 1px solid #07216e;
}
.cmn_dl_box:last-child dd {
  border-bottom: 1px solid #07216e;
}
.cmn_dl_box dt {
  color: #fff;
  background: #07216e;
  padding: 15px;
  text-align: center;
  width: 200px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.cmn_dl_box dd {
  width: calc(100% - 200px);
  color: #242424;
  background: #fff;
  padding: 15px 20px;
  border-bottom: 1px solid #07216e;
}

/*--------------------company--------------------*/
/*--------------------concept--------------------*/
.concept {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-bottom: 150px;
  background: url(/img/common/hatal.png) no-repeat left top 5%/15%;
}
.concept::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.concept_ttl {
  margin-bottom: 100px;
}
.concept::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -34%);
  content: "";
  display: block;
  width: 59.8958333333%;
  height: 434px;
  background: #e8f7ff;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
.concept_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row-reverse;
  gap: 50px;
}
@media screen and (max-width: 1380px) {
  .concept_flex {
    justify-content: center;
  }
}
.concept_item {
  width: 615px;
}
.concept_txt span {
  display: block;
  border-bottom: 1px dashed #59b3e2;
  padding-bottom: 9px;
}
.concept_txt span:not(:first-child) {
  margin-top: 7px;
}
.concept_img {
  width: 520px;
  height: 334px;
  border-radius: 30px;
  overflow: hidden;
}
.concept_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.strong {
  width: 100%;
  padding-top: 160px;
  background: url(/img/concept/right_illust.png) no-repeat bottom right 5.2083333333%/auto, url(/img/concept/bggrid.png) repeat center center/auto;
}
.strong_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.strong_item {
  width: 520px;
  padding: 32px 32px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 7px 7px rgba(89, 179, 226, 0.2);
}
.strong_item_ttl {
  font-size: 24px;
  line-height: 1.4166666667em;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 4px double #ff9600;
  padding-bottom: 0.4583333333em;
  margin-bottom: 14px;
  text-align: center;
}
.strong_item_txt {
  text-align: center;
}
.strong_item_txt p:not(:last-child) {
  margin-bottom: 30px;
}

/*--------------------concept--------------------*/
/*--------------------recruit--------------------*/
.want {
  width: 100%;
  position: relative;
  z-index: 1;
  padding-bottom: 150px;
  background: url(/img/common/hatal.png) no-repeat left top 5%/15%;
}
.want::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.want_ttl {
  margin-bottom: 100px;
}
.want::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -34%);
  content: "";
  display: block;
  width: 59.8958333333%;
  height: 434px;
  background: #e8f7ff;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.want_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 50px;
}
@media screen and (max-width: 1380px) {
  .want_flex {
    justify-content: center;
  }
}
.want_item {
  width: 615px;
}
.want_item p:not(:last-child) {
  margin-bottom: 45px;
}
.want_item p:last-child span:first-child {
  padding-top: 7px;
  border-top: 1px dashed #59b3e2;
}
.want_txt span {
  display: block;
  border-bottom: 1px dashed #59b3e2;
  padding-bottom: 9px;
}
.want_txt span:not(:first-child) {
  margin-top: 7px;
}
.want_img {
  width: 520px;
  height: 334px;
  border-radius: 30px;
  overflow: hidden;
}
.want_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.need {
  width: 100%;
  padding-top: 160px;
  background: url(/img/concept/bggrid.png) repeat center center/auto;
}
.need_flex {
  width: 100%;
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 7px 7px rgba(89, 179, 226, 0.2);
  gap: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.need_img {
  width: 460px;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
}
.need_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.need_list {
  width: calc(100% - 500px);
}
.need_item {
  font-size: 24px;
  line-height: 1.4166666667em;
  letter-spacing: 0.06em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  padding-bottom: 0.4166666667em;
  border-bottom: 1px solid #59b3e2;
  position: relative;
  z-index: 1;
  padding-left: 1.6666666667em;
}
.need_item::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -65%);
  content: "";
  display: block;
  width: 1.25em;
  height: 1.25em;
  background: url(/img/common/peke.png) no-repeat center center/contain;
}
.need_item:not(:first-child) {
  margin-top: 9px;
}

.recruit {
  width: 100%;
  background: url(/img/recruit/left_illust.png) no-repeat bottom left 5.2083333333%/auto, url(/img/common/hatal.png) no-repeat left top/15%, url(/img/common/hatar.png) no-repeat right top/15%;
}

/*--------------------recruit--------------------*/
/*--------------------voice--------------------*/
.voice {
  width: 100%;
}
.voice_box {
  width: 100%;
}
.voice_box_ttl {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 4px double #ff9600;
  padding-bottom: 0.7083333333em;
  margin-bottom: 30px;
}
.voice_flex {
  display: flex;
  align-items: center;
  gap: 50px;
}
.voice_dl {
  width: 100%;
  flex-shrink: 1;
}
.voice_img {
  flex-shrink: 0;
  width: 360px;
  height: 260px;
  border-radius: 30px;
  overflow: hidden;
}
.voice_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------voice--------------------*/
/*--------------------work--------------------*/
.work {
  width: 100%;
}
.work_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.work_item {
  width: 330px;
}
.work_item_ttl {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  padding-bottom: 0.9em;
  border-bottom: 1px solid #3186e5;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.work_img {
  width: 100%;
  height: 240px;
  box-shadow: 7px 7px rgba(89, 179, 226, 0.2);
  margin-bottom: 30px;
}
.work_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------inwork--------------------*/
.inwork {
  width: 100%;
}
.inwork_ttl {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 4px double #ff9600;
  padding-bottom: 0.7083333333em;
  margin-bottom: 30px;
}
.inwork_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
  margin-bottom: 22px;
}
.inwork_img {
  width: 330px;
  height: 240px;
}
.inwork_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.inwork .page-btn {
  margin-top: 50px;
}

/*--------------------inwork--------------------*/
/*--------------------work--------------------*/
/*--------------------busi--------------------*/
.cmn_busi {
  width: 100%;
}
.cmn_busi_txt {
  margin-bottom: 44px;
  text-align: center;
}
.cmn_busi_huki {
  margin: 0 auto 40px;
  width: 210px;
  background: #3186e5;
  border-radius: 10px;
  padding: 14px;
  text-align: center;
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #fff;
  position: relative;
  z-index: 1;
}
.cmn_busi_huki::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 99%);
  content: "";
  display: block;
  width: 0.5142857143em;
  height: 0.4571428571em;
  background: url(/img/busi/sankaku.png) no-repeat center center/contain;
}
.cmn_busi_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 40px 30px;
}
.cmn_busi_item {
  width: 340px;
}
.cmn_busi_item_ttl {
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 4px double #ff9600;
  padding-bottom: 0.7083333333em;
}
.cmn_busi_img {
  width: 100%;
  height: 220px;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.cmn_busi_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#inreform {
  width: 100%;
  background: url(/img/common/hatal.png) no-repeat left top 5%/15%, url(/img/common/hatar.png) no-repeat right top 5%/15%;
  position: relative;
  z-index: 1;
}
#inreform::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

#water {
  width: 100%;
  padding-top: 160px;
  background: url(/img/concept/bggrid.png) repeat center center/auto;
}

#outreform {
  background: url(/img/common/hatal.png) no-repeat left top/15%, url(/img/common/hatar.png) no-repeat right top/15%;
  position: relative;
  z-index: 1;
}
#outreform::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

.cmn_busif {
  width: 100%;
}
.cmn_busif_txt {
  margin-bottom: 44px;
  text-align: center;
}
.cmn_busif_huki {
  margin: 0 auto 40px;
  width: 210px;
  background: #3186e5;
  border-radius: 10px;
  padding: 14px;
  text-align: center;
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #fff;
  position: relative;
  z-index: 1;
}
.cmn_busif_huki::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 99%);
  content: "";
  display: block;
  width: 0.5142857143em;
  height: 0.4571428571em;
  background: url(/img/busi/sankaku.png) no-repeat center center/contain;
}
.cmn_busif_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.cmn_busif_list {
  width: 520px;
  background: #fff;
  padding: 33px 40px 35px;
  border-radius: 20px;
}
.cmn_busif_item {
  font-size: 20px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  position: relative;
  z-index: 1;
  padding-left: 0.75em;
  padding-bottom: 0.6em;
  border-bottom: 1px solid #59b3e2;
}
.cmn_busif_item:not(:first-child) {
  margin-top: 10px;
}
.cmn_busif_item::before {
  content: "";
  display: block;
  width: 0.25em;
  height: 0.25em;
  background: #07216e;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 30%;
  transform: translate(0%, 0%);
}
.cmn_busif_img {
  width: 520px;
  height: 300px;
  border-radius: 10px;
  overflow: hidden;
}
.cmn_busif_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#mantion {
  padding-top: 160px;
  background: url(/img/concept/bggrid.png) repeat center center/auto;
}
#mantion .cmn_busif_txt {
  letter-spacing: 0.09em;
}

#kai {
  padding-top: 160px;
  background: url(/img/concept/bggrid.png) repeat center center/auto;
}
#kai .cmn_busif_txt {
  letter-spacing: 0.09em;
}

#other {
  background: url(/img/common/hatal.png) no-repeat left top/15%, url(/img/common/hatar.png) no-repeat right top/15%;
}
#other .cmn_busif_list {
  background: #e8f7ff;
}

#store {
  background: url(/img/common/hatal.png) no-repeat left top/15%, url(/img/common/hatar.png) no-repeat right top/15%;
  position: relative;
  z-index: 1;
}
#store .cmn_busif_list {
  background: #e8f7ff;
}
#store::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

/*--------------------busi--------------------*/
/*--------------------top--------------------*/
.cmn_ttl02 {
  font-size: 45px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  text-align: center;
}
.cmn_ttl02 span {
  color: #3186e5;
}

.cmn_en {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #59b3e2;
  margin-top: 20px;
  margin-bottom: 50px;
  text-align: center;
}

.top_gre {
  width: 100%;
  position: relative;
  z-index: 1;
  background: url(/img/common/hatar.png) no-repeat right top 5%/15%;
}
.top_gre::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -37%);
  content: "";
  display: block;
  width: 57.5520833333%;
  height: 520px;
  background: #e8f7ff;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.top_gre::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.top_gre_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 75px;
  justify-content: flex-end;
}
@media screen and (max-width: 1380px) {
  .top_gre_flex {
    justify-content: center;
  }
}
.top_gre_img {
  width: 550px;
  height: 490px;
  border-radius: 30px;
  position: relative;
  z-index: 1;
}
.top_gre_img::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 0%;
  transform: translate(0%, -100%);
  content: "";
  display: block;
  width: 398px;
  height: 138px;
  background: url(/img/top/ill01.png) no-repeat center center/contain;
}
.top_gre_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}
.top_gre_box {
  width: 565px;
}
.top_gre_box_ttl {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #fff;
  background: #3186e5;
  padding: 13.5px;
  text-align: center;
  border-radius: 10px;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.top_gre_box_ttl::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 99%);
  content: "";
  display: block;
  width: 18px;
  height: 16px;
  background: url(/img/top/sankaku.png) no-repeat center center/contain;
}
.top_gre_box_ttl span {
  position: relative;
  z-index: 1;
}
.top_gre_box_ttl span::before {
  position: absolute;
  z-index: -1;
  left: -8%;
  top: 50%;
  transform: translate(-100%, -50%);
  content: "";
  display: block;
  width: 0.7714285714em;
  height: 0.7714285714em;
  background: url(/img/top/leftttldeco.png) no-repeat center center/contain;
}
.top_gre_box_ttl span::after {
  position: absolute;
  z-index: -1;
  right: -8%;
  top: 50%;
  transform: translate(100%, -50%);
  content: "";
  display: block;
  width: 0.7714285714em;
  height: 0.7714285714em;
  background: url(/img/top/rightdecottl.png) no-repeat center center/contain;
}
.top_gre_item {
  text-align: center;
}
.top_gre_item p:not(:last-child) {
  margin-bottom: 45px;
}
.top_gre_item p:last-child span:first-child {
  padding-top: 7px;
  border-top: 1px dashed #59b3e2;
}
.top_gre_txt span {
  display: block;
  border-bottom: 1px dashed #59b3e2;
  padding-bottom: 9px;
}
.top_gre_txt span:not(:first-child) {
  margin-top: 7px;
}
.top_gre_btn {
  width: 200px;
  background: #ff9600;
  border-radius: 999px;
  padding: 18px 20px;
  margin: 40px auto 0;
}
.top_gre_btn p {
  text-align: center;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 1;
  display: block;
}
.top_gre_btn p::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.4em;
  height: 0.6em;
  background: url(/img/common/btnarw.png) no-repeat center center/contain;
}

.cmn_btn02 {
  width: 100%;
  padding: 15px 20px;
  border-radius: 999px;
  background: url(/img/top/borbg.png) repeat center center/auto;
}
.cmn_btn02 p {
  text-align: center;
  font-size: 24px;
  line-height: 1.25em;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #fff;
  position: relative;
  z-index: 1;
}
.cmn_btn02 p::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.375em;
  height: 0.625em;
  background: url(/img/common/btnarw02.png) no-repeat center center/contain;
}

.top_service {
  padding-top: 160px;
  background: url(/img/top/bgservice.png) no-repeat center center/cover;
}
.top_service_top {
  width: 100%;
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 7px 7px rgba(89, 179, 226, 0.2);
  margin-bottom: 40px;
}
.top_service_top_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}
.top_service_top_box {
  width: calc(100% - 500px);
}
.top_service_top_img {
  width: 460px;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
}
.top_service_top_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_service_top_btn {
  padding: 22.5px 20px;
  margin-bottom: 34px;
}
.top_service_top_btn p {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
}
.top_service_top_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px 20px;
}
.top_service_top_list li {
  width: 240px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  position: relative;
  z-index: 1;
  padding-left: 1.6666666667em;
  padding-bottom: 0.5833333333em;
  border-bottom: 1px solid #59b3e2;
}
.top_service_top_list li::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -70%);
  content: "";
  display: block;
  width: 1.25em;
  height: 1.25em;
  background: url(/img/common/peke.png) no-repeat center center/contain;
}
.top_service_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.top_service_item {
  width: 520px;
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 7px 7px rgba(89, 179, 226, 0.2);
}
.top_service_item:nth-child(1) .top_service_btn {
  padding: 10px 20px !important;
}
.top_service_img {
  width: 440px;
  height: 230px;
  border-radius: 10px;
  overflow: hidden;
}
.top_service_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_service_btn {
  margin-bottom: 30px;
}

.top_area {
  padding-bottom: 210px;
  padding-top: 190px;
  background: url(/img/top/map.png) no-repeat left center/auto 100%;
  margin-left: auto;
}
@media screen and (max-width: 1600px) {
  .top_area {
    background: url(/img/top/map.png) no-repeat left center/50%;
  }
}
.top_area_box {
  width: 540px;
  margin-left: auto;
}
.top_area_inner {
  position: relative;
  z-index: 1;
}
.top_area_inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -210px;
  right: 0%;
  width: 540px;
  height: 136px;
  transform: translate(0%, 0);
  background: url(/img/top/ill02.png) no-repeat center/contain;
}
.top_area_ttl {
  position: relative;
  z-index: 1;
}
.top_area_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0px;
  left: 0%;
  width: 42px;
  height: 48px;
  transform: translate(0%, -100%);
  background: url(/img/top/decol.png) no-repeat center/contain;
}
.top_area_ttl::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0px;
  right: 0%;
  width: 75px;
  height: 94px;
  transform: translate(0%, -100%);
  background: url(/img/top/decor.png) no-repeat center/contain;
}
.top_area_txt {
  text-align: center;
}
.top_area_txt_border {
  margin-top: 7px;
  display: block;
  border-bottom: 1px dashed #59b3e2;
  padding-bottom: 9px;
}
.top_area_txt_line {
  position: relative;
  z-index: 1;
}
.top_area_txt_line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: 10px;
  transform: translate(-50%, 0);
  background: rgba(255, 150, 0, 0.15);
}
.top_area_txt_color {
  font-size: 20px;
  color: #3186e5;
}

.top_flow {
  width: 100%;
  background: url(/img/top/bgl.png) no-repeat center center/cover;
}
.top_flow_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 50px;
}
.top_flow_item {
  width: 320px;
}
.top_flow_img {
  width: 100%;
  height: 320px;
  margin-bottom: 20px;
}
.top_flow_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_flow_ttl {
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  color: #3186e5;
  margin-bottom: 15px;
  text-align: center;
  position: relative;
  font-family: "M PLUS Rounded 1c", sans-serif;
  z-index: 1;
}
.top_flow_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  right: 0%;
  width: 0.5384615385em;
  height: 0.8076923077em;
  transform: translate(0%, 80%);
  background: url(/img/common/btnarwb.png) no-repeat center center/contain;
}
.top_flow_txt {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #59b3e2;
  text-align: center;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.top_work {
  width: 100%;
  background: #e8f7ff;
  position: relative;
  z-index: 1;
}
.top_work::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 100%;
  height: 80px;
  transform: translate(-50%, 100%);
  background: url(/img/top/wave02.png) no-repeat center center/100% 100%;
}
.top_work_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
}

.top_info {
  padding-top: 180px;
  background: url(/img/top/bginfo.png) no-repeat center center/cover;
}
.top_info_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.top_info_txt {
  text-align: center;
}
.top_info_txt_line {
  position: relative;
  z-index: 1;
  font-size: 20px;
  color: #3186e5;
  font-weight: 700;
}
.top_info_txt_line::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 100%;
  height: 0.5em;
  transform: translate(-50%, 0%);
  background: rgba(255, 150, 0, 0.15);
}
.top_info_txt_color {
  color: #ff9600;
}
.top_info_btn {
  margin-top: 32px;
  background: #07216e;
}
.top_info_item {
  width: 520px;
  background: #fff;
  border-radius: 20px;
  position: relative;
  z-index: 1;
  padding: 40px 35px;
}
.top_info_item:nth-child(1)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border-radius: 18px;
  border: 2px solid #59b3e2;
  transform: translate(-50%, -50%);
  background: url(/img/top/lt.png) no-repeat left top/auto, url(/img/top/lb.png) no-repeat left bottom/auto, url(/img/top/rt.png) no-repeat right top/auto, url(/img/top/rb.png) no-repeat right bottom/auto;
}
.top_info_item:nth-child(1) .top_info_ttl {
  text-align: center;
  margin-bottom: 32px;
}
.top_info_item:nth-child(1) .top_info_ttl span {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #07216e;
  text-align: center;
  font-family: "M PLUS Rounded 1c", sans-serif;
  display: inline-block;
  position: relative;
  z-index: 1;
  padding-left: 1.1428571429em;
  padding-right: 1.1428571429em;
}
.top_info_item:nth-child(1) .top_info_ttl span::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 0%;
  width: 0.7714285714em;
  height: 0.6em;
  transform: translate(0%, -20%);
  background: url(/img/top/leftttldeco.png) no-repeat center center/contain;
}
.top_info_item:nth-child(1) .top_info_ttl span::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  right: 0%;
  width: 0.7714285714em;
  height: 0.6em;
  transform: translate(0%, -20%);
  background: url(/img/top/rightdecottl.png) no-repeat center center/contain;
}
.top_info_item:nth-child(2)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border-radius: 18px;
  border: 2px solid #3186e5;
  transform: translate(-50%, -50%);
  background: url(/img/top/lt02.png) no-repeat left top/auto, url(/img/top/lb2.png) no-repeat left bottom/auto, url(/img/top/rt02.png) no-repeat right top/auto, url(/img/top/rb02.png) no-repeat right bottom/auto;
}
.top_info_item:nth-child(2) .top_info_ttl {
  text-align: center;
  margin-bottom: 12px;
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  color: #07216e;
  text-align: center;
  font-family: "M PLUS Rounded 1c", sans-serif;
  padding-bottom: 0.4571428571em;
  border-bottom: 4px double #ff9600;
}

.top_news {
  width: 100%;
  background: url(/img/common/hatal.png) no-repeat left top/15%, url(/img/common/hatar.png) no-repeat right top/15%;
}
.top_news_btn {
  margin-top: 60px;
}

/*--------------------top--------------------*//*# sourceMappingURL=style.css.map */