@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@100;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap");
/*********************************
 *
 * COMMON
 *
 *********************************/
body {
  color: #464646;
  font-family: 'Noto Sans JP', sans-serif;
  /* font-family: "M PLUS 1p", sans-serif; */
  font-size: min(1.3vw, 16px);
  font-weight: 500; }
  @media screen and (max-width: 767px) {
    body {
      max-width: 767px;
      font-size: min(2.6vw, 16px);
      -webkit-text-size-adjust: 100%; }
      body .pc {
        display: none !important; }
      body img {
        width: 100%;
        height: auto; } }
  @media screen and (min-width: 768px) {
    body a {
      transition: 0.3s; }
      body a:hover {
        opacity: 0.8; }
    body .sp {
      display: none !important; } }
  body a {
    text-decoration: none; }

/* font */
.blue {
  color: #034e9f; }

.red {
  color: #e60012; }

.yellow {
  color: #fcf57a; }

.fs50 {
  font-size: min(4vw, 50px); }
  @media screen and (max-width: 767px) {
    .fs50 {
      font-size: min(7vw, 50px); } }

strong {
  font-weight: 900; }

p.l_1em {
  padding: 0 0 0 1em;
  text-indent: -1em;
  line-height: 1.7; }

/* fadeIn */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
  opacity: 0; }

@-webkit-keyframes fadeInAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeInAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fadeInTrigger {
  opacity: 0; }

/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
  opacity: 0;
  animation-delay: 0.1s; }

@-webkit-keyframes fadeUpAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px);
    transform: translateY(15px); }
  40% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes fadeUpRAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px);
    transform: translateY(15px); }
  40% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
.fadeUpTrigger,
#mv h1,
#mv .txt,
#mv .btn {
  opacity: 0; }

@media screen and (min-width: 768px) {
  .fadeUpPC {
    opacity: 0; } }

.d1 {
  animation-delay: 0.5s; }

.d2 {
  animation-delay: 1s; }

.d3 {
  animation-delay: 1.5s; }

/*********************************
 *
 * MV
 *
 *********************************/
#mv {
  position: relative;
  wisth: 100%;
  max-width: 1280px;
  margin: 0 auto; }
  #mv .mv_inner {
    position: absolute;
    width: 95.4%;
    height: 100%;
    top: 0;
    left: 2.3%; }
    @media screen and (max-width: 767px) {
      #mv .mv_inner {
        width: 91%;
        left: 4.5%; } }
  #mv .logo {
    width: 61%;
    max-width: 742px;
    margin: 2% 0 0 0; }
    @media screen and (max-width: 767px) {
      #mv .logo {
        width: 43%;
        margin: 3.8% 0 0 -2%; } }
  #mv h1 {
    width: 61%;
    max-width: 742px;
    margin: 4.3% 0 0 0; }
    @media screen and (max-width: 767px) {
      #mv h1 {
        width: 100%;
        margin: 3% 0 0 0; } }
  #mv .txt {
    width: 53.8%;
    max-width: 655px;
    margin: 3.3% 0 0 22.5%; }
    @media screen and (max-width: 767px) {
      #mv .txt {
        width: 95%;
        margin: 6.5% 0 0 2.5%; } }
  #mv .btn {
    width: 53.8%;
    max-width: 655px;
    margin: 1.2% 0 0 22.5%; }
    @media screen and (max-width: 767px) {
      #mv .btn {
        width: 95%;
        margin: 2% 0 0 2.5%; } }

/*********************************
 *
 * MAIN
 *
 *********************************/
main p {
  padding-top: 1em;
  line-height: 2; }
  @media screen and (max-width: 767px) {
    main p {
      padding-top: 1.5em; } }
main .about_inner {
  width: 84.375%;
  max-width: 1080px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    main .about_inner {
      width: 86%; } }
main .h2_box {
  position: relative;
  padding: 1.5em 0;
  background-color: #034e9f;
  border-radius: 0 1.8em 1.8em 1.8em;
  color: #fff;
  font-family: "M PLUS 1p", sans-serif;
  text-align: center; }
  @media screen and (max-width: 767px) {
    main .h2_box {
      padding: 2.5em 0;
      border-radius: 0 2.4em 2.4em 2.4em; } }
  main .h2_box .icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    top: -3em;
    left: -3px;
    width: 6em;
    height: 6em;
    padding: 0.4em 0 0 0;
    background-color: #e60012;
    border-radius: 50%;
    color: #fff;
    line-height: 1.1; }
    @media screen and (max-width: 767px) {
      main .h2_box .icon {
        top: -4em;
        left: 0;
        width: 7.6em;
        height: 7.6em;
        padding: 0.6em 0 0 0; } }
    main .h2_box .icon span {
      font-size: min(1.7vw, 18px); }
      @media screen and (max-width: 767px) {
        main .h2_box .icon span {
          font-size: min(3.8vw, 18px); } }
    main .h2_box .icon .num {
      display: block;
      font-size: min(2.8vw, 35px);
      font-weight: 300;
      text-align: center; }
      @media screen and (max-width: 767px) {
        main .h2_box .icon .num {
          font-size: min(7vw, 35px); } }
  main .h2_box h2 {
    font-size: min(2.8vw, 35px);
    font-weight: 300;
    line-height: 1.4; }
    @media screen and (max-width: 767px) {
      main .h2_box h2 {
        font-size: min(5.4vw, 35px); } }
    main .h2_box h2 span {
      font-weight: 500; }
main h3.cmn {
  position: relative;
  overflow: hidden;
  margin: 4em 0 0 0;
  padding: 0.65em 0;
  background-color: #ebf6ff;
  border-radius: 0.5em;
  color: #43a6ff;
  font-family: "M PLUS 1p", sans-serif;
  font-size: min(2.7vw, 30px);
  font-weight: 500;
  text-align: center;
  transform: rotate(0.1deg); }
  @media screen and (max-width: 767px) {
    main h3.cmn {
      margin: 3em 0 0 0;
      font-size: min(4.2vw, 30px);
      line-height: 1.2; } }
  main h3.cmn span {
    display: block;
    font-size: min(1.3vw, 16px);
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      main h3.cmn span {
        margin: 0 0 0.3em 0;
        font-size: min(2.6vw, 16px); } }
  main h3.cmn::before, main h3.cmn::after {
    position: absolute;
    display: block;
    content: "";
    width: 0.6em;
    height: 100%;
    top: 0;
    background-color: #43a6ff; }
    @media screen and (max-width: 767px) {
      main h3.cmn::before, main h3.cmn::after {
        width: 0.65em; } }
  main h3.cmn::before {
    left: 0; }
  main h3.cmn::after {
    right: 0; }
main table.price {
  overflow: hidden;
  width: 80%;
  max-width: 800px;
  margin: 5em auto 0 auto;
  border-collapse: separate; }
  @media screen and (max-width: 767px) {
    main table.price {
      width: 100%;
      margin: 3em auto 0 auto; } }
  main table.price thead th {
    overflow: hidden;
    padding: 0 0 1em 0;
    font-family: "M PLUS 1p", sans-serif;
    text-align: center; }
    main table.price thead th:first-child {
      background-color: #e60012;
      border: 10px solid #e60012;
      border-radius: 1.5em 0 0 0; }
      @media screen and (max-width: 767px) {
        main table.price thead th:first-child {
          border: 6px solid #e60012; } }
    main table.price thead th:last-child {
      background-color: #034e9f;
      border: 10px solid #034e9f;
      border-radius: 0 1.5em 0 0; }
      @media screen and (max-width: 767px) {
        main table.price thead th:last-child {
          border: 6px solid #034e9f; } }
    main table.price thead th .plan {
      color: #fff;
      font-size: min(2.7vw, 30px);
      font-weight: 500;
      line-height: 1;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        main table.price thead th .plan {
          padding: 1em 0 0 0;
          font-size: min(4vw, 30px); } }
    main table.price thead th .price_ttl {
      padding: 1.5em 0 0 0;
      color: #fff000;
      font-size: min(1.8vw, 20px);
      font-weight: 600;
      line-height: 1;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        main table.price thead th .price_ttl {
          font-size: min(2.7vw, 20px); } }
      main table.price thead th .price_ttl span {
        font-size: min(1.2vw, 14px); }
        @media screen and (max-width: 767px) {
          main table.price thead th .price_ttl span {
            font-size: min(2.3vw, 14px); } }
    main table.price thead th .price {
      padding: 0;
      color: #fff000;
      font-size: min(3.2vw, 40px);
      font-weight: 600;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        main table.price thead th .price {
          padding: 0.2em 0 0 0;
          font-size: min(5.6vw, 40px); } }
      main table.price thead th .price span {
        padding-right: 0.08em;
        font-size: min(8vw, 100px);
        font-weight: 600;
        letter-spacing: -0.02em; }
        @media screen and (max-width: 767px) {
          main table.price thead th .price span {
            font-size: min(11vw, 100px); } }
  main table.price thead tr.last th:first-child {
    border-radius: 1.5em 0 0 1.5em; }
  main table.price thead tr.last th:last-child {
    border-radius: 0 1.5em 1.5em 0; }
  main table.price tbody {
    color: #000333; }
    main table.price tbody th {
      padding: 0.3em 0 0.4em 0;
      background-color: #e9f5ff;
      border-left: 10px solid #e60012;
      border-right: 10px solid #034e9f;
      font-size: min(2vw, 25px);
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 767px) {
        main table.price tbody th {
          border-left: 6px solid #e60012;
          border-right: 6px solid #034e9f;
          font-size: min(3.6vw, 25px); } }
    main table.price tbody td {
      padding: 0.3em 0 0.5em 0;
      background-color: #fff;
      font-size: min(3.2vw, 40px);
      font-weight: 800;
      line-height: 1;
      text-align: center; }
      @media screen and (max-width: 767px) {
        main table.price tbody td {
          font-size: min(5.6vw, 40px); } }
      main table.price tbody td:first-child {
        border: 10px solid #e60012;
        border-top: 0 !important; }
        @media screen and (max-width: 767px) {
          main table.price tbody td:first-child {
            border: 6px solid #e60012; } }
      main table.price tbody td:last-child {
        border: 10px solid #034e9f;
        border-top: 0 !important; }
        @media screen and (max-width: 767px) {
          main table.price tbody td:last-child {
            border: 6px solid #034e9f; } }
      main table.price tbody td.full {
        position: relative; }
        main table.price tbody td.full::after {
          position: absolute;
          display: block;
          content: "";
          width: 50%;
          height: 100%;
          top: 0;
          left: -10px;
          border-left: 10px solid #e60012;
          border-bottom: 10px solid #e60012; }
          @media screen and (max-width: 767px) {
            main table.price tbody td.full::after {
              left: -6px;
              border-left: 6px solid #e60012;
              border-bottom: 6px solid #e60012; } }
      main table.price tbody td span {
        font-size: min(4.8vw, 60px); }
        @media screen and (max-width: 767px) {
          main table.price tbody td span {
            font-size: min(8.4vw, 60px); } }
    main table.price tbody tr:last-child td {
      border-radius: 0 0 0.6em 0.6em; }
      main table.price tbody tr:last-child td.full::after {
        border-radius: 0 0 0 0.6em; }
main dl.voice {
  display: flex;
  width: 84%;
  max-width: 900px;
  margin: 6em auto 0 auto; }
  @media screen and (max-width: 767px) {
    main dl.voice {
      justify-content: space-between;
      width: 100%;
      margin: 4em auto 0 auto; } }
  main dl.voice dt {
    width: 17.2%;
    margin-right: 2.3%; }
    @media screen and (max-width: 767px) {
      main dl.voice dt {
        width: 23%;
        margin: 0; } }
  main dl.voice dd {
    width: 61%;
    padding: 1.5em 2em;
    background-color: #f2f6f9;
    border-radius: 1.3em;
    color: #000; }
    @media screen and (max-width: 767px) {
      main dl.voice dd {
        width: 73%;
        padding: 1em 2em 1.5em 2em; } }
    main dl.voice dd .name {
      padding: 0 0 0.2em 0;
      border-bottom: 1px solid #c4c5c6;
      color: #000333;
      font-size: min(1.8vw, 20px); }
      @media screen and (max-width: 767px) {
        main dl.voice dd .name {
          font-size: min(3vw, 20px); } }
    main dl.voice dd .note {
      line-height: 1.6; }
      @media screen and (max-width: 767px) {
        main dl.voice dd .note {
          padding: 1em 0 0 0; } }
  main dl.voice.reverse {
    flex-direction: row-reverse;
    margin: 3em auto 0 auto; }
    @media screen and (max-width: 767px) {
      main dl.voice.reverse {
        margin: 2.5em auto 0 auto; } }
    main dl.voice.reverse dt {
      margin: 0 0 0 2.3%; }
main .o_line {
  position: relative;
  z-index: +1; }
  main .o_line::after {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 45%;
    bottom: 0;
    left: 0;
    background-color: #fde67c;
    z-index: -1; }

/*********************************
 * about
 *********************************/
#about {
  overflow-y: hidden;
  padding: 5.5em 0 3em 0;
  color: #32237f; }
  @media screen and (max-width: 767px) {
    #about {
      padding: 5em 0 4em 0; } }
  #about h2 {
    width: 64.9%;
    max-width: 700px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #about h2 {
        width: 100%; } }
  #about .lead {
    width: 64.9%;
    max-width: 700px;
    margin: 1.7em auto 0 auto;
    padding: 0.6em 0;
    background-color: #dff7ea;
    border-radius: 2em;
    color: #034e9f;
    font-family: "M PLUS 1p", sans-serif;
    font-size: min(2vw, 25px);
    line-height: 1;
    text-align: center;
    transform: rotate(0.1deg); }
    @media screen and (max-width: 767px) {
      #about .lead {
        width: 100%;
        margin: 1.3em auto 0 auto;
        font-size: min(3.9vw, 25px); } }
  #about ul.about_nav {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #about ul.about_nav {
        flex-wrap: wrap;
        padding-top: 3.5em; } }
    #about ul.about_nav li {
      position: relative;
      width: 32%;
      margin: 6em 0 0 0;
      border: 3px solid #034e9f;
      border-radius: 0 1.8em 1.8em 1.8em; }
      @media screen and (max-width: 767px) {
        #about ul.about_nav li {
          width: 100%;
          margin: 4.5em 0 0 0; } }
    #about ul.about_nav a {
      position: relative;
      display: block;
      overflow: inherit !important;
      width: 100%;
      height: 100%;
      padding: 0 0 2.4em 0;
      color: #034e9f; }
      @media screen and (max-width: 767px) {
        #about ul.about_nav a {
          padding: 0 0 3em 0; } }
      #about ul.about_nav a::after {
        position: absolute;
        display: block;
        content: "";
        width: 100%;
        height: 2.4em;
        bottom: 0;
        left: 0;
        background-color: #034e9f;
        border-radius: 0 0 1.5em 1.5em; }
        @media screen and (max-width: 767px) {
          #about ul.about_nav a::after {
            height: 3em; } }
      #about ul.about_nav a::before {
        position: absolute;
        display: block;
        content: "";
        width: 0.9em;
        height: 0.9em;
        bottom: 0.9em;
        left: calc(50% - 0.45em);
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        transform: rotate(135deg);
        transition: 0.2s;
        z-index: +1; }
        @media screen and (max-width: 767px) {
          #about ul.about_nav a::before {
            width: 1.5em;
            height: 1.5em;
            bottom: 1em;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff; } }
      @media screen and (min-width: 768px) {
        #about ul.about_nav a:hover {
          opacity: 1; }
          #about ul.about_nav a:hover::before {
            bottom: 0.6em; } }
    #about ul.about_nav .icon {
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      top: -2.2em;
      left: -3px;
      width: 4.4em;
      height: 4.4em;
      padding: 0;
      background-color: #e60012;
      border-radius: 50%;
      color: #fff;
      font-family: "M PLUS 1p", sans-serif;
      line-height: 1.15; }
      @media screen and (max-width: 767px) {
        #about ul.about_nav .icon {
          top: -3em;
          width: 6em;
          height: 6em;
          padding: 0.3em 0 0 0; } }
      #about ul.about_nav .icon span {
        font-size: min(1vw, 13px); }
        @media screen and (max-width: 767px) {
          #about ul.about_nav .icon span {
            font-size: min(3vw, 13px); } }
      #about ul.about_nav .icon .num {
        display: block;
        font-size: min(2vw, 25px);
        font-weight: 400;
        text-align: center; }
        @media screen and (max-width: 767px) {
          #about ul.about_nav .icon .num {
            font-size: min(5.6vw, 25px); } }
    #about ul.about_nav .note {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 8.5em;
      padding: 1em 1em 0 1em;
      font-size: min(1.7vw, 23px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about ul.about_nav .note {
          height: auto;
          padding: 1.8em 1em 1.3em 1em;
          font-size: min(3.8vw, 23px); } }

/*********************************
 * about1
 *********************************/
#about1 {
  overflow-y: hidden;
  padding: 6em 0 7em 0;
  color: #32237f; }
  @media screen and (max-width: 767px) {
    #about1 {
      padding: 5em 0 5em 0; } }
  #about1 .about1_lead {
    margin: 4em 0 0 0;
    color: #034e9f; }
    @media screen and (max-width: 767px) {
      #about1 .about1_lead {
        margin: 3em 0 0 0; } }
    #about1 .about1_lead h3 {
      font-size: min(2.8vw, 35px);
      line-height: 1.4;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about1 .about1_lead h3 {
          font-size: min(6vw, 35px); } }
    #about1 .about1_lead .sec1_box {
      width: 51%;
      margin: 1em auto 0 auto;
      padding: 2em 0;
      background-color: #f2f6f9;
      border-radius: 1.3em;
      color: #000333;
      font-size: min(2vw, 25px);
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about1 .about1_lead .sec1_box {
          width: 100%;
          margin: 0.8em auto 0 auto;
          font-size: min(3.9vw, 25px); } }
      #about1 .about1_lead .sec1_box ul {
        width: 11.5em;
        margin: 1em auto;
        font-size: min(2vw, 24px);
        font-weight: 700;
        text-align: left; }
        @media screen and (max-width: 767px) {
          #about1 .about1_lead .sec1_box ul {
            margin: 0.5em auto 1em auto;
            font-size: min(3.8vw, 24px); } }
        #about1 .about1_lead .sec1_box ul li {
          padding: 0.3em 0 0.3em 1.4em;
          background: url("../images/r_arw.svg") left 0.7em no-repeat;
          background-size: auto 0.85em;
          border-bottom: 1px solid #dfe9f2; }
          @media screen and (max-width: 767px) {
            #about1 .about1_lead .sec1_box ul li {
              padding: 0.5em 0 0.5em 1.4em;
              background: url("../images/r_arw.svg") left 0.8em no-repeat;
              background-size: auto 0.85em; } }
    #about1 .about1_lead .img {
      width: 75%;
      max-width: 800px;
      margin: 5.5em auto 0 auto; }
      @media screen and (max-width: 767px) {
        #about1 .about1_lead .img {
          width: 100%;
          margin: 3em auto 0 auto; } }
    #about1 .about1_lead .arw {
      width: 23%;
      margin: 2em auto 0 auto; }
      @media screen and (max-width: 767px) {
        #about1 .about1_lead .arw {
          width: 36%; } }
    #about1 .about1_lead .note {
      margin: 0.8em 0 0 0;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2.8vw, 35px);
      font-weight: 400;
      line-height: 2;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about1 .about1_lead .note {
          margin: 0.5em 0 0 0;
          font-size: min(5vw, 35px);
          font-weight: 500;
          line-height: 1.8;
          transform: rotate(0.1deg); } }
      #about1 .about1_lead .note .fs50 {
        font-weight: 300;
        line-height: 1; }
        @media screen and (max-width: 767px) {
          #about1 .about1_lead .note .fs50 {
            font-weight: 400; } }
  #about1 ul.notice {
    margin: 1.5em 0 0 0;
    color: #000333; }
    @media screen and (max-width: 767px) {
      #about1 ul.notice li {
        padding: 0 0 0 1em;
        text-indent: -1em; } }

/*********************************
 * about2
 *********************************/
#about2 {
  overflow-y: hidden;
  padding: 6.5em 0 7em 0;
  background-color: #e9f5ff; }
  @media screen and (max-width: 767px) {
    #about2 {
      padding: 5em 0 5em 0; } }
  #about2 .about2_lead {
    margin: 4em 0 0 0;
    color: #034e9f; }
    #about2 .about2_lead h3 {
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(4vw, 50px);
      font-weight: 400;
      line-height: 1.4;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead h3 {
          font-size: min(7vw, 50px); } }
    #about2 .about2_lead .catch {
      padding: 0.1em 0 0 0;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2.8vw, 35px);
      font-weight: 400;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .catch {
          padding: 0.2em 0 0 0;
          font-size: min(5.4vw, 35px);
          line-height: 1.6; } }
    #about2 .about2_lead .lead {
      width: 64.9%;
      max-width: 700px;
      margin: 3.5em auto 0 auto;
      padding: 0.6em 0;
      background-color: #dff7ea;
      border-radius: 2em;
      color: #034e9f;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2vw, 25px);
      line-height: 1;
      text-align: center;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .lead {
          width: 100%;
          margin: 1.5em auto 0 auto;
          font-size: min(3.9vw, 25px); } }
    #about2 .about2_lead .sec1_box {
      display: flex;
      justify-content: space-between;
      width: 78%;
      max-width: 840px;
      margin: 0 auto;
      word-break: break-all; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .sec1_box {
          flex-wrap: wrap;
          width: 83%;
          padding: 2em 0 0 0; } }
      #about2 .about2_lead .sec1_box .box {
        width: 47.6%;
        margin: 4.2em 0 0 0; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .sec1_box .box {
            width: 100%;
            margin: 3em 0 0 0; } }
      #about2 .about2_lead .sec1_box dl {
        overflow: hidden;
        background-color: #fff;
        border: 5px solid #f2f6f9;
        border-radius: 1.5em; }
        #about2 .about2_lead .sec1_box dl dt {
          padding: 1em 0;
          background-color: #f2f6f9;
          font-size: min(1.9vw, 23px);
          text-align: center; }
          @media screen and (max-width: 767px) {
            #about2 .about2_lead .sec1_box dl dt {
              font-size: min(4.4vw, 23px); } }
          #about2 .about2_lead .sec1_box dl dt span {
            font-size: min(1.3vw, 16px); }
            @media screen and (max-width: 767px) {
              #about2 .about2_lead .sec1_box dl dt span {
                font-size: min(3vw, 16px); } }
      #about2 .about2_lead .sec1_box p {
        padding: 1em 1em 0 1em;
        color: #000;
        line-height: 1.6; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .sec1_box p {
            line-height: 1.7; } }
        #about2 .about2_lead .sec1_box p a {
          border-bottom: 1px solid #034e9f;
          color: #034e9f; }
          @media screen and (min-width: 768px) {
            #about2 .about2_lead .sec1_box p a:hover {
              border-bottom: 1px solid #e9f5ff;
              opacity: 1; } }
    #about2 .about2_lead h4 {
      margin: 3em 0 0 0;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2.8vw, 35px);
      text-align: center;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead h4 {
          font-size: min(4.9vw, 35px);
          font-weight: 500; } }
    #about2 .about2_lead .sec2_box {
      width: 78%;
      max-width: 840px;
      margin: 1.3em auto 0 auto;
      padding: 0.7em 0 1.7em 0;
      background-color: #fff;
      border-radius: 1.5em; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .sec2_box {
          width: 100%;
          margin: 1em auto 0 auto; } }
      #about2 .about2_lead .sec2_box ul {
        width: 80%;
        margin: 1em auto;
        color: #000333;
        font-size: min(2vw, 24px);
        font-weight: 700;
        text-align: left; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .sec2_box ul {
            width: 88%;
            font-size: min(3.4vw, 24px); } }
        #about2 .about2_lead .sec2_box ul li {
          padding: 0.7em 0 0.7em 1.4em;
          background: url("../images/r_arw.svg") left 1.1em no-repeat;
          background-size: auto 0.85em;
          border-bottom: 1px solid #dfe9f2; }
          @media screen and (max-width: 767px) {
            #about2 .about2_lead .sec2_box ul li {
              padding: 0.9em 0 0.9em 1.4em; } }
    #about2 .about2_lead .atn {
      padding: 0.5em 0 0 0;
      color: #000333;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2.6vw, 33px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .atn {
          padding: 3em 0 0 0;
          font-size: min(4vw, 33px);
          line-height: 1.8; } }
    #about2 .about2_lead .arw {
      width: 23%;
      margin: 4.5em auto 0 auto; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .arw {
          width: 36%;
          margin: 2em auto 0 auto; } }
    #about2 .about2_lead .note {
      padding: 0.6em 0 0 0;
      font-family: "M PLUS 1p", sans-serif;
      font-size: min(2.8vw, 35px);
      font-weight: 400;
      line-height: 1.4;
      text-align: center;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .note {
          padding: 1em 0 0 0;
          font-size: min(5vw, 35px);
          line-height: 1.4; } }
      #about2 .about2_lead .note .fs50 {
        font-weight: 300;
        line-height: 2; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .note .fs50 {
            line-height: 1; } }
      #about2 .about2_lead .note strong {
        font-weight: 600; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .note strong {
            line-height: 1.4; } }
      #about2 .about2_lead .note + .note {
        padding: 0.2em 0 0 0;
        font-size: min(2.85vw, 36px);
        line-height: 1.8; }
        @media screen and (max-width: 767px) {
          #about2 .about2_lead .note + .note {
            padding: 0.5em 0 0 0;
            font-size: min(5.5vw, 36px);
            line-height: 1.4; } }
    #about2 .about2_lead .img {
      overflow: hidden;
      width: 78%;
      max-width: 840px;
      margin: 4em auto 0 auto;
      border-radius: 1.5em; }
      @media screen and (max-width: 767px) {
        #about2 .about2_lead .img {
          margin: 5em auto 0 auto; } }
  #about2 h3.cmn {
    background-color: #fff; }
  #about2 .about_coverage ul.coverage {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #about2 .about_coverage ul.coverage {
        flex-wrap: wrap;
        justify-content: center;
        padding: 2.5em 0 0 0; } }
    #about2 .about_coverage ul.coverage li {
      width: 18.8%;
      margin: 4.5em 0 0 0;
      padding: 0 0 1.5em 0;
      background-color: #fff;
      border-radius: 0.8em;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #about2 .about_coverage ul.coverage li {
          width: 31%;
          margin: 1.2em 3.5% 0 0;
          padding: 0 0 1em 0; }
          #about2 .about_coverage ul.coverage li:nth-child(3), #about2 .about_coverage ul.coverage li:nth-child(5) {
            margin-right: 0; } }
      @media screen and (max-width: 767px) {
        #about2 .about_coverage ul.coverage li .num {
          padding: 1em 0 0 0; } }
      #about2 .about_coverage ul.coverage li .num span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2em;
        height: 2em;
        margin: 0 auto;
        background-color: #034e9f;
        border-radius: 50%;
        color: #fff;
        font-family: "M PLUS 1p", sans-serif;
        font-weight: 400; }
        @media screen and (max-width: 767px) {
          #about2 .about_coverage ul.coverage li .num span {
            font-size: min(3.4vw, 24px); } }
      #about2 .about_coverage ul.coverage li img {
        width: 70%;
        margin: 1.5em 0 0 0; }
      #about2 .about_coverage ul.coverage li .note {
        color: #034e9f;
        font-family: "M PLUS 1p", sans-serif;
        font-size: min(2.2vw, 28px);
        font-weight: 800;
        transform: rotate(0.1deg); }
        @media screen and (max-width: 767px) {
          #about2 .about_coverage ul.coverage li .note {
            padding: 0.2em 0 0 0;
            font-size: min(5vw, 28px); } }
        #about2 .about_coverage ul.coverage li .note span {
          font-size: min(1.3vw, 16px); }
          @media screen and (max-width: 767px) {
            #about2 .about_coverage ul.coverage li .note span {
              font-size: min(3vw, 16px); } }
  #about2 .about_coverage ul.notice {
    margin: 1.5em 0 0 0; }
  #about2 .about_price ul.notice {
    margin: 1.5em 0 0 0;
    color: #000333; }
  #about2 .h2_more {
    position: relative;
    margin: 6em 0 0 0;
    padding: 1.5em 0;
    background-color: #034e9f;
    color: #fff;
    font-family: "M PLUS 1p", sans-serif;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #about2 .h2_more {
        padding: 1.8em 0; } }
    #about2 .h2_more::after {
      position: absolute;
      display: block;
      content: "";
      width: 20%;
      max-width: 250px;
      height: 3em;
      background-color: #034e9f;
      bottom: -3em;
      left: 50%;
      transform: translateX(-50%);
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
      @media screen and (max-width: 767px) {
        #about2 .h2_more::after {
          width: 35%;
          height: 2.4em;
          bottom: calc(-2.4em + 1px); } }
    #about2 .h2_more h2 {
      font-size: min(2.8vw, 35px);
      font-weight: 300;
      line-height: 1.4;
      transform: rotate(0.1deg); }
      @media screen and (max-width: 767px) {
        #about2 .h2_more h2 {
          font-size: min(5vw, 35px); } }
      #about2 .h2_more h2 span {
        font-weight: 500; }
  #about2 .h2_more + h3 {
    margin: 2.5em 0 0 0;
    color: #034e9f;
    font-family: "M PLUS 1p", sans-serif;
    font-size: min(2.8vw, 35px);
    text-align: center;
    transform: rotate(0.1deg); }
    @media screen and (max-width: 767px) {
      #about2 .h2_more + h3 {
        margin: 2em 0 0 0;
        font-size: min(5vw, 35px); } }
  #about2 h3.cmn.more {
    margin-top: 1.5em; }

/*********************************
 * about3
 *********************************/
#about3 {
  overflow-y: hidden;
  padding: 6.5em 0 9em 0; }
  @media screen and (max-width: 767px) {
    #about3 {
      padding: 5em 0 6em 0; } }
  @media screen and (max-width: 767px) {
    #about3 .h2_box {
      padding-top: 3.5em; } }
  #about3 .about3_lead .sec1_box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #about3 .about3_lead .sec1_box {
        flex-wrap: wrap;
        width: 77%;
        margin: 0 auto;
        padding: 3.5em 0 0 0; } }
    #about3 .about3_lead .sec1_box .box {
      width: 30.5%;
      margin: 6.5em 0 0 0; }
      @media screen and (max-width: 767px) {
        #about3 .about3_lead .sec1_box .box {
          width: 100%;
          margin: 1.5em 0 0 0; } }
    #about3 .about3_lead .sec1_box .arw {
      position: relative;
      width: 4%;
      margin: 6.5em 0 0 0; }
      @media screen and (max-width: 767px) {
        #about3 .about3_lead .sec1_box .arw {
          width: 30%;
          margin: 1.5em auto 0 auto; } }
      @media screen and (min-width: 768px) {
        #about3 .about3_lead .sec1_box .arw::after {
          position: absolute;
          display: block;
          content: "";
          width: 220%;
          height: 1.6em;
          top: 32%;
          left: -1.6em;
          background: url("../images/b_arw.svg") center center no-repeat;
          background-size: contain;
          transform: rotate(-90deg); } }
      @media screen and (min-width: 768px) {
        #about3 .about3_lead .sec1_box .arw img {
          display: none; } }
    #about3 .about3_lead .sec1_box dl {
      overflow: hidden;
      background-color: #f4f4f4;
      border-radius: 1.5em; }
      #about3 .about3_lead .sec1_box dl dt {
        padding: 1em 0;
        background-color: #034e9f;
        color: #fff;
        font-family: "M PLUS 1p", sans-serif;
        font-size: min(1.8vw, 20px);
        font-weight: 400;
        text-align: center;
        transform: rotate(0.1deg); }
        @media screen and (max-width: 767px) {
          #about3 .about3_lead .sec1_box dl dt {
            font-size: min(3.8vw, 20px); } }
      #about3 .about3_lead .sec1_box dl dd p {
        height: 13em;
        padding: 1em 1.5em;
        line-height: 1.7; }
        @media screen and (max-width: 767px) {
          #about3 .about3_lead .sec1_box dl dd p {
            height: auto;
            padding: 1em 1.5em 1.5em 1.5em; } }
      #about3 .about3_lead .sec1_box dl img {
        display: block;
        width: calc(100% - 20px);
        margin: 10px auto 0 auto; }
    #about3 .about3_lead .sec1_box ul.notice {
      margin: 1em 0 0 0;
      padding: 0 1em 0 2em;
      text-indent: -1em; }
  #about3 .about3_lead .sec2_box {
    width: 80%;
    max-width: 775px;
    margin: 5em auto 0 auto; }
    @media screen and (max-width: 767px) {
      #about3 .about3_lead .sec2_box {
        width: 100%; } }
    #about3 .about3_lead .sec2_box dl {
      display: flex;
      align-items: flex-end;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        #about3 .about3_lead .sec2_box dl {
          align-items: flex-start; } }
      #about3 .about3_lead .sec2_box dl dt {
        width: 65%;
        font-size: min(1.8vw, 18px);
        line-height: 1.6; }
        @media screen and (max-width: 767px) {
          #about3 .about3_lead .sec2_box dl dt {
            width: 60%;
            font-size: min(2.9vw, 18px); } }
      #about3 .about3_lead .sec2_box dl dd {
        width: 27%; }
        @media screen and (max-width: 767px) {
          #about3 .about3_lead .sec2_box dl dd {
            width: 34%; } }
    #about3 .about3_lead .sec2_box .img {
      margin: 1.5em -0.5em 0 0;
      text-align: right; }
      @media screen and (max-width: 767px) {
        #about3 .about3_lead .sec2_box .img {
          margin: 0; } }
      #about3 .about3_lead .sec2_box .img img {
        width: 58%; }
        @media screen and (max-width: 767px) {
          #about3 .about3_lead .sec2_box .img img {
            width: 100%; } }

/*********************************
 * fix_bnr
 *********************************/
#fix_bnr {
  position: fixed;
  display: none;
  width: 58px;
  top: 3em;
  right: 0;
  z-index: 10; }
  @media screen and (max-width: 767px) {
    #fix_bnr {
      width: 93%;
      left: 3.5%;
      top: auto;
      bottom: 0; } }

/*********************************
 *
 * FOOTER
 *
 *********************************/
footer {
  padding: 1.3em 0;
  background-color: #034e9f;
  color: #fff;
  font-weight: 400;
  text-align: center; }
  @media screen and (max-width: 767px) {
    footer {
      padding: 1.5em 0 calc(1.5em + 12vw) 0; } }
