@charset "UTF-8";
/* 
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
*/
body {
  font-size: 4vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin: 0 auto;
  position: relative;
  color: #242424;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

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

.cmn_ttl {
  font-size: 7.4666666667vw;
  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: 8vw;
}
.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 {
  text-align: center;
}
.cmn_tel p {
  display: inline-block;
  font-size: 6.6666666667vw;
  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: -1.8666666667vw;
}
.cmn_tel span img {
  width: 70%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*--------------------cmn--------------------*/
/*--------------------header--------------------*/
.header {
  width: 100%;
  background: #fff;
  padding: 3.4666666667vw 5.3333333333vw;
}
.header_logo {
  width: 60%;
}
.header_logo a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.header_logo img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.header_dl {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 17px;
}
.header_dl_box {
  display: none;
  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: none;
  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 {
  display: none;
  margin-top: 28px;
}
.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: 13.3333333333vw 0 4vw;
  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 {
  width: 70%;
  margin: 0 auto 8vw;
  text-align: center;
}
.footer_address {
  font-size: 4vw;
  line-height: 1.875em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4vw;
  text-align: center;
}
.footer_dl {
  margin-bottom: 4vw;
  text-align: center;
}
.footer_dl_box {
  text-align: center;
  font-size: 3.6vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.3333333333vw;
}
.footer_dl_box:not(:last-child) {
  margin-bottom: 2.6666666667vw;
}
.footer_dl_box dt {
  text-align: center;
  width: 20vw;
  background: #fff;
  border-radius: 999px;
  padding: 1.0666666667vw;
  color: #3186e5;
}
.footer_dl_box dd {
  color: #fff;
}
.footer_tel p {
  font-size: 6.6666666667vw;
  color: #fff;
  text-align: center;
}
.footer_tel p::before {
  background: url(/img/common/teliconwhite.png) no-repeat center center/contain;
}
.footer_nav {
  margin-top: 8vw;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8vw;
  gap: 5.3333333333vw;
}
.footer_nav_item {
  font-size: 4vw;
  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: 5.3333333333vw;
}
.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: 4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
}

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

/*--------------------footer--------------------*/
/*--------------------mv--------------------*/
/*--------------------swiper--------------------*/
.mv {
  width: 100%;
  height: 106.6666666667vw;
  position: relative;
  z-index: 1;
}
.mv_catch {
  width: 90%;
  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: 6.4vw;
}

.sv_not_found .sv_catch span {
  font-size: 5.8666666667vw;
}

.sv {
  width: 100%;
  height: 80vw;
  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: 80%;
  height: 32vw;
}
.sv_catch span {
  display: inline-block;
  font-size: 8vw;
  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/30%, url(/img/common/hatar.png) no-repeat right top/30%;
}
.company_box {
  margin-top: 8vw;
}
.company_box_ttl {
  font-size: 5.3333333333vw;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 1.0666666667vw double #ff9600;
  padding-bottom: 0.7083333333em;
  margin-bottom: 5.3333333333vw;
}
.company_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8vw;
}
.company_dl {
  width: 100%;
}
.company_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  font-size: 4vw;
  line-height: 1.875em;
  letter-spacing: 0.1em;
}
.company_dl_box:not(:last-child) {
  margin-bottom: 4vw;
}
.company_dl_box dt {
  color: #fff;
  background: #07216e;
  padding: 4vw;
  font-weight: 700;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.company_dl_box dd {
  width: 100%;
  color: #242424;
  background: #fff;
  padding: 4vw;
}

.googlemap {
  width: 100%;
  height: 80vw;
  border-radius: 8vw;
  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: 4vw;
  line-height: 1.875em;
  letter-spacing: 0.1em;
}
.cmn_dl_box:not(:last-child) {
  margin-bottom: 4vw;
}
.cmn_dl_box dt {
  color: #fff;
  background: #07216e;
  padding: 4vw;
  text-align: center;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.cmn_dl_box dd {
  width: 100%;
  color: #242424;
  background: #fff;
  padding: 4vw;
}

/*--------------------company--------------------*/
/*--------------------concept--------------------*/
.concept {
  width: 100%;
  position: relative;
  z-index: 1;
  background: url(/img/common/hatal.png) no-repeat left top/30%;
}
.concept::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.concept_ttl {
  margin-bottom: 8vw;
}
.concept_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: row-reverse;
  gap: 8vw;
}
.concept_item {
  width: 90%;
  margin: 0 auto;
}
.concept_img {
  width: 90%;
  margin: 0 auto;
  height: 66.6666666667vw;
  border-radius: 8vw;
  overflow: hidden;
}
.concept_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

/*--------------------concept--------------------*/
/*--------------------recruit--------------------*/
.want {
  width: 100%;
  position: relative;
  z-index: 1;
  background: url(/img/common/hatal.png) no-repeat left top/30%;
}
.want::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.want_ttl {
  margin-bottom: 8vw;
}
.want_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8vw;
}
.want_item {
  width: 90%;
  margin: 0 auto;
}
.want_img {
  width: 90%;
  margin: 0 auto;
  height: 66.6666666667vw;
  border-radius: 8vw;
  overflow: hidden;
}
.want_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.need {
  width: 100%;
  padding-top: 42.6666666667vw;
  background: url(/img/concept/bggrid.png) repeat center center/auto;
}
.need_flex {
  width: 100%;
  padding: 8vw 4vw;
  background: #fff;
  border-radius: 5.3333333333vw;
  box-shadow: 1.8666666667vw 1.8666666667vw rgba(89, 179, 226, 0.2);
  gap: 8vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.need_img {
  width: 100%;
  height: 53.3333333333vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
.need_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.need_list {
  width: 100%;
}
.need_item {
  font-size: 4.8vw;
  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: 0.2666666667vw 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: 2.4vw;
}

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

/*--------------------recruit--------------------*/
/*--------------------voice--------------------*/
.voice {
  width: 100%;
}
.voice_box {
  width: 100%;
}
.voice_box_ttl {
  font-size: 5.3333333333vw;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 1.0666666667vw double #ff9600;
  padding-bottom: 0.7083333333em;
  margin-bottom: 5.3333333333vw;
}
.voice_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8vw;
}
.voice_dl {
  width: 100%;
  flex-shrink: 1;
}
.voice_img {
  flex-shrink: 0;
  width: 100%;
  height: 66.6666666667vw;
  border-radius: 8vw;
  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: 4%;
}
.work_item {
  width: 48%;
}
.work_item_ttl {
  font-size: 4.8vw;
  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: 0.2666666667vw solid #3186e5;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.work_img {
  width: 100%;
  height: 40vw;
  box-shadow: 1.8666666667vw 1.8666666667vw rgba(89, 179, 226, 0.2);
  margin-bottom: 6.6666666667vw;
}
.work_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

/*--------------------inwork--------------------*/
/*--------------------work--------------------*/
/*--------------------busi--------------------*/
.cmn_busi {
  width: 100%;
}
.cmn_busi_txt {
  margin-bottom: 8vw;
}
.cmn_busi_huki {
  margin: 0 auto 8vw;
  width: 45.3333333333vw;
  background: #3186e5;
  border-radius: 2.6666666667vw;
  padding: 4vw;
  text-align: center;
  font-size: 6.4vw;
  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: 8vw 4%;
}
.cmn_busi_item {
  width: 48%;
}
.cmn_busi_item_ttl {
  font-size: vcw(20);
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #07216e;
  border-bottom: 1.0666666667vw double #ff9600;
  padding-bottom: 0.7083333333em;
}
.cmn_busi_img {
  width: 100%;
  height: 40vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
  margin-bottom: 5.3333333333vw;
}
.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/30%, url(/img/common/hatar.png) no-repeat right top/30%;
  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: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

#water {
  width: 100%;
  padding-top: 42.6666666667vw;
  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: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

.cmn_busif {
  width: 100%;
}
.cmn_busif_txt {
  margin-bottom: 8vw;
}
.cmn_busif_huki {
  margin: 0 auto 8vw;
  width: 45.3333333333vw;
  background: #3186e5;
  border-radius: 2.6666666667vw;
  padding: 4vw;
  text-align: center;
  font-size: 6.4vw;
  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: 8vw;
}
.cmn_busif_list {
  width: 100%;
  background: #fff;
  padding: 8vw 4vw;
  border-radius: 5.3333333333vw;
}
.cmn_busif_item {
  font-size: 4.8vw;
  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: 0.2666666667vw solid #59b3e2;
}
.cmn_busif_item:not(:first-child) {
  margin-top: 2.6666666667vw;
}
.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: 100%;
  height: 66.6666666667vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
.cmn_busif_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

#kai {
  padding-top: 42.6666666667vw;
  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/30%, url(/img/common/hatar.png) no-repeat right top/30%;
}
#other .cmn_busif_list {
  background: #e8f7ff;
}

#store {
  background: url(/img/common/hatal.png) no-repeat left top/30%, url(/img/common/hatar.png) no-repeat right top/30%;
  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: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}

/*--------------------busi--------------------*/
/*--------------------top--------------------*/
.cmn_ttl02 {
  font-size: 7.4666666667vw;
  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: 4vw;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #59b3e2;
  margin-top: 4vw;
  margin-bottom: 8vw;
  text-align: center;
}

.top_gre {
  width: 100%;
  position: relative;
  z-index: 1;
  background: url(/img/common/hatar.png) no-repeat right top/30%;
}
.top_gre::after {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  content: "";
  display: block;
  width: 100%;
  height: 21.3333333333vw;
  background: url(/img/concept/nami_border.png) no-repeat center center/100% 100%;
}
.top_gre_flex {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 20vw;
  justify-content: flex-end;
}
.top_gre_img {
  width: 100%;
  height: 80vw;
  border-radius: 8vw;
  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: 65%;
  height: 20vw;
  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: 8vw;
}
.top_gre_box {
  width: 100%;
}
.top_gre_box_ttl {
  font-size: 5.8666666667vw;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #fff;
  background: #3186e5;
  padding: 3.2vw;
  text-align: center;
  border-radius: 2.6666666667vw;
  margin-bottom: 8vw;
  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(0%, -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(0%, -50%);
  content: "";
  display: block;
  width: 0.7714285714em;
  height: 0.7714285714em;
  background: url(/img/top/rightdecottl.png) no-repeat center center/contain;
}
.top_gre_btn {
  width: 100%;
  background: #ff9600;
  border-radius: 999px;
  padding: 4.8vw 5.3333333333vw;
  margin: 8vw auto 0;
}
.top_gre_btn p {
  text-align: center;
  font-size: 4vw;
  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: 4vw;
  border-radius: 999px;
  background: url(/img/top/borbg.png) repeat center center/auto;
}
.cmn_btn02 p {
  text-align: center;
  font-size: 5.3333333333vw;
  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: 42.6666666667vw;
  background: url(/img/top/bgservice.png) no-repeat center center/cover;
}
.top_service_top {
  width: 100%;
  padding: 4vw;
  background: #fff;
  border-radius: 5.3333333333vw;
  box-shadow: 1.8666666667vw 1.8666666667vw rgba(89, 179, 226, 0.2);
  margin-bottom: 8vw;
}
.top_service_top_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8vw;
}
.top_service_top_box {
  width: 100%;
}
.top_service_top_img {
  width: 100%;
  height: 53.3333333333vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
.top_service_top_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_service_top_btn {
  padding: 4vw 4vw;
  margin-bottom: 8vw;
}
.top_service_top_btn p {
  font-size: 6.6666666667vw;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
}
.top_service_top_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5.3333333333vw;
}
.top_service_top_list li {
  width: 100%;
  font-size: 5.3333333333vw;
  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: 0.2666666667vw 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: 8vw;
}
.top_service_item {
  width: 100%;
  padding: 4vw;
  background: #fff;
  border-radius: 5.3333333333vw;
  box-shadow: 1.8666666667vw 1.8666666667vw rgba(89, 179, 226, 0.2);
}
.top_service_img {
  width: 100%;
  height: 53.3333333333vw;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
.top_service_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_service_btn {
  margin-bottom: 8vw;
}

.top_area {
  padding-bottom: 88vw;
  background: url(/img/top/map.png) no-repeat bottom center/100%;
  margin-left: auto;
}
.top_area_box {
  width: 100%;
}
.top_area_inner {
  position: relative;
  z-index: 1;
}
.top_area_ttl {
  position: relative;
  z-index: 1;
}
.top_area_ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0px;
  left: 0%;
  width: 11.2vw;
  height: 12.8vw;
  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: 20vw;
  height: 25.0666666667vw;
  transform: translate(0%, -70%);
  background: url(/img/top/decor.png) no-repeat center/contain;
}
.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: 2.6666666667vw;
  transform: translate(-50%, 0);
  background: rgba(255, 150, 0, 0.15);
}
.top_area_txt_color {
  font-size: 5.3333333333vw;
  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: 16vw;
}
.top_flow_item {
  width: 100%;
}
.top_flow_img {
  width: 80%;
  height: 72vw;
  margin: 0 auto 2.6666666667vw;
}
.top_flow_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_flow_ttl {
  font-size: 6.4vw;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 900;
  color: #3186e5;
  margin-bottom: 2.6666666667vw;
  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: -280%;
  left: 53%;
  width: 0.5384615385em;
  height: 0.8076923077em;
  transform: translate(0%, 100%);
  rotate: 90deg;
  background: url(/img/common/btnarwb.png) no-repeat center center/contain;
}
.top_flow_txt {
  font-size: 4vw;
  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%;
  padding-bottom: 13.3333333333vw;
  background: #e8f7ff;
  position: relative;
  z-index: 1;
}
.top_work::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0%;
  left: 50%;
  width: 100%;
  height: 21.3333333333vw;
  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: 4%;
}

.top_info {
  padding-top: 32vw;
  background: url(/img/top/bginfo.png) no-repeat center center/cover;
}
.top_info_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8vw;
}
.top_info_txt_line {
  position: relative;
  z-index: 1;
  font-size: 4.2666666667vw;
  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: 8vw;
  background: #07216e;
}
.top_info_item {
  width: 100%;
  background: #fff;
  border-radius: 5.3333333333vw;
  position: relative;
  z-index: 1;
  padding: 8vw 5.3333333333vw;
}
.top_info_item:nth-child(1)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: calc(100% + 3.2vw);
  height: calc(100% + 3.2vw);
  border-radius: 4.8vw;
  border: 0.5333333333vw 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: 8vw;
}
.top_info_item:nth-child(1) .top_info_ttl span {
  font-size: 6.1333333333vw;
  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% - 3.2vw);
  height: calc(100% - 3.2vw);
  border-radius: 4.8vw;
  border: 0.5333333333vw 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: 3.2vw;
  font-size: 6.4vw;
  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: 1.0666666667vw double #ff9600;
}

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

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