@charset "UTF-8";
/* CSS Document */
/* CSS Document */
html {
  font: 10px/1.5 "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  /* 基本文字設定 */
  *font-size: small;
  /* Win IE7およびWin IE6標準準拠モード向け */
  *font: x-small;
  /* Win IE 5-5.5､6(後方互換モード)向け */
  letter-spacing: 0;
  background-color: #fff;
  color: #0E0C38;
  font-weight: normal; }

body {
  background-color: #fff; }

* {
  outline: none; }

a {
  color: #05A3E0;
  outline: none;
  text-decoration: none;
  transition: opacity 300ms ease-in-out; }
  a:after {
    text-decoration: none; }
  a:hover, a:focus {
    opacity: 0.6; }
    a:hover img, a:focus img {
      opacity: 0.6; }
  a:focus-visible {
    outline: dotted 2px #000;
    outline-offset: -2px;
    color: #000;
    box-shadow: 0 0 0 2px #000; }
  a img {
    background: url(../image/share/transparent.png);
    transition: opacity 300ms ease-in-out; }
  .main-wpcontent a {
    color: #05A3E0;
    text-decoration: underline; }

button:focus {
  opacity: 0.6; }
button:focus-visible {
  outline: dotted 2px #000;
  outline-offset: -2px;
  color: #000;
  box-shadow: 0 0 0 2px #000;
  opacity: 0.6; }

#header {
  position: sticky;
  top: 0;
  z-index: 400;
  background-color: #fff;
  box-shadow: 0 4px 4px 0 rgba(204, 204, 204, 0.25); }
  @media screen and (max-width: 600px) {
    #header {
      box-shadow: 0px 1.6vw 1.6vw 0 rgba(204, 204, 204, 0.25); } }
  #header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 1140px;
    height: 100px;
    margin: 0 auto;
    padding: 0; }
    @media screen and (max-width: 1200px) {
      #header__inner {
        width: inherit;
        padding: 0 0 0 30px; } }
    @media screen and (max-width: 600px) {
      #header__inner {
        height: 26.667vw;
        padding: 0 0 0 5.333vw; } }

#identity-area {
  flex: 0 0 300px; }
  @media screen and (max-width: 600px) {
    #identity-area {
      flex: 0 0 58.667vw; } }
  #identity-area img {
    width: 100%;
    height: auto; }

#menu-button--close,
#menu-button {
  display: none;
  position: relative;
  width: 100px;
  height: 100px;
  background-color: #E7316E;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border-radius: 0;
  transition: all 300ms ease-in-out;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  font-weight: bold; }
  #menu-button--close:hover,
  #menu-button:hover {
    cursor: pointer; }
  @media screen and (max-width: 1200px) {
    #menu-button--close,
    #menu-button {
      display: block; } }
  @media screen and (max-width: 600px) {
    #menu-button--close,
    #menu-button {
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translate(0, -50%);
      transform: translate(0, -50%);
      width: 26.667vw;
      height: 26.667vw;
      font-size: 3.2vw; } }
  #menu-button--close .menu--line,
  #menu-button .menu--line {
    position: absolute;
    display: block;
    width: 50px;
    height: 2px;
    background-color: #fff;
    left: 50%;
    top: 50px;
    border-radius: 99999px;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: all 300ms ease-in-out;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
    @media screen and (max-width: 600px) {
      #menu-button--close .menu--line,
      #menu-button .menu--line {
        top: 13.3335vw;
        width: 13.333vw; } }
  #menu-button--close .menu--line--top,
  #menu-button .menu--line--top {
    -webkit-transform: translate(-50%, -18.5px);
    transform: translate(-50%, -18.5px); }
    @media screen and (max-width: 600px) {
      #menu-button--close .menu--line--top,
      #menu-button .menu--line--top {
        -webkit-transform: translate(-50%, -5.3335vw);
        transform: translate(-50%, -5.3335vw); } }
  #menu-button--close .menu--line--bottom,
  #menu-button .menu--line--bottom {
    -webkit-transform: translate(-50%, 18.5px);
    transform: translate(-50%, 18.5px); }
    @media screen and (max-width: 600px) {
      #menu-button--close .menu--line--bottom,
      #menu-button .menu--line--bottom {
        -webkit-transform: translate(-50%, 5.3335vw);
        transform: translate(-50%, 5.3335vw); } }
  #menu-button--close.active .menu--line--top,
  #menu-button.active .menu--line--top {
    -webkit-transform: translate(-50%, 0) rotate(45deg);
    transform: translate(-50%, 0) rotate(45deg); }
  #menu-button--close.active .menu--line--middle,
  #menu-button.active .menu--line--middle {
    opacity: 0; }
  #menu-button--close.active .menu--line--bottom,
  #menu-button.active .menu--line--bottom {
    -webkit-transform: translate(-50%, 0) rotate(-45deg);
    transform: translate(-50%, 0) rotate(-45deg); }

#global-area {
  margin: 0;
  padding: 0; }
  @media screen and (max-width: 1200px) {
    #global-area {
      display: none; } }
  #global-area__inner {
    margin: 0;
    padding: 0; }

#nav-global {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0 50px;
  align-items: center;
  justify-content: flex-end; }
  #nav-global li {
    margin: 0;
    padding: 0;
    text-align: center; }
    #nav-global li a {
      display: block; }
      #nav-global li a .nav-global--jp {
        font-size: 14px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #0E0C38;
        display: block; }
      #nav-global li a .nav-global--en {
        display: block;
        font-size: 12px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #E7316E; }
    #nav-global li.nav-global--contact a {
      display: flex;
      align-content: center;
      justify-content: center;
      align-items: center;
      gap: 10px;
      padding: 7px;
      background: #E7316E;
      border-radius: 999999px;
      width: 227px;
      color: #fff;
      font-size: 18px;
      font-weight: normal;
      line-height: 1.5;
      /* 128.571% */
      letter-spacing: 0; }
      #nav-global li.nav-global--contact a::before {
        content: "";
        background: url("../image/share/icon-mail.svg") center center no-repeat;
        background-size: contain;
        width: 25px;
        height: 25px; }

#global-area-sp {
  display: none; }
  @media screen and (max-width: 1200px) {
    #global-area-sp {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      display: block;
      height: 0;
      margin: 0;
      padding: 0;
      z-index: 600;
      box-sizing: border-box;
      transition: all 300ms ease-in-out;
      overflow: hidden;
      text-align: center;
      overflow-y: scroll;
      overflow-x: hidden; }
      #global-area-sp::-webkit-scrollbar {
        width: 4px; }
      #global-area-sp::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 2px; }
      #global-area-sp::-webkit-scrollbar-thumb {
        background: #0E0C38;
        border-radius: 2px; } }
  #global-area-sp.active {
    height: 100vh; }
  #global-area-sp__inner {
    position: relative;
    padding: 0;
    min-height: 100%;
    background-color: #EDEDED; }

#identity-area-sp {
  position: relative;
  width: auto;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 30px;
  background-color: #fff;
  box-shadow: 0 4px 4px 0 rgba(204, 204, 204, 0.25); }
  @media screen and (max-width: 600px) {
    #identity-area-sp {
      height: 26.667vw;
      padding: 0 0 0 5.333vw;
      box-shadow: 0px 0.8vw 1.6vw rgba(0, 0, 0, 0.16); } }
  #identity-area-sp img {
    flex: 0 0 300px;
    line-height: 1;
    height: auto; }
    @media screen and (max-width: 600px) {
      #identity-area-sp img {
        flex: 0 0 58.667vw; } }

#nav-global-sp {
  margin: 60px auto 0;
  padding: 0 30px;
  max-width: 600px; }
  @media screen and (max-width: 600px) {
    #nav-global-sp {
      margin-top: 10.667vw;
      padding: 0 5.333vw;
      width: inherit; } }
  #nav-global-sp > li {
    border-bottom: 2px solid #fff;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 600px) {
      #nav-global-sp > li {
        border-bottom: 0.533vw solid #fff; } }
    #nav-global-sp > li:first-child {
      border-top: 2px solid #fff; }
      @media screen and (max-width: 600px) {
        #nav-global-sp > li:first-child {
          border-top: 0.533vw solid #fff; } }
    #nav-global-sp > li a {
      display: block;
      margin: 0;
      padding: 20px 0; }
      @media screen and (max-width: 600px) {
        #nav-global-sp > li a {
          padding: 4vw 0; } }
      #nav-global-sp > li a .nav-global-sp--jp {
        display: block;
        color: #0E0C38;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */ }
        @media screen and (max-width: 600px) {
          #nav-global-sp > li a .nav-global-sp--jp {
            font-size: 3.733vw; } }
      #nav-global-sp > li a .nav-global-sp--en {
        display: block;
        margin: 3px 0 0;
        color: #E7316E;
        font-size: 12px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */ }
        @media screen and (max-width: 600px) {
          #nav-global-sp > li a .nav-global-sp--en {
            margin-top: 0.8vw;
            font-size: 3.2vw; } }
    #nav-global-sp > li.nav-global-sp--contact {
      border-bottom: none;
      margin: 40px 0 0; }
      @media screen and (max-width: 600px) {
        #nav-global-sp > li.nav-global-sp--contact {
          margin-top: 10.667vw; } }
      #nav-global-sp > li.nav-global-sp--contact a {
        display: flex;
        justify-content: center;
        align-content: center;
        align-items: center;
        gap: 10px;
        width: 100%;
        border-radius: 40px;
        background: #E7316E;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.286;
        color: #fff;
        padding: 22px 0; }
        #nav-global-sp > li.nav-global-sp--contact a::before {
          content: "";
          background: url("../image/share/icon-mail.svg") center center no-repeat;
          background-size: contain;
          width: 27px;
          height: 27px; }
        @media screen and (max-width: 600px) {
          #nav-global-sp > li.nav-global-sp--contact a {
            font-size: 3.733vw;
            padding: 5.867vw 0;
            border-radius: 13.333vw;
            box-shadow: 0 1.333vw 0 0 rgba(204, 204, 204, 0.7); } }

#bottom-area-sp {
  display: none; }
  @media screen and (max-width: 1200px) {
    #bottom-area-sp {
      display: block;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 400; } }

#bottom-nav-sp .bottom-nav-sp--list {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  background: #E7316E; }
  @media screen and (max-width: 600px) {
    #bottom-nav-sp .bottom-nav-sp--list {
      height: 16vw; } }
  #bottom-nav-sp .bottom-nav-sp--list a {
    display: flex;
    gap: 0 5px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    color: #fff; }
    @media screen and (max-width: 600px) {
      #bottom-nav-sp .bottom-nav-sp--list a {
        font-size: 3.734vw;
        gap: 0 1.333vw; } }
    #bottom-nav-sp .bottom-nav-sp--list a::before {
      content: "";
      display: inline-block;
      width: 27px;
      height: 27px;
      background-image: url("../image/share/icon-mail.svg");
      background-size: cover; }
      @media screen and (max-width: 600px) {
        #bottom-nav-sp .bottom-nav-sp--list a::before {
          width: 5.6vw;
          height: 5.6vw; } }

.h2--titlearea {
  margin: 0 0 60px;
  text-align: center; }
  @media screen and (max-width: 600px) {
    .h2--titlearea {
      margin-bottom: 8vw; } }
.h2--maintitle {
  color: #0E0C38;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 10px; }
  .h2--maintitle span {
    display: block; }
  @media screen and (max-width: 600px) {
    .h2--maintitle {
      font-size: 5.867vw;
      margin-bottom: 2.667vw; } }
.h2--subtitle {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  /* 150% */
  letter-spacing: 0;
  color: #E7316E; }
  @media screen and (max-width: 600px) {
    .h2--subtitle {
      font-size: 3.734vw; } }

.contact--link {
  margin: 80px 0 0;
  padding: 0; }
  @media screen and (max-width: 600px) {
    .contact--link {
      margin-top: 18.667vw; } }
  .contact--link a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 500px;
    padding: 20px;
    gap: 20px;
    border-radius: 99999px;
    background: #E7316E;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.52;
    letter-spacing: 0;
    color: #fff;
    margin: 0 auto; }
    @media screen and (max-width: 600px) {
      .contact--link a {
        max-width: inherit;
        padding: 5.334vw;
        gap: 5.334vw;
        font-size: 5.334vw; } }
    .contact--link a::before {
      display: inline-block;
      content: "";
      background: url("../image/share/icon-mail.svg") center center no-repeat;
      background-size: contain;
      width: 38px;
      height: 38px; }
      @media screen and (max-width: 600px) {
        .contact--link a::before {
          width: 8vw;
          height: 8vw; } }

#mainScroll {
  overflow-x: hidden;
  position: relative; }

#main {
  background: url("../image/top/main-back.svg") center center no-repeat;
  background-size: cover;
  height: 700px; }
  @media screen and (max-width: 1200px) {
    #main {
      height: 600px; } }
  @media screen and (max-width: 600px) {
    #main {
      background: url("../image/top/main-back-sp.svg") center center no-repeat;
      background-size: cover;
      height: 130.133vw; } }
  #main__inner {
    max-width: 1200px;
    height: 700px;
    margin: 0 auto 60px; }
    @media screen and (max-width: 1200px) {
      #main__inner {
        width: inherit;
        margin-bottom: 0;
        height: 600px; } }
    @media screen and (max-width: 600px) {
      #main__inner {
        height: 130.333vw; } }
    #main__inner #main__content {
      position: relative; }
      #main__inner #main__content h1 {
        position: absolute;
        margin: 0 auto;
        line-height: 1;
        width: inherit;
        text-align: center; }
        @media screen and (max-width: 1200px) {
          #main__inner #main__content h1 {
            left: 50%;
            transform: translateX(-50%); } }
        @media screen and (max-width: 1000px) {
          #main__inner #main__content h1 {
            width: 100%; } }
        #main__inner #main__content h1 img {
          width: 100%;
          height: auto; }
          @media screen and (max-width: 1200px) {
            #main__inner #main__content h1 img {
              width: 600px; } }
          @media screen and (max-width: 600px) {
            #main__inner #main__content h1 img {
              width: 100%; } }

#intro {
  padding: 80px 0;
  background-color: #EDEDED;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #intro {
      padding: 18.667vw 0; } }
  #intro__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #intro__inner {
        width: inherit;
        padding: 0 5.333vw; } }
    #intro__inner h2 {
      margin: 0 0 45px; }
      @media screen and (max-width: 600px) {
        #intro__inner h2 {
          margin-bottom: 8vw; } }
      #intro__inner h2 span {
        display: block;
        font-size: 30px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #0E0C38; }
        @media screen and (max-width: 600px) {
          #intro__inner h2 span {
            font-size: 4.8vw;
            margin: 0 0 1.333vw; } }
      #intro__inner h2 em {
        display: block;
        font-size: 40px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #0E0C38;
        font-style: normal; }
        @media screen and (max-width: 600px) {
          #intro__inner h2 em {
            font-size: 5.867vw; } }
    #intro__inner .intro--text {
      background: #E7316E;
      padding: 20px;
      border-radius: 50px;
      font-size: 20px;
      font-weight: bold;
      line-height: 1.5;
      letter-spacing: 0;
      color: #fff; }
      @media screen and (max-width: 600px) {
        #intro__inner .intro--text {
          font-size: 4.267vw;
          padding: 2.667vw;
          border-radius: 10.667vw; } }

#intro-list {
  position: relative;
  margin: 0 auto 100px;
  padding: 0;
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap; }
  @media screen and (max-width: 1200px) {
    #intro-list {
      max-width: 760px; } }
  @media screen and (max-width: 600px) {
    #intro-list {
      max-width: inherit;
      margin-bottom: 16.533vw;
      gap: 4vw; } }
  #intro-list::after {
    display: block;
    position: absolute;
    content: "";
    bottom: -70px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 330px;
    height: 30px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #BCBDBE; }
    @media screen and (max-width: 600px) {
      #intro-list::after {
        bottom: -11.2vw;
        width: 60.267vw;
        height: 5.867vw; } }
  #intro-list li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 20px;
    flex: 0 1 560px;
    background: #fff;
    padding: 20px;
    border-radius: 10px; }
    @media screen and (max-width: 1200px) {
      #intro-list li {
        flex: 0 0 370px; } }
    @media screen and (max-width: 1000px) {
      #intro-list li {
        flex: 1 1 370px; } }
    @media screen and (max-width: 600px) {
      #intro-list li {
        flex-wrap: nowrap;
        gap: 1.334vw;
        flex: auto;
        padding: 2.667vw 4vw;
        border-radius: 2.667vw; } }
    #intro-list li div {
      flex: 0 1 330px;
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 18px;
      font-weight: bold;
      line-height: 1.5;
      letter-spacing: 0; }
      @media screen and (max-width: 600px) {
        #intro-list li div {
          font-size: 3.734vw; } }
      #intro-list li div em {
        font-style: normal;
        color: #05A3E0; }
    #intro-list li::before {
      display: block;
      content: "";
      background: url("../image/top/icon-face.svg") center center no-repeat;
      background-size: contain;
      flex: 0 0 70px;
      width: 70px;
      height: 70px; }
      @media screen and (max-width: 600px) {
        #intro-list li::before {
          flex: 0 0 10.667vw;
          width: 10.667vw;
          height: 10.667vw; } }

#strategy {
  padding: 0 0 80px;
  background-color: #EDEDED;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #strategy {
      padding: 0 0 18.667vw; } }
  #strategy__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #strategy__inner {
        width: inherit;
        padding: 0 5.333vw; } }
    #strategy__inner h2 {
      margin: 0 0 50px;
      font-size: 40px;
      font-weight: bold;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38; }
      @media screen and (max-width: 600px) {
        #strategy__inner h2 {
          margin-bottom: 8vw;
          font-size: 5.867vw; } }
      #strategy__inner h2 em {
        color: #E7316E;
        font-style: normal; }
        @media screen and (max-width: 1000px) {
          #strategy__inner h2 em {
            display: block; } }

#strategy-list {
  counter-reset: number;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 30px; }
  @media screen and (max-width: 1200px) {
    #strategy-list {
      flex-direction: column; } }
  @media screen and (max-width: 600px) {
    #strategy-list {
      gap: 5.334vw; } }
  #strategy-list li {
    margin: 0;
    padding: 40px;
    flex: 0 0 360px;
    background-color: #fff;
    border-radius: 10px; }
    @media screen and (max-width: 1200px) {
      #strategy-list li {
        max-width: 760px;
        margin: 0 auto;
        padding: 60px 100px; } }
    @media screen and (max-width: 1000px) {
      #strategy-list li {
        padding: 60px 60px;
        max-width: inherit; } }
    @media screen and (max-width: 600px) {
      #strategy-list li {
        padding: 5.334vw 7.334vw;
        flex: 1 0 360px; } }
    #strategy-list li .strategy-plan {
      display: flex;
      flex-direction: column;
      gap: 10px; }
      @media screen and (max-width: 600px) {
        #strategy-list li .strategy-plan {
          gap: 2.667vw; } }
      #strategy-list li .strategy-plan--title span {
        display: block;
        color: #0E0C38;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0; }
        @media screen and (max-width: 1200px) {
          #strategy-list li .strategy-plan--title span {
            display: inline-block; } }
        @media screen and (max-width: 600px) {
          #strategy-list li .strategy-plan--title span {
            font-size: 5.334vw;
            display: block; } }
      #strategy-list li .strategy-plan--title::before {
        display: block;
        counter-increment: number 1;
        content: "0" counter(number);
        font-size: 30px;
        font-weight: bold;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #E7316E;
        margin: 0 auto 10px; }
        @media screen and (max-width: 600px) {
          #strategy-list li .strategy-plan--title::before {
            font-size: 8vw;
            margin-bottom: 2.667vw; } }
      #strategy-list li .strategy-plan--text {
        text-align: justify;
        text-justify: inter-ideograph;
        font-size: 16px;
        font-weight: normal;
        line-height: 1.5;
        /* 150% */
        letter-spacing: 0;
        color: #0E0C38; }
        @media screen and (max-width: 600px) {
          #strategy-list li .strategy-plan--text {
            font-size: 4.267vw; } }

#reason {
  padding: 80px 0;
  background-color: #F5F7FA;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #reason {
      padding: 18.667vw 0; } }
  #reason__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #reason__inner {
        width: inherit;
        padding: 0 5.333vw; } }

#reason-list {
  margin: 0 auto 80px;
  padding: 0;
  display: flex;
  gap: 50px 60px;
  flex-wrap: wrap; }
  @media screen and (max-width: 1200px) {
    #reason-list {
      max-width: 760px; } }
  @media screen and (max-width: 600px) {
    #reason-list {
      max-width: inherit;
      margin-bottom: 13.334vw;
      flex-direction: column;
      gap: 8vw; } }
  #reason-list div {
    flex: 1 0 540px;
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(225, 49, 231, 0.25);
    padding: 56px 40px;
    border-radius: 20px; }
    @media screen and (max-width: 600px) {
      #reason-list div {
        flex: auto;
        box-shadow: 0 0 2.667vw 0 rgba(225, 49, 231, 0.25);
        padding: 8vw 10.667vw;
        border-radius: 5.334vw; } }
    #reason-list div dt {
      font-size: 24px;
      font-weight: bold;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38;
      margin: 0 auto 20px; }
      @media screen and (max-width: 600px) {
        #reason-list div dt {
          font-size: 4.8vw;
          margin-bottom: 5.334vw; } }
      #reason-list div dt span {
        display: block; }
        @media screen and (max-width: 1200px) {
          #reason-list div dt span {
            display: inline-block; } }
        @media screen and (max-width: 600px) {
          #reason-list div dt span {
            display: block; } }
      #reason-list div dt em {
        color: #E7316E;
        font-style: normal; }
    #reason-list div dd {
      text-align: left;
      font-size: 16px;
      font-weight: normal;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38; }
      @media screen and (max-width: 600px) {
        #reason-list div dd {
          font-size: 4.267vw;
          text-align: left;
          overflow-wrap: anywhere; } }
      #reason-list div dd a {
        text-decoration: underline; }

#voice {
  padding: 80px 0;
  background-color: #fff;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #voice {
      padding: 18.667vw 0; } }
  #voice__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #voice__inner {
        width: inherit;
        padding: 0 5.333vw; } }

#voice-case__outer {
  margin: 0 auto 80px;
  padding: 0;
  display: flex;
  gap: 80px 60px;
  flex-wrap: wrap; }
  @media screen and (max-width: 1200px) {
    #voice-case__outer {
      max-width: 760px; } }
  @media screen and (max-width: 600px) {
    #voice-case__outer {
      max-width: inherit;
      flex-direction: column;
      gap: 10.667vw;
      margin-bottom: 13.334vw; } }

.voice-case {
  flex: 1 0 540px;
  display: flex;
  flex-direction: column; }
  @media screen and (max-width: 600px) {
    .voice-case {
      flex: auto;
      width: 100%; } }
  .voice-case--title {
    order: 4;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    /* 150% */
    letter-spacing: 0;
    color: #0E0C38;
    margin: 0 0 20px;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media screen and (max-width: 600px) {
      .voice-case--title {
        font-size: 4.8vw;
        margin-bottom: 5.337vw; } }
  .voice-case--sns {
    order: 2;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
    /* 150% */
    letter-spacing: 0;
    color: #0E0C38;
    margin: 0 0 5px;
    border: 1px solid #E7316E;
    border-radius: 9999px;
    padding: 3px 20px;
    display: inline-block;
    /* 中身に合わせたい場合 */
    align-self: flex-start;
    /* 親幅いっぱいに伸びないようにする */
    text-align: center; }
    @media screen and (max-width: 600px) {
      .voice-case--sns {
        font-size: 3.2vw;
        margin-bottom: 1.333vw;
        padding: 0.8vw 5.333vw; } }
  .voice-case--client {
    order: 3;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5;
    /* 150% */
    letter-spacing: 0;
    color: #0E0C38;
    margin: 0;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media screen and (max-width: 600px) {
      .voice-case--client {
        font-size: 3.2vw; } }
  .voice-case--banner {
    order: 1;
    margin: 0 0 10px; }
    @media screen and (max-width: 600px) {
      .voice-case--banner {
        margin-bottom: 2.667vw; } }
  .voice-case--feedback {
    order: 5;
    display: grid;
    grid-template-columns: 1fr 3.9fr;
    grid-template-rows: 1fr auto auto 1fr;
    grid-gap: 0 10px;
    padding: 20px;
    background-color: #F5F7FA;
    align-items: center;
    border-radius: 10px; }
    @media screen and (max-width: 600px) {
      .voice-case--feedback {
        grid-template-columns: 1fr 1.85fr;
        grid-gap: 0 2.667vw;
        padding: 5.667vw;
        border-radius: 2.667vw; } }
    .voice-case--feedback .feedback--title {
      grid-row: 2;
      grid-column: 2;
      font-size: 14px;
      font-weight: bold;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38;
      align-items: center;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media screen and (max-width: 600px) {
        .voice-case--feedback .feedback--title {
          font-size: 3.734vw; } }
    .voice-case--feedback .feedback--text {
      grid-row: 3;
      grid-column: 2;
      font-size: 14px;
      font-weight: normal;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media screen and (max-width: 600px) {
        .voice-case--feedback .feedback--text {
          font-size: 3.734vw;
          text-align: left; } }
    .voice-case--feedback .feedback--img {
      grid-row: 1 / -1;
      grid-column: 1;
      width: 100%;
      height: auto; }

#voice-pr {
  border-radius: 10px;
  border: 5px solid #B081C2;
  padding: 40px 60px;
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  grid-template-rows: 1fr auto auto 1fr;
  grid-gap: 0 40px; }
  @media screen and (max-width: 1200px) {
    #voice-pr {
      max-width: 760px;
      display: flex;
      flex-direction: column;
      margin: 0 auto; } }
  @media screen and (max-width: 600px) {
    #voice-pr {
      max-width: inherit;
      border-radius: 2.667vw;
      border: 1.333vw solid #B081C2;
      padding: 6.933vw; } }
  #voice-pr .voice-pr--title {
    grid-row: 2;
    grid-column: 2;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    /* 150% */
    letter-spacing: 0;
    text-align: justify;
    text-justify: inter-ideograph;
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #BCBDBE; }
    @media screen and (max-width: 600px) {
      #voice-pr .voice-pr--title {
        font-size: 4.8vw;
        padding: 0 0 2.667vw;
        margin-bottom: 2.667vw;
        border-bottom: 0.267vw solid #BCBDBE; } }
  #voice-pr .voice-pr--text {
    grid-row: 3;
    grid-column: 2;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
    /* 150% */
    letter-spacing: 0;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media screen and (max-width: 600px) {
      #voice-pr .voice-pr--text {
        font-size: 4.267vw;
        text-align: left; } }
  #voice-pr .voice-pr--img {
    grid-row: 1 / -1;
    grid-column: 1; }
    @media screen and (max-width: 1200px) {
      #voice-pr .voice-pr--img {
        order: -1;
        margin: 0 0 15px; } }
    @media screen and (max-width: 600px) {
      #voice-pr .voice-pr--img {
        width: 100%;
        height: auto;
        margin: 0 0 4vw; } }

#flow {
  padding: 80px 0;
  background-color: #F5F7FA;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #flow {
      padding: 18.667vw 0; } }
  #flow__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #flow__inner {
        width: inherit;
        padding: 0 5.333vw; } }

#flow-list {
  counter-reset: number;
  margin: 0;
  padding: 0;
  text-align: justify;
  text-justify: inter-ideograph; }
  #flow-list li {
    position: relative;
    margin: 0 0 50px;
    padding: 20px 20px 20px 108px;
    background-color: #fff; }
    @media screen and (max-width: 600px) {
      #flow-list li {
        margin-bottom: 8vw;
        padding: 2.667vw 5.334vw 2.667vw 28.8vw; } }
    #flow-list li::before {
      display: flex;
      justify-content: center;
      align-items: center;
      align-content: center;
      background-color: #B081C2;
      counter-increment: number 1;
      content: "0" counter(number);
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 88px;
      height: 100%;
      font-size: 30px;
      font-weight: bold;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #fff; }
      @media screen and (max-width: 600px) {
        #flow-list li::before {
          width: 23.467vw;
          font-size: 8vw; } }
    #flow-list li dl dt {
      font-size: 18px;
      font-weight: bold;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38;
      margin: 0 0 5px; }
      @media screen and (max-width: 600px) {
        #flow-list li dl dt {
          font-size: 4.267vw;
          margin-bottom: 1.333vw;
          text-align: left; } }
    #flow-list li dl dd {
      font-size: 16px;
      font-weight: normal;
      line-height: 1.5;
      /* 150% */
      letter-spacing: 0;
      color: #0E0C38; }
      @media screen and (max-width: 600px) {
        #flow-list li dl dd {
          font-size: 3.734vw;
          text-align: left; } }

#faq {
  padding: 80px 0;
  background-color: #fff;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #faq {
      padding: 18.667vw 0; } }
  #faq__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #faq__inner {
        width: inherit;
        padding: 0 5.333vw; } }

#faq--list {
  display: flex;
  flex-direction: column;
  margin: 0;
  text-align: justify;
  text-justify: inter-ideograph; }
  #faq--list > div + div {
    margin: 30px 0 0;
    padding: 30px 0 0;
    border-top: 1px solid #CCCCCC; }
    @media screen and (max-width: 600px) {
      #faq--list > div + div {
        margin: 2.667vw 0 0;
        padding: 2.667vw 0 0; } }
  #faq--list > div > dt {
    position: relative;
    display: flex;
    align-items: center;
    color: #0E0C38;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    min-height: 39px;
    padding: 0 0 0 64px; }
    @media screen and (max-width: 600px) {
      #faq--list > div > dt {
        font-size: 4.267vw;
        padding-left: 14.4vw;
        min-height: 10.4vw; } }
    #faq--list > div > dt::before {
      position: absolute;
      top: 1px;
      left: 0;
      display: flex;
      width: 39px;
      height: 39px;
      justify-content: center;
      align-items: center;
      border-radius: 5px;
      background: #BCBDBE;
      content: "Q";
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.5; }
      @media screen and (max-width: 600px) {
        #faq--list > div > dt::before {
          top: 0.267vw;
          width: 10.4vw;
          height: 10.4vw;
          font-size: 4.267vw;
          border-radius: 1.333vw; } }
  #faq--list > div > dd {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.5;
    min-height: 39px;
    margin: 20px 0 0;
    padding: 0 0 0 64px; }
    @media screen and (max-width: 600px) {
      #faq--list > div > dd {
        font-size: 4.267vw;
        padding-left: 14.4vw;
        margin-top: 2.667vw;
        text-align: left; } }
    #faq--list > div > dd a {
      color: #05A3E0;
      text-decoration: underline; }
    #faq--list > div > dd::before {
      position: absolute;
      top: 1px;
      left: 0;
      display: flex;
      width: 39px;
      height: 39px;
      justify-content: center;
      align-items: center;
      border-radius: 5px;
      background: #E7316E;
      content: "A";
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.5; }
      @media screen and (max-width: 600px) {
        #faq--list > div > dd::before {
          top: 0.267vw;
          width: 10.4vw;
          height: 10.4vw;
          font-size: 4.267vw;
          border-radius: 1.333vw; } }

#contact {
  padding: 80px 0;
  background-color: #F5F7FA;
  text-align: center; }
  @media screen and (max-width: 600px) {
    #contact {
      padding: 18.667vw 0; } }
  #contact__inner {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px; }
    @media screen and (max-width: 600px) {
      #contact__inner {
        width: inherit;
        padding: 0 5.333vw; } }
    #contact__inner .contact--title {
      margin-bottom: 40px; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--title {
          margin-bottom: 8vw; } }
    #contact__inner .contact--text {
      text-align: center;
      font-size: 16px;
      line-height: 1.5;
      margin-bottom: 30px; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--text {
          margin-bottom: 10px;
          font-size: 4.267vw; } }
    #contact__inner .contact--note {
      color: #FF0000;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.5; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact--note {
          font-size: 4.267vw; } }
    #contact__inner .contact-tel {
      margin: 140px 0 0;
      padding: 60px 30px;
      border-radius: 20px;
      background: #fff; }
      @media screen and (max-width: 600px) {
        #contact__inner .contact-tel {
          margin-top: 13.334vw;
          padding: 8vw 2.667vw; } }
      #contact__inner .contact-tel--text {
        position: relative;
        color: #1E1E1E;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.5; }
        @media screen and (max-width: 600px) {
          #contact__inner .contact-tel--text {
            font-size: 4.8vw; } }
        @media screen and (max-width: 600px) {
          #contact__inner .contact-tel--text span {
            display: block; } }
        #contact__inner .contact-tel--text::before, #contact__inner .contact-tel--text::after {
          content: "";
          display: inline-block;
          width: 2px;
          height: 36px;
          background: #AAA;
          vertical-align: middle; }
          @media screen and (max-width: 600px) {
            #contact__inner .contact-tel--text::before, #contact__inner .contact-tel--text::after {
              position: absolute;
              width: 0.534vw;
              height: 14.4vw; } }
        #contact__inner .contact-tel--text::before {
          -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
          margin-right: 30px; }
          @media screen and (max-width: 1200px) {
            #contact__inner .contact-tel--text::before {
              margin-right: 20px; } }
          @media screen and (max-width: 600px) {
            #contact__inner .contact-tel--text::before {
              margin: 0;
              top: 50%;
              left: 10.667vw;
              -webkit-transform: rotate(-30deg) translate(0, -50%);
              transform: rotate(-30deg) translate(0, -50%); } }
        #contact__inner .contact-tel--text::after {
          -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
          margin-left: 30px; }
          @media screen and (max-width: 1200px) {
            #contact__inner .contact-tel--text::after {
              margin-left: 20px; } }
          @media screen and (max-width: 600px) {
            #contact__inner .contact-tel--text::after {
              margin: 0;
              top: 50%;
              right: 10.667vw;
              -webkit-transform: rotate(30deg) translate(0, -50%);
              transform: rotate(30deg) translate(0, -50%); } }
      #contact__inner .contact-tel--tel {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 50px;
        background: #E7316E;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        max-width: 573px;
        height: 100px;
        color: #fff;
        text-align: center;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.5;
        margin: 20px auto 0; }
        @media screen and (max-width: 600px) {
          #contact__inner .contact-tel--tel {
            margin-top: 5.334vw;
            gap: 2.667vw;
            border-radius: 13.334vw;
            box-shadow: 0 1.067vw 1.067vw 0 rgba(0, 0, 0, 0.25);
            max-width: inherit;
            height: 18.667vw;
            font-size: 5.334vw; } }
        #contact__inner .contact-tel--tel::before {
          display: inline-block;
          content: "";
          background: url("../image/top/icon-tel.svg") center center no-repeat;
          background-size: contain;
          width: 40px;
          height: 40px; }
          @media screen and (max-width: 600px) {
            #contact__inner .contact-tel--tel::before {
              width: 8vw;
              height: 8vw; } }
      #contact__inner .contact-tel--hour {
        color: #1E1E1E;
        text-align: center;
        font-size: 16px;
        line-height: 1.5;
        margin: 20px 0 0; }
        @media screen and (max-width: 600px) {
          #contact__inner .contact-tel--hour {
            margin-top: 5.334vw;
            font-size: 4.267vw; } }

#contact--form {
  margin: 80px 0 0;
  padding: 0; }
  @media screen and (max-width: 600px) {
    #contact--form {
      margin-top: 16vw; } }
  #contact--form form#mailformpro dl {
    margin: 0 0 60px;
    padding: 0;
    display: flex;
    justify-content: space-between;
    gap: 40px; }
    @media screen and (max-width: 1200px) {
      #contact--form form#mailformpro dl {
        display: block; } }
    @media screen and (max-width: 600px) {
      #contact--form form#mailformpro dl {
        margin-bottom: 8vw; } }
    #contact--form form#mailformpro dl > dt {
      flex: 0 0 200px;
      border: none;
      color: #1E1E1E;
      text-align: justify;
      text-justify: inter-ideograph;
      font-size: 18px;
      font-weight: bold;
      line-height: 1.5;
      margin: 0;
      padding: 0;
      display: flex;
      align-items: center;
      align-content: center; }
      @media screen and (max-width: 1200px) {
        #contact--form form#mailformpro dl > dt {
          flex: none;
          margin-bottom: 20px; } }
      @media screen and (max-width: 600px) {
        #contact--form form#mailformpro dl > dt {
          font-size: 1.6rem;
          margin-bottom: 1.5rem; } }
      #contact--form form#mailformpro dl > dt:where(.contact--message--area *) {
        height: 54px; }
        @media screen and (max-width: 1200px) {
          #contact--form form#mailformpro dl > dt:where(.contact--message--area *) {
            height: auto; } }
      #contact--form form#mailformpro dl > dt sup {
        color: #FF0000;
        font-size: 65%;
        vertical-align: super; }
    #contact--form form#mailformpro dl > dd {
      flex: 1 1 100%;
      border: none;
      color: #1E1E1E;
      font-size: 16px;
      line-height: 1.5;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 1200px) {
        #contact--form form#mailformpro dl > dd {
          flex: none; } }
      @media screen and (max-width: 600px) {
        #contact--form form#mailformpro dl > dd {
          font-size: 4.267vw; } }
  #contact--form input[type="text"],
  #contact--form input[type="email"],
  #contact--form input[type="tel"],
  #contact--form select {
    font-size: 16px;
    line-height: 1.5;
    height: 54px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #D9D9D9;
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #fff; }
    @media screen and (max-width: 600px) {
      #contact--form input[type="text"],
      #contact--form input[type="email"],
      #contact--form input[type="tel"],
      #contact--form select {
        height: 13.6vw;
        padding: 4vw 2.667vw;
        font-size: 3.734vw; } }
    #contact--form input[type="text"]::placeholder,
    #contact--form input[type="email"]::placeholder,
    #contact--form input[type="tel"]::placeholder,
    #contact--form select::placeholder {
      font-size: 16px;
      color: #BCBDBE; }
      @media screen and (max-width: 600px) {
        #contact--form input[type="text"]::placeholder,
        #contact--form input[type="email"]::placeholder,
        #contact--form input[type="tel"]::placeholder,
        #contact--form select::placeholder {
          font-size: 3.734vw; } }
    #contact--form input[type="text"]:focus,
    #contact--form input[type="email"]:focus,
    #contact--form input[type="tel"]:focus,
    #contact--form select:focus {
      box-shadow: 2px 2px 2px rgba(231, 49, 110, 0.5) inset, -2px -2px 2px rgba(231, 49, 110, 0.5) inset; }
    #contact--form input[type="text"] option,
    #contact--form input[type="email"] option,
    #contact--form input[type="tel"] option,
    #contact--form select option {
      font-size: 16px; }
      @media screen and (max-width: 600px) {
        #contact--form input[type="text"] option,
        #contact--form input[type="email"] option,
        #contact--form input[type="tel"] option,
        #contact--form select option {
          font-size: 3.734vw; } }
  #contact--form select {
    padding: 0 40px; }
    @media screen and (max-width: 600px) {
      #contact--form select {
        padding: 0 6.667vw; } }
  #contact--form input[type="checkbox"] {
    -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; }
    #contact--form input[type="checkbox"] ~ .contact--agree--checkbox {
      position: relative;
      margin: 0;
      padding: 0 0 0 30px; }
      @media screen and (max-width: 600px) {
        #contact--form input[type="checkbox"] ~ .contact--agree--checkbox {
          padding-left: 8vw; } }
      #contact--form input[type="checkbox"] ~ .contact--agree--checkbox:hover {
        cursor: pointer; }
      #contact--form input[type="checkbox"] ~ .contact--agree--checkbox::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        border: 1px solid #D9D9D9;
        background-color: #fff;
        width: 21px;
        height: 21px;
        box-sizing: border-box; }
        @media screen and (max-width: 600px) {
          #contact--form input[type="checkbox"] ~ .contact--agree--checkbox::before {
            border: 0.267vw solid #D9D9D9;
            width: 5.6vw;
            height: 5.6vw; } }
    #contact--form input[type="checkbox"]:focus ~ .contact--agree--checkbox::before {
      box-shadow: 0 0 3px 1px inset #E7316E; }
      @media screen and (max-width: 600px) {
        #contact--form input[type="checkbox"]:focus ~ .contact--agree--checkbox::before {
          box-shadow: 0 0 0.8vw 0.267vw inset #E7316E; } }
    #contact--form input[type="checkbox"]:checked ~ .contact--agree--checkbox::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      line-height: 1;
      box-sizing: border-box;
      width: 25px;
      height: 15px;
      border-left: 3px solid #000;
      border-bottom: 3px solid #000;
      -webkit-transform: translate(0, -0.2em) rotate(-45deg);
      transform: translate(0, -0.2em) rotate(-45deg); }
      @media screen and (max-width: 600px) {
        #contact--form input[type="checkbox"]:checked ~ .contact--agree--checkbox::after {
          width: 6.667vw;
          height: 4vw; } }
  #contact--form input[type="radio"] {
    -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; }
    #contact--form input[type="radio"] ~ .contact--plan--radiobutton {
      position: relative;
      margin: 0;
      padding: 0 0 0 1.5em; }
      #contact--form input[type="radio"] ~ .contact--plan--radiobutton:hover {
        cursor: pointer; }
      #contact--form input[type="radio"] ~ .contact--plan--radiobutton::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        border: 1px solid #BCBDBE;
        background-color: #fff;
        width: 1.1em;
        height: 1.1em;
        border-radius: 50%;
        box-sizing: border-box; }
    #contact--form input[type="radio"]:focus ~ .contact--plan--radiobutton::before {
      box-shadow: 0 0 3px 1px inset rgba(231, 49, 110, 0.5); }
      @media screen and (max-width: 600px) {
        #contact--form input[type="radio"]:focus ~ .contact--plan--radiobutton::before {
          box-shadow: 0 0 0.8vw 0.267vw irgba(#E7316E, 0.5); } }
    #contact--form input[type="radio"]:checked ~ .contact--plan--radiobutton::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0.2em;
      margin: auto;
      border: 1px solid #0E0C38;
      background-color: #0E0C38;
      width: 0.7em;
      height: 0.7em;
      border-radius: 50%;
      box-sizing: border-box; }
  #contact--form textarea {
    font-size: 16px;
    line-height: 1.5;
    height: 160px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #D9D9D9;
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #fff; }
    @media screen and (max-width: 600px) {
      #contact--form textarea {
        padding: 4vw 2.667vw;
        height: 40.8vw; } }
    #contact--form textarea::placeholder {
      font-size: 16px;
      color: #BCBDBE; }
      @media screen and (max-width: 600px) {
        #contact--form textarea::placeholder {
          font-size: 3.734vw; } }
    #contact--form textarea:focus {
      box-shadow: 2px 2px 2px rgba(231, 49, 110, 0.5) inset, -2px -2px 2px rgba(231, 49, 110, 0.5) inset; }
      @media screen and (max-width: 600px) {
        #contact--form textarea:focus {
          box-shadow: 0.537vw 0.537vw 0.537vw rgba(231, 49, 110, 0.5) inset, -0.537vw -0.537vw 0.537vw rgba(231, 49, 110, 0.5) inset; } }
  #contact--form .contact--privacy--link {
    text-align: center;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    margin: 80px 0 30px; }
    @media screen and (max-width: 600px) {
      #contact--form .contact--privacy--link {
        font-size: 3.734vw;
        line-height: 1.71429;
        margin: 8vw; } }
    #contact--form .contact--privacy--link a {
      color: #1E1E1E;
      text-decoration: underline; }
  #contact--form .contact--privacy--agree {
    text-align: center;
    color: #1E1E1E;
    font-size: 20px;
    line-height: 1.5; }
    @media screen and (max-width: 600px) {
      #contact--form .contact--privacy--agree {
        font-size: 1.6rem; } }
  #contact--form .contact--form--submit {
    text-align: center; }
    #contact--form .contact--form--submit #contact--submit {
      display: flex;
      width: 400px;
      height: 66px;
      padding: 5px 50px;
      justify-content: center;
      align-items: center;
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.5;
      margin: 60px auto 0;
      border: none;
      border-radius: 9999px;
      background-color: #E7316E;
      text-shadow: none;
      transition: opacity 300ms ease-in-out; }
      @media screen and (max-width: 600px) {
        #contact--form .contact--form--submit #contact--submit {
          width: 100%;
          height: 17.6vw;
          margin-top: 8vw;
          padding: 1.333vw 13.334vw; } }
      #contact--form .contact--form--submit #contact--submit:hover {
        cursor: pointer;
        opacity: 0.6; }

#mfp_overlay_inner h4 {
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 20px;
  text-align: center; }
#mfp_overlay_inner button {
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  max-width: 345px;
  margin: 45px auto 0;
  padding: 10px 20px;
  border: none;
  border-radius: 99999px;
  background-color: #E7316E;
  text-shadow: none;
  transition: opacity 300ms ease-in-out; }
  @media screen and (max-width: 600px) {
    #mfp_overlay_inner button {
      font-size: 4.267vw;
      max-width: inherit;
      margin-top: 30px;
      padding: 4vw; } }
  #mfp_overlay_inner button + button {
    margin-left: 20px; }
    @media screen and (max-width: 600px) {
      #mfp_overlay_inner button + button {
        margin-left: 5.333vw; } }
  #mfp_overlay_inner button:hover {
    cursor: pointer;
    opacity: 0.6; }

#thanks {
  padding: 8rem 0 8rem; }
  @media screen and (max-width: 600px) {
    #thanks {
      padding: 7rem 0; } }
  #thanks__inner {
    width: 1140px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      #thanks__inner {
        width: auto;
        padding: 0 30px; } }
    @media screen and (max-width: 600px) {
      #thanks__inner {
        padding: 0 5.333vw; } }
    #thanks__inner .thanks--text {
      font-size: 1.6rem;
      line-height: 1.5;
      text-align: center;
      text-align: justify;
      text-justify: inter-ideograph; }

#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 300; }
  @media screen and (max-width: 1200px) {
    #pagetop {
      bottom: 60px; } }
  @media screen and (max-width: 600px) {
    #pagetop {
      bottom: 16vw; } }
  #pagetop a {
    display: block;
    width: 78px;
    height: 78px;
    background: #000 url("../image/share/pagetop.svg") center center no-repeat;
    background-size: auto; }
    @media screen and (max-width: 600px) {
      #pagetop a {
        width: 8vw;
        height: 8vw; } }

#banner {
  padding: 75px 0 80px; }
  @media screen and (max-width: 600px) {
    #banner {
      padding: 13.334vw 0 16vw; } }
  #banner__inner {
    width: 1140px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      #banner__inner {
        width: auto;
        padding: 0 30px; } }
    @media screen and (max-width: 600px) {
      #banner__inner {
        padding: 0 5.333vw; } }
    #banner__inner .banner--text {
      text-align: center;
      font-size: 20px;
      font-weight: bold;
      line-height: 1.5;
      color: #000; }
      @media screen and (max-width: 600px) {
        #banner__inner .banner--text {
          font-size: 4.8vw; } }

#banner--list {
  margin: 80px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 45px; }
  @media screen and (max-width: 1300px) {
    #banner--list {
      justify-content: center; } }
  @media screen and (max-width: 600px) {
    #banner--list {
      margin-top: 8vw;
      gap: 5.334vw; } }
  #banner--list > li {
    flex: 0 0 350px; }
    @media screen and (max-width: 600px) {
      #banner--list > li {
        flex: 0 0 100%; } }
    #banner--list > li a img {
      width: 100%;
      height: auto; }

#footer {
  padding: 30px 0;
  background: #B081C2; }
  @media screen and (max-width: 1200px) {
    #footer {
      margin: 0 0 60px; } }
  @media screen and (max-width: 600px) {
    #footer {
      padding: 8vw; } }
  #footer__inner {
    width: 1140px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      #footer__inner {
        width: auto; } }

#copyright {
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  color: #fff; }
  @media screen and (max-width: 600px) {
    #copyright {
      font-size: 2.667vw; } }
