@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Saira:ital,wght@0,100..900;1,100..900&display=swap";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
body {
  line-height: 1;
  margin: 0;
  font-feature-settings: "palt"
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
nav ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
li {
  list-style: none
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
body {
  color: #141428;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .05em;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
a {
  color: #1e1e6e;
  cursor: pointer;
  outline: none;
  text-decoration: none;
  transition: .1s;
  word-wrap: break-word
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    color: inherit;
    pointer-events: none
  }
  a[href^="tel:"]:hover {
    opacity: 1
  }
}
a img {
  transition: .1s
}
@media(any-hover: hover) {
  a:hover {
    opacity: .7;
    text-decoration: none
  }
}
img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto
}
figcaption {
  font-size: 14px;
  margin-top: 10px;
  text-align: center
}
address {
  font-style: normal;
  text-decoration: none
}
input, button, textarea, select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle
}
button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0
}
input, textarea {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  outline: none;
  padding: 0
}
select {
  cursor: pointer
}
select::-ms-expand {
  display: none
}
input[type=reset], input[type=submit], input[type=button] {
  appearance: button;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: .2s
}
input[type=reset]:hover, input[type=submit]:hover, input[type=button]:hover {
  opacity: .7
}
input[type=reset]:focus, input[type=submit]:focus, input[type=button]:focus {
  outline-offset: -2px
}
input[type=reset]::-webkit-search-decoration, input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none
}
sub {
  font-size: .75em;
  vertical-align: baseline
}
sup {
  font-size: .75em;
  vertical-align: text-top
}
#pageTitle {
  padding: 9.5rem 2rem
}
@media screen and (max-width: 960px) {
  #pageTitle {
    padding: 5rem 0
  }
}
.reason__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start
}
.reason__item {
  width: calc(33.3% - 3.3333333333rem);
  position: relative
}
.reason__item:before {
  position: absolute;
  counter-increment: listnum;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 1.6rem;
  line-height: 25px;
  font-weight: 300;
  background: #1e1e6e;
  height: 25px;
  text-align: center;
  border-radius: 1rem 0 1rem 0;
  top: 0;
  left: 0
}
.reason__item:before {
  content: "0"counter(listnum);
  width: 5rem
}
.reason__img {
  border-radius: 1rem
}
.reason__subtitle {
  font-size: 2rem;
  font-weight: 400;
  line-height: 32px;
  font-weight: 500;
  margin: 2rem auto 1rem
}
.reason__text {
  font-weight: 400;
  counter-reset: #4f4f5e;
  line-height: 24px
}
.case {
  padding: 0px !important;
  background: none !important
}
.case__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap
}
.case__item {
  width: calc(33.3% - 2.1333333333rem);
  border-radius: 2rem;
  background: #fff;
  padding: 1rem 1rem 2rem;
  margin: 4rem 3.2rem 0 0;
  box-shadow: 0px 10px 10px 0px rgba(20, 20, 120, .1);
  display: flex;
  flex-direction: column
}
.case__item:nth-child(3n) {
  margin-right: 0
}
.case__item:nth-child(-n+3) {
  margin-top: 0
}
.case__img {
  position: relative
}
.case__img:before {
  position: absolute;
  counter-increment: listnum;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 1.6rem;
  line-height: 25px;
  font-weight: 300;
  background: #1e1e6e;
  height: 25px;
  text-align: center;
  border-radius: 1rem 0 1rem 0;
  top: 0;
  left: 0
}
.case__img img {
  border-radius: 1rem
}
.case__img:before {
  content: "CASE 0"counter(listnum);
  width: 9rem
}
.case__contents {
  margin: 3rem auto 0;
  width: calc(100% - 4rem);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start
}
.case__category {
  color: #1e1e6e;
  background: #eaedfd;
  text-align: center;
  padding: 0 1rem;
  line-height: 26px;
  font-weight: 500;
  display: inline-block;
  border-radius: 100rem
}
.case__subtitle {
  font-size: 2rem;
  font-weight: 400;
  font-weight: 500;
  margin: 2rem auto 1rem 0
}
.case__text {
  color: #4f4f5e;
  line-height: 24px;
  flex-grow: 1
}
@media screen and (max-width: 960px) {
  .reason__item {
    width: calc(33.3% - 1.3333333333rem)
  }
  .case__item {
    width: calc(50% - 1rem);
    margin: 2rem 2rem 0 0 !important
  }
  .case__item:nth-child(2n) {
    margin-right: 0 !important
  }
  .case__item:nth-child(-n+2) {
    margin-top: 0 !important
  }
  .case__img img {
    width: 100%
  }
}
@media screen and (max-width: 768px) {
  .reason__list {
    display: block
  }
  .reason__item {
    width: 100%
  }
  .reason__item:nth-child(2) {
    margin: 3rem auto
  }
  .reason__img {
    width: 100%
  }
  .case__list {
    display: block
  }
  .case__item {
    width: 100%;
    margin: 0 auto 3rem !important
  }
  .case__item:last-child {
    margin-bottom: 0 !important
  }
}