@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
*, ::before, ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0; }

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }

body {
  margin: 0; }

main {
  display: block; }

p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0; }

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none; }

dt {
  font-weight: 700; }

dd {
  margin-left: 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit; }

pre {
  font-family: monospace,monospace;
  font-size: inherit; }

address {
  font-style: inherit; }

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

abbr[title] {
  text-decoration: underline dotted; }

b, strong {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace,monospace;
  font-size: inherit; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

svg, img, embed, object, iframe {
  vertical-align: bottom; }

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; }

button, [type="button"], [type="reset"], [type="submit"] {
  cursor: pointer; }

button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
  cursor: default; }

:-moz-focusring {
  outline: auto; }

select:disabled {
  opacity: inherit; }

option {
  padding: 0; }

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0; }

legend {
  padding: 0; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

[type="number"] {
  -moz-appearance: textfield; }

label[for] {
  cursor: pointer; }

details {
  display: block; }

summary {
  display: list-item; }

[contenteditable]:focus {
  outline: auto; }

table {
  border-color: inherit;
  border-collapse: collapse; }

caption {
  text-align: left; }

td, th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: 700; }

/* ------------------------------------------------------------------------------------- Media queries */
/* ------------------------------------------------------------------------------------- common */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  height: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch; }

body {
  width: 100%;
  max-width: 750px;
  height: 100%;
  margin: auto;
  position: relative;
  background: white url("../images/mv-back.png") no-repeat center 0/cover;
  color: #221815;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 2;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 4.2666666667vw; } }

img, input[type="image"] {
  max-width: 100%;
  width: auto;
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  object-fit: contain; }

a {
  color: #2800c8; }

a:hover, a img:hover, button:hover {
  opacity: 0.7;
  transition: all 0.3s ease-out; }

a.disabled {
  pointer-events: none; }

.pc {
  display: block; }
  @media screen and (max-width: 767px) {
    .pc {
      display: none; } }

.sp-only {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp-only {
      display: block; } }

.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  flex-wrap: wrap; }

.Acenter {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/* ------------------------------------------------------------------------------------- layout */
header {
  width: 100%;
  line-height: 0; }
  header ul {
    align-items: center; }
    header ul li:nth-child(1) {
      width: 100%;
      padding: 30px 0;
      text-align: center;
      background: yellow;
      color: #f00046;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        header ul li:nth-child(1) {
          padding: 4vw 0; } }
    header ul li:nth-child(2) {
      width: 50%;
      margin: 0 auto 0 10px; }
      @media screen and (max-width: 767px) {
        header ul li:nth-child(2) {
          margin: 0 auto 0 1.3333333333vw; } }
    header ul li:nth-child(3) {
      width: 15%; }
    header ul li:nth-child(4) {
      width: 15%; }

footer {
  width: 100%;
  margin: auto;
  padding: 40px 0 0;
  text-align: center;
  background: #2800c8;
  color: white; }
  @media screen and (max-width: 767px) {
    footer {
      padding: 5.3333333333vw 0 0; } }
  footer p.logo {
    max-width: 50%;
    margin: auto;
    line-height: 0; }
  footer ul {
    max-width: 75%;
    margin: 5% auto;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
    line-height: 0; }
    footer ul li {
      margin: 0 10px; }
      @media screen and (max-width: 767px) {
        footer ul li {
          margin: 0 1.3333333333vw; } }
      footer ul li i {
        margin: 0 5px 0 0;
        display: inline-block;
        vertical-align: middle; }
        footer ul li i img {
          width: 40px; }
          @media screen and (max-width: 767px) {
            footer ul li i img {
              width: 5.3333333333vw; } }
  footer p.copy {
    width: 100%;
    padding: 20px 0;
    display: block;
    background: #221815; }
    @media screen and (max-width: 767px) {
      footer p.copy {
        padding: 2.6666666667vw 0; } }
    footer p.copy a {
      color: white;
      text-decoration: underline; }
    footer p.copy small {
      display: block; }

ul.fix-b {
  width: 100%;
  padding: 20px;
  position: sticky;
  bottom: 0;
  z-index: 5;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.8);
  line-height: 0; }
  @media screen and (max-width: 767px) {
    ul.fix-b {
      padding: 2.6666666667vw; } }
  ul.fix-b li:nth-child(1) {
    width: 80%;
    margin: 0 auto 20px; }
    @media screen and (max-width: 767px) {
      ul.fix-b li:nth-child(1) {
        margin: 0 auto 2.6666666667vw; } }
  ul.fix-b li:nth-child(2) {
    width: 56%; }
  ul.fix-b li:nth-child(3) {
    width: 42%; }

.sec1 {
  width: 100%;
  padding: 40px 0;
  position: relative;
  background: url("../images/mv-bk.png") no-repeat 0 0/cover;
  line-height: 0; }
  @media screen and (max-width: 767px) {
    .sec1 {
      padding: 5.3333333333vw 0; } }
  .sec1::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    display: block;
    background: url("../images/mv-pin.png") no-repeat 0 0/100% auto; }
  .sec1 h1 {
    width: 75%;
    position: relative;
    left: 10px;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .sec1 h1 {
        left: 1.3333333333vw; } }
  .sec1 h2 {
    width: 92%;
    margin: -60px auto 30px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .sec1 h2 {
        margin: -8vw auto 4vw; } }
  .sec1 ul {
    width: 95%;
    margin: 0 auto 20px; }
    @media screen and (max-width: 767px) {
      .sec1 ul {
        margin: 0 auto 2.6666666667vw; } }
    .sec1 ul li {
      width: calc(100%/3); }
  .sec1 figure {
    width: 92%;
    margin: 0 auto; }

.sec2 {
  width: 100%;
  padding: 40px 0 80px;
  position: relative;
  text-align: center;
  background: #2800c8;
  background: linear-gradient(0deg, #2800c8 0%, #00c8ff 100%); }
  @media screen and (max-width: 767px) {
    .sec2 {
      padding: 5.3333333333vw 0 10.6666666667vw; } }
  .sec2::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    background: url("../images/sec2-bk.png") no-repeat 0 0/100% auto; }
  .sec2::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    bottom: -70px;
    left: 50%;
    z-index: 1;
    margin-right: -50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 60px solid #2800c8; }
    @media screen and (max-width: 767px) {
      .sec2::after {
        bottom: -9.3333333333vw;
        border-left: 8vw solid transparent;
        border-right: 8vw solid transparent;
        border-top: 8vw solid #2800c8; } }
  .sec2 ul {
    width: 90%;
    margin: 320px auto 0;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 767px) {
      .sec2 ul {
        margin: 42.6666666667vw auto 0; } }
    .sec2 ul li {
      width: 100%;
      margin: 0 auto;
      padding: 230px 0 70px; }
      @media screen and (max-width: 767px) {
        .sec2 ul li {
          padding: 30.6666666667vw 0 9.3333333333vw; } }
      .sec2 ul li:nth-child(1) {
        background: url("../images/sec2-box1.svg") no-repeat 0 0/100% auto; }
      .sec2 ul li:nth-child(2) {
        background: url("../images/sec2-box2.svg") no-repeat 0 0/100% auto; }
      .sec2 ul li:nth-child(3) {
        background: url("../images/sec2-box3.svg") no-repeat 0 0/100% auto; }
      .sec2 ul li h3 {
        margin: 0 auto;
        color: #2800c8;
        font-size: 70px;
        font-weight: 900;
        font-style: italic; }
        @media screen and (max-width: 767px) {
          .sec2 ul li h3 {
            font-size: 9.3333333333vw; } }
      .sec2 ul li h4 {
        margin: 0 auto;
        display: inline;
        background: linear-gradient(transparent 70%, yellow 70%);
        color: #221815;
        font-size: 45px;
        font-weight: 900;
        line-height: 0; }
        @media screen and (max-width: 767px) {
          .sec2 ul li h4 {
            font-size: 6vw; } }
      .sec2 ul li p {
        margin: 20px auto 0; }
        @media screen and (max-width: 767px) {
          .sec2 ul li p {
            margin: 2.6666666667vw auto 0; } }

.sec3 {
  width: 100%;
  padding: 40px 0 100px;
  position: relative;
  background: #f2f6f9 url("../images/sec3-bk.png") no-repeat 0 0/100% auto; }
  @media screen and (max-width: 767px) {
    .sec3 {
      padding: 5.3333333333vw 0 13.3333333333vw; } }
  .sec3 figure {
    width: 90%;
    margin: 350px auto 0;
    padding: 50px 40px;
    background: #2800c8;
    border-radius: 30px; }
    @media screen and (max-width: 767px) {
      .sec3 figure {
        margin: 46.6666666667vw auto 0;
        padding: 6.6666666667vw 5.3333333333vw;
        border-radius: 4vw; } }
    .sec3 figure h3 {
      margin: 0 auto 30px;
      text-align: center;
      color: yellow;
      font-size: 50px;
      font-weight: 900;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .sec3 figure h3 {
          margin: 0 auto 4vw;
          font-size: 6.6666666667vw; } }
      .sec3 figure h3 i {
        width: 25%;
        margin: 0 auto 10px;
        display: block; }
        @media screen and (max-width: 767px) {
          .sec3 figure h3 i {
            margin: 0 auto 1.3333333333vw; } }
    .sec3 figure p {
      color: white; }
      .sec3 figure p small {
        margin: 40px auto 0;
        display: block; }
        @media screen and (max-width: 767px) {
          .sec3 figure p small {
            margin: 5.3333333333vw auto 0; } }

.sec4 {
  width: 100%; }
  .sec4 h3 {
    margin: -60px auto 0;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .sec4 h3 {
        margin: -8vw auto 0; } }
  .sec4 ul {
    width: 100%;
    margin: -40px auto 0;
    padding: 60px 40px;
    position: relative;
    background: url("../images/sec4-bk.png") no-repeat 0 0/cover; }
    @media screen and (max-width: 767px) {
      .sec4 ul {
        margin: -5.3333333333vw auto 0;
        padding: 8vw 5.3333333333vw; } }
    .sec4 ul li {
      padding: 15px 0 20px 70px;
      position: relative;
      border-bottom: 1px dashed white;
      color: white;
      font-size: 40px;
      font-weight: 700;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .sec4 ul li {
          padding: 2vw 0 2.6666666667vw 9.3333333333vw;
          font-size: 5.3333333333vw; } }
      .sec4 ul li::before {
        content: "";
        padding: 15px;
        position: absolute;
        left: 0;
        top: 35%;
        display: block;
        background: url("../images/i-check.svg") no-repeat 0 0/cover; }
        @media screen and (max-width: 767px) {
          .sec4 ul li::before {
            padding: 3.3333333333vw; } }

.sec5 {
  width: 100%; }
  .sec5 figure {
    width: 100%;
    position: relative;
    line-height: 0; }
    .sec5 figure figcaption {
      width: 40%;
      position: absolute;
      bottom: -160px;
      left: 50%;
      z-index: 2;
      margin-right: -50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 767px) {
        .sec5 figure figcaption {
          bottom: -21.3333333333vw; } }
  .sec5 .contact-box {
    width: 100%;
    padding: 80px 0 40px;
    position: relative;
    z-index: 1;
    background: url("../images/water-bk.png") no-repeat 0 0/cover; }
    @media screen and (max-width: 767px) {
      .sec5 .contact-box {
        padding: 10.6666666667vw 0 5.3333333333vw; } }
    .sec5 .contact-box::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      z-index: 1;
      display: block;
      background: url("../images/sec5-pin.png") no-repeat 0 0/100% auto; }
    .sec5 .contact-box h2 {
      width: 70%;
      position: relative;
      left: 10px;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .sec5 .contact-box h2 {
          left: 1.3333333333vw; } }
    .sec5 .contact-box ul {
      width: 90%;
      margin: 20px auto 0;
      padding: 40px;
      text-align: center;
      background: rgba(40, 0, 200, 0.8); }
      @media screen and (max-width: 767px) {
        .sec5 .contact-box ul {
          margin: 2.6666666667vw auto 0;
          padding: 5.3333333333vw; } }
      .sec5 .contact-box ul li:nth-child(1) {
        margin: 0 auto 20px; }
        @media screen and (max-width: 767px) {
          .sec5 .contact-box ul li:nth-child(1) {
            margin: 0 auto 2.6666666667vw; } }

.sec6 {
  width: 100%;
  padding: 400px 0 80px;
  position: relative;
  background: #2800c8;
  background: linear-gradient(0deg, #2800c8 0%, #00c8ff 100%); }
  @media screen and (max-width: 767px) {
    .sec6 {
      padding: 53.3333333333vw 0 10.6666666667vw; } }
  .sec6::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
    display: block;
    background: url("../images/sec6-bk.png") no-repeat 0 0/100% auto; }
  .sec6 figure {
    position: relative;
    z-index: 2; }
    .sec6 figure img {
      width: 90%;
      display: block; }
    .sec6 figure figcaption {
      width: 90%;
      padding: 170px 40px 30px;
      background: white; }
      @media screen and (max-width: 767px) {
        .sec6 figure figcaption {
          padding: 22.6666666667vw 5.3333333333vw 4vw; } }
      .sec6 figure figcaption h3 {
        margin: 0 auto 20px;
        color: #2800c8;
        font-size: 38px;
        font-weight: 700;
        line-height: 1.8; }
        @media screen and (max-width: 767px) {
          .sec6 figure figcaption h3 {
            margin: 0 auto 2.6666666667vw;
            font-size: 5.0666666667vw; } }
        .sec6 figure figcaption h3 em {
          color: #f00046;
          font-style: normal; }
    .sec6 figure:nth-of-type(1) img {
      margin: 0 auto 0 0; }
    .sec6 figure:nth-of-type(1) figcaption {
      margin: -150px 0 80px auto; }
      @media screen and (max-width: 767px) {
        .sec6 figure:nth-of-type(1) figcaption {
          margin: -20vw 0 10.6666666667vw auto; } }
    .sec6 figure:nth-of-type(1)::after {
      content: "";
      width: 0;
      height: 0;
      position: absolute;
      bottom: -80px;
      left: 50%;
      margin-right: -50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      border-left: 40px solid transparent;
      border-right: 40px solid transparent;
      border-top: 40px solid yellow; }
      @media screen and (max-width: 767px) {
        .sec6 figure:nth-of-type(1)::after {
          bottom: -10.6666666667vw;
          border-left: 5.3333333333vw solid transparent;
          border-right: 5.3333333333vw solid transparent;
          border-top: 5.3333333333vw solid yellow; } }
    .sec6 figure:nth-of-type(2) img {
      margin: 0 0 0 auto; }
    .sec6 figure:nth-of-type(2) figcaption {
      margin: -150px auto 0 0; }
      @media screen and (max-width: 767px) {
        .sec6 figure:nth-of-type(2) figcaption {
          margin: -20vw auto 0 0; } }

.sec7 {
  width: 100%;
  padding: 80px 0 0;
  position: relative;
  background: yellow url("../images/sec7-bk.png") no-repeat 0 0/cover; }
  @media screen and (max-width: 767px) {
    .sec7 {
      padding: 10.6666666667vw 0 0; } }
  .sec7 figure {
    line-height: 0; }
    .sec7 figure:nth-of-type(1) {
      width: 90%;
      margin: 0 auto 50px; }
      @media screen and (max-width: 767px) {
        .sec7 figure:nth-of-type(1) {
          margin: 0 auto 6.6666666667vw; } }
    .sec7 figure:nth-of-type(2) {
      width: 95%;
      margin: 0 auto 0 0; }

.sec8 {
  width: 100%;
  padding: 80px 0 80px;
  position: relative;
  background: #2800c8;
  background: linear-gradient(0deg, #00c8ff 0%, #2800c8 100%); }
  @media screen and (max-width: 767px) {
    .sec8 {
      padding: 10.6666666667vw 0 10.6666666667vw; } }
  .sec8 h3 {
    width: 90%;
    margin: 0 auto 80px;
    line-height: 0; }
    @media screen and (max-width: 767px) {
      .sec8 h3 {
        margin: 0 auto 10.6666666667vw; } }
  .sec8 figure {
    width: 90%;
    margin: 0 auto 130px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .sec8 figure {
        margin: 0 auto 17.3333333333vw; } }
    .sec8 figure::after {
      content: "";
      width: 0;
      height: 0;
      position: absolute;
      bottom: -80px;
      left: 50%;
      margin-right: -50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      border-left: 40px solid transparent;
      border-right: 40px solid transparent;
      border-top: 40px solid #f00046; }
      @media screen and (max-width: 767px) {
        .sec8 figure::after {
          bottom: -10.6666666667vw;
          border-left: 5.3333333333vw solid transparent;
          border-right: 5.3333333333vw solid transparent;
          border-top: 5.3333333333vw solid #f00046; } }
    .sec8 figure p.step {
      padding: 40px 50px 30px;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 1;
      display: table;
      margin-right: -50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      background: #00c8ff;
      color: white;
      font-size: 50px;
      font-weight: 700;
      line-height: 1.5;
      line-height: 0; }
      @media screen and (max-width: 767px) {
        .sec8 figure p.step {
          padding: 5.3333333333vw 6.6666666667vw 4vw;
          font-size: 6.6666666667vw; } }
      .sec8 figure p.step em {
        display: inline-block;
        vertical-align: bottom;
        font-size: 70px; }
        @media screen and (max-width: 767px) {
          .sec8 figure p.step em {
            font-size: 9.3333333333vw; } }
    .sec8 figure figcaption {
      padding: 80px 40px 50px;
      background: white; }
      @media screen and (max-width: 767px) {
        .sec8 figure figcaption {
          padding: 10.6666666667vw 5.3333333333vw 6.6666666667vw; } }
      .sec8 figure figcaption h4 {
        margin: 0 auto 50px;
        text-align: center;
        color: #2800c8;
        font-size: 45px;
        font-weight: 700;
        line-height: 0; }
        @media screen and (max-width: 767px) {
          .sec8 figure figcaption h4 {
            margin: 0 auto 6.6666666667vw;
            font-size: 6vw; } }
    .sec8 figure:last-of-type {
      margin: auto; }
      .sec8 figure:last-of-type::after {
        display: none; }
  .sec8 .credit {
    width: 90%;
    margin: 50px auto 0;
    padding: 30px 50px 50px;
    text-align: center;
    border: 1px solid white;
    color: white; }
    @media screen and (max-width: 767px) {
      .sec8 .credit {
        margin: 6.6666666667vw auto 0;
        padding: 4vw 6.6666666667vw 6.6666666667vw; } }
    .sec8 .credit h5 {
      margin: 0 auto 30px;
      padding: 0 20px;
      display: table;
      border-bottom: 2px solid white;
      font-size: 45px;
      font-weight: 700; }
      @media screen and (max-width: 767px) {
        .sec8 .credit h5 {
          margin: 0 auto 4vw;
          padding: 0 2.6666666667vw;
          font-size: 6vw; } }
      .sec8 .credit h5 + p {
        width: 100%;
        margin: 0 auto 20px; }
        @media screen and (max-width: 767px) {
          .sec8 .credit h5 + p {
            margin: 0 auto 2.6666666667vw; } }
    .sec8 .credit p {
      width: 60%;
      margin: auto; }

.sec9 {
  width: 100%; }
  .sec9 .contact-box {
    width: 100%;
    padding: 80px 0 40px;
    position: relative;
    background: url("../images/water-bk.png") no-repeat 0 0/cover; }
    @media screen and (max-width: 767px) {
      .sec9 .contact-box {
        padding: 10.6666666667vw 0 5.3333333333vw; } }
    .sec9 .contact-box::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 30px;
      z-index: 1;
      display: block;
      background: url("../images/sec9-bk.png") no-repeat 0 0/100% auto; }
      @media screen and (max-width: 767px) {
        .sec9 .contact-box::before {
          top: 4vw; } }
    .sec9 .contact-box h2 {
      width: 65%;
      position: relative;
      left: 30px;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .sec9 .contact-box h2 {
          left: 4vw; } }
    .sec9 .contact-box ul {
      width: 90%;
      margin: 50px auto 0;
      padding: 40px;
      position: relative;
      text-align: center;
      z-index: 2;
      background: rgba(40, 0, 200, 0.8); }
      @media screen and (max-width: 767px) {
        .sec9 .contact-box ul {
          margin: 6.6666666667vw auto 0;
          padding: 5.3333333333vw; } }
      .sec9 .contact-box ul li:nth-child(1) {
        margin: 0 auto 20px; }
        @media screen and (max-width: 767px) {
          .sec9 .contact-box ul li:nth-child(1) {
            margin: 0 auto 2.6666666667vw; } }
        .sec9 .contact-box ul li:nth-child(1) h3 {
          color: yellow;
          font-size: 40px;
          font-weight: 700; }
          @media screen and (max-width: 767px) {
            .sec9 .contact-box ul li:nth-child(1) h3 {
              font-size: 5.3333333333vw; } }
          .sec9 .contact-box ul li:nth-child(1) h3 + p {
            color: white; }
      .sec9 .contact-box ul li:nth-child(2) {
        margin: 0 auto 20px; }
        @media screen and (max-width: 767px) {
          .sec9 .contact-box ul li:nth-child(2) {
            margin: 0 auto 2.6666666667vw; } }

.sec10 {
  width: 100%;
  padding: 50px 0 40px;
  background: #00c8ff; }
  @media screen and (max-width: 767px) {
    .sec10 {
      padding: 6.6666666667vw 0 5.3333333333vw; } }
  .sec10 h2 {
    width: 90%;
    margin: 0 auto 30px; }
    @media screen and (max-width: 767px) {
      .sec10 h2 {
        margin: 0 auto 4vw; } }
  .sec10 dl {
    width: 90%;
    margin: 0 auto 30px;
    background: #2800c8; }
    @media screen and (max-width: 767px) {
      .sec10 dl {
        margin: 0 auto 4vw; } }
    .sec10 dl dt {
      padding: 20px 70px 20px 100px;
      position: relative;
      cursor: pointer;
      color: white;
      font-size: 35px;
      line-height: 1.5; }
      @media screen and (max-width: 767px) {
        .sec10 dl dt {
          padding: 2.6666666667vw 9.3333333333vw 2.6666666667vw 13.3333333333vw;
          font-size: 4.6666666667vw; } }
      .sec10 dl dt::before {
        content: "Q.";
        position: absolute;
        left: 30px;
        top: 20px;
        font-size: 50px;
        font-weight: 700; }
        @media screen and (max-width: 767px) {
          .sec10 dl dt::before {
            left: 4vw;
            top: 2.6666666667vw;
            font-size: 6.6666666667vw; } }
      .sec10 dl dt::after {
        content: "＋";
        position: absolute;
        right: 20px;
        top: 40px;
        font-size: 40px; }
        @media screen and (max-width: 767px) {
          .sec10 dl dt::after {
            right: 2.6666666667vw;
            top: 5.3333333333vw;
            font-size: 5.3333333333vw; } }
      .sec10 dl dt.active::after {
        content: "－";
        position: absolute;
        right: 20px;
        top: 40px;
        font-size: 40px; }
        @media screen and (max-width: 767px) {
          .sec10 dl dt.active::after {
            right: 2.6666666667vw;
            top: 5.3333333333vw;
            font-size: 5.3333333333vw; } }
    .sec10 dl dd {
      width: 100%;
      margin: auto;
      padding: 20px 30px 20px 100px;
      border: 2px solid #2800c8;
      background: white;
      position: relative;
      display: none; }
      @media screen and (max-width: 767px) {
        .sec10 dl dd {
          padding: 2.6666666667vw 4vw 2.6666666667vw 13.3333333333vw; } }
      .sec10 dl dd::before {
        content: "A.";
        position: absolute;
        left: 30px;
        top: 10px;
        color: #2800c8;
        font-size: 50px;
        font-weight: 700; }
        @media screen and (max-width: 767px) {
          .sec10 dl dd::before {
            left: 4vw;
            top: 1.3333333333vw;
            font-size: 6.6666666667vw; } }

.sec11 {
  width: 100%;
  padding: 50px 0 40px;
  text-align: center;
  background: rgba(0, 200, 255, 0.6); }
  @media screen and (max-width: 767px) {
    .sec11 {
      padding: 6.6666666667vw 0 5.3333333333vw; } }
  .sec11 h2 {
    width: 90%;
    margin: 0 auto 30px; }
    @media screen and (max-width: 767px) {
      .sec11 h2 {
        margin: 0 auto 4vw; } }
  .sec11 dl {
    width: 90%;
    margin: 0 auto 30px;
    background: #2800c8; }
    @media screen and (max-width: 767px) {
      .sec11 dl {
        margin: 0 auto 4vw; } }
    .sec11 dl dt {
      padding: 40px 0;
      color: white;
      font-size: 35px;
      line-height: 0; }
      @media screen and (max-width: 767px) {
        .sec11 dl dt {
          padding: 5.3333333333vw 0;
          font-size: 4.6666666667vw; } }
    .sec11 dl dd {
      width: 100%;
      margin: auto;
      padding: 40px;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      column-gap: 10px;
      row-gap: 10px;
      background: white; }
      @media screen and (max-width: 767px) {
        .sec11 dl dd {
          padding: 5.3333333333vw;
          column-gap: 1.3333333333vw;
          row-gap: 1.3333333333vw; } }
      .sec11 dl dd span {
        padding: 30px 0;
        background: #f2f2f2;
        border-radius: 10px;
        font-size: 22px;
        line-height: 0; }
        @media screen and (max-width: 767px) {
          .sec11 dl dd span {
            padding: 4vw 0;
            border-radius: 1.3333333333vw;
            font-size: 2.9333333333vw; } }
.about {
  width: 100%;
  padding: 50px 0 40px;
  background: rgba(0, 200, 255, 0.6); }
  @media screen and (max-width: 767px) {
    .about {
      padding: 6.6666666667vw 0 5.3333333333vw; } }
  .about h2 {
    width: 90%;
    margin: 0 auto 30px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .about h2 {
        margin: 0 auto 4vw; } }
  .about dl {
    width: 90%;
    margin: 0 auto 30px;
    background: #2800c8; }
    @media screen and (max-width: 767px) {
      .about dl {
        margin: 0 auto 4vw; } }
    .about dl dt {
      text-align: center;
      padding: 40px 0;
      color: white;
      font-size: 35px;
      line-height: 0; }
      @media screen and (max-width: 767px) {
        .about dl dt {
          padding: 5.3333333333vw 0;
          font-size: 4.6666666667vw; } }
    .about dl dd {
      width: 100%;
      margin: auto;
      padding: 40px;
      display: block;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      column-gap: 10px;
      row-gap: 10px;
      background: white; }
      @media screen and (max-width: 767px) {
        .about dl dd {
          padding: 5.3333333333vw;
          column-gap: 1.3333333333vw;
          row-gap: 1.3333333333vw; } }
    .about dl dd p {
     margin-top: 1rem; 
    }

/* ------------------------------------------------------------------------------------------------- */
