@charset "UTF-8";
/*------------------------------------------------

    initialize
*/
html, body {
  margin: 0;
  padding: 0;
  color: #505050;
  font: 400 4.27vw/1.6 'Noto Sans JP', sans-serif; }
  @media (min-width: 640px) {
    html, body {
      font-size: 1.5625vw; } }
  @media (min-width: 1024px) {
    html, body {
      font-size: 16px; } }

img {
  max-width: 100%;
  height: auto; }

section, figcaption {
  display: block;
  position: relative; }

* {
  outline: none; }

.wrap {
  width: 100%;
  padding-left: 2.67vw;
  padding-right: 2.67vw;
  position: relative; }
  @media (min-width: 640px) {
    .wrap {
      padding-left: 1.95vw;
      padding-right: 1.95vw;
      margin-left: auto;
      margin-right: auto; } }
  @media (min-width: 1024px) {
    .wrap {
      padding-left: 20px;
      padding-right: 20px;
      max-width: 1040px; } }

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

    header
*/
header {
  width: 100%;
  height: 16vw;
  background: #fff; }
  @media (min-width: 640px) {
    header {
      height: 9.77vw; } }
  @media (min-width: 1024px) {
    header {
      height: 100px; } }
  header .logo {
    width: 24.8vw;
    height: 10.67vw;
    background: url("../images/header_logo.png") center center no-repeat;
    background-size: contain; }
    @media (min-width: 640px) {
      header .logo {
        width: 13.67vw;
        height: 5.86vw; } }
    @media (min-width: 1024px) {
      header .logo {
        width: 140px;
        height: 60px; } }
  header .desc {
    line-height: 1.6;
    color: #303030; }
    @media (min-width: 640px) {
      header .desc {
        width: 39.06vw;
        font-size: 1.37vw;
        margin: 0 2.93vw; } }
    @media (min-width: 1024px) {
      header .desc {
        width: 330px;
        font-size: 14px;
        margin: 0 30px; } }
  header a.cvbtn {
    display: none;
    width: 50.67vw;
    height: 10.67vw;
    background: #EC6700;
    box-shadow: 0 .8vw 0 0 #B74E00;
    border-radius: 5.33vw;
    position: relative;
    color: #fff;
    font-weight: 700; }
    @media (min-width: 640px) {
      header a.cvbtn {
        display: block;
        width: 27.34vw;
        height: 5.86vw;
        border-radius: 3.91vw;
        box-shadow: 0 .49vw 0 0 #B74E00; } }
    @media (min-width: 1024px) {
      header a.cvbtn {
        width: 280px;
        height: 60px;
        border-radius: 30px;
        box-shadow: 0 5px 0 0 #B74E00; } }
    header a.cvbtn::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.25rem;
      font-weight: normal;
      text-align: center;
      line-height: 5.33vw;
      width: 2.13vw;
      height: 5.33vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        header a.cvbtn::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        header a.cvbtn::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    header a.cvbtn .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 24vw;
      height: 8vw;
      background: #fff;
      border-radius: 4vw;
      color: #EC6700;
      font-size: .6875rem;
      text-align: center;
      line-height: 7vw; }
      @media (min-width: 640px) {
        header a.cvbtn .left {
          margin: .78vw 0 .78vw .78vw;
          width: 12.7vw;
          height: 4.3vw;
          border-radius: 2.15vw;
          font-size: 1.37vw;
          line-height: 4.1vw; } }
      @media (min-width: 1024px) {
        header a.cvbtn .left {
          margin: 8px 0 8px 8px;
          width: 130px;
          height: 44px;
          border-radius: 22px;
          font-size: 14px;
          line-height: 42px; } }
      header a.cvbtn .left span {
        font-size: 1.0625rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          header a.cvbtn .left span {
            font-size: 2.15vw; } }
        @media (min-width: 1024px) {
          header a.cvbtn .left span {
            font-size: 22px; } }
    header a.cvbtn .right {
      text-align: center;
      padding: 0 4vw 0 0;
      font-size: 1rem;
      line-height: 1; }
      @media (min-width: 640px) {
        header a.cvbtn .right {
          padding: 0 2.93vw 0 0;
          font-size: 1.95vw; } }
      @media (min-width: 1024px) {
        header a.cvbtn .right {
          padding: 0 30px 0 0;
          font-size: 20px; } }

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

    main
*/
main {
  width: 100%; }

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

    section01 - FV
*/
#sctn01a {
  background: url("../images/sctn01b_bg_sp.jpg") center top no-repeat #fff;
  background-size: contain; }
  @media (min-width: 640px) {
    #sctn01a {
      background: url("../images/sctn01b_bg_pc.jpg") center center no-repeat;
      background-size: cover; } }
  #sctn01a .wrap {
    position: relative;
    width: 100%;
    height: 80vw;
    padding: 2.67vw 0 0; }
    @media (min-width: 640px) {
      #sctn01a .wrap {
        height: 48.83vw;
        padding-top: 7.81vw;
        padding-left: 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn01a .wrap {
        height: 500px;
        padding-top: 80px;
        padding-left: 60px; } }
  #sctn01a h1 {
    width: 69.33vw;
    height: 10.67vw;
    background: #0A6EB4;
    color: #fff;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    line-height: 10.67vw;
    margin: 0 auto; }
    @media (min-width: 640px) {
      #sctn01a h1 {
        width: 42.97vw;
        height: 4.88vw;
        font-size: 1.5rem;
        line-height: 4.88vw;
        margin: 0; } }
    @media (min-width: 1024px) {
      #sctn01a h1 {
        width: 440px;
        height: 50px;
        line-height: 50px; } }
  #sctn01a h2 {
    color: #fff;
    font-size: 1.625rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    text-align: center;
    margin-top: 1.33vw; }
    @media (min-width: 640px) {
      #sctn01a h2 {
        color: #0A6EB4;
        font-size: 2.75rem;
        margin-top: 5.86vw;
        text-align: left; } }
    @media (min-width: 1024px) {
      #sctn01a h2 {
        margin-top: 60px; } }
  #sctn01a p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    color: #000;
    font-size: 1.125rem;
    font-weight: 500;
    text-align: center;
    margin: auto; }
    @media (min-width: 640px) {
      #sctn01a p {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        color: #333;
        font-size: 2.125rem;
        margin: 3.91vw 0 0;
        text-align: left; } }
    @media (min-width: 1024px) {
      #sctn01a p {
        margin-top: 40px; } }
  @media (min-width: 640px) {
    #sctn01a ul {
      margin-top: 2.93vw; } }
  @media (min-width: 1024px) {
    #sctn01a ul {
      margin-top: 30px; } }
  #sctn01a ul li {
    width: 10.74vw;
    height: 10.74vw;
    border-radius: 50%;
    background: url("../images/sctn01_li_bg.png") center bottom no-repeat;
    background-size: contain;
    color: #000;
    font-size: 1.95vw;
    font-weight: 700;
    text-align: center;
    line-height: 1.33;
    margin: 0 .98vw;
    padding-top: 1.86vw; }
    @media (min-width: 640px) {
      #sctn01a ul li {
        width: 13.67vw;
        height: 13.67vw;
        font-size: 1.125rem;
        margin: 0 .98vw;
        padding-top: 2.73vw; } }
    @media (min-width: 1024px) {
      #sctn01a ul li {
        width: 140px;
        height: 140px;
        margin: 0 10px;
        padding-top: 28px; } }
    #sctn01a ul li span {
      color: #0A6EB4; }

#sctn01b {
  background: url("../images/sctn01b_bg_sp.jpg") center top no-repeat #fff;
  background-size: contain; }
  @media (min-width: 640px) {
    #sctn01b {
      background: url("../images/sctn01b_bg_pc.jpg") center center no-repeat;
      background-size: cover; } }
  #sctn01b .wrap {
    position: relative;
    width: 100%;
    padding: 2.67vw 0; }
    @media (min-width: 640px) {
      #sctn01b .wrap {
        height: 48.83vw;
        padding-top: 2.44vw;
        padding-left: 5.86vw;
        padding-bottom: 0; } }
    @media (min-width: 1024px) {
      #sctn01b .wrap {
        height: 500px;
        padding-top: 25px;
        padding-left: 60px; } }
  #sctn01b h1 {
    width: 69.33vw;
    height: 10.67vw;
    background: #0A6EB4;
    color: #fff;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    line-height: 10.67vw;
    margin: 0 auto; }
    @media (min-width: 640px) {
      #sctn01b h1 {
        width: 47.85vw;
        height: 4.88vw;
        font-size: 1.5rem;
        line-height: 4.88vw;
        margin: 0; } }
    @media (min-width: 1024px) {
      #sctn01b h1 {
        width: 490px;
        height: 50px;
        line-height: 50px; } }
  #sctn01b h2 {
    color: #fff;
    font-size: 1.625rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    text-align: center;
    margin-top: 1.33vw; }
    @media (min-width: 640px) {
      #sctn01b h2 {
        width: 47.85vw;
        color: #333;
        font-size: 2.75rem;
        margin-top: .98vw;
        line-height: 1.5; } }
    @media (min-width: 1024px) {
      #sctn01b h2 {
        width: 490px;
        margin-top: 10px; } }
  #sctn01b .inner {
    background: #fff;
    padding: 2.67vw 0;
    width: 94.66vw;
    border-radius: 2.13vw;
    box-shadow: 0 0.8vw 1.6vw 0 rgba(0, 0, 0, 0.15);
    margin: 43.73vw auto 0; }
    @media (min-width: 640px) {
      #sctn01b .inner {
        padding: 1.46vw 0;
        width: 47.85vw;
        border-radius: .78vw;
        box-shadow: none;
        margin: 1.17vw 0 0; } }
    @media (min-width: 1024px) {
      #sctn01b .inner {
        padding: 15px 0;
        width: 490px;
        border-radius: 8px;
        margin-top: 12px; } }
  #sctn01b h3 {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.25) 0%, rgba(10, 110, 180, 0.25) 50%, rgba(255, 255, 255, 0.25) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.25) 0%, rgba(10, 110, 180, 0.25) 50%, rgba(255, 255, 255, 0.25) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.25) 0%, rgba(10, 110, 180, 0.25) 50%, rgba(255, 255, 255, 0.25) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33ffffff',endColorstr='#33ffffff',GradientType=1);
    width: 100%;
    font-size: .875rem;
    font-weight: 700;
    /*font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
    text-align: center;
    line-height: 1.3;
    padding: 2.13vw 0;
    color: #0A6EB4; }
    @media (min-width: 640px) {
      #sctn01b h3 {
        font-size: 1.95vw;
        padding: .98vw 0; } }
    @media (min-width: 1024px) {
      #sctn01b h3 {
        font-size: 20px;
        padding: 10px 0; } }
    #sctn01b h3 span {
      color: #0A6EB4; }
  #sctn01b .txtwrap {
    margin: 2.67vw auto 0;
    width: 100%;
    padding: 0; }
    @media (min-width: 640px) {
      #sctn01b .txtwrap {
        margin-top: 1.46vw;
        width: 43.95vw; } }
    @media (min-width: 1024px) {
      #sctn01b .txtwrap {
        margin-top: 15px;
        width: 450px; } }
  #sctn01b img {
    width: 34.67vw;
    height: auto;
    margin-right: 2.67vw; }
    @media (min-width: 640px) {
      #sctn01b img {
        width: 16.6vw;
        margin-right: 1.46vw; } }
    @media (min-width: 1024px) {
      #sctn01b img {
        width: 170px;
        margin-right: 15px; } }
  #sctn01b p {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    line-height: 1.3; }
    @media (min-width: 640px) {
      #sctn01b p {
        font-size: 1.5rem; } }

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

    cv button01
*/
#cvbtn01.cv01 {
  background: #E6F0F7;
  padding: 2.67vw 0; }
  @media (min-width: 640px) {
    #cvbtn01.cv01 {
      padding: .98vw 0 1.46vw; } }
  @media (min-width: 1024px) {
    #cvbtn01.cv01 {
      padding: 10px 0 15px; } }
  #cvbtn01.cv01 p {
    color: #0A6EB4;
    font-size: 1rem;
    font-weight: 700;
    text-align: center; }
    @media (min-width: 640px) {
      #cvbtn01.cv01 p {
        font-size: 1.5rem; } }
  #cvbtn01.cv01 .btn01 a {
    display: block;
    width: 89.33vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn01.cv01 .btn01 a {
        width: 58.59vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin-top: 0; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv01 .btn01 a {
        width: 600px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00; } }
    #cvbtn01.cv01 .btn01 a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn01 a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn01 a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn01.cv01 .btn01 a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn01 a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn01 a .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn01.cv01 .btn01 a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn01.cv01 .btn01 a .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn01.cv01 .btn01 a .left span {
            font-size: 34px; } }
    #cvbtn01.cv01 .btn01 a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn01 a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn01 a .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn01.cv01 .btn02 a.otg {
    display: block;
    width: 45.33vw;
    height: 16vw;
    background: #00C464;
    box-shadow: 0 1.33vw 0 0 #00A150;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw 2.93vw 0 auto; }
    @media (min-width: 640px) {
      #cvbtn01.cv01 .btn02 a.otg {
        width: 32.23vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #00A150;
        margin: 0 3.91vw 0 auto; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv01 .btn02 a.otg {
        width: 330px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #00A150;
        margin-right: 40px; } }
    #cvbtn01.cv01 .btn02 a.otg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn02 a.otg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn02 a.otg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn01.cv01 .btn02 a.otg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn02 a.otg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw;
          line-height: 7.81vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn02 a.otg .right {
          padding: 0 30px 0 0;
          font-size: 30px;
          line-height: 80px; } }
  #cvbtn01.cv01 .btn02 a.rg {
    display: block;
    width: 45.33vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0 0; }
    @media (min-width: 640px) {
      #cvbtn01.cv01 .btn02 a.rg {
        width: 53.71vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin-top: 0; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv01 .btn02 a.rg {
        width: 550px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00; } }
    #cvbtn01.cv01 .btn02 a.rg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn02 a.rg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn02 a.rg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn01.cv01 .btn02 a.rg .left {
      display: none;
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn02 a.rg .left {
          display: block;
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn02 a.rg .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn01.cv01 .btn02 a.rg .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn01.cv01 .btn02 a.rg .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn01.cv01 .btn02 a.rg .left span {
            font-size: 34px; } }
    #cvbtn01.cv01 .btn02 a.rg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv01 .btn02 a.rg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw;
          line-height: 1; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv01 .btn02 a.rg .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn01.cv01 aside {
    font-size: .75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 4vw; }
    @media (min-width: 640px) {
      #cvbtn01.cv01 aside {
        font-size: .875rem;
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv01 aside {
        margin-top: 15px; } }

#cvbtn01.cv02 {
  margin: 2.67vw auto 0;
  width: 100%; }
  @media (min-width: 640px) {
    #cvbtn01.cv02 {
      margin-top: 1.46vw;
      width: 43.95vw; } }
  @media (min-width: 1024px) {
    #cvbtn01.cv02 {
      margin-top: 15px;
      width: 450px; } }
  #cvbtn01.cv02 .btn01 a {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 0 auto; }
    @media (min-width: 640px) {
      #cvbtn01.cv02 .btn01 a {
        height: 6.84vw;
        border-radius: 3.42vw;
        box-shadow: 0 .68vw 0 0 #B74E00; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv02 .btn01 a {
        height: 70px;
        border-radius: 35px;
        box-shadow: 0 7px 0 0 #B74E00; } }
    #cvbtn01.cv02 .btn01 a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn01 a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn01 a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn01.cv02 .btn01 a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn01 a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 17.58vw;
          height: 4.88vw;
          border-radius: 2.44vw;
          font-size: 1.95vw;
          line-height: 4.49vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn01 a .left {
          margin: 10px 0 10px 10px;
          width: 180px;
          height: 50px;
          border-radius: 25px;
          font-size: 20px;
          line-height: 46px; } }
      #cvbtn01.cv02 .btn01 a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn01.cv02 .btn01 a .left span {
            font-size: 2.93vw; } }
        @media (min-width: 1024px) {
          #cvbtn01.cv02 .btn01 a .left span {
            font-size: 30px; } }
    #cvbtn01.cv02 .btn01 a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn01 a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.54vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn01 a .right {
          padding: 0 30px 0 0;
          font-size: 26px; } }
  #cvbtn01.cv02 .btn02 a.otg {
    display: block;
    width: 45.33vw;
    height: 16vw;
    background: #00C464;
    box-shadow: 0 1.33vw 0 0 #00A150;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin-right: 1.33vw; }
    @media (min-width: 640px) {
      #cvbtn01.cv02 .btn02 a.otg {
        width: 21vw;
        height: 6.84vw;
        border-radius: 3.42vw;
        box-shadow: 0 .68vw 0 0 #00A150;
        margin-right: 1.95vw; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv02 .btn02 a.otg {
        width: 215px;
        height: 70px;
        border-radius: 35px;
        box-shadow: 0 7px 0 0 #00A150;
        margin-right: 20px; } }
    #cvbtn01.cv02 .btn02 a.otg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn02 a.otg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.46vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn02 a.otg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 15px; } }
    #cvbtn01.cv02 .btn02 a.otg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn02 a.otg .right {
          padding: 0 1.95vw 0 0;
          font-size: 2.54vw;
          line-height: 6.84vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn02 a.otg .right {
          padding: 0 20px 0 0;
          font-size: 26px;
          line-height: 70px; } }
  #cvbtn01.cv02 .btn02 a.rg {
    display: block;
    width: 45.33vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700; }
    @media (min-width: 640px) {
      #cvbtn01.cv02 .btn02 a.rg {
        width: 21vw;
        height: 6.84vw;
        border-radius: 3.42vw;
        box-shadow: 0 .68vw 0 0 #B74E00; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv02 .btn02 a.rg {
        width: 215px;
        height: 70px;
        border-radius: 35px;
        box-shadow: 0 7px 0 0 #B74E00; } }
    #cvbtn01.cv02 .btn02 a.rg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn02 a.rg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.46vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn02 a.rg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 15px; } }
    #cvbtn01.cv02 .btn02 a.rg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn01.cv02 .btn02 a.rg .right {
          padding: 0 1.95vw 0 0;
          font-size: 2.54vw;
          line-height: 6.84vw; } }
      @media (min-width: 1024px) {
        #cvbtn01.cv02 .btn02 a.rg .right {
          padding: 0 20px 0 0;
          font-size: 26px;
          line-height: 70px; } }
  #cvbtn01.cv02 aside {
    font-size: .75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 2.67vw; }
    @media (min-width: 640px) {
      #cvbtn01.cv02 aside {
        font-size: 1.37vw;
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn01.cv02 aside {
        font-size: 14px;
        margin-top: 15px; } }

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

    section02 - 信頼性アップ
*/
#sctn02 {
  background: #fff;
  padding: 0 0 12vw; }
  @media (min-width: 640px) {
    #sctn02 {
      padding: 5.86vw 0 7.81vw; } }
  @media (min-width: 1024px) {
    #sctn02 {
      padding: 60px 0 80px; } }
  #sctn02 h3 {
    background: #0A6EB4;
    padding: 4vw;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    text-align: center; }
    @media (min-width: 640px) {
      #sctn02 h3 {
        padding: 1.46vw 0;
        font-size: 2.73vw; } }
    @media (min-width: 1024px) {
      #sctn02 h3 {
        padding: 15px 0;
        font-size: 28px; } }
  #sctn02 li {
    background: #E6F0F7; }
    #sctn02 li:nth-child(1) {
      width: 100%;
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn02 li:nth-child(1) {
          width: 30.08vw;
          margin-top: 5.86vw; } }
      @media (min-width: 1024px) {
        #sctn02 li:nth-child(1) {
          width: 308px;
          margin-top: 60px; } }
    #sctn02 li:nth-child(2) {
      width: 45.33vw;
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn02 li:nth-child(2) {
          width: 30.08vw;
          margin-top: 5.86vw; } }
      @media (min-width: 1024px) {
        #sctn02 li:nth-child(2) {
          width: 308px;
          margin-top: 60px; } }
    #sctn02 li:nth-child(3) {
      width: 45.33vw;
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn02 li:nth-child(3) {
          width: 30.08vw;
          margin-top: 5.86vw; } }
      @media (min-width: 1024px) {
        #sctn02 li:nth-child(3) {
          width: 308px;
          margin-top: 60px; } }
    #sctn02 li h4 {
      background: #0A6EB4;
      padding: 1.33vw 0;
      color: #fff;
      font-size: .875rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn02 li h4 {
          padding: .49vw 0;
          font-size: 2.34vw; } }
      @media (min-width: 1024px) {
        #sctn02 li h4 {
          padding: 5px 0;
          font-size: 24px; } }
    #sctn02 li aside {
      font-size: .5rem;
      text-align: center;
      margin: .8vw 0 -1.33vw;
      position: relative; }
      @media (min-width: 640px) {
        #sctn02 li aside {
          font-size: .75rem;
          margin: .49vw 0 -.49vw; } }
      @media (min-width: 1024px) {
        #sctn02 li aside {
          margin: 5px 0 -5px; } }
    #sctn02 li p {
      padding: 4vw 2.67vw;
      /*font-size: .625rem;*/
      text-align: justify;
      word-break: break-all; }
      @media (min-width: 640px) {
        #sctn02 li p {
          padding: 1.46vw;
          font-size: 1.76vw; } }
      @media (min-width: 1024px) {
        #sctn02 li p {
          padding: 15px;
          font-size: 18px; } }
      #sctn02 li p .textbase {
        font-size: .875rem; }
        @media (min-width: 640px) {
          #sctn02 li p .textbase {
            font-size: 1.56vw; } }
        @media (min-width: 1024px) {
          #sctn02 li p .textbase {
            font-size: 16px; } }
  #sctn02 .lead {
    margin-top: 8vw;
    color: #0A6EB4;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 2.67vw;
    border-bottom: 3px solid #0A6EB4; }
    @media (min-width: 640px) {
      #sctn02 .lead {
        margin-top: 4.88vw;
        font-size: 2.54vw;
        padding-bottom: .98vw; } }
    @media (min-width: 1024px) {
      #sctn02 .lead {
        margin-top: 50px;
        font-size: 26px;
        padding-bottom: 10px; } }
  #sctn02 figure {
    /*width: 46vw;*/
    text-align: center;
    margin-top: 5.33vw;
    padding: 0 1.33vw; }
    @media (min-width: 640px) {
      #sctn02 figure {
        width: 50%;
        margin-top: 2.93vw;
        padding: 0; } }
    @media (min-width: 1024px) {
      #sctn02 figure {
        margin-top: 30px; } }
    #sctn02 figure figcaption {
      font-size: .875rem; }
      @media (min-width: 640px) {
        #sctn02 figure figcaption {
          font-size: 1.76vw; } }
      @media (min-width: 1024px) {
        #sctn02 figure figcaption {
          font-size: 18px; } }
    #sctn02 figure img {
      margin-top: 2.67vw;
      box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.2); }
      @media (min-width: 640px) {
        #sctn02 figure img {
          width: 42.19vw;
          margin-top: 1.46vw; } }
      @media (min-width: 1024px) {
        #sctn02 figure img {
          width: 432px;
          margin-top: 15px; } }

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

    section03 - 課題訴求
*/
#sctn03 {
  background: #7C8B92;
  text-align: justify; }
  #sctn03 .wrap {
    padding-top: 12vw;
    padding-bottom: 12vw; }
    @media (min-width: 640px) {
      #sctn03 .wrap {
        padding-top: 7.81vw;
        padding-bottom: 7.81vw;
        width: 89.84vw;
        max-width: 920px; } }
    @media (min-width: 1024px) {
      #sctn03 .wrap {
        padding-top: 80px;
        padding-bottom: 80px; } }
  #sctn03 .block01 h3 {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 1.5;
    margin-left: -2.67vw;
    margin-right: -2.67vw; }
    @media (min-width: 640px) {
      #sctn03 .block01 h3 {
        font-size: 3.71vw;
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1024px) {
      #sctn03 .block01 h3 {
        font-size: 38px; } }
  #sctn03 .block01 .inner {
    position: relative;
    margin-top: 5.33vw; }
    @media (min-width: 640px) {
      #sctn03 .block01 .inner {
        margin-top: 3.91vw; } }
    @media (min-width: 1024px) {
      #sctn03 .block01 .inner {
        margin-top: 40px; } }
  #sctn03 .block01 img {
    width: 68vw;
    box-shadow: 2.67vw 4vw 1.33vw rgba(0, 0, 0, 0.1); }
    @media (min-width: 640px) {
      #sctn03 .block01 img {
        width: 64.45vw;
        box-shadow: 1.95vw 2.93vw 0.49vw rgba(0, 0, 0, 0.1); } }
    @media (min-width: 1024px) {
      #sctn03 .block01 img {
        width: 660px;
        box-shadow: 20px 30px 5px rgba(0, 0, 0, 0.1); } }
  #sctn03 .block01 h4 {
    position: absolute;
    right: 0;
    bottom: -16vw;
    width: 51.47vw;
    height: 32vw;
    font-size: 1.125rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    /*text-align: center;*/ }
    @media (min-width: 640px) {
      #sctn03 .block01 h4 {
        top: 0;
        bottom: 0;
        margin: auto;
        width: 33.79vw;
        height: 25.2vw;
        font-size: 3.32vw; } }
    @media (min-width: 1024px) {
      #sctn03 .block01 h4 {
        width: 346px;
        height: 258px;
        font-size: 34px; } }
    #sctn03 .block01 h4 span {
      display: inline-block;
      background: #fff;
      /*width: 100%;*/
      height: 8vw;
      line-height: 7.47vw;
      margin: 1.33vw 0;
      padding: 0 4vw; }
      @media (min-width: 640px) {
        #sctn03 .block01 h4 span {
          height: 6.45vw;
          line-height: 6.25vw;
          margin: .98vw 0;
          padding: 0 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block01 h4 span {
          height: 66px;
          line-height: 64px;
          margin: 10px 0;
          padding: 0 20px; } }
  #sctn03 .block02 {
    background: #fff;
    margin-top: 20vw;
    padding: 8vw; }
    @media (min-width: 640px) {
      #sctn03 .block02 {
        margin-top: 4.88vw;
        padding: 4.88vw 3.91vw; } }
    @media (min-width: 1024px) {
      #sctn03 .block02 {
        margin-top: 50px;
        padding: 50px 40px; } }
    #sctn03 .block02 h4 {
      font-size: 1.1875rem;
      font-weight: 700;
      line-height: 1.5; }
    #sctn03 .block02 p {
      font-size: 1rem; }
      @media (min-width: 640px) {
        #sctn03 .block02 p {
          font-size: 1.56vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block02 p {
          font-size: 16px; } }
    #sctn03 .block02 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
  #sctn03 .block03 {
    background: #E6F0F7; }
    #sctn03 .block03 .wrap {
      padding-top: 9vw; }
      @media (min-width: 640px) {
        #sctn03 .block03 .wrap {
          padding-top: 7.81vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block03 .wrap {
          padding-top: 80px; } }
    #sctn03 .block03 h3 {
      color: #0A6EB4;
      font-size: 1.5rem;
      font-family: 'Noto Serif JP', serif;
      font-weight: 700;
      text-align: center;
      line-height: 1.5; }
      @media (min-width: 640px) {
        #sctn03 .block03 h3 {
          font-size: 3.71vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block03 h3 {
          font-size: 38px; } }
    #sctn03 .block03 p {
      font-size: 1rem; }
      @media (min-width: 640px) {
        #sctn03 .block03 p {
          font-size: 1.56vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block03 p {
          font-size: 16px; } }
    #sctn03 .block03 .inner {
      background: #fff;
      margin-top: 5.33vw;
      padding: 8vw; }
      @media (min-width: 640px) {
        #sctn03 .block03 .inner {
          margin-top: 4.88vw;
          padding: 4.88vw 3.91vw; } }
      @media (min-width: 1024px) {
        #sctn03 .block03 .inner {
          margin-top: 50px;
          padding: 50px 40px; } }
    #sctn03 .block03 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }

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

    section04 - 解決アプローチ
*/
#sctn04 {
  text-align: justify;
  background: #fff; }
  #sctn04 .block01 {
    padding: 9vw 0;
    background: url("../images/sctn04_blk01_bg.svg") center top repeat-x #E6F0F7;
    background-size: auto 9vw; }
    @media (min-width: 640px) {
      #sctn04 .block01 {
        padding: 7.81vw 0;
        background-size: 156.25vw auto; } }
    @media (min-width: 1024px) {
      #sctn04 .block01 {
        padding: 80px 0;
        background-size: 1600px auto; } }
    #sctn04 .block01 h3 {
      height: 15vw;
      line-height: 14vw;
      background: #0C89DC;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      margin-top: -1px; }
      @media (min-width: 640px) {
        #sctn04 .block01 h3 {
          height: 9.77vw;
          line-height: 8.79vw;
          font-size: 4.1vw; } }
      @media (min-width: 1024px) {
        #sctn04 .block01 h3 {
          height: 100px;
          line-height: 90px;
          font-size: 42px; } }
      #sctn04 .block01 h3 span {
        color: #FFF100; }
      #sctn04 .block01 h3::after {
        content: "";
        position: absolute;
        top: 15vw;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 0;
        height: 0;
        border-top: solid 4vw #0C89DC;
        border-right: solid 5.33vw transparent;
        border-bottom: solid 4vw transparent;
        border-left: solid 5.33vw transparent; }
        @media (min-width: 640px) {
          #sctn04 .block01 h3::after {
            top: 9.77vw;
            border-top: solid 2.93vw #0C89DC;
            border-right: solid 3.91vw transparent;
            border-bottom: solid 2.93vw transparent;
            border-left: solid 3.91vw transparent; } }
        @media (min-width: 1024px) {
          #sctn04 .block01 h3::after {
            top: 100px;
            border-top: solid 30px #0C89DC;
            border-right: solid 40px transparent;
            border-bottom: solid 30px transparent;
            border-left: solid 40px transparent; } }
    #sctn04 .block01 h4 {
      color: #0A6EB4;
      font-size: 1.25rem;
      font-weight: 700;
      text-align: center;
      /*line-height: 1.2;*/
      background: url("../images/sctn04_blk01_h4_bg_sp.svg") center center no-repeat;
      background-size: contain;
      width: 96.27vw;
      height: 30.93vw;
      margin: 9vw auto 0;
      line-height: 30.4vw; }
      @media (min-width: 640px) {
        #sctn04 .block01 h4 {
          font-size: 3.71vw;
          background-image: url("../images/sctn04_blk01_h4_bg_pc.svg");
          width: 97.66vw;
          height: 15.23vw;
          margin-top: 7.81vw;
          line-height: 15.04vw; } }
      @media (min-width: 1024px) {
        #sctn04 .block01 h4 {
          font-size: 38px;
          width: 1000px;
          height: 156px;
          margin-top: 80px;
          line-height: 154px; } }
    #sctn04 .block01 p {
      font-weight: 700;
      margin-top: 5.33vw;
      padding: 0 4vw; }
      @media (min-width: 640px) {
        #sctn04 .block01 p {
          text-align: center;
          font-size: 1.95vw;
          line-height: 2;
          margin-top: 5.86vw;
          padding: 0; } }
      @media (min-width: 1024px) {
        #sctn04 .block01 p {
          font-size: 20px;
          margin-top: 60px; } }
  #sctn04 .block02 li {
    position: relative;
    width: 100%;
    padding: 8vw 0 10vw; }
    @media (min-width: 640px) {
      #sctn04 .block02 li {
        padding: 4.88vw 0 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn04 .block02 li {
        padding: 50px 0 60px; } }
    #sctn04 .block02 li::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      width: 0;
      height: 0;
      border-top: solid 4vw transparent;
      border-right: solid 5.33vw transparent;
      border-bottom: solid 4vw transparent;
      border-left: solid 5.33vw transparent; }
      @media (min-width: 640px) {
        #sctn04 .block02 li::before {
          border-top: solid 2.93vw transparent;
          border-right: solid 3.91vw transparent;
          border-bottom: solid 2.93vw transparent;
          border-left: solid 3.91vw transparent; } }
      @media (min-width: 1024px) {
        #sctn04 .block02 li::before {
          border-top: solid 30px transparent;
          border-right: solid 40px transparent;
          border-bottom: solid 30px transparent;
          border-left: solid 40px transparent; } }
    #sctn04 .block02 li:nth-child(2) {
      background: #E6F0F7; }
      #sctn04 .block02 li:nth-child(2)::before {
        border-top: solid 4vw #fff; }
        @media (min-width: 640px) {
          #sctn04 .block02 li:nth-child(2)::before {
            border-top: solid 2.93vw #fff; } }
        @media (min-width: 1024px) {
          #sctn04 .block02 li:nth-child(2)::before {
            border-top: solid 30px #fff; } }
    #sctn04 .block02 li:nth-child(3)::before {
      border-top: solid 4vw #E6F0F7; }
      @media (min-width: 640px) {
        #sctn04 .block02 li:nth-child(3)::before {
          border-top: solid 2.93vw #E6F0F7; } }
      @media (min-width: 1024px) {
        #sctn04 .block02 li:nth-child(3)::before {
          border-top: solid 30px #E6F0F7; } }
  #sctn04 .block02 h5 {
    color: #0A6EB4;
    text-align: center;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 8vw; }
    @media (min-width: 640px) {
      #sctn04 .block02 h5 {
        font-size: 4.3vw;
        margin-bottom: 4.88vw; } }
    @media (min-width: 1024px) {
      #sctn04 .block02 h5 {
        font-size: 44px;
        margin-bottom: 50px; } }
  #sctn04 .block02 p {
    margin-top: 8vw;
    padding: 0 4vw; }
    @media (min-width: 640px) {
      #sctn04 .block02 p {
        width: 68.36vw;
        margin: 2.93vw auto 0;
        padding: 0;
        font-size: 1.56vw; } }
    @media (min-width: 1024px) {
      #sctn04 .block02 p {
        width: 700px;
        margin: 30px auto 0;
        font-size: 16px; } }
    #sctn04 .block02 p .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
  #sctn04 .block03 {
    position: relative; }
    @media (min-width: 640px) {
      #sctn04 .block03 {
        text-align: center; } }
    #sctn04 .block03 p {
      font-size: 1rem;
      font-weight: 700; }
      @media (min-width: 640px) {
        #sctn04 .block03 p {
          font-size: 2.34vw; } }
      @media (min-width: 1024px) {
        #sctn04 .block03 p {
          font-size: 24px; } }
    #sctn04 .block03 p:nth-child(1) {
      /*span {
        color: #0A6EB4;
      }*/ }
    #sctn04 .block03 p:nth-child(3), #sctn04 .block03 p:nth-child(4) {
      margin-top: 4vw;
      padding: 0 2.67vw;
      /*span {
        color: #0A6EB4;
        font-size: 1.375rem;

        @include sm {
          font-size: 3.52vw;
        }

        @include lg {
          font-size: 36px;
        }
      }
      
      .under {
        background: linear-gradient(transparent 80%, #FFF788 80%);
      }*/ }
      @media (min-width: 640px) {
        #sctn04 .block03 p:nth-child(3), #sctn04 .block03 p:nth-child(4) {
          line-height: 2;
          margin-top: 2.93vw;
          padding: 0; } }
      @media (min-width: 1024px) {
        #sctn04 .block03 p:nth-child(3), #sctn04 .block03 p:nth-child(4) {
          margin-top: 30px; } }
    #sctn04 .block03 img {
      margin: 4vw auto 0; }
      @media (min-width: 640px) {
        #sctn04 .block03 img {
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn04 .block03 img {
          margin-top: 30px; } }

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

    Swiper Slider
*/
.swiper-container {
  height: 55vw; }
  @media (min-width: 640px) {
    .swiper-container {
      height: calc(41.5vw + 25px); } }
  @media (min-width: 1024px) {
    .swiper-container {
      height: 450px; } }
  .swiper-container .swiper-slide {
    width: 80%;
    opacity: .6; }
    @media (min-width: 640px) {
      .swiper-container .swiper-slide {
        width: 68.36vw; } }
    @media (min-width: 1024px) {
      .swiper-container .swiper-slide {
        width: 700px; } }
  .swiper-container .swiper-slide-active {
    opacity: 1; }
  .swiper-container .swiper-pagination {
    top: calc(45.71vw + 14px); }
    @media (min-width: 640px) {
      .swiper-container .swiper-pagination {
        top: 41.5vw; } }
    @media (min-width: 1024px) {
      .swiper-container .swiper-pagination {
        top: 425px; } }
  .swiper-container .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 10px; }
  .swiper-container .swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    background: #fff;
    border: 1px solid #0A6EB4;
    opacity: 1; }
  .swiper-container .swiper-pagination-bullet-active {
    background: #0A6EB4; }
  .swiper-container .swiper-container-horizontal > .swiper-pagination-bullets, .swiper-container .swiper-pagination-custom, .swiper-container .swiper-pagination-fraction {
    bottom: 0; }
  .swiper-container .swiper-button-prev, .swiper-container .swiper-container-rtl .swiper-button-next {
    left: 0; }
  .swiper-container .swiper-button-prev:after, .swiper-container .swiper-container-rtl .swiper-button-next:after {
    display: none; }
  .swiper-container .swiper-button-next, .swiper-container .swiper-container-rtl .swiper-button-prev {
    right: 0; }
  .swiper-container .swiper-button-next:after, .swiper-container .swiper-container-rtl .swiper-button-prev:after {
    display: none; }
  .swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
    top: calc(50% - 5vw - 4.64vw);
    width: 10vw;
    height: 10vw;
    margin-top: 0;
    background: url("../images/swiper-button-prev.png") center center no-repeat;
    background-size: contain; }
    @media (min-width: 640px) {
      .swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
        top: calc(50% - 2.93vw - 25px);
        width: 5.86vw;
        height: 5.86vw; } }
    @media (min-width: 1024px) {
      .swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
        top: calc(50% - 30px - 25px);
        width: 60px;
        height: 60px; } }
  .swiper-container .swiper-button-prev {
    left: calc(50% - 45vw - 5px); }
    @media (min-width: 640px) {
      .swiper-container .swiper-button-prev {
        left: calc(50% - 37.6vw); } }
    @media (min-width: 1024px) {
      .swiper-container .swiper-button-prev {
        left: calc(50% - 385px); } }
  .swiper-container .swiper-button-next {
    right: calc(50% - 45vw - 5px); }
    @media (min-width: 640px) {
      .swiper-container .swiper-button-next {
        right: calc(50% - 37.6vw); } }
    @media (min-width: 1024px) {
      .swiper-container .swiper-button-next {
        right: calc(50% - 385px); } }
  .swiper-container .swiper-button-next {
    background: url("../images/swiper-button-next.png") center center no-repeat;
    background-size: contain; }
  .swiper-container .swiper-button-prev {
    background: url("../images/swiper-button-prev.png") center center no-repeat;
    background-size: contain; }

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

    cv button02
*/
#cvbtn02 {
  background: -moz-linear-gradient(top, #fff 0%, #E6F0F7 100%);
  background: -webkit-linear-gradient(top, #fff 0%, #E6F0F7 100%);
  background: linear-gradient(to bottom, #fff 0%, #E6F0F7 100%);
  padding: 10.67vw 0; }
  @media (min-width: 640px) {
    #cvbtn02 {
      padding: 7.81vw 0; } }
  @media (min-width: 1024px) {
    #cvbtn02 {
      padding: 80px 0; } }
  #cvbtn02 .wrap {
    width: 94.67vw;
    background: #fff;
    box-shadow: 0 0 1.6vw rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    padding: 2.67vw 0;
    border-radius: 2.13vw; }
    @media (min-width: 640px) {
      #cvbtn02 .wrap {
        width: 78.13vw;
        box-shadow: 0 0 0.59vw rgba(0, 0, 0, 0.2);
        padding: 1.46vw 0;
        border-radius: .98vw; } }
    @media (min-width: 1024px) {
      #cvbtn02 .wrap {
        width: 800px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        padding: 15px 0;
        border-radius: 10px; } }
  #cvbtn02 h3 {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33ffffff',endColorstr='#33ffffff',GradientType=1);
    width: 100%;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 1.3;
    padding: 2.13vw 0;
    color: #0A6EB4; }
    @media (min-width: 640px) {
      #cvbtn02 h3 {
        font-size: 2.15vw;
        padding: .98vw 0; } }
    @media (min-width: 1024px) {
      #cvbtn02 h3 {
        font-size: 22px;
        padding: 10px 0; } }
  #cvbtn02 .txtwrap {
    margin: 2.67vw auto 0;
    width: 100%; }
    @media (min-width: 640px) {
      #cvbtn02 .txtwrap {
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn02 .txtwrap {
        margin-top: 15px; } }
  #cvbtn02 img {
    width: 34.67vw;
    height: auto;
    margin-right: 2.67vw; }
    @media (min-width: 640px) {
      #cvbtn02 img {
        width: 22.46vw;
        margin-right: 2.93vw; } }
    @media (min-width: 1024px) {
      #cvbtn02 img {
        width: 230px;
        margin-right: 30px; } }
  #cvbtn02 p {
    font-size: .75rem;
    font-weight: 500; }
    @media (min-width: 640px) {
      #cvbtn02 p {
        font-size: 2.34vw;
        line-height: inherit; } }
    @media (min-width: 1024px) {
      #cvbtn02 p {
        font-size: 24px; } }
    #cvbtn02 p span {
      color: #0A6EB4;
      font-size: .9375rem;
      font-weight: 700; }
      @media (min-width: 640px) {
        #cvbtn02 p span {
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 p span {
          font-size: 30px; } }
  #cvbtn02 .btn01 a {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn02 .btn01 a {
        width: 58.59vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn02 .btn01 a {
        width: 600px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn02 .btn01 a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn02 .btn01 a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn01 a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn02 .btn01 a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn02 .btn01 a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn01 a .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn02 .btn01 a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn02 .btn01 a .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn02 .btn01 a .left span {
            font-size: 34px; } }
    #cvbtn02 .btn01 a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn02 .btn01 a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn01 a .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn02 .btn02 a.otg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #00C464;
    box-shadow: 0 1.33vw 0 0 #00A150;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 4vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn02 .btn02 a.otg {
        width: 26.37vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #00A150;
        margin: 1.46vw 1.95vw 0 auto; } }
    @media (min-width: 1024px) {
      #cvbtn02 .btn02 a.otg {
        width: 270px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #00A150;
        margin: 15px 20px 0 auto; } }
    #cvbtn02 .btn02 a.otg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn02 .btn02 a.otg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn02 a.otg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn02 .btn02 a.otg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn02 .btn02 a.otg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw;
          line-height: 7.81vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn02 a.otg .right {
          padding: 0 30px 0 0;
          font-size: 30px;
          line-height: 80px; } }
  #cvbtn02 .btn02 a.rg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn02 .btn02 a.rg {
        width: 43.95vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin: 1.46vw auto 0 0; } }
    @media (min-width: 1024px) {
      #cvbtn02 .btn02 a.rg {
        width: 450px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn02 .btn02 a.rg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn02 .btn02 a.rg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn02 a.rg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn02 .btn02 a.rg .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn02 .btn02 a.rg .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn02 a.rg .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn02 .btn02 a.rg .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn02 .btn02 a.rg .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn02 .btn02 a.rg .left span {
            font-size: 34px; } }
    #cvbtn02 .btn02 a.rg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn02 .btn02 a.rg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn02 .btn02 a.rg .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn02 aside {
    font-size: .75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 4vw; }
    @media (min-width: 640px) {
      #cvbtn02 aside {
        font-size: 1.37vw;
        margin-top: 1.95vw; } }
    @media (min-width: 1024px) {
      #cvbtn02 aside {
        font-size: 14px;
        margin-top: 20px; } }

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

    section05 - サポートプログラム
*/
#sctn05 {
  text-align: justify; }
  #sctn05 .block01 {
    background: -moz-linear-gradient(left, rgba(10, 110, 180, 0.2) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(10, 110, 180, 0.2) 100%);
    background: -webkit-linear-gradient(left, rgba(10, 110, 180, 0.2) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(10, 110, 180, 0.2) 100%);
    background: linear-gradient(to right, rgba(10, 110, 180, 0.2) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(10, 110, 180, 0.2) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33CDE2F1', endColorstr='#33CDE2F1', GradientType=1);
    padding: 10.67vw 0; }
    @media (min-width: 640px) {
      #sctn05 .block01 {
        padding: 8.79vw 0 9.77vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block01 {
        padding: 90px 0 100px; } }
    #sctn05 .block01 h3 {
      color: #0A6EB4;
      font-size: 1.3125rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.4; }
      @media (min-width: 640px) {
        #sctn05 .block01 h3 {
          font-size: 3.91vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block01 h3 {
          font-size: 40px; } }
    #sctn05 .block01 h4 {
      width: 89.33vw;
      padding: 4vw 0;
      background: #0A6EB4;
      border-radius: 2.13vw;
      color: #fff;
      font-size: 1.25rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.1;
      margin: 8vw auto 0; }
      @media (min-width: 640px) {
        #sctn05 .block01 h4 {
          width: 87.89vw;
          padding: 2.15vw 0;
          border-radius: 1.56vw;
          font-size: 3.71vw;
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block01 h4 {
          width: 900px;
          padding: 22px 0;
          border-radius: 16px;
          font-size: 38px;
          margin-top: 30px; } }
      #sctn05 .block01 h4 span {
        font-size: .875rem; }
        @media (min-width: 640px) {
          #sctn05 .block01 h4 span {
            font-size: 2.34vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block01 h4 span {
            font-size: 24px; } }
      #sctn05 .block01 h4::after {
        content: "";
        position: absolute;
        bottom: -8vw;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 0;
        height: 0;
        border-top: solid 4vw #0A6EB4;
        border-right: solid 4vw transparent;
        border-bottom: solid 4vw transparent;
        border-left: solid 4vw transparent; }
        @media (min-width: 640px) {
          #sctn05 .block01 h4::after {
            bottom: -3.91vw;
            border-top: solid 1.95vw #0A6EB4;
            border-right: solid 1.95vw transparent;
            border-bottom: solid 1.95vw transparent;
            border-left: solid 1.95vw transparent; } }
        @media (min-width: 1024px) {
          #sctn05 .block01 h4::after {
            bottom: -40px;
            border-top: solid 20px #0A6EB4;
            border-right: solid 20px transparent;
            border-bottom: solid 20px transparent;
            border-left: solid 20px transparent; } }
    #sctn05 .block01 p {
      font-weight: 700;
      padding: 0 5.33vw;
      margin-top: 8vw;
      background: url("../images/sctn05_blk01_bg_sp.png") center 69.33vw no-repeat;
      background-size: 82.67vw auto; }
      @media (min-width: 640px) {
        #sctn05 .block01 p {
          font-size: 2.15vw;
          text-align: center;
          line-height: 2;
          background: url("../images/sctn05_blk01_bg_pc.png") center 10.74vw no-repeat;
          background-size: 125vw auto;
          margin-top: 6.84vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block01 p {
          font-size: 22px;
          background-size: 1280px auto;
          background-position: center 110px;
          margin-top: 70px; } }
      #sctn05 .block01 p span {
        background: linear-gradient(transparent 75%, #FFF788 75%);
        color: #0A6EB4;
        font-size: 1.25rem; }
        @media (min-width: 640px) {
          #sctn05 .block01 p span {
            font-size: 2.93vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block01 p span {
            font-size: 30px; } }
  #sctn05 .block02 h3 {
    position: relative;
    width: 100%;
    height: 16vw;
    line-height: 16vw;
    background: #0A6EB4;
    color: #fff;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center; }
    @media (min-width: 640px) {
      #sctn05 .block02 h3 {
        height: 11.23vw;
        line-height: 11.23vw;
        font-size: 3.32vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block02 h3 {
        height: 115px;
        line-height: 115px;
        font-size: 2.125rem; } }
    #sctn05 .block02 h3::after {
      content: "";
      position: absolute;
      bottom: -5.33vw;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      width: 0;
      height: 0;
      border-top: solid 2.67vw #0A6EB4;
      border-right: solid 2.67vw transparent;
      border-bottom: solid 2.67vw transparent;
      border-left: solid 2.67vw transparent; }
      @media (min-width: 640px) {
        #sctn05 .block02 h3::after {
          bottom: -40px;
          border-top: solid 20px #0A6EB4;
          border-right: solid 20px transparent;
          border-bottom: solid 20px transparent;
          border-left: solid 20px transparent; } }
  #sctn05 .block02 ul {
    width: 100%;
    padding: 0 5.33vw; }
    @media (min-width: 640px) {
      #sctn05 .block02 ul {
        max-width: 1040px;
        margin: 0 auto;
        padding: 0 20px; } }
    #sctn05 .block02 ul li {
      position: relative;
      width: 100%;
      margin-top: 13.33vw; }
      @media (min-width: 640px) {
        #sctn05 .block02 ul li {
          width: 30.27vw;
          margin-top: 10.74vw;
          padding-left: 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block02 ul li {
          width: 310px;
          margin-top: 110px;
          padding-left: 20px; } }
      #sctn05 .block02 ul li img {
        display: block;
        width: 100%;
        border-radius: 2.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block02 ul li img {
            border-radius: .98vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block02 ul li img {
            border-radius: 10px; } }
      #sctn05 .block02 ul li h4 {
        position: absolute;
        width: 26.67vw;
        height: 26.67vw;
        border-radius: 50%;
        top: -5.33vw;
        left: -2.67vw;
        background: #0A6EB4;
        color: #fff;
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
        padding-top: 6.4vw;
        line-height: 1; }
        @media (min-width: 640px) {
          #sctn05 .block02 ul li h4 {
            width: 9.77vw;
            height: 9.77vw;
            top: -4.88vw;
            left: 0;
            font-size: 1.56vw;
            padding-top: 2.34vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block02 ul li h4 {
            width: 100px;
            height: 100px;
            top: -50px;
            font-size: 1.1rem;
            padding-top: 24px; } }
        #sctn05 .block02 ul li h4 small {
          font-size: .875rem; }
          @media (min-width: 640px) {
            #sctn05 .block02 ul li h4 small {
              font-size: 1.37vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block02 ul li h4 small {
              font-size: .875rem; } }
        #sctn05 .block02 ul li h4 span {
          font-size: 2rem; }
          @media (min-width: 640px) {
            #sctn05 .block02 ul li h4 span {
              font-size: 3.125vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block02 ul li h4 span {
              font-size: 2rem; } }
      #sctn05 .block02 ul li h5 {
        font-size: 1.375rem;
        font-weight: 700;
        text-align: center;
        margin-top: 2.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block02 ul li h5 {
            font-size: 2.15vw;
            margin-top: 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block02 ul li h5 {
            font-size: 1.375rem;
            margin-top: 20px; } }
        #sctn05 .block02 ul li h5 .under {
          background: linear-gradient(transparent 75%, #FFF788 75%);
          color: #D00000; }
      #sctn05 .block02 ul li p {
        margin-top: 2.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block02 ul li p {
            margin-top: .98vw;
            font-size: 1.56vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block02 ul li p {
            margin-top: 10px;
            font-size: 1rem; } }
        #sctn05 .block02 ul li p span {
          color: #0067A4; }
        #sctn05 .block02 ul li p small {
          font-size: .875rem; }
          @media (min-width: 640px) {
            #sctn05 .block02 ul li p small {
              font-size: 1.37vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block02 ul li p small {
              font-size: .875rem; } }
  #sctn05 .block02 .banner {
    width: 89.33vw;
    margin: 9.33vw auto 0;
    border: 1px solid #ccc;
    border-radius: 2.67vw;
    font-size: .875rem;
    font-weight: 500;
    text-align: center;
    padding: 2.67vw 2.4vw; }
    @media (min-width: 640px) {
      #sctn05 .block02 .banner {
        width: 87.89vw;
        max-width: 900px;
        margin-top: 5.86vw;
        height: 4.88vw;
        line-height: 4.88vw;
        border-radius: 2.44vw;
        font-size: 1.56vw;
        padding: 0; } }
    @media (min-width: 1024px) {
      #sctn05 .block02 .banner {
        margin-top: 60px;
        height: 50px;
        line-height: 50px;
        border-radius: 25px;
        font-size: 1rem; } }
  #sctn05 .block03 {
    position: relative;
    width: 89.33vw;
    margin: 20vw auto 0;
    background: #F3F8FC;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 2.67vw;
    padding: 14.67vw 2.67vw 8vw; }
    @media (min-width: 640px) {
      #sctn05 .block03 {
        width: 87.89vw;
        max-width: 900px;
        margin-top: 11.72vw;
        border-radius: 1.95vw;
        padding: 9.77vw 4.88vw 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block03 {
        margin-top: 120px;
        border-radius: 20px;
        padding: 100px 50px 60px; } }
    #sctn05 .block03 h3 {
      position: absolute;
      top: -6.67vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 84vw;
      height: 13.33vw;
      line-height: 13.33vw;
      background: #0A6EB4;
      color: #fff;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn05 .block03 h3 {
          top: -3.91vw;
          width: 78.125vw;
          height: 7.8125vw;
          line-height: 7.8125vw;
          font-size: 3.32vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block03 h3 {
          top: -40px;
          width: 800px;
          height: 80px;
          line-height: 80px;
          font-size: 2.125rem; } }
    #sctn05 .block03 li {
      position: relative; }
      @media (min-width: 640px) {
        #sctn05 .block03 li div {
          width: 75.64%; } }
      #sctn05 .block03 li h4 {
        width: 26.67vw;
        height: 8vw;
        background: #0A6EB4;
        border-radius: 4vw;
        color: #fff;
        font-size: .875rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.2; }
        @media (min-width: 640px) {
          #sctn05 .block03 li h4 {
            width: 14.65vw;
            height: 4.88vw;
            border-radius: 2.44vw;
            font-size: 2.15vw;
            line-height: 1.3; } }
        @media (min-width: 1024px) {
          #sctn05 .block03 li h4 {
            width: 150px;
            height: 50px;
            border-radius: 25px;
            font-size: 1.375rem; } }
        #sctn05 .block03 li h4 span {
          font-family: 'Oswald', sans-serif;
          font-size: 1.5rem; }
          @media (min-width: 640px) {
            #sctn05 .block03 li h4 span {
              font-size: 3.71vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block03 li h4 span {
              font-size: 2.375rem; } }
      #sctn05 .block03 li p {
        margin-top: 2.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block03 li p {
            margin-top: 1.95vw;
            font-size: 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block03 li p {
            margin-top: 20px;
            font-size: 1.25rem; } }
        #sctn05 .block03 li p strong {
          background: #FFFEAE; }
      #sctn05 .block03 li img {
        margin: 2.67vw auto 0;
        width: 80%;
        filter: drop-shadow(0.8vw 0.8vw 0.53vw rgba(0, 0, 0, 0.2)); }
        @media (min-width: 640px) {
          #sctn05 .block03 li img {
            margin: 0;
            width: 15.63vw;
            filter: drop-shadow(0.3vw 0.3vw 0.2vw rgba(0, 0, 0, 0.2)); } }
        @media (min-width: 1024px) {
          #sctn05 .block03 li img {
            width: 160px;
            filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2)); } }
      #sctn05 .block03 li:nth-child(1) {
        padding: 0 0 8vw;
        z-index: 3; }
        @media (min-width: 640px) {
          #sctn05 .block03 li:nth-child(1) {
            padding: 0 0 0 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block03 li:nth-child(1) {
            padding: 0 0 0 20px; } }
      #sctn05 .block03 li:nth-child(2) {
        border-top: 2px dotted #aaa;
        padding: 8vw 0 0; }
        @media (min-width: 640px) {
          #sctn05 .block03 li:nth-child(2) {
            padding: 5.86vw 0 0 1.95vw;
            margin-top: 5.86vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block03 li:nth-child(2) {
            padding: 60px 0 0 20px;
            margin-top: 60px; } }
  #sctn05 .block04 {
    position: relative;
    width: 89.33vw;
    margin: 20vw auto 0;
    background: #F2FAFE;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 2.67vw;
    padding: 10.67vw 2.67vw 8vw; }
    @media (min-width: 640px) {
      #sctn05 .block04 {
        width: 87.89vw;
        max-width: 900px;
        margin-top: 11.72vw;
        border-radius: 1.95vw;
        padding: 6.84vw 4.88vw 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block04 {
        margin-top: 120px;
        border-radius: 20px;
        padding: 70px 50px 60px; } }
    #sctn05 .block04 h3 {
      position: absolute;
      top: -6.67vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 84vw;
      height: 13.33vw;
      line-height: 13.33vw;
      background: #00ADEE;
      color: #fff;
      font-size: 1.25rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn05 .block04 h3 {
          top: -3.91vw;
          width: 78.125vw;
          height: 7.8125vw;
          line-height: 7.8125vw;
          font-size: 2.125rem; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 h3 {
          top: -40px;
          width: 800px;
          height: 80px;
          line-height: 80px; } }
    #sctn05 .block04 h4 {
      color: #00ADEE;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.3;
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn05 .block04 h4 {
          font-size: 2.125rem;
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 h4 {
          margin-top: 30px; } }
    #sctn05 .block04 h5 {
      background: #fff;
      width: 100%;
      height: 10.67vw;
      line-height: 10.67vw;
      color: #00ADEE;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center;
      margin: 4vw auto 0; }
      @media (min-width: 640px) {
        #sctn05 .block04 h5 {
          max-width: 240px;
          height: 5.86vw;
          line-height: 5.86vw;
          font-size: 1.5rem;
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 h5 {
          height: 60px;
          line-height: 60px;
          margin-top: 30px; } }
    #sctn05 .block04 img {
      display: block;
      margin: 2.67vw auto 0;
      box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
      width: 65%;
      max-width: 240px; }
      @media (min-width: 640px) {
        #sctn05 .block04 img {
          margin-top: 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 img {
          margin-top: 20px; } }
    #sctn05 .block04 dl {
      margin-top: 5.33vw; }
      @media (min-width: 640px) {
        #sctn05 .block04 dl {
          margin-top: 3.91vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 dl {
          margin-top: 40px; } }
      #sctn05 .block04 dl dt {
        position: relative;
        padding: 2vw 2.67vw 2vw 12vw;
        font-weight: 700;
        cursor: pointer;
        background: #fff;
        border-radius: 5.33vw;
        min-height: 10.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block04 dl dt {
            padding: 1.56vw 0 1.56vw 6.45vw;
            font-size: 1.76vw;
            border-radius: 2.93vw;
            min-height: 5.86vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block04 dl dt {
            padding: 16px 0 16px 66px;
            font-size: 18px;
            border-radius: 30px;
            min-height: 60px; } }
        #sctn05 .block04 dl dt::before {
          position: absolute;
          top: 1.33vw;
          left: 1.33vw;
          width: 8vw;
          height: 8vw;
          line-height: 8vw;
          background: #00ADEE;
          border-radius: 4vw;
          content: "Ｑ";
          color: #fff;
          font-family: 'Noto Sans', sans-serif;
          font-size: 1rem;
          font-weight: 700;
          text-align: center; }
          @media (min-width: 640px) {
            #sctn05 .block04 dl dt::before {
              top: .98vw;
              left: .98vw;
              width: 3.91vw;
              height: 3.91vw;
              line-height: 3.91vw;
              border-radius: 1.95vw;
              font-size: 1.95vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block04 dl dt::before {
              top: 10px;
              left: 10px;
              width: 40px;
              height: 40px;
              line-height: 40px;
              border-radius: 20px;
              font-size: 1.25rem; } }
      #sctn05 .block04 dl dd {
        position: relative;
        margin-top: 4vw;
        padding: 0 1.33vw;
        font-size: 1rem; }
        @media (min-width: 640px) {
          #sctn05 .block04 dl dd {
            margin-top: 1.95vw;
            padding: 0 .98vw;
            font-size: 1.76vw;
            display: block; } }
        @media (min-width: 1024px) {
          #sctn05 .block04 dl dd {
            margin-top: 20px;
            padding: 0 10px;
            font-size: 18px; } }
      #sctn05 .block04 dl:nth-child(1) {
        margin-top: 5.33vw; }
        @media (min-width: 640px) {
          #sctn05 .block04 dl:nth-child(1) {
            margin-top: 2.93vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block04 dl:nth-child(1) {
            margin-top: 30px; } }
    #sctn05 .block04 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
    #sctn05 .block04 hr {
      height: 1px;
      background: #00ADEE;
      margin: 10.67vw 0; }
      @media (min-width: 640px) {
        #sctn05 .block04 hr {
          margin: 5.86vw 0; } }
      @media (min-width: 1024px) {
        #sctn05 .block04 hr {
          margin: 60px 0; } }
  #sctn05 .block05 {
    position: relative;
    width: 89.33vw;
    margin: 20vw auto 0;
    background: #F5FBF9;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 2.67vw;
    padding: 14.67vw 2.67vw 8vw; }
    @media (min-width: 640px) {
      #sctn05 .block05 {
        width: 87.89vw;
        max-width: 900px;
        margin-top: 13.67vw;
        border-radius: 1.95vw;
        padding: 9.77vw 4.88vw 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block05 {
        margin-top: 140px;
        border-radius: 20px;
        padding: 100px 50px 60px; } }
    #sctn05 .block05 h3 {
      position: absolute;
      top: -6.67vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 84vw;
      height: 13.33vw;
      line-height: 1.1;
      background: #46BB95;
      color: #fff;
      font-size: 1.1875rem;
      font-weight: 700;
      text-align: center;
      padding-top: .8vw; }
      @media (min-width: 640px) {
        #sctn05 .block05 h3 {
          top: -3.91vw;
          width: 78.125vw;
          height: 7.8125vw;
          line-height: 7.8125vw;
          font-size: 2.125rem;
          padding-top: 0; } }
      @media (min-width: 1024px) {
        #sctn05 .block05 h3 {
          top: -40px;
          width: 800px;
          height: 80px;
          line-height: 80px; } }
    #sctn05 .block05 h4 {
      color: #46BB95;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.3;
      margin-bottom: 4vw; }
      @media (min-width: 640px) {
        #sctn05 .block05 h4 {
          font-size: 2.125rem;
          margin-bottom: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block05 h4 {
          margin-bottom: 30px; } }
    @media (min-width: 640px) {
      #sctn05 .block05 .sponsor {
        width: 45.9vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block05 .sponsor {
        width: 470px; } }
    #sctn05 .block05 h5 {
      color: #46BB95;
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1;
      text-align: center;
      background: #fff;
      padding: 1rem 0; }
      @media (min-width: 640px) {
        #sctn05 .block05 h5 {
          font-size: 1.875rem; } }
      #sctn05 .block05 h5 span {
        font-size: 1rem;
        display: block;
        line-height: 1.5; }
        @media (min-width: 640px) {
          #sctn05 .block05 h5 span {
            font-size: 1.25rem; } }
      #sctn05 .block05 h5 small {
        font-size: 1rem; }
        @media (min-width: 640px) {
          #sctn05 .block05 h5 small {
            font-size: 1.25rem; } }
    #sctn05 .block05 p {
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn05 .block05 p {
          margin-top: 2.93vw;
          font-size: 1.125rem; } }
      @media (min-width: 1024px) {
        #sctn05 .block05 p {
          margin-top: 30px; } }
    #sctn05 .block05 img {
      margin: 2.67vw auto 0;
      box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
      max-width: 65%; }
      @media (min-width: 640px) {
        #sctn05 .block05 img {
          width: 29.3vw;
          max-width: 100%;
          margin: 0; } }
      @media (min-width: 1024px) {
        #sctn05 .block05 img {
          width: 300px; } }
    #sctn05 .block05 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
    #sctn05 .block05 li {
      position: relative; }
      #sctn05 .block05 li:nth-child(1) {
        padding-bottom: 8vw;
        border-bottom: 1px solid #46BB95;
        margin-bottom: 8vw; }
        @media (min-width: 640px) {
          #sctn05 .block05 li:nth-child(1) {
            padding-bottom: 5.86vw;
            margin-bottom: 5.86vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block05 li:nth-child(1) {
            padding-bottom: 60px;
            margin-bottom: 60px; } }
  #sctn05 .block06 {
    margin-top: 13.33vw; }
    @media (min-width: 640px) {
      #sctn05 .block06 {
        margin-top: 9.77vw; } }
    @media (min-width: 1024px) {
      #sctn05 .block06 {
        margin-top: 100px; } }
    #sctn05 .block06 h3 {
      position: relative;
      width: 100%;
      height: 16vw;
      line-height: 16vw;
      background: #0A6EB4;
      color: #fff;
      font-size: 1.375rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn05 .block06 h3 {
          height: 11.23vw;
          line-height: 11.23vw;
          font-size: 3.32vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 h3 {
          height: 115px;
          line-height: 115px;
          font-size: 2.125rem; } }
      #sctn05 .block06 h3::after {
        content: "";
        position: absolute;
        bottom: -8vw;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 0;
        height: 0;
        border-top: solid 4vw #0A6EB4;
        border-right: solid 4vw transparent;
        border-bottom: solid 4vw transparent;
        border-left: solid 4vw transparent; }
        @media (min-width: 640px) {
          #sctn05 .block06 h3::after {
            bottom: -3.91vw;
            border-width: 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block06 h3::after {
            bottom: -40px;
            border-width: 20px; } }
    #sctn05 .block06 .lead {
      margin-top: 6.67vw;
      padding: 0 5.33vw; }
      @media (min-width: 640px) {
        #sctn05 .block06 .lead {
          margin-top: 4.88vw;
          padding: 0;
          text-align: center; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 .lead {
          margin-top: 50px; } }
    #sctn05 .block06 h4 {
      background: #0A6EB4;
      height: 12vw;
      line-height: 12vw;
      color: #fff;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn05 .block06 h4 {
          height: 6.84vw;
          line-height: 6.84vw;
          font-size: 1.125rem; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 h4 {
          height: 70px;
          line-height: 70px; } }
      #sctn05 .block06 h4.lines {
        line-height: 1.25;
        padding-top: 2vw; }
        @media (min-width: 640px) {
          #sctn05 .block06 h4.lines {
            padding-top: 1.27vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block06 h4.lines {
            padding-top: 13px; } }
    #sctn05 .block06 img {
      display: block;
      width: 100%;
      /*border-radius: 2.67vw;*/
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn05 .block06 img {
          /*border-radius: .98vw;*/
          margin-top: 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 img {
          /*border-radius: 10px;*/
          margin-top: 20px; } }
    #sctn05 .block06 p {
      margin-top: 4vw; }
      @media (min-width: 640px) {
        #sctn05 .block06 p {
          margin-top: 1.95vw;
          font-size: 1.56vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 p {
          margin-top: 20px;
          font-size: 1rem; } }
      #sctn05 .block06 p span {
        color: #0A6EB4; }
      #sctn05 .block06 p small {
        font-size: .875rem; }
        @media (min-width: 640px) {
          #sctn05 .block06 p small {
            font-size: 1.37vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block06 p small {
            font-size: .875rem; } }
    #sctn05 .block06 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
    #sctn05 .block06 ul {
      width: 100%;
      padding: 0 5.33vw; }
      @media (min-width: 640px) {
        #sctn05 .block06 ul {
          max-width: 1040px;
          margin: 0 auto;
          padding: 0 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block06 ul {
          padding: 0 20px; } }
      #sctn05 .block06 ul li {
        position: relative;
        width: 100%;
        margin-top: 8vw; }
        @media (min-width: 640px) {
          #sctn05 .block06 ul li {
            width: 30.27vw;
            margin-top: 2.93vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block06 ul li {
            width: 310px;
            margin-top: 30px; } }
  #sctn05 .block07 {
    width: 89.33vw;
    margin: 13.33vw auto 0; }
    @media (min-width: 640px) {
      #sctn05 .block07 {
        width: 83.01vw;
        max-width: 850px;
        margin: 6.35vw auto 0; } }
    @media (min-width: 1024px) {
      #sctn05 .block07 {
        margin: 65px auto 0; } }
    #sctn05 .block07 h3 {
      position: relative;
      color: #0A6EB4;
      font-size: 1.1875rem;
      font-weight: 700;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      text-align: center;
      line-height: 1.5;
      padding-bottom: 5.33vw;
      border-bottom: 1px solid #0A6EB4;
      margin-bottom: 8vw; }
      @media (min-width: 640px) {
        #sctn05 .block07 h3 {
          font-size: 3.91vw;
          line-height: 1.25;
          padding-bottom: 2.93vw;
          margin-bottom: 3.91vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block07 h3 {
          font-size: 40px;
          padding-bottom: 30px;
          margin-bottom: 40px; } }
      #sctn05 .block07 h3::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        margin: auto;
        width: 11.2vw;
        height: 1px;
        background: #fff; }
        @media (min-width: 640px) {
          #sctn05 .block07 h3::before {
            width: 4.1vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block07 h3::before {
            width: 42px; } }
      #sctn05 .block07 h3::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4.27vw;
        margin: auto;
        width: 8vw;
        height: 8vw;
        border-right: solid 1px #0A6EB4;
        border-bottom: solid 1px #0A6EB4;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
        @media (min-width: 640px) {
          #sctn05 .block07 h3::after {
            bottom: -1.56vw;
            width: 2.93vw;
            height: 2.93vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block07 h3::after {
            bottom: -16px;
            width: 30px;
            height: 30px; } }
    #sctn05 .block07 p {
      font-size: 1rem; }
      @media (min-width: 640px) {
        #sctn05 .block07 p {
          font-size: 1.56vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block07 p {
          font-size: 16px; } }
    #sctn05 .block07 h4 {
      font-size: 1.625rem;
      font-weight: 700;
      width: 73.33vw;
      margin: 8vw auto 0;
      padding-left: 10.67vw;
      background: url("../images/sctn05_blk07_1.png") left center no-repeat;
      background-size: 8vw auto;
      line-height: 1.2; }
      @media (min-width: 640px) {
        #sctn05 .block07 h4 {
          font-size: 2.93vw;
          width: 54.2vw;
          margin-top: 2.93vw;
          padding-left: 3.91vw;
          background-size: 2.93vw auto;
          line-height: inherit; } }
      @media (min-width: 1024px) {
        #sctn05 .block07 h4 {
          font-size: 30px;
          width: 555px;
          margin-top: 30px;
          padding-left: 40px;
          background-size: 30px auto; } }
    #sctn05 .block07 table {
      margin-top: 10.67vw;
      width: 100%;
      border-collapse: collapse;
      text-align: center;
      font-size: 1rem; }
      @media (min-width: 640px) {
        #sctn05 .block07 table {
          margin-top: 4.88vw;
          font-size: 1.95vw; } }
      @media (min-width: 1024px) {
        #sctn05 .block07 table {
          margin-top: 50px;
          font-size: 20px; } }
      #sctn05 .block07 table caption {
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 2.67vw; }
        @media (min-width: 640px) {
          #sctn05 .block07 table caption {
            font-size: 1.95vw;
            margin-bottom: 1.46vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block07 table caption {
            margin-bottom: 15px;
            font-size: 20px; } }
      #sctn05 .block07 table tr:nth-child(even) td {
        background: #D8F2E1; }
      #sctn05 .block07 table th {
        background: #D8F2E1;
        font-weight: normal;
        padding: 1.87vw 2.67vw 2.13vw; }
        @media (min-width: 640px) {
          #sctn05 .block07 table th {
            padding: 1.46vw 0 1.56vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block07 table th {
            padding: 15px 0 16px; } }
        #sctn05 .block07 table th:nth-child(1), #sctn05 .block07 table th:nth-child(2) {
          border-right: 1.33vw solid #fff; }
          @media (min-width: 640px) {
            #sctn05 .block07 table th:nth-child(1), #sctn05 .block07 table th:nth-child(2) {
              border-right-width: .49vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block07 table th:nth-child(1), #sctn05 .block07 table th:nth-child(2) {
              border-right-width: 5px; } }
      #sctn05 .block07 table td {
        padding: 1.87vw 0 2.13vw; }
        @media (min-width: 640px) {
          #sctn05 .block07 table td {
            padding: 1.46vw 0 1.56vw; } }
        @media (min-width: 1024px) {
          #sctn05 .block07 table td {
            padding: 15px 0 16px; } }
        #sctn05 .block07 table td:nth-child(1), #sctn05 .block07 table td:nth-child(2) {
          border-right: 1.33vw solid #fff; }
          @media (min-width: 640px) {
            #sctn05 .block07 table td:nth-child(1), #sctn05 .block07 table td:nth-child(2) {
              border-right-width: .49vw; } }
          @media (min-width: 1024px) {
            #sctn05 .block07 table td:nth-child(1), #sctn05 .block07 table td:nth-child(2) {
              border-right-width: 5px; } }
    #sctn05 .block07 h5 {
      margin-top: 5.33vw;
      background: #FF9319;
      width: 38.67vw;
      height: 10.67vw;
      line-height: 10.67vw;
      color: #fff;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn05 .block07 h5 {
          margin-top: 2.93vw;
          width: 19.53vw;
          height: 4.88vw;
          line-height: 4.88vw;
          font-size: 1.25rem; } }
      @media (min-width: 1024px) {
        #sctn05 .block07 h5 {
          margin-top: 30px;
          width: 200px;
          height: 50px;
          line-height: 50px; } }

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

    cv button03
*/
#cvbtn03 {
  background: -moz-linear-gradient(top, rgba(10, 110, 180, 0) 0%, rgba(10, 110, 180, 0.15) 100%);
  background: -webkit-linear-gradient(top, rgba(10, 110, 180, 0) 0%, rgba(10, 110, 180, 0.15) 100%);
  background: linear-gradient(to bottom, rgba(10, 110, 180, 0) 0%, rgba(10, 110, 180, 0.15) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000A6EB4', endColorstr='#260A6EB4',GradientType=0 );
  padding: 10.67vw 0 20vw; }
  @media (min-width: 640px) {
    #cvbtn03 {
      padding: 9.77vw 0 15.33vw; } }
  @media (min-width: 1024px) {
    #cvbtn03 {
      padding: 100px 0 157px; } }
  #cvbtn03 .wrap {
    width: 94.67vw;
    background: #fff;
    box-shadow: 0 0 1.6vw rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    padding: 2.67vw 0;
    border-radius: 2.13vw; }
    @media (min-width: 640px) {
      #cvbtn03 .wrap {
        width: 78.13vw;
        box-shadow: 0 0 0.59vw rgba(0, 0, 0, 0.2);
        padding: 1.46vw 0;
        border-radius: .98vw; } }
    @media (min-width: 1024px) {
      #cvbtn03 .wrap {
        width: 800px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        padding: 15px 0;
        border-radius: 10px; } }
  #cvbtn03 h3 {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33ffffff',endColorstr='#33ffffff',GradientType=1);
    width: 100%;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 1.3;
    padding: 2.13vw 0;
    color: #0A6EB4; }
    @media (min-width: 640px) {
      #cvbtn03 h3 {
        font-size: 2.15vw;
        padding: .98vw 0; } }
    @media (min-width: 1024px) {
      #cvbtn03 h3 {
        font-size: 22px;
        padding: 10px 0; } }
  #cvbtn03 .txtwrap {
    margin: 2.67vw auto 0;
    width: 100%; }
    @media (min-width: 640px) {
      #cvbtn03 .txtwrap {
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn03 .txtwrap {
        margin-top: 15px; } }
  #cvbtn03 img {
    width: 34.67vw;
    height: auto;
    margin-right: 2.67vw; }
    @media (min-width: 640px) {
      #cvbtn03 img {
        width: 22.46vw;
        margin-right: 2.93vw; } }
    @media (min-width: 1024px) {
      #cvbtn03 img {
        width: 230px;
        margin-right: 30px; } }
  #cvbtn03 p {
    font-size: .75rem;
    font-weight: 500; }
    @media (min-width: 640px) {
      #cvbtn03 p {
        font-size: 2.34vw;
        line-height: inherit; } }
    @media (min-width: 1024px) {
      #cvbtn03 p {
        font-size: 24px; } }
    #cvbtn03 p span {
      color: #0A6EB4;
      font-size: .9375rem;
      font-weight: 700; }
      @media (min-width: 640px) {
        #cvbtn03 p span {
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 p span {
          font-size: 30px; } }
  #cvbtn03 .btn01 a {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn03 .btn01 a {
        width: 58.59vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn03 .btn01 a {
        width: 600px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn03 .btn01 a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn03 .btn01 a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn01 a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn03 .btn01 a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn03 .btn01 a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn01 a .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn03 .btn01 a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn03 .btn01 a .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn03 .btn01 a .left span {
            font-size: 34px; } }
    #cvbtn03 .btn01 a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn03 .btn01 a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn01 a .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn03 .btn02 a.otg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #00C464;
    box-shadow: 0 1.33vw 0 0 #00A150;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 4vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn03 .btn02 a.otg {
        width: 26.37vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #00A150;
        margin: 1.46vw 1.95vw 0 auto; } }
    @media (min-width: 1024px) {
      #cvbtn03 .btn02 a.otg {
        width: 270px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #00A150;
        margin: 15px 20px 0 auto; } }
    #cvbtn03 .btn02 a.otg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn03 .btn02 a.otg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn02 a.otg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn03 .btn02 a.otg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn03 .btn02 a.otg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw;
          line-height: 7.81vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn02 a.otg .right {
          padding: 0 30px 0 0;
          font-size: 30px;
          line-height: 80px; } }
  #cvbtn03 .btn02 a.rg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn03 .btn02 a.rg {
        width: 43.95vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin: 1.46vw auto 0 0; } }
    @media (min-width: 1024px) {
      #cvbtn03 .btn02 a.rg {
        width: 450px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn03 .btn02 a.rg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn03 .btn02 a.rg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn02 a.rg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn03 .btn02 a.rg .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn03 .btn02 a.rg .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn02 a.rg .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn03 .btn02 a.rg .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn03 .btn02 a.rg .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn03 .btn02 a.rg .left span {
            font-size: 34px; } }
    #cvbtn03 .btn02 a.rg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn03 .btn02 a.rg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn03 .btn02 a.rg .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn03 aside {
    font-size: .75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 4vw; }
    @media (min-width: 640px) {
      #cvbtn03 aside {
        font-size: 1.37vw;
        margin-top: 1.95vw; } }
    @media (min-width: 1024px) {
      #cvbtn03 aside {
        font-size: 14px;
        margin-top: 20px; } }

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

    section06 - 団体紹介
*/
#sctn06 {
  text-align: justify; }
  #sctn06 .block01 {
    position: relative;
    width: 100%;
    height: 53.6vw;
    background: url("../images/sctn06_blk01_bg_sp.jpg") center center no-repeat;
    background-size: cover; }
    @media (min-width: 640px) {
      #sctn06 .block01 {
        height: 33.59vw;
        background-image: url("../images/sctn06_blk01_bg_pc.jpg");
        margin: 0 auto; } }
    #sctn06 .block01 h3 {
      position: absolute;
      top: -9.33vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 76vw;
      height: 18.67vw;
      background: #fff;
      border: 2px solid #0A6EB4;
      border-radius: 2.67vw;
      color: #0A6EB4;
      font-size: 1.5rem;
      font-weight: 700;
      text-align: center;
      line-height: 17vw; }
      @media (min-width: 640px) {
        #sctn06 .block01 h3 {
          max-width: 1000px;
          padding-top: 0;
          border: 5px solid #0A6EB4;
          top: -5.67vw;
          height: 11.23vw;
          border-radius: 1.95vw;
          font-size: 3.32vw;
          line-height: 10.25vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block01 h3 {
          top: -57px;
          height: 115px;
          border-radius: 20px;
          font-size: 2.125rem;
          line-height: 105px; } }
      #sctn06 .block01 h3::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -7.3vw;
        margin: auto;
        width: 0;
        height: 0;
        border: solid 4vw transparent;
        border-top: solid 4vw #fff;
        z-index: 2; }
        @media (min-width: 640px) {
          #sctn06 .block01 h3::before {
            bottom: -43px;
            border: solid 25px transparent;
            border-top: solid 25px #fff; } }
      #sctn06 .block01 h3::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8vw;
        margin: auto;
        width: 0;
        height: 0;
        border: solid 4vw transparent;
        border-top: solid 4vw #0A6EB4;
        z-index: 1; }
        @media (min-width: 640px) {
          #sctn06 .block01 h3::after {
            bottom: -50px;
            border: solid 25px transparent;
            border-top: solid 25px #0A6EB4; } }
  #sctn06 .block02 {
    background: -moz-linear-gradient(top, rgba(10, 110, 180, 0.2) 0%, white 50%, white 100%);
    background: -webkit-linear-gradient(top, rgba(10, 110, 180, 0.2) 0%, white 50%, white 100%);
    background: linear-gradient(to bottom, rgba(10, 110, 180, 0.2) 0%, white 50%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#330A6EB4', endColorstr='#ffffff',GradientType=0 ); }
    #sctn06 .block02 .inner {
      padding: 8vw 4vw 0;
      background: url("../images/sctn06_blk02_bg_sp.png") center 73vw no-repeat;
      background-size: 92.8vw auto; }
      @media (min-width: 640px) {
        #sctn06 .block02 .inner {
          padding: 6.25vw 0 0;
          background: url("../images/sctn06_blk02_bg_pc.png") left 6.25vw no-repeat;
          background-size: 103.91vw auto; } }
      @media (min-width: 1280px) {
        #sctn06 .block02 .inner {
          padding: 80px 0 0;
          background-position: calc((100vw - 1280px) / 2) 80px;
          background-size: 1330px auto; } }
    #sctn06 .block02 p {
      font-weight: 700;
      margin-top: 5.33vw; }
      @media (min-width: 640px) {
        #sctn06 .block02 p {
          text-align: center;
          margin-top: 3.125vw; } }
      @media (min-width: 1280px) {
        #sctn06 .block02 p {
          margin-top: 40px; } }
      #sctn06 .block02 p:nth-child(1) {
        margin-top: 0; }
      #sctn06 .block02 p:nth-child(1), #sctn06 .block02 p:nth-child(2), #sctn06 .block02 p:nth-child(3) {
        font-weight: 400; }
        @media (min-width: 640px) {
          #sctn06 .block02 p:nth-child(1), #sctn06 .block02 p:nth-child(2), #sctn06 .block02 p:nth-child(3) {
            font-size: 1.41vw;
            line-height: 2.2; } }
        @media (min-width: 1280px) {
          #sctn06 .block02 p:nth-child(1), #sctn06 .block02 p:nth-child(2), #sctn06 .block02 p:nth-child(3) {
            font-size: 1.125rem; } }
      #sctn06 .block02 p:nth-child(4) {
        margin-top: 42vw; }
        @media (min-width: 640px) {
          #sctn06 .block02 p:nth-child(4) {
            margin-top: 3.125vw; } }
        @media (min-width: 1280px) {
          #sctn06 .block02 p:nth-child(4) {
            margin-top: 40px; } }
      #sctn06 .block02 p:nth-child(4), #sctn06 .block02 p:nth-child(5) {
        font-size: 1.125rem; }
        @media (min-width: 640px) {
          #sctn06 .block02 p:nth-child(4), #sctn06 .block02 p:nth-child(5) {
            font-size: 1.875vw;
            text-align: center; } }
        @media (min-width: 1280px) {
          #sctn06 .block02 p:nth-child(4), #sctn06 .block02 p:nth-child(5) {
            font-size: 1.5rem; } }
        #sctn06 .block02 p:nth-child(4) span, #sctn06 .block02 p:nth-child(5) span {
          font-size: 1.125rem; }
          @media (min-width: 640px) {
            #sctn06 .block02 p:nth-child(4) span, #sctn06 .block02 p:nth-child(5) span {
              font-size: 2.1875vw; } }
          @media (min-width: 1280px) {
            #sctn06 .block02 p:nth-child(4) span, #sctn06 .block02 p:nth-child(5) span {
              font-size: 1.75rem; } }
      #sctn06 .block02 p span {
        color: #007A45; }
      #sctn06 .block02 p .under {
        background: linear-gradient(transparent 75%, #FFF788 75%); }
      #sctn06 .block02 p:nth-child(6) span {
        color: inherit; }
    #sctn06 .block02 table {
      width: 100%;
      border-collapse: collapse;
      font-weight: 700;
      margin: 10.67vw auto 0; }
      @media (min-width: 640px) {
        #sctn06 .block02 table {
          width: 50.78vw;
          margin-top: 4.69vw;
          text-align: center;
          font-size: 1.25vw; } }
      @media (min-width: 1280px) {
        #sctn06 .block02 table {
          width: 650px;
          margin-top: 60px;
          font-size: 16px; } }
      #sctn06 .block02 table td {
        background: #E6F0F7;
        border-bottom: 1.33vw solid #fff;
        padding: 2.67vw; }
        @media (min-width: 640px) {
          #sctn06 .block02 table td {
            border-bottom-width: .78vw;
            padding: 1.17vw .78vw; } }
        @media (min-width: 1280px) {
          #sctn06 .block02 table td {
            border-bottom-width: 10px;
            padding: 15px 10px; } }
  #sctn06 .block03 {
    position: relative;
    width: 89.33vw;
    margin: 20vw auto 0;
    background: #F3F8FC;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 2.67vw;
    padding: 14.67vw 2.67vw 8vw; }
    @media (min-width: 640px) {
      #sctn06 .block03 {
        width: 87.89vw;
        max-width: 900px;
        margin-top: 11.72vw;
        border-radius: 1.95vw;
        padding: 9.77vw 4.88vw 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn06 .block03 {
        margin-top: 120px;
        border-radius: 20px;
        padding: 100px 50px 60px; } }
    #sctn06 .block03 h3 {
      position: absolute;
      top: -6.67vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 84vw;
      height: 13.33vw;
      line-height: 1.15;
      background: #0A6EB4;
      color: #fff;
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center;
      padding-top: .8vw; }
      @media (min-width: 640px) {
        #sctn06 .block03 h3 {
          top: -3.91vw;
          width: 78.125vw;
          height: 7.8125vw;
          line-height: 7.8125vw;
          font-size: 2rem;
          padding-top: 0; } }
      @media (min-width: 1024px) {
        #sctn06 .block03 h3 {
          top: -40px;
          width: 800px;
          height: 80px;
          line-height: 80px; } }
    #sctn06 .block03 .chart-wrap {
      position: relative;
      width: 70vw;
      height: 70vw;
      margin: 0 auto; }
      @media (min-width: 640px) {
        #sctn06 .block03 .chart-wrap {
          width: 29.3vw;
          height: 29.3vw;
          margin: 0; } }
      @media (min-width: 1024px) {
        #sctn06 .block03 .chart-wrap {
          width: 300px;
          height: 300px; } }
      #sctn06 .block03 .chart-wrap .chart-container {
        position: relative;
        z-index: 2; }
      #sctn06 .block03 .chart-wrap aside {
        position: absolute;
        z-index: 1;
        width: 30vw;
        height: 30vw;
        top: 28.27vw;
        left: 0;
        right: 0;
        margin: auto;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: center; }
        @media (min-width: 640px) {
          #sctn06 .block03 .chart-wrap aside {
            width: 12.89vw;
            height: 12.89vw;
            top: 11.72vw;
            font-size: 1.76vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block03 .chart-wrap aside {
            width: 132px;
            height: 132px;
            top: 120px;
            font-size: 18px; } }
        #sctn06 .block03 .chart-wrap aside small {
          font-size: .75rem; }
          @media (min-width: 640px) {
            #sctn06 .block03 .chart-wrap aside small {
              font-size: 1.37vw; } }
          @media (min-width: 1024px) {
            #sctn06 .block03 .chart-wrap aside small {
              font-size: 14px; } }
    #sctn06 .block03 ul {
      width: 50.67vw;
      margin: 5.33vw auto 0;
      list-style-type: none;
      text-align: left; }
      @media (min-width: 640px) {
        #sctn06 .block03 ul {
          width: auto;
          margin: 1rem 0 0 4.88vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block03 ul {
          margin-left: 50px; } }
      #sctn06 .block03 ul li {
        font-weight: 500;
        line-height: 1.5;
        font-size: 1rem;
        padding-left: 1.6em;
        text-indent: -1.6em;
        margin-bottom: .5em;
        white-space: nowrap; }
        @media (min-width: 640px) {
          #sctn06 .block03 ul li {
            font-size: 1.76vw;
            padding-left: 2em;
            text-indent: -2em;
            white-space: normal; } }
        @media (min-width: 1024px) {
          #sctn06 .block03 ul li {
            font-size: 18px; } }
        #sctn06 .block03 ul li::before {
          content: "";
          position: relative;
          display: inline-block;
          width: 4.8vw;
          height: 4.8vw;
          border-radius: 50%;
          margin-right: .5rem;
          top: .2rem; }
          @media (min-width: 640px) {
            #sctn06 .block03 ul li::before {
              width: 1.95vw;
              height: 1.95vw;
              margin-right: 1.56vw;
              top: .39vw; } }
          @media (min-width: 1024px) {
            #sctn06 .block03 ul li::before {
              width: 20px;
              height: 20px;
              margin-right: 1rem;
              top: .25rem; } }
        #sctn06 .block03 ul li:nth-child(1)::before {
          background: #0A6EB4; }
        #sctn06 .block03 ul li:nth-child(2)::before {
          background: #b34e0a; }
        #sctn06 .block03 ul li:nth-child(3)::before {
          background: #4b7807; }
        #sctn06 .block03 ul li:nth-child(4)::before {
          background: #A6A9AC; }
    #sctn06 .block03 p {
      margin-top: 2.67vw; }
      @media (min-width: 640px) {
        #sctn06 .block03 p {
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block03 p {
          margin-top: 30px; } }
  #sctn06 .block04 {
    background: #FFFFFF;
    padding: 10.67vw 0 13.33vw; }
    @media (min-width: 640px) {
      #sctn06 .block04 {
        padding: 0 0 9.77vw; } }
    @media (min-width: 1024px) {
      #sctn06 .block04 {
        padding: 0 0 100px; } }
    #sctn06 .block04 ul {
      width: 94.67vw;
      margin: 0 auto; }
      @media (min-width: 640px) {
        #sctn06 .block04 ul {
          width: 96.09vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block04 ul {
          width: 1000px; } }
    #sctn06 .block04 li {
      background: #E6F0F7; }
      #sctn06 .block04 li:nth-child(1) {
        width: 100%;
        margin-top: 4vw; }
        @media (min-width: 640px) {
          #sctn06 .block04 li:nth-child(1) {
            width: 30.08vw;
            margin-top: 9.77vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li:nth-child(1) {
            width: 308px;
            margin-top: 100px; } }
      #sctn06 .block04 li:nth-child(2) {
        width: 45.33vw;
        margin-top: 4vw; }
        @media (min-width: 640px) {
          #sctn06 .block04 li:nth-child(2) {
            width: 30.08vw;
            margin-top: 9.77vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li:nth-child(2) {
            width: 308px;
            margin-top: 100px; } }
      #sctn06 .block04 li:nth-child(3) {
        width: 45.33vw;
        margin-top: 4vw; }
        @media (min-width: 640px) {
          #sctn06 .block04 li:nth-child(3) {
            width: 30.08vw;
            margin-top: 9.77vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li:nth-child(3) {
            width: 308px;
            margin-top: 100px; } }
      #sctn06 .block04 li h4 {
        background: #0A6EB4;
        padding: 1.33vw 0;
        color: #fff;
        font-size: .875rem;
        font-weight: 700;
        text-align: center; }
        @media (min-width: 640px) {
          #sctn06 .block04 li h4 {
            padding: .49vw 0;
            font-size: 2.34vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li h4 {
            padding: 5px 0;
            font-size: 24px; } }
      #sctn06 .block04 li aside {
        font-size: .5rem;
        text-align: center;
        margin: .8vw 0 -1.33vw;
        position: relative; }
        @media (min-width: 640px) {
          #sctn06 .block04 li aside {
            font-size: .75rem;
            margin: .49vw 0 -.49vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li aside {
            margin: 5px 0 -5px; } }
      #sctn06 .block04 li p {
        padding: 4vw 2.67vw;
        /*font-size: .625rem;*/
        text-align: justify;
        word-break: break-all; }
        @media (min-width: 640px) {
          #sctn06 .block04 li p {
            padding: 1.46vw;
            font-size: 1.76vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block04 li p {
            padding: 15px;
            font-size: 18px; } }
        #sctn06 .block04 li p .textbase {
          font-size: .875rem; }
          @media (min-width: 640px) {
            #sctn06 .block04 li p .textbase {
              font-size: 1.56vw; } }
          @media (min-width: 1024px) {
            #sctn06 .block04 li p .textbase {
              font-size: 16px; } }
  #sctn06 .block05 {
    margin: 0 auto;
    width: 92vw; }
    @media (min-width: 640px) {
      #sctn06 .block05 {
        width: 66.41vw;
        max-width: 680px;
        font-size: 1.56vw; } }
    @media (min-width: 1024px) {
      #sctn06 .block05 {
        font-size: 16px; } }
    #sctn06 .block05 table {
      width: 100%;
      border-collapse: collapse;
      line-height: 1.5; }
      #sctn06 .block05 table th {
        padding: 4vw 2.67vw;
        vertical-align: middle;
        font-weight: 400;
        border: 1px solid #ccc;
        width: 21.33vw; }
        @media (min-width: 640px) {
          #sctn06 .block05 table th {
            padding: 1.46vw;
            width: 11.72vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block05 table th {
            padding: 15px;
            width: 120px; } }
      #sctn06 .block05 table td {
        padding: 4vw 2.67vw;
        border: 1px solid #ccc; }
        @media (min-width: 640px) {
          #sctn06 .block05 table td {
            padding: 15px; } }
        @media (min-width: 1024px) {
          #sctn06 .block05 table td {
            padding: 15px; } }
  #sctn06 .block06 {
    margin: 0 auto;
    padding: 10.67vw 4vw; }
    @media (min-width: 640px) {
      #sctn06 .block06 {
        padding: 7.81vw 0 9.77vw; } }
    @media (min-width: 1024px) {
      #sctn06 .block06 {
        padding: 80px 0 100px; } }
    @media (min-width: 640px) {
      #sctn06 .block06 .wrap {
        padding: 0;
        width: 66.41vw;
        max-width: 680px; } }
    #sctn06 .block06 h3 {
      position: relative;
      color: #0A6EB4;
      font-size: 1.25rem;
      font-weight: 700;
      text-align: center;
      margin: 0 -4vw; }
      @media (min-width: 640px) {
        #sctn06 .block06 h3 {
          font-size: 2rem;
          margin: 0; } }
    #sctn06 .block06 ul {
      margin-top: 8vw; }
      @media (min-width: 640px) {
        #sctn06 .block06 ul {
          margin-top: 7.8125vw; } }
      @media (min-width: 1280px) {
        #sctn06 .block06 ul {
          margin-top: 100px; } }
      #sctn06 .block06 ul li {
        margin: 0 2.4vw;
        width: 40vw;
        min-height: 40vw;
        background: url("../images/sctn06_blk06_li_bg.png") center top no-repeat;
        background-size: contain;
        color: #C09C47;
        font-size: 1rem;
        font-weight: 700;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        text-align: center;
        line-height: 1;
        padding-top: 10.67vw; }
        @media (min-width: 640px) {
          #sctn06 .block06 ul li {
            margin: 0 2.44vw;
            width: 29.3vw;
            min-height: 29.3vw;
            font-size: 2.93vw;
            padding-top: 7.81vw; } }
        @media (min-width: 1024px) {
          #sctn06 .block06 ul li {
            margin: 0 25px;
            width: 300px;
            min-height: 300px;
            font-size: 30px;
            padding-top: 80px; } }
        #sctn06 .block06 ul li span {
          color: #EB6010;
          font-size: 1.325rem;
          line-height: 1.3; }
          @media (min-width: 640px) {
            #sctn06 .block06 ul li span {
              font-size: 2.875rem; } }
        #sctn06 .block06 ul li aside {
          font-size: .625rem;
          margin-top: 16vw; }
          @media (min-width: 640px) {
            #sctn06 .block06 ul li aside {
              font-size: 1rem;
              margin-top: 11.72vw; } }
          @media (min-width: 1024px) {
            #sctn06 .block06 ul li aside {
              margin-top: 120px; } }
    #sctn06 .block06 .nobel {
      color: #0A6EB4;
      font-size: 1.25rem;
      font-weight: 700;
      text-align: center;
      margin-top: 8vw; }
      @media (min-width: 640px) {
        #sctn06 .block06 .nobel {
          font-size: 2rem;
          margin-top: 7.81vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block06 .nobel {
          margin-top: 80px; } }
  #sctn06 .block07 {
    background: #F3F8FC; }
    #sctn06 .block07 h4 {
      position: relative;
      width: 100%;
      height: 16vw;
      line-height: 16vw;
      background: #0A6EB4;
      color: #fff;
      font-size: 1rem;
      font-weight: 700;
      text-align: center; }
      @media (min-width: 640px) {
        #sctn06 .block07 h4 {
          height: 11.23vw;
          line-height: 11.23vw;
          font-size: 3.32vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block07 h4 {
          height: 115px;
          line-height: 115px;
          font-size: 2.125rem; } }
      #sctn06 .block07 h4::after {
        content: "";
        position: absolute;
        bottom: -8vw;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 0;
        height: 0;
        border-top: solid 4vw #0A6EB4;
        border-right: solid 4vw transparent;
        border-bottom: solid 4vw transparent;
        border-left: solid 4vw transparent; }
        @media (min-width: 640px) {
          #sctn06 .block07 h4::after {
            bottom: -3.91vw;
            border-top: solid 1.95vw #0A6EB4;
            border-right: solid 1.95vw transparent;
            border-bottom: solid 1.95vw transparent;
            border-left: solid 1.95vw transparent; } }
        @media (min-width: 1024px) {
          #sctn06 .block07 h4::after {
            bottom: -40px;
            border-top: solid 20px #0A6EB4;
            border-right: solid 20px transparent;
            border-bottom: solid 20px transparent;
            border-left: solid 20px transparent; } }
    #sctn06 .block07 .wrap {
      padding-top: 10.67vw;
      padding-bottom: 10.67vw; }
      @media (min-width: 640px) {
        #sctn06 .block07 .wrap {
          padding-top: 9.77vw;
          padding-bottom: 9.77vw;
          width: 82.03vw;
          max-width: 840px; } }
      @media (min-width: 1024px) {
        #sctn06 .block07 .wrap {
          padding-top: 100px;
          padding-bottom: 100px; } }
    #sctn06 .block07 p {
      font-size: 1rem; }
      @media (min-width: 640px) {
        #sctn06 .block07 p {
          font-size: 1.56vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block07 p {
          font-size: 16px; } }
    #sctn06 .block07 .highlight {
      background: linear-gradient(transparent 55%, #ff0 55%); }
    #sctn06 .block07 img.profile {
      border: 1.6vw solid #fff;
      box-shadow: 0 0.8vw 1.6vw rgba(0, 0, 0, 0.15);
      box-sizing: content-box;
      width: 32vw; }
      @media (min-width: 640px) {
        #sctn06 .block07 img.profile {
          border-width: .59vw;
          box-shadow: 0 0.29vw 0.59vw rgba(0, 0, 0, 0.15);
          width: 11.72vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block07 img.profile {
          border-width: 6px;
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
          width: 120px; } }
    #sctn06 .block07 aside {
      margin-left: 4vw; }
      @media (min-width: 640px) {
        #sctn06 .block07 aside {
          font-size: 1.56vw;
          margin-left: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn06 .block07 aside {
          font-size: 16px;
          margin-left: 30px; } }

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

    section07 - Q&A
*/
#sctn07 {
  text-align: justify;
  padding: 10.67vw 2.67vw; }
  @media (min-width: 640px) {
    #sctn07 {
      padding: 9.77vw 0; } }
  @media (min-width: 1024px) {
    #sctn07 {
      padding: 100px 0; } }
  #sctn07 .wrap {
    padding: 0; }
    @media (min-width: 640px) {
      #sctn07 .wrap {
        width: 87.89vw;
        max-width: 900px;
        margin: 0 auto; } }
  #sctn07 h3 {
    width: 94.67vw;
    height: 16vw;
    line-height: 16vw;
    background: #0A6EB4;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center; }
    @media (min-width: 640px) {
      #sctn07 h3 {
        width: 87.89vw;
        max-width: 900px;
        height: 8.79vw;
        line-height: 8.79vw;
        font-size: 3.32vw; } }
    @media (min-width: 1024px) {
      #sctn07 h3 {
        height: 90px;
        line-height: 90px;
        font-size: 2.125rem; } }
    #sctn07 h3 span {
      font-family: 'Noto Sans', sans-serif; }
  #sctn07 p {
    margin-top: 5.33vw;
    font-size: 1.125rem;
    text-align: center; }
    @media (min-width: 640px) {
      #sctn07 p {
        margin-top: 2.93vw;
        font-size: 1.95vw; } }
    @media (min-width: 1024px) {
      #sctn07 p {
        margin-top: 30px;
        font-size: 1.25rem; } }
    #sctn07 p span {
      font-family: 'Noto Sans', sans-serif; }
  #sctn07 dl {
    background: #fff;
    box-shadow: 0 0 1.07vw 0 rgba(0, 0, 0, 0.2);
    border-radius: 2.67vw;
    margin-top: 2.67vw;
    padding: 4vw; }
    @media (min-width: 640px) {
      #sctn07 dl {
        box-shadow: 0 0 0.39vw 0 rgba(0, 0, 0, 0.2);
        border-radius: .98vw;
        margin-top: .98vw;
        padding: 3.91vw; } }
    @media (min-width: 1024px) {
      #sctn07 dl {
        box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
        border-radius: 10px;
        margin-top: 10px;
        padding: 40px; } }
    #sctn07 dl dt {
      position: relative;
      min-height: 8vw;
      padding: .8vw 10.67vw 0;
      font-weight: 700;
      cursor: pointer; }
      @media (min-width: 640px) {
        #sctn07 dl dt {
          min-height: 3.91vw;
          padding: .68vw 0 0 6.84vw;
          font-size: 1.76vw; } }
      @media (min-width: 1024px) {
        #sctn07 dl dt {
          min-height: 40px;
          padding: 7px 0 0 70px;
          font-size: 1.125rem; } }
      #sctn07 dl dt::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 8vw;
        height: 8vw;
        line-height: 8vw;
        background: #0A6EB4;
        border-radius: 4vw;
        content: "Ｑ";
        color: #fff;
        font-family: 'Noto Sans', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        text-align: center; }
        @media (min-width: 640px) {
          #sctn07 dl dt::before {
            width: 3.91vw;
            height: 3.91vw;
            line-height: 3.91vw;
            border-radius: 1.95vw;
            font-size: 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn07 dl dt::before {
            width: 40px;
            height: 40px;
            line-height: 40px;
            border-radius: 20px;
            font-size: 1.25rem; } }
      #sctn07 dl dt::after {
        position: absolute;
        top: .53vw;
        right: 0;
        width: 6.93vw;
        height: 6.93vw;
        line-height: 6.93vw;
        background: #EAEAEA;
        border-radius: 3.47vw;
        content: "\f106";
        font-family: FontAwesome;
        font-size: 1rem;
        text-align: center;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        transition: transform .3s; }
        @media (min-width: 640px) {
          #sctn07 dl dt::after {
            top: .49vw;
            right: .49vw;
            width: 2.93vw;
            height: 2.93vw;
            line-height: 2.83vw;
            border-radius: 1.46vw;
            font-size: 1.56vw; } }
        @media (min-width: 1024px) {
          #sctn07 dl dt::after {
            top: 5px;
            right: 5px;
            width: 30px;
            height: 30px;
            line-height: 28px;
            border-radius: 15px;
            font-size: 1rem; } }
      #sctn07 dl dt.active::after {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg); }
    #sctn07 dl dd {
      position: relative;
      margin-top: 4vw;
      padding: .8vw 0 0 10.67vw;
      font-size: 1rem;
      display: none; }
      @media (min-width: 640px) {
        #sctn07 dl dd {
          margin-top: 1.95vw;
          padding: .68vw 0 0 6.84vw;
          font-size: 1.56vw;
          display: block; } }
      @media (min-width: 1024px) {
        #sctn07 dl dd {
          margin-top: 20px;
          padding: 7px 0 0 70px;
          font-size: 1rem; } }
      #sctn07 dl dd::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 8vw;
        height: 8vw;
        line-height: 8vw;
        background: #FF9319;
        border-radius: 4vw;
        content: "Ａ";
        color: #fff;
        font-family: 'Noto Sans', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        text-align: center; }
        @media (min-width: 640px) {
          #sctn07 dl dd::before {
            width: 3.91vw;
            height: 3.91vw;
            line-height: 3.91vw;
            border-radius: 1.95vw;
            font-size: 1.95vw; } }
        @media (min-width: 1024px) {
          #sctn07 dl dd::before {
            width: 40px;
            height: 40px;
            line-height: 40px;
            border-radius: 20px;
            font-size: 1.25rem; } }
    #sctn07 dl:nth-child(1) {
      margin-top: 5.33vw; }
      @media (min-width: 640px) {
        #sctn07 dl:nth-child(1) {
          margin-top: 2.93vw; } }
      @media (min-width: 1024px) {
        #sctn07 dl:nth-child(1) {
          margin-top: 30px; } }
    #sctn07 dl a {
      text-decoration: underline; }
      #sctn07 dl a:hover {
        text-decoration: none; }

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

    section08 - P.S.
*/
#sctn08 {
  text-align: justify;
  position: relative;
  padding: 10.67vw 0;
  background: #F3F8FC; }
  @media (min-width: 640px) {
    #sctn08 {
      padding: 9.77vw 0; } }
  @media (min-width: 1024px) {
    #sctn08 {
      padding: 100px 0; } }
  #sctn08 .wrap {
    width: 94.67vw;
    margin: 0 auto;
    background: #F8EBD6;
    box-shadow: 0.8vw 0.8vw 1.6vw 0 rgba(0, 0, 0, 0.2);
    padding: 8vw 4vw; }
    @media (min-width: 640px) {
      #sctn08 .wrap {
        width: 78.13vw;
        box-shadow: 0.29vw 0.29vw 0.59vw 0 rgba(0, 0, 0, 0.2);
        padding: 5.86vw; } }
    @media (min-width: 1024px) {
      #sctn08 .wrap {
        width: 800px;
        box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.2);
        padding: 60px; } }
  #sctn08 strong {
    background: linear-gradient(transparent 55%, #ff0 55%); }

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

    cv button04
*/
#cvbtn04 {
  background: #F3F8FC;
  padding-bottom: 10.67vw; }
  @media (min-width: 640px) {
    #cvbtn04 {
      padding-bottom: 9.77vw; } }
  @media (min-width: 1024px) {
    #cvbtn04 {
      padding-bottom: 100px; } }
  #cvbtn04 .wrap {
    width: 94.67vw;
    background: #fff;
    box-shadow: 0 0 1.6vw rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    padding: 2.67vw 0;
    border-radius: 2.13vw; }
    @media (min-width: 640px) {
      #cvbtn04 .wrap {
        width: 78.13vw;
        box-shadow: 0 0 0.59vw rgba(0, 0, 0, 0.2);
        padding: 1.46vw 0;
        border-radius: .98vw; } }
    @media (min-width: 1024px) {
      #cvbtn04 .wrap {
        width: 800px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        padding: 15px 0;
        border-radius: 10px; } }
  #cvbtn04 h3 {
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.1) 0%, rgba(10, 110, 180, 0.1) 50%, rgba(255, 255, 255, 0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33ffffff',endColorstr='#33ffffff',GradientType=1);
    width: 100%;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 1.3;
    padding: 2.13vw 0;
    color: #0A6EB4; }
    @media (min-width: 640px) {
      #cvbtn04 h3 {
        font-size: 2.15vw;
        padding: .98vw 0; } }
    @media (min-width: 1024px) {
      #cvbtn04 h3 {
        font-size: 22px;
        padding: 10px 0; } }
  #cvbtn04 .txtwrap {
    margin: 2.67vw auto 0;
    width: 100%; }
    @media (min-width: 640px) {
      #cvbtn04 .txtwrap {
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn04 .txtwrap {
        margin-top: 15px; } }
  #cvbtn04 img {
    width: 34.67vw;
    height: auto;
    margin-right: 2.67vw; }
    @media (min-width: 640px) {
      #cvbtn04 img {
        width: 22.46vw;
        margin-right: 2.93vw; } }
    @media (min-width: 1024px) {
      #cvbtn04 img {
        width: 230px;
        margin-right: 30px; } }
  #cvbtn04 p {
    font-size: .75rem;
    font-weight: 500; }
    @media (min-width: 640px) {
      #cvbtn04 p {
        font-size: 2.34vw;
        line-height: inherit; } }
    @media (min-width: 1024px) {
      #cvbtn04 p {
        font-size: 24px; } }
    #cvbtn04 p span {
      color: #0A6EB4;
      font-size: .9375rem;
      font-weight: 700; }
      @media (min-width: 640px) {
        #cvbtn04 p span {
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 p span {
          font-size: 30px; } }
  #cvbtn04 .btn01 a {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn04 .btn01 a {
        width: 58.59vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin-top: 1.46vw; } }
    @media (min-width: 1024px) {
      #cvbtn04 .btn01 a {
        width: 600px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn04 .btn01 a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn04 .btn01 a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn01 a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn04 .btn01 a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn04 .btn01 a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn01 a .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn04 .btn01 a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn04 .btn01 a .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn04 .btn01 a .left span {
            font-size: 34px; } }
    #cvbtn04 .btn01 a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn04 .btn01 a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn01 a .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn04 .btn02 a.otg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #00C464;
    box-shadow: 0 1.33vw 0 0 #00A150;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 4vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn04 .btn02 a.otg {
        width: 26.37vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #00A150;
        margin: 1.46vw 1.95vw 0 auto; } }
    @media (min-width: 1024px) {
      #cvbtn04 .btn02 a.otg {
        width: 270px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #00A150;
        margin: 15px 20px 0 auto; } }
    #cvbtn04 .btn02 a.otg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn04 .btn02 a.otg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn02 a.otg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn04 .btn02 a.otg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 16vw; }
      @media (min-width: 640px) {
        #cvbtn04 .btn02 a.otg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw;
          line-height: 7.81vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn02 a.otg .right {
          padding: 0 30px 0 0;
          font-size: 30px;
          line-height: 80px; } }
  #cvbtn04 .btn02 a.rg {
    display: block;
    width: 84vw;
    height: 16vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700;
    margin: 2.67vw auto 0; }
    @media (min-width: 640px) {
      #cvbtn04 .btn02 a.rg {
        width: 43.95vw;
        height: 7.81vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00;
        margin: 1.46vw auto 0 0; } }
    @media (min-width: 1024px) {
      #cvbtn04 .btn02 a.rg {
        width: 450px;
        height: 80px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00;
        margin-top: 15px; } }
    #cvbtn04 .btn02 a.rg::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 4vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #cvbtn04 .btn02 a.rg::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn02 a.rg::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #cvbtn04 .btn02 a.rg .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 13.33vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 12vw; }
      @media (min-width: 640px) {
        #cvbtn04 .btn02 a.rg .left {
          margin: .98vw 0 .98vw .98vw;
          width: 19.53vw;
          height: 5.86vw;
          border-radius: 2.93vw;
          font-size: 2.15vw;
          line-height: 5.47vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn02 a.rg .left {
          margin: 10px 0 10px 10px;
          width: 200px;
          height: 60px;
          border-radius: 30px;
          font-size: 22px;
          line-height: 56px; } }
      #cvbtn04 .btn02 a.rg .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #cvbtn04 .btn02 a.rg .left span {
            font-size: 3.32vw; } }
        @media (min-width: 1024px) {
          #cvbtn04 .btn02 a.rg .left span {
            font-size: 34px; } }
    #cvbtn04 .btn02 a.rg .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #cvbtn04 .btn02 a.rg .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.93vw; } }
      @media (min-width: 1024px) {
        #cvbtn04 .btn02 a.rg .right {
          padding: 0 30px 0 0;
          font-size: 30px; } }
  #cvbtn04 aside {
    font-size: .75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 4vw; }
    @media (min-width: 640px) {
      #cvbtn04 aside {
        font-size: 1.37vw;
        margin-top: 1.95vw; } }
    @media (min-width: 1024px) {
      #cvbtn04 aside {
        font-size: 14px;
        margin-top: 20px; } }

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

    footer
*/
footer {
  width: 100%;
  margin-top: 10.67vw;
  text-align: justify; }
  @media (min-width: 640px) {
    footer {
      margin-top: 9.77vw; } }
  @media (min-width: 1024px) {
    footer {
      margin-top: 100px; } }
  footer ul li {
    margin: 0 auto; }
    footer ul li:nth-child(1) {
      width: 50.67vw; }
      @media (min-width: 640px) {
        footer ul li:nth-child(1) {
          width: 18.55vw;
          margin: 0 auto 0 0; } }
      @media (min-width: 1024px) {
        footer ul li:nth-child(1) {
          width: 190px; } }
    footer ul li:nth-child(2) {
      margin-top: 5.33vw;
      text-align: center;
      font-size: .875rem; }
      @media (min-width: 640px) {
        footer ul li:nth-child(2) {
          margin: 0 auto;
          text-align: left;
          font-size: 1.37vw; } }
      @media (min-width: 1024px) {
        footer ul li:nth-child(2) {
          font-size: .875rem; } }
    footer ul li:nth-child(3) {
      margin-top: 5.33vw;
      text-align: center; }
      @media (min-width: 640px) {
        footer ul li:nth-child(3) {
          margin-top: 0;
          margin-right: 0;
          /*text-align: left;*/ } }
      footer ul li:nth-child(3) a i {
        position: relative;
        margin-top: 1.87vw;
        font-size: 1.75rem; }
        @media (min-width: 640px) {
          footer ul li:nth-child(3) a i {
            margin-top: .68vw;
            font-size: 2.73vw; } }
        @media (min-width: 1024px) {
          footer ul li:nth-child(3) a i {
            margin-top: 7px;
            font-size: 28px; } }
      footer ul li:nth-child(3) a img {
        width: 11.2vw; }
        @media (min-width: 640px) {
          footer ul li:nth-child(3) a img {
            width: 4.1vw; } }
        @media (min-width: 1024px) {
          footer ul li:nth-child(3) a img {
            width: 42px; } }
      footer ul li:nth-child(3) a span {
        font-size: 1.875rem;
        font-family: 'Oswald', sans-serif; }
        @media (min-width: 640px) {
          footer ul li:nth-child(3) a span {
            font-size: 2.93vw; } }
        @media (min-width: 1024px) {
          footer ul li:nth-child(3) a span {
            font-size: 1.875rem; } }
      @media (min-width: 640px) {
        footer ul li:nth-child(3) p {
          font-size: .875rem; } }
      footer ul li:nth-child(3) p small {
        font-size: .93em; }
  footer .privacy {
    margin-top: 5.33vw;
    font-size: .875rem;
    text-align: center; }
    @media (min-width: 640px) {
      footer .privacy {
        margin-top: 1.27vw;
        font-size: 1.37vw;
        text-align: right; } }
    @media (min-width: 1024px) {
      footer .privacy {
        margin-top: 13px;
        font-size: .875rem; } }
    footer .privacy a {
      text-decoration: underline; }
      footer .privacy a:hover {
        text-decoration: none; }
  footer .note {
    margin-top: 8vw;
    font-size: .8125rem; }
    @media (min-width: 640px) {
      footer .note {
        margin-top: 2.93vw;
        font-size: 1.37vw;
        text-align: center; } }
    @media (min-width: 1024px) {
      footer .note {
        margin-top: 30px;
        font-size: 14px; } }
  footer .pagetop {
    position: absolute;
    right: 2.67vw;
    bottom: -9.33vw;
    display: block;
    width: 13.33vw;
    height: 13.33vw;
    background: url("../images/footer_pagetop_sp.svg") center center no-repeat #0A6EB4;
    background-size: 5.6vw auto;
    border-radius: 6.67vw; }
    @media (min-width: 640px) {
      footer .pagetop {
        right: .98vw;
        bottom: -9.77vw;
        width: 7.81vw;
        height: 7.81vw;
        background-image: url("../images/footer_pagetop_pc.svg");
        background-size: 5.76vw auto;
        border-radius: 3.91vw; } }
    @media (min-width: 1024px) {
      footer .pagetop {
        right: 10px;
        bottom: -100px;
        width: 80px;
        height: 80px;
        background-size: 59px auto;
        border-radius: 40px; } }
  footer .copy {
    margin: 12vw 0 21.33vw;
    height: 13.33vw;
    line-height: 13.33vw;
    background: #F8F8F8;
    font-size: .75rem;
    text-align: center; }
    @media (min-width: 640px) {
      footer .copy {
        margin: 3.91vw 0 11.7vw;
        height: 7.81vw;
        line-height: 7.81vw;
        font-size: 1.17vw; } }
    @media (min-width: 1024px) {
      footer .copy {
        margin: 40px 0 120px;
        height: 80px;
        line-height: 80px;
        font-size: .75rem; } }

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

    fixed footer
*/
#fixedfooter {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 21.33vw;
  background: #09639F;
  display: none;
  z-index: 100;
  padding-bottom: 1.33vw; }
  @media (min-width: 640px) {
    #fixedfooter {
      height: 11.7vw;
      padding-bottom: 0; } }
  @media (min-width: 1024px) {
    #fixedfooter {
      height: 120px; } }
  #fixedfooter .wrap {
    height: 100%; }
    @media (min-width: 640px) {
      #fixedfooter .wrap {
        width: 91.8vw;
        max-width: 940px; } }
  #fixedfooter p {
    color: #fff;
    font-size: .6875rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    margin-top: .8vw; }
    @media (min-width: 640px) {
      #fixedfooter p {
        font-size: 1.125rem;
        line-height: 1.8;
        margin-top: 0; } }
  #fixedfooter a {
    display: block;
    width: 65.33vw;
    height: 13.33vw;
    background: #EC6700;
    box-shadow: 0 1.33vw 0 0 #B74E00;
    border-radius: 8vw;
    position: relative;
    color: #fff;
    font-weight: 700; }
    @media (min-width: 640px) {
      #fixedfooter a {
        width: 45.9vw;
        height: 6.84vw;
        border-radius: 3.91vw;
        box-shadow: 0 .68vw 0 0 #B74E00; } }
    @media (min-width: 1024px) {
      #fixedfooter a {
        width: 470px;
        height: 70px;
        border-radius: 40px;
        box-shadow: 0 7px 0 0 #B74E00; } }
    #fixedfooter a::after {
      content: "\f105";
      font-family: FontAwesome;
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      text-align: center;
      line-height: 6.4vw;
      width: 2.13vw;
      height: 6.4vw;
      position: absolute;
      top: 0;
      left: 0;
      right: 2.67vw;
      bottom: 0;
      margin: auto 0 auto auto; }
      @media (min-width: 640px) {
        #fixedfooter a::after {
          font-size: 2.93vw;
          line-height: 2.93vw;
          width: .98vw;
          height: 2.93vw;
          right: 1.95vw; } }
      @media (min-width: 1024px) {
        #fixedfooter a::after {
          font-size: 30px;
          line-height: 30px;
          width: 10px;
          height: 30px;
          right: 20px; } }
    #fixedfooter a .left {
      margin: 1.33vw 0 1.33vw 1.33vw;
      width: 34.67vw;
      height: 10.67vw;
      background: #fff;
      border-radius: 6.67vw;
      color: #EC6700;
      font-size: .875rem;
      text-align: center;
      line-height: 9.67vw; }
      @media (min-width: 640px) {
        #fixedfooter a .left {
          margin: .98vw 0 .98vw .98vw;
          width: 17.58vw;
          height: 4.88vw;
          border-radius: 2.93vw;
          font-size: 1.95vw;
          line-height: 4.49vw; } }
      @media (min-width: 1024px) {
        #fixedfooter a .left {
          margin: 10px 0 10px 10px;
          width: 180px;
          height: 50px;
          border-radius: 30px;
          font-size: 20px;
          line-height: 46px; } }
      #fixedfooter a .left span {
        font-size: 1.5rem;
        font-family: 'Noto Serif JP', serif; }
        @media (min-width: 640px) {
          #fixedfooter a .left span {
            font-size: 2.93vw; } }
        @media (min-width: 1024px) {
          #fixedfooter a .left span {
            font-size: 30px; } }
    #fixedfooter a .right {
      text-align: center;
      padding: 0 5vw 0 0;
      font-size: 1.25rem;
      line-height: 1; }
      @media (min-width: 640px) {
        #fixedfooter a .right {
          padding: 0 2.93vw 0 0;
          font-size: 2.54vw; } }
      @media (min-width: 1024px) {
        #fixedfooter a .right {
          padding: 0 30px 0 0;
          font-size: 26px; } }
    #fixedfooter a.b-pattern .right {
      line-height: 13.33vw;
      font-size: 1rem; }
      @media (min-width: 640px) {
        #fixedfooter a.b-pattern .right {
          line-height: 6.84vw;
          font-size: 1.625rem; } }
      @media (min-width: 1024px) {
        #fixedfooter a.b-pattern .right {
          line-height: 70px; } }

/* ===== modal base ===== */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.65);
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal.hidden {
  display: none;
}

/* ===== modal content ===== */
.modal-content {
  background: #fff;
  padding: 32px 26px;
  border-radius: 10px;
  max-width: 620px;      /* PCの最大幅 */
  width: 90%;             /* スマホは9割幅 */
  box-shadow: 0 0 25px rgba(0,0,0,.35);
  text-align: center;
  position: relative;
  animation: fadeIn .25s ease-out;
  max-height: 92vh;
  overflow-y: auto;
}

/* fade-in animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== close button ===== */
.close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 28px;
  cursor: pointer;
}

/* ===== CTA button ===== */
.modal-cta {
  margin-top: 35px;
}

.cta-btn {
  background: #e60000;
  color: #fff;
  font-weight: 800;
  font-size: 21px;
  padding: 18px 36px;
  display: inline-block;
  border-radius: 6px;
  text-decoration: none;
  transition: 0.2s;
}

.cta-btn:hover {
  opacity: 0.88;
}

@media screen and (max-width: 600px) {
  .cta-btn {
    width: 100%;
    box-sizing: border-box;
    font-size: 18px;
  }
}