@charset "UTF-8";
/**リセット**/
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  background: none;
  color: #000;
  background-color: #fff;
}

body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol, li, figure {
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
}

input, button, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
}
input:focus, button:focus, textarea:focus, select:focus {
  outline: none;
}

input[type="submit"] {
  webkit-appearance: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

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

sup {
  font-size: 0.5em;
  vertical-align: text-top;
}

sub {
  font-size: 0.5em;
  vertical-align: text-bottom;
}

address {
  font-style: normal;
}

/**common**/
:root {
  font-family: "Noto Sans JP", sans-serif !important;
  --swl-font_family: "Noto Sans JP", sans-serif !important;
  font-optical-sizing: auto;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.6;
  font-style: normal;
  font-feature-settings: "palt";
  color: #0B1B40;
}

html {
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
  }
}

body {
  font-size: 1.6rem !important;
}
@media only screen and (max-width: 780px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #0B1B40;
  text-decoration: none;
  outline: none;
}
a:focus {
  outline: none;
}

@media only screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1199px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.u-inner {
  width: 96%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 780px) {
  .u-inner {
    width: 90%;
  }
}

.u-hidden {
  display: none !important;
}

.c-logotype {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.c-ttl01 {
  margin-bottom: 0.66em;
  font-size: 3rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .c-ttl01 {
    font-size: 2.8rem;
  }
}
.c-ttl01 span {
  font-family: "Poppins", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #4058DE;
  display: block;
}

/*ヘッダーブロック*/
.l-toppageHheader {
  position: static;
}
@media only screen and (min-width: 781px) {
  .l-toppageHheader {
    height: 14.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-toppageHheader__fix {
    width: 100%;
    background-color: #ffffff;
    position: fixed;
    top: 14.4rem;
    left: 0;
    z-index: 100;
    -moz-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    -moz-transition: -moz-transform 0.3s;
    -o-transition: -o-transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
  }
}
.l-toppageHheader__headerContent {
  height: 8rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.l-toppageHheader__logo {
  font-size: 4.7rem;
}
@media only screen and (max-width: 999px) {
  .l-toppageHheader__logo {
    font-size: 4rem;
  }
}
.l-toppageHheader__logo i {
  width: 3.5rem;
  height: 3.5rem;
  margin-right: 0.5rem;
  background-image: url("../img/neeed-fav1.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
}
@media only screen and (max-width: 999px) {
  .l-toppageHheader__logo i {
    width: 2.8rem;
    height: 2.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .l-toppageHheader__menu {
    width: 100%;
    height: 100vh;
    padding: 8rem 2rem 1rem 2rem;
    background-color: #ffffff;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
  }
}
@media only screen and (min-width: 781px) {
  .l-toppageHheader__menu ul {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .l-toppageHheader__menu ul {
    display: block;
  }
}
.l-toppageHheader__menu ul li {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 781px) {
  .l-toppageHheader__menu ul li {
    padding: 0 4rem;
    border-right: solid 1px #D5D5D5;
  }
}
@media only screen and (min-width: 781px) and (max-width: 999px) {
  .l-toppageHheader__menu ul li {
    padding: 0 2rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 900px) {
  .l-toppageHheader__menu ul li {
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-toppageHheader__menu ul li a:hover {
    color: #4058DE;
  }
}
@media only screen and (max-width: 780px) {
  .l-toppageHheader__menu ul li {
    border-bottom: solid 1px #D5D5D5;
  }
  .l-toppageHheader__menu ul li a {
    padding: 2rem 0;
    display: block;
  }
}
.l-toppageHheader__menu ul li:last-child {
  border: none;
}
.l-toppageHheader__spMenuBtn {
  width: 4rem;
  height: 4rem;
  background-image: url("../img/menu_open.png");
  -webkit-background-size: cover;
  background-size: cover;
  position: fixed;
  top: 2rem;
  right: 1rem;
  z-index: 110;
}
.l-toppageHheader__search {
  height: 6.4rem;
  padding: 1.4rem 0;
  color: #ffffff;
  background-color: #4058DE;
}
.l-toppageHheader__search form {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.l-toppageHheader__search form label {
  width: 12.6rem;
  font-size: 1.8rem;
  font-weight: 700;
}
.l-toppageHheader__search form input[type="text"] {
  width: calc(100% - (12.6rem +  1.6rem + 2.3rem + 13.5rem) );
  margin: 0 1.6rem 0 2.3rem;
  padding: 0.5em 1em;
  font-size: 1.5rem;
  background-color: #ffffff;
  border: none;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
.l-toppageHheader__search form input[type="text"]::placeholder {
  color: #BEC1C6;
}
.l-toppageHheader__search form button {
  width: 13.5rem;
  height: 3rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #E86919;
  border: none;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.l-toppageHheader__search form button:before {
  width: 1.3rem;
  height: 1.3rem;
  margin-right: 0.5rem;
  content: '';
  background-image: url("../img/icon_search01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.l-toppageHheader__search form button:hover {
  opacity: 0.8;
}
.l-toppageHheader__search__sp {
  width: calc(100% + 4rem);
  margin: 1rem -2rem 0 -2rem;
  padding: 2rem;
  color: #ffffff;
  background-color: #4058DE;
}
.l-toppageHheader__search__sp form {
  text-align: center;
}
.l-toppageHheader__search__sp form label {
  font-weight: 700;
}
.l-toppageHheader__search__sp form input[type="text"] {
  width: 100%;
  margin: 1.5rem 0;
  padding: 0.5em 1em;
  font-size: 1.4rem;
  text-align: left;
  background-color: #ffffff;
  border: none;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
.l-toppageHheader__search__sp form input[type="text"]::placeholder {
  color: #BEC1C6;
}
.l-toppageHheader__search__sp form button {
  width: 13.5rem;
  height: 3rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #E86919;
  border: none;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
}
.l-toppageHheader__search__sp form button:before {
  width: 1.3rem;
  height: 1.3rem;
  margin-right: 0.5rem;
  content: '';
  background-image: url("../img/icon_search01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}

body.menuOpen {
  overflow: hidden;
}
body.menuOpen .l-toppageHheader__spMenuBtn {
  background-image: url("../img/menu_close.png");
}
@media only screen and (min-width: 781px) {
  body.headerFix .l-toppageHheader__fix {
    top: 0;
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@media only screen and (min-width: 781px) {
  body.frontpage .l-toppageHheader__fix {
    position: relative;
    z-index: 10;
  }
}
@media only screen and (min-width: 781px) {
  body.frontpage.headerFix .l-toppageHheader__fix {
    position: fixed;
    z-index: 100;
  }
}

/*フッターブロック*/
.l-toppageFooter {
  padding: 8rem 0;
  color: #ffffff;
  background-color: #22263C;
}
@media only screen and (max-width: 780px) {
  .l-toppageFooter {
    padding: 3rem 0 5rem 0;
  }
}
.l-toppageFooter a {
  color: #ffffff;
}
.l-toppageFooter__pagetop {
  width: 7.2rem;
  display: none;
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  z-index: 90;
}
@media only screen and (max-width: 780px) {
  .l-toppageFooter__pagetop {
    width: 4rem;
    bottom: 2rem;
    right: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-toppageFooter__footerContent {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}
.l-toppageFooter__logo {
  font-size: 4.7rem;
}
@media only screen and (min-width: 781px) {
  .l-toppageFooter__logo {
    padding-right: 10rem;
  }
}
@media only screen and (max-width: 999px) {
  .l-toppageFooter__logo {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .l-toppageFooter__logo {
    margin-bottom: 2rem;
  }
}
.l-toppageFooter__logo i {
  width: 3.5rem;
  height: 3.5rem;
  margin-right: 1rem;
  background-image: url("../img/neeed-fav2.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
}
@media only screen and (max-width: 999px) {
  .l-toppageFooter__logo i {
    width: 2.8rem;
    height: 2.8rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-toppageFooter__menu {
    padding: 7rem 0 7rem 8rem;
    border-left: solid 1px #4F546F;
  }
}
@media only screen and (max-width: 780px) {
  .l-toppageFooter__menu {
    padding-top: 3rem;
    border-top: solid 1px #4F546F;
  }
}
.l-toppageFooter__menu ul li {
  padding-left: 2.3rem;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
.l-toppageFooter__menu ul li:before {
  width: 1.3rem;
  height: 0.2rem;
  margin: 0 1rem 0 -2.3rem;
  content: '';
  background-color: #4058DE;
  display: inline-block;
  vertical-align: 0.3em;
}
.l-toppageFooter__menu ul li + li {
  margin-top: 4.5rem;
}
@media only screen and (max-width: 780px) {
  .l-toppageFooter__menu ul li + li {
    margin-top: 3rem;
  }
}
.l-toppageFooter__menu ul li a:hover {
  text-decoration: underline;
}

/*メインブロック*/
@media only screen and (min-width: 781px) {
  body.frontpage #main {
    margin-top: -6.4rem;
  }
}

/*カテゴリ一覧出力*/
.c-category {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c-category > li {
  width: 31.6%;
  margin: 0 2.6% 6rem 0;
}
@media only screen and (min-width: 1000px) {
  .c-category > li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 999px) {
  .c-category > li {
    width: 48.7%;
  }
  .c-category > li:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 580px) {
  .c-category > li {
    width: 100%;
    margin-right: 0;
  }
}
.c-category__parent {
  padding: 1.3rem 1.3rem 1.3rem 7.2rem;
  font-size: 2rem;
  font-weight: 700;
  background-color: #E6E6E6;
  -moz-border-radius: 0.5rem 0.5rem 0 0;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem 0.5rem 0 0;
  -moz-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  -webkit-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
}
.c-category__parent:before {
  width: 4.2rem;
  height: 4.2rem;
  margin: 0 1.7rem 0 -5.9rem;
  content: '';
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.55em;
}
.c-category__cate01 .c-category__parent:before {
  background-image: url("../img/icon_cate01.png");
}
.c-category__cate02 .c-category__parent:before {
  background-image: url("../img/icon_cate02.png");
}
.c-category__cate03 .c-category__parent:before {
  background-image: url("../img/icon_cate03.png");
}
.c-category__cate04 .c-category__parent:before {
  background-image: url("../img/icon_cate04.png");
}
.c-category__cate05 .c-category__parent:before {
  background-image: url("../img/icon_cate05.png");
}
.c-category__cate06 .c-category__parent:before {
  background-image: url("../img/icon_cate06.png");
}
.c-category__child {
  padding: 2.4rem 3.2rem;
  background-color: #ffffff;
  -moz-border-radius: 0 0 0.5rem 0.5rem;
  -webkit-border-radius: 0;
  border-radius: 0 0 0.5rem 0.5rem;
  -moz-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  -webkit-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
}
.c-category__child ul {
  margin-bottom: 1.5rem;
}
.c-category__child ul li {
  border-top: solid 1px #EBEBEB;
}
.c-category__child ul li:first-child {
  border-top: none;
}
.c-category__child ul li a {
  padding: 1.2rem 1rem 1.2rem 0;
  background-image: url("../img/arrow01.png");
  -webkit-background-size: 0.5rem auto;
  background-size: 0.5rem auto;
  background-repeat: no-repeat;
  background-position: right center;
  display: block;
}
.c-category__child ul li a:hover {
  color: #4058DE;
}
.c-category__btn {
  width: 18rem;
  height: 3.2rem;
  margin: 0 auto;
  font-size: 1.4rem;
  text-align: center;
  color: #4058DE;
  background-color: #ffffff;
  border: solid 1px #4058DE;
  display: block;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
}
.c-category__btn:hover {
  color: #ffffff;
  background-color: #4058DE;
}

.p-index__firstView {
  position: relative;
  z-index: 20;
}
.p-index__firstView__mv {
  width: 100%;
  height: 65rem;
  padding-top: 155px;
  background-image: url("../img/mv_bg.jpg");
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
  color: #ffffff;
}
@media only screen and (max-width: 1199px) {
  .p-index__firstView__mv {
    height: 59.09091vw;
    padding-top: 14.09091vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__mv {
    height: 130vw;
    padding-top: 60.89744vw;
    text-align: center;
    background-image: url("../img/mv_bg_sp.jpg");
  }
}
.p-index__firstView__mv h1 {
  font-size: 4.2rem;
  font-weight: 900;
}
@media only screen and (max-width: 1199px) {
  .p-index__firstView__mv h1 {
    font-size: 3.81818vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__mv h1 {
    font-size: 5.89744vw;
  }
}
.p-index__firstView__mv h1 span {
  margin-right: 0.8em;
  margin-bottom: 0.5em;
  padding: 0.2em 0.64em;
  font-size: 2.5rem;
  font-weight: 700;
  color: #0B1B40;
  background-color: #ffffff;
  display: inline-block;
  -moz-border-radius: 0.2em;
  -webkit-border-radius: 0.2em;
  border-radius: 0.2em;
}
@media only screen and (max-width: 1199px) {
  .p-index__firstView__mv h1 span {
    font-size: 2.27273vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__mv h1 span {
    font-size: 5.12821vw;
  }
}
.p-index__firstView__mv h1 strong {
  font-size: 15.9rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 1199px) {
  .p-index__firstView__mv h1 strong {
    font-size: 14.45455vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__mv h1 strong {
    font-size: 24.23077vw;
    line-height: 0.8;
  }
}
@media only screen and (max-width: 1199px) {
  .p-index__firstView__mv p {
    font-size: 1.45455vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__mv p {
    font-size: 3.27273vw;
  }
}
.p-index__firstView__search {
  width: 90%;
  max-width: 900px;
  margin: -5rem auto 0 auto;
  padding: 2.5rem;
  background-color: #ffffff;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
  position: relative;
  z-index: 1;
  -moz-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  -webkit-box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
  box-shadow: 0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.03);
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__search {
    width: 95%;
    margin-top: -2.5rem;
    padding: 2rem;
  }
}
.p-index__firstView__search form {
  display: -webkit-flex;
  display: flex;
}
@media only screen and (min-width: 781px) {
  .p-index__firstView__search form {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__search form {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.p-index__firstView__search form label {
  width: 12.6rem;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__search form label {
    width: auto;
    margin-bottom: 1rem;
    font-size: 1.5rem;
  }
}
.p-index__firstView__search form input[type="text"] {
  width: calc(100% - (12.6rem +  1.6rem + 2.3rem + 16.5rem) );
  margin: 0 1.6rem 0 2.3rem;
  padding: 0.5em 1em;
  background-color: #F0F0F0;
  border: none;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
.p-index__firstView__search form input[type="text"]::placeholder {
  color: #BEC1C6;
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__search form input[type="text"] {
    width: calc(100% - 8rem);
    margin: 0;
    font-size: 1.4rem;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
}
.p-index__firstView__search form button {
  width: 16.5rem;
  height: 4rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #E86919;
  border: none;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-index__firstView__search form button:before {
  width: 1.8rem;
  height: 1.8rem;
  margin-right: 0.5rem;
  content: '';
  background-image: url("../img/icon_search01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.2em;
}
.p-index__firstView__search form button:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 780px) {
  .p-index__firstView__search form button {
    width: 8rem;
    height: auto;
    font-size: 1.5rem;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
  .p-index__firstView__search form button:before {
    width: 1.3rem;
    height: 1.3rem;
    vertical-align: 0;
  }
  .p-index__firstView__search form button span {
    display: none;
  }
}
.p-index__cateList {
  padding: 6rem 0 4rem 0;
}
.p-index__cateList .c-ttl01 + p {
  margin-bottom: 5rem;
}
.p-index__service {
  width: 93%;
  max-width: 1792px;
  margin: 0 auto 8.6rem auto;
  padding: 6.7rem 0;
  color: #ffffff;
  background-image: url("../img/service_bg01.jpg");
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
  -moz-border-radius: 1rem;
  -webkit-border-radius: 1rem;
  border-radius: 1rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 780px) {
  .p-index__service {
    margin-bottom: 0;
    padding: 3rem 1rem;
  }
}
.p-index__service__text {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 781px) {
  .p-index__service__text {
    display: -webkit-flex;
    display: flex;
  }
}
@media only screen and (min-width: 781px) {
  .p-index__service__text__ttl {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__service__text__ttl {
    margin-bottom: 2rem;
  }
}
.p-index__service__text__ttl h2 {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 1199px) {
  .p-index__service__text__ttl h2 {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 999px) {
  .p-index__service__text__ttl h2 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-index__service__text__ttl h2 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 580px) {
  .p-index__service__text__ttl h2 {
    font-size: 2.3rem;
  }
}
.p-index__service__text__ttl h2 span {
  margin-bottom: 1em;
  padding: 0.45em 1.3em;
  font-size: 2rem;
  color: #4058DE;
  background-color: #ffffff;
  display: inline-block;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
}
@media only screen and (max-width: 999px) {
  .p-index__service__text__ttl h2 span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 580px) {
  .p-index__service__text__ttl h2 span {
    font-size: 1.6rem;
  }
}
.p-index__service__text__ttl h2 strong {
  font-size: 10rem;
  line-height: 1;
}
@media only screen and (max-width: 1199px) {
  .p-index__service__text__ttl h2 strong {
    display: block;
  }
}
@media only screen and (max-width: 999px) {
  .p-index__service__text__ttl h2 strong {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__service__text__ttl h2 strong {
    font-size: 6rem;
    display: inline;
  }
}
@media only screen and (min-width: 781px) {
  .p-index__service__text__content {
    width: 52%;
  }
}
.p-index__service__text__content p {
  line-height: 2;
}
@media only screen and (min-width: 781px) {
  .p-index__service__text__content p + p {
    margin-top: 1em;
  }
}
.p-index__service__img {
  padding: 2.5rem 5rem;
  background-color: #ffffff;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 780px) {
  .p-index__service__img {
    padding: 2rem;
  }
}
.p-index__reason {
  padding: 6rem 0 13rem 0;
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}
.p-index__reason:before {
  width: 100%;
  height: 50rem;
  content: '';
  background-color: #ffffff;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-index__reason {
    padding-bottom: 6rem;
  }
}
.p-index__reason ol {
  margin-top: 8.5rem;
  counter-reset: num;
}
@media only screen and (min-width: 581px) {
  .p-index__reason ol {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.p-index__reason ol li {
  padding: 5.2rem 2.7rem;
  background-color: #F4F4F8;
  counter-increment: num;
  position: relative;
  -moz-border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  border-radius: 0.5rem;
}
@media only screen and (min-width: 581px) {
  .p-index__reason ol li {
    width: 31.6%;
  }
}
@media only screen and (max-width: 780px) {
  .p-index__reason ol li {
    padding: 4rem 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .p-index__reason ol li + li {
    margin-top: 6rem;
  }
}
.p-index__reason ol li:before {
  width: 6.7rem;
  height: 6.7rem;
  content: counter(num,decimal-leading-zero);
  font-family: "Poppins", sans-serif;
  font-size: 2.9rem;
  line-height: 6.7rem;
  text-align: center;
  color: #ffffff;
  background-color: #4058DE;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 780px) {
  .p-index__reason ol li:before {
    width: 5rem;
    height: 5rem;
    font-size: 2.4rem;
    line-height: 5rem;
  }
}
.p-index__reason ol li h3 {
  margin: 2rem 0;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-index__reason ol li h3 {
    font-size: 1.8rem;
  }
}
.p-index__reason ol li p {
  line-height: 1.875;
}
