main section h1,
main section h2 {
  margin-bottom: 84px; }
  @media only screen and (max-width: 768px) {
    main section h1,
    main section h2 {
      margin-bottom: 8vw; } }
  main section h1 img,
  main section h2 img {
    width: 100%; }

main section h3 {
  text-align: left;
  font-size: 24px;
  font-weight: bold;
  color: #003594;
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
  padding: 0 16px; }
  @media only screen and (max-width: 768px) {
    main section h3 {
      font-size: 4.2vw;
      padding: 0; } }

main section.sec1 .content {
  padding-bottom: 60px; }
  @media only screen and (max-width: 768px) {
    main section.sec1 .content {
      padding-bottom: 6vw; } }
  main section.sec1 .content .messagewrap .flexwrap {
    flex-wrap: nowrap;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      main section.sec1 .content .messagewrap .flexwrap {
        flex-wrap: wrap;
        flex-direction: contain; } }
    main section.sec1 .content .messagewrap .flexwrap .photo {
      width: 23%; }
      @media only screen and (max-width: 768px) {
        main section.sec1 .content .messagewrap .flexwrap .photo {
          width: 100%;
          margin-bottom: 6vw; } }
      main section.sec1 .content .messagewrap .flexwrap .photo.lg {
        width: 36%; }
        @media only screen and (max-width: 768px) {
          main section.sec1 .content .messagewrap .flexwrap .photo.lg {
            width: 100%; } }
      main section.sec1 .content .messagewrap .flexwrap .photo img {
        width: 100%; }
        @media only screen and (max-width: 768px) {
          main section.sec1 .content .messagewrap .flexwrap .photo img {
            width: 50%;
            margin: 0 auto; } }
      main section.sec1 .content .messagewrap .flexwrap .photo p.name {
        margin-top: 10px;
        text-align: left;
        font-size: 12px; }
        @media only screen and (max-width: 768px) {
          main section.sec1 .content .messagewrap .flexwrap .photo p.name {
            font-size: 3.6vw; } }
        main section.sec1 .content .messagewrap .flexwrap .photo p.name strong {
          font-size: 16px; }
          @media only screen and (max-width: 768px) {
            main section.sec1 .content .messagewrap .flexwrap .photo p.name strong {
              font-size: 4vw; } }
    main section.sec1 .content .messagewrap .flexwrap .text {
      width: 75%;
      text-align: left; }
      @media only screen and (max-width: 768px) {
        main section.sec1 .content .messagewrap .flexwrap .text {
          width: 100%; } }
      main section.sec1 .content .messagewrap .flexwrap .text.lg {
        width: 61%; }
        @media only screen and (max-width: 768px) {
          main section.sec1 .content .messagewrap .flexwrap .text.lg {
            width: 100%; } }
      main section.sec1 .content .messagewrap .flexwrap .text p {
        margin-bottom: 25px; }
        main section.sec1 .content .messagewrap .flexwrap .text p:last-child {
          margin-bottom: 0; }
      main section.sec1 .content .messagewrap .flexwrap .text h4 {
        color: #003594;
        border-bottom: 1px solid #003594;
        margin-bottom: 15px; }
        @media only screen and (max-width: 768px) {
          main section.sec1 .content .messagewrap .flexwrap .text h4 {
            margin-bottom: 2vw; } }
  main section.sec1 .content .messagewrap:first-child {
    margin-bottom: 50px; }
  main section.sec1 .content .messagewrap:last-child .flexwrap {
    flex-direction: row-reverse; }

main section.sec2 {
  padding-bottom: 140px; }
  @media only screen and (max-width: 768px) {
    main section.sec2 {
      padding-bottom: 12vw; } }
  main section.sec2 .content .graph {
    width: 50%;
    margin: 0 auto 20px; }
    @media only screen and (max-width: 768px) {
      main section.sec2 .content .graph {
        width: 70%;
        margin: 0 auto 3vw; } }
    main section.sec2 .content .graph img {
      width: 100%; }
  main section.sec2 ul li {
    padding: 30px 0; }
    @media only screen and (max-width: 768px) {
      main section.sec2 ul li {
        padding: 3.5vw 0; } }
    main section.sec2 ul li:nth-child(odd) {
      background-color: #F4F3F9; }
    main section.sec2 ul li .content dl {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
      @media only screen and (max-width: 768px) {
        main section.sec2 ul li .content dl {
          flex-wrap: wrap;
          flex-direction: column; } }
      main section.sec2 ul li .content dl dt,
      main section.sec2 ul li .content dl dd {
        margin: 0; }
      main section.sec2 ul li .content dl dt {
        width: 32%; }
        @media only screen and (max-width: 768px) {
          main section.sec2 ul li .content dl dt {
            width: 100%;
            margin-bottom: 3vw; } }
        main section.sec2 ul li .content dl dt p {
          font-size: 24px;
          color: #003594;
          font-weight: bold; }
          @media only screen and (max-width: 768px) {
            main section.sec2 ul li .content dl dt p {
              font-size: 4vw; } }
        main section.sec2 ul li .content dl dt a.frame_btn {
          padding: 6px 0;
          width: 150px;
          margin-top: 20px; }
          @media only screen and (max-width: 768px) {
            main section.sec2 ul li .content dl dt a.frame_btn {
              width: 60%;
              padding: 3vw 0;
              margin-top: 3vw; } }
      main section.sec2 ul li .content dl dd {
        width: 66%;
        text-align: left; }
        @media only screen and (max-width: 768px) {
          main section.sec2 ul li .content dl dd {
            width: 100%; } }
        main section.sec2 ul li .content dl dd p {
          margin-bottom: 20px; }
          @media only screen and (max-width: 768px) {
            main section.sec2 ul li .content dl dd p {
              margin-bottom: 2vw; } }
          main section.sec2 ul li .content dl dd p:last-child {
            margin-bottom: 0; }
          main section.sec2 ul li .content dl dd p.ttl {
            font-weight: bold;
            margin-bottom: 10px; }
            @media only screen and (max-width: 768px) {
              main section.sec2 ul li .content dl dd p.ttl {
                margin-bottom: 1.5vw; } }
  main section.sec2 .wrap {
    margin-bottom: 45px;
    padding: 0 10px;
    text-align: left; }
    @media only screen and (max-width: 768px) {
      main section.sec2 .wrap {
        margin-bottom: 6vw;
        padding: 0; } }
    main section.sec2 .wrap h3 {
      color: #003594;
      font-size: 24px;
      margin-bottom: 25px; }
      @media only screen and (max-width: 768px) {
        main section.sec2 .wrap h3 {
          font-size: 4vw;
          margin-bottom: 3vw; } }
    main section.sec2 .wrap ul {
      padding: 15px;
      text-align: left; }
      @media only screen and (max-width: 768px) {
        main section.sec2 .wrap ul {
          padding: 0; } }
      main section.sec2 .wrap ul li {
        position: relative;
        padding: 0;
        background-color: transparent; }
        main section.sec2 .wrap ul li strong {
          font-weight: bold; }
        main section.sec2 .wrap ul li::before {
          position: absolute;
          top: 0;
          left: -20px; }
          @media only screen and (max-width: 768px) {
            main section.sec2 .wrap ul li::before {
              left: -3vw; } }
      main section.sec2 .wrap ul.num {
        margin-left: 30px; }
        @media only screen and (max-width: 768px) {
          main section.sec2 .wrap ul.num {
            margin-left: 3.4vw; } }
        main section.sec2 .wrap ul.num li:first-child::before {
          content: "1";
          color: #003594; }
        main section.sec2 .wrap ul.num li:nth-child(2)::before {
          content: "2";
          color: #003594; }
      main section.sec2 .wrap ul.disc {
        margin-left: 30px;
        list-style-type: disc; }
        @media only screen and (max-width: 768px) {
          main section.sec2 .wrap ul.disc {
            margin-left: 6vw; } }
    main section.sec2 .wrap dl {
      margin-bottom: 25px;
      padding: 0 15px; }
      @media only screen and (max-width: 768px) {
        main section.sec2 .wrap dl {
          margin-bottom: 3vw;
          padding: 0; } }
      main section.sec2 .wrap dl dt {
        color: #003594; }
