@import url("https://fonts.googleapis.com/css?family=Noto+Sans:400,700");
@font-face {
  font-family: 'Avenir Next LT Pro Bold Condensed';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Bold Condensed"), url("../fonts/AvenirNextLTPro-BoldCn.woff") format("woff"); }

@font-face {
  font-family: 'Avenir Next LT Pro Bold Condensed Italic';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Bold Condensed Italic"), url("../fonts/AvenirNextLTPro-BoldCnIt.woff") format("woff"); }

@font-face {
  font-family: 'Avenir Next LT Pro Heavy Condensed';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Heavy Condensed"), url("../fonts/AvenirNextLTPro-HeavyCn.woff") format("woff"); }

@font-face {
  font-family: 'Avenir Next LT Pro Heavy Condensed Italic';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Heavy Condensed Italic"), url("../fonts/AvenirNextLTPro-HeavyCnIt.woff") format("woff"); }

@font-face {
  font-family: 'Avenir Next LT Pro Demi Condensed';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Demi Condensed"), url("../fonts/AvenirNextLTPro-Demi.woff") format("woff"); }

@font-face {
  font-family: 'Avenir Next LT Pro Demi Condensed Italic';
  font-style: normal;
  font-weight: normal;
  src: local("Avenir Next LT Pro Demi Condensed Italic"), url("../fonts/AvenirNextLTPro-DemiIt.woff") format("woff"); }

@media screen and (max-width: 991px) {
  .pc {
    display: none !important; } }

@media print, screen and (min-width: 992px) {
  .sp {
    display: none !important; } }

html {
  scroll-behavior: smooth; }

body {
  font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #000; }

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

@media screen and (max-width: 991px) {
  section {
    padding: 50px 0; } }

.container {
  max-width: 1130px;
  margin: 0 auto; }
  @media screen and (max-width: 991px) {
    .container {
      padding: 0 15px; } }

.text-center {
  text-align: center; }

.btn a {
  position: relative;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #2ACAF7), to(#FFA9F0));
  background: -webkit-linear-gradient(left, #2ACAF7 10%, #FFA9F0 100%);
  background: -o-linear-gradient(left, #2ACAF7 10%, #FFA9F0 100%);
  background: linear-gradient(to right, #2ACAF7 10%, #FFA9F0 100%);
  display: block;
  width: 250px;
  height: 50px;
  font-size: 18px;
  line-height: 50px;
  text-align: center;
  border-radius: 30px;
  font-weight: bold;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s; }
  .btn a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 10px;
    height: 13px;
    background: url(../images/arrow-btn.png) no-repeat; }
  .btn a:hover {
    opacity: .8; }

.btn-general a {
  color: #fff;
  display: block;
  text-align: center;
  font-weight: bold; }
  @media screen and (min-width: 1280px) {
    .btn-general a {
      font-size: 26px;
      height: 90px;
      line-height: 90px;
      max-width: 500px;
      -webkit-transition: opacity .3s;
      -o-transition: opacity .3s;
      transition: opacity .3s; }
      .btn-general a:hover {
        opacity: .8; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    .btn-general a {
      font-size: 24px;
      height: 80px;
      line-height: 80px; } }
  @media screen and (max-width: 991px) {
    .btn-general a {
      font-size: 22px;
      height: 70px;
      line-height: 70px;
      width: 100%; } }
  @media screen and (max-width: 414px) {
    .btn-general a {
      font-size: 18px;
      height: 50px;
      line-height: 50px; } }

.btn-general.bg-blue a {
  background-color: #29AAE1; }

.btn-general.bg-pink a {
  background-color: #FF4B8F; }

.btn-general.bg-yellow a {
  background-color: #FFD92F; }

.entry-header {
  position: relative;
  text-align: center;
  padding-bottom: 30px;
  margin-bottom: 30px; }
  .entry-header:after {
    position: absolute;
    content: '';
    background: url(../images/after-title.png);
    width: 55px;
    height: 10px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto; }
  @media screen and (min-width: 1280px) {
    .entry-header h2 {
      font-size: 32px; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    .entry-header h2 {
      font-size: 30px; } }
  @media screen and (max-width: 991px) {
    .entry-header h2 {
      font-size: 26px; } }
  .entry-header .en {
    font-family: "Avenir Next LT Pro Bold Condensed Italic";
    color: #29AAE1; }
    @media screen and (min-width: 1280px) {
      .entry-header .en {
        font-size: 20px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      .entry-header .en {
        font-size: 18px; } }
    @media screen and (max-width: 991px) {
      .entry-header .en {
        font-size: 16px; } }

#wrapper {
  position: relative;
  overflow: hidden; }

.fz12 {
  font-size: 12px !important; }

.fz14 {
  font-size: 14px !important; }

.fz16 {
  font-size: 16px !important; }

.fz18 {
  font-size: 18px !important; }

.fz20 {
  font-size: 20px !important; }

.fz22 {
  font-size: 22px !important; }

.fz24 {
  font-size: 24px !important; }

.fz26 {
  font-size: 26px !important; }

.fz28 {
  font-size: 28px !important; }

.fz30 {
  font-size: 30px !important; }

.fz60 {
  font-size: 60px !important; }

.header-mv {
  background: url(../images/mv.jpg) no-repeat;
  background-size: cover;
  position: relative; }
  .header-mv .container {
    position: relative; }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      .header-mv .container {
        max-width: 100%; } }
    .header-mv .container .icon-absolute {
      position: absolute;
      z-index: 9; }
      @media screen and (min-width: 1280px) {
        .header-mv .container .icon-absolute {
          bottom: 0;
          right: 0;
          width: 43%; } }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        .header-mv .container .icon-absolute {
          bottom: 0;
          right: 0;
          width: 35%; } }
      @media screen and (max-width: 991px) {
        .header-mv .container .icon-absolute {
          bottom: 10px;
          right: 10px; }
          .header-mv .container .icon-absolute img {
            width: 90px;
            height: auto; } }
    .header-mv .r-bn {
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 9; }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        .header-mv .r-bn {
          max-width: 300px;
          right: 0;
          bottom: 0; } }
      @media screen and (max-width: 991px) {
        .header-mv .r-bn { 
          max-width: 220px;
          left: 0;
          bottom: 0; } }
    
  .header-mv .content {
    color: #fff; }
    @media screen and (min-width: 1280px) {
      .header-mv .content {
        width: 480px; } }
    @media print, screen and (min-width: 992px) {
      .header-mv .content {
        padding: 100px 0 112px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      .header-mv .content {
        padding-left: 30px;
        padding-right: 30px;
        width: 100%; } }
    @media screen and (max-width: 991px) {
      .header-mv .content {
        padding: 50px 0 110px;
        text-align: center; } }
    .header-mv .content h1 {
      font-family: "Avenir Next LT Pro Demi Condensed Italic";
      line-height: 1; }
      @media print, screen and (min-width: 992px) {
        .header-mv .content h1 {
          font-size: 105px;
          margin-bottom: 22px; } }
      @media screen and (max-width: 991px) {
        .header-mv .content h1 {
          font-size: 60px;
          margin-bottom: 15px; } }
      .header-mv .content h1 span {
        display: block;
        font-weight: normal; }
        @media print, screen and (min-width: 992px) {
          .header-mv .content h1 span {
            font-size: 65px; } }
        @media screen and (max-width: 991px) {
          .header-mv .content h1 span {
            font-size: 35px;
            margin-top: -3px; } }
    .header-mv .content p {
      font-weight: bold;
      line-height: 1.8; }
      @media print, screen and (min-width: 992px) {
        .header-mv .content p {
          font-size: 18px; } }
      @media screen and (max-width: 991px) {
        .header-mv .content p {
          font-size: 16px;
          max-width: 500px;
          margin: 0 auto; } }
    @media print, screen and (min-width: 992px) {
      .header-mv .content .btn {
        margin-top: 50px; } }
    @media screen and (max-width: 991px) {
      .header-mv .content .btn {
        margin-top: 20px; } }
    @media screen and (max-width: 991px) {
      .header-mv .content .btn a {
        margin: 0 auto; } }

.header-menu {
  position: relative;
  background-color: #fff;
  max-width: 1280px;
  margin: 0 auto; }
  @media screen and (min-width: 1280px) {
    .header-menu {
      height: 82px; } }
  @media screen and (max-width: 991px) {
    .header-menu {
      height: 80px; } }
  @media screen and (min-width: 1280px) {
    .header-menu .logo {
      margin-left: 75px;
      width: 310px;
      float: left;
      padding: 30px 0; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    .header-menu .logo {
      width: 210px;
      float: left;
      padding: 30px 15px; } }
  @media screen and (max-width: 991px) {
    .header-menu .logo {
      width: 240px;
      float: left;
      padding: 30px 0 0 15px; } }
  @media screen and (max-width: 414px) {
    .header-menu .logo {
      width: 230px; } }
  .header-menu .logo img {
    width: 240px;
    height: auto; }
  @media print, screen and (min-width: 992px) {
    .header-menu .site-navigation {
      margin-right: 236px;
      overflow: hidden;
      line-height: 82px; } }
  @media print, screen and (min-width: 992px) {
    .header-menu .site-navigation ul {
      text-align: right; } }
  .header-menu .site-navigation ul li {
    position: relative; }
    @media print, screen and (min-width: 992px) {
      .header-menu .site-navigation ul li {
        display: inline-block;
        padding-right: 15px;
        margin-right: 10px; }
        .header-menu .site-navigation ul li:first-child:after, .header-menu .site-navigation ul li:nth-child(2):after {
          position: absolute;
          content: '';
          top: 0;
          bottom: 0;
          margin: auto;
          right: 0;
          width: 1px;
          height: 20px;
          background-color: #000;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); } }
    .header-menu .site-navigation ul li a {
      color: #000;
      font-size: 16px;
      font-weight: bold; }
      .header-menu .site-navigation ul li a:hover {
        text-decoration: underline; }
    @media screen and (min-width: 1280px) {
      .header-menu .site-navigation ul li.ico-book, .header-menu .site-navigation ul li.ico-contact {
        top: 0; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      .header-menu .site-navigation ul li.ico-book, .header-menu .site-navigation ul li.ico-contact {
        bottom: 0; } }
    @media print, screen and (min-width: 992px) {
      .header-menu .site-navigation ul li.ico-book, .header-menu .site-navigation ul li.ico-contact {
        position: absolute;
        padding-right: 0;
        margin-right: 0; }
        .header-menu .site-navigation ul li.ico-book a, .header-menu .site-navigation ul li.ico-contact a {
          width: 118px;
          height: 82px;
          text-align: center;
          display: block;
          -webkit-transition: opacity .3s;
          -o-transition: opacity .3s;
          transition: opacity .3s; }
          .header-menu .site-navigation ul li.ico-book a:hover, .header-menu .site-navigation ul li.ico-contact a:hover {
            text-decoration: none;
            opacity: .8; }
          .header-menu .site-navigation ul li.ico-book a:before, .header-menu .site-navigation ul li.ico-contact a:before {
            position: relative;
            content: '';
            display: block;
            margin: 0 auto; } }
    .header-menu .site-navigation ul li.ico-book a, .header-menu .site-navigation ul li.ico-contact a {
      position: relative;
      color: #fff; }
      @media screen and (max-width: 991px) {
        .header-menu .site-navigation ul li.ico-book a:before, .header-menu .site-navigation ul li.ico-contact a:before {
          content: '';
          position: relative;
          display: inline-block;
          vertical-align: middle;
          margin-right: 10px; } }
    @media print, screen and (min-width: 992px) {
      .header-menu .site-navigation ul li.ico-book {
        right: 118px; }
        .header-menu .site-navigation ul li.ico-book a {
          line-height: 1.8;
          padding-top: 15px; } }
    .header-menu .site-navigation ul li.ico-book a {
      background-color: #29AAE1; }
      .header-menu .site-navigation ul li.ico-book a:before {
        background: url(../images/icon-book.svg) no-repeat;
        width: 31px;
        height: 25px; }
    @media print, screen and (min-width: 992px) {
      .header-menu .site-navigation ul li.ico-contact {
        right: 0; }
        .header-menu .site-navigation ul li.ico-contact a {
          line-height: 2.3;
          padding-top: 19px; } }
    .header-menu .site-navigation ul li.ico-contact a {
      background-color: #FF4B8F; }
      .header-menu .site-navigation ul li.ico-contact a:before {
        background: url(../images/icon-contact.svg) no-repeat;
        width: 23px;
        height: 17px; }
        @media screen and (max-width: 991px) {
          .header-menu .site-navigation ul li.ico-contact a:before {
            margin-left: 7px; } }

@media screen and (max-width: 991px) {
  .site-header .site-navigation {
    display: none;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    background-color: #000;
    z-index: 99; }
    .site-header .site-navigation ul li {
      display: block;
      border-bottom: 1px solid #ccc; }
      .site-header .site-navigation ul li a {
        display: block;
        padding: 15px;
        color: #fff; }
  .site-header #mobile-menu {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    padding: 26px 25px;
    background-color: #000;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 99;
    cursor: pointer; }
    .site-header #mobile-menu a, .site-header #mobile-menu span {
      display: inline-block;
      -webkit-transition: all .4s;
      -o-transition: all .4s;
      transition: all .4s;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .site-header #mobile-menu a {
      position: relative;
      width: 30px;
      height: 23px;
      text-align: center;
      cursor: pointer; }
    .site-header #mobile-menu span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff;
      border-radius: 10px; }
      .site-header #mobile-menu span:nth-of-type(2) {
        top: 10px; }
      .site-header #mobile-menu span:nth-of-type(3) {
        top: 20px; }
    .site-header #mobile-menu.active a span:nth-of-type(1) {
      -webkit-transform: translateY(18px) rotate(-45deg);
      -ms-transform: translateY(10px) rotate(-45deg);
      transform: translateY(10px) rotate(-45deg); }
    .site-header #mobile-menu.active a span:nth-of-type(2) {
      left: 100%;
      opacity: 0;
      -webkit-animation: active-menu-bar02 .8s;
      animation: active-menu-bar02 .8s; }
    .site-header #mobile-menu.active a span:nth-of-type(3) {
      -webkit-transform: translateY(-8px) rotate(45deg);
      -ms-transform: translateY(-10px) rotate(45deg);
      transform: translateY(-10px) rotate(45deg); } }

#trouble {
  position: relative;
  background: url(../images/bg-trouble.png) no-repeat;
  background-size: cover; }
  #trouble:after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 126px;
    background: url(../images/after-trouble.png) no-repeat; }
  @media print, screen and (min-width: 992px) {
    #trouble {
      padding: 90px 0 100px; } }
  @media screen and (max-width: 991px) {
    #trouble {
      padding: 50px 0 100px; } }
  #trouble .container {
    max-width: 800px; }
  #trouble h2 {
    color: #0069B6;
    text-align: center; }
    @media screen and (min-width: 1280px) {
      #trouble h2 {
        font-size: 32px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #trouble h2 {
        font-size: 28px;
        margin-bottom: 35px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #trouble h2 {
        font-size: 28px;
        margin-bottom: 35px; } }
    @media screen and (max-width: 991px) {
      #trouble h2 {
        font-size: 28px;
        margin-bottom: 35px; } }
    #trouble h2 span {
      padding-bottom: 5px;
      border-bottom: 1px dashed #0069B6; }
  #trouble .content {
    background-color: #fff;
    border-radius: 10px;
    color: #29AAE1;
    font-weight: bold;
    margin-bottom: 35px; }
    @media screen and (min-width: 1280px) {
      #trouble .content {
        font-size: 24px;
        padding: 50px 100px 55px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #trouble .content {
        font-size: 22px;
        padding: 50px 110px 55px; } }
    @media screen and (max-width: 991px) {
      #trouble .content {
        font-size: 20px;
        padding: 40px 100px 45px; } }
    @media screen and (max-width: 767px) {
      #trouble .content {
        padding: 40px 40px 45px; } }
    @media screen and (max-width: 414px) {
      #trouble .content {
        font-size: 18px;
        padding: 50px 20px 55px; } }
    #trouble .content ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      #trouble .content ul li {
        position: relative; }
        @media screen and (min-width: 1280px) {
          #trouble .content ul li {
            margin-bottom: 30px; } }
        @media screen and (max-width: 1279px) and (min-width: 992px) {
          #trouble .content ul li {
            margin-bottom: 20px; } }
        @media print, screen and (min-width: 992px) {
          #trouble .content ul li {
            padding-left: 54px; } }
        @media screen and (max-width: 991px) {
          #trouble .content ul li {
            margin-bottom: 15px;
            padding-left: 44px; } }
        @media screen and (max-width: 414px) {
          #trouble .content ul li {
            padding-left: 34px; } }
        #trouble .content ul li:last-child {
          margin-bottom: 0; }
        #trouble .content ul li:before {
          content: '';
          position: absolute;
          vertical-align: top;
          background: url(../images/icon-checked.svg) no-repeat;
          width: 24px;
          height: 25px;
          top: 4px;
          left: 0; }
          @media screen and (max-width: 1279px) and (min-width: 992px) {
            #trouble .content ul li:before {
              top: 3px; } }
          @media screen and (max-width: 991px) {
            #trouble .content ul li:before {
              top: 1px; } }
          @media screen and (max-width: 414px) {
            #trouble .content ul li:before {
              width: 20px;
              height: 21px; } }
  #trouble .content-bottom {
    background-color: #fff;
    border-radius: 10px;
    padding: 25px;
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    color: #29AAE1; }
    @media screen and (min-width: 1280px) {
      #trouble .content-bottom {
        font-size: 26px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #trouble .content-bottom {
        font-size: 24px; } }
    @media screen and (max-width: 991px) {
      #trouble .content-bottom {
        font-size: 22px; } }
    @media screen and (max-width: 991px) {
      #trouble .content-bottom {
        font-size: 20px; } }

@media print, screen and (min-width: 992px) {
  #statistical {
    padding: 130px 0 80px; } }

@media screen and (max-width: 991px) {
  #statistical {
    padding: 100px 0 50px; } }

#statistical .container {
  max-width: 950px; }

#statistical .entry-title {
  text-align: center; }
  @media print, screen and (min-width: 992px) {
    #statistical .entry-title {
      margin-bottom: 56px; } }
  @media screen and (max-width: 991px) {
    #statistical .entry-title {
      margin-bottom: 40px; } }

#statistical .entry-content {
  margin-bottom: 63px; }
  @media print, screen and (min-width: 992px) {
    #statistical .entry-content {
      margin-bottom: 63px; } }
  @media screen and (max-width: 991px) {
    #statistical .entry-content {
      margin-bottom: 30px; } }
  #statistical .entry-content ul {
    list-style: none;
    padding: 0;
    overflow: hidden;
    text-align: center; }
    @media print, screen and (min-width: 992px) {
      #statistical .entry-content ul {
        margin: 0 -20px; }
        #statistical .entry-content ul li {
          padding: 0 20px;
          margin-bottom: 25px; } }
    @media screen and (max-width: 991px) {
      #statistical .entry-content ul {
        margin: 0 -10px; }
        #statistical .entry-content ul li {
          padding: 0 10px;
          margin-bottom: 25px; } }
    #statistical .entry-content ul li {
      display: inline-block; }
      #statistical .entry-content ul li img {
        height: auto; }
        @media print, screen and (min-width: 992px) {
          #statistical .entry-content ul li img {
            width: 150px; } }
        @media screen and (max-width: 991px) {
          #statistical .entry-content ul li img {
            width: 125px; } }

#statistical .btn a {
  margin: 0 auto;
  display: block; }

#point {
  background-color: rgba(241, 241, 241, 0.2); }
  @media print, screen and (min-width: 992px) {
    #point {
      padding: 65px 0 0;
    } }
  @media print, screen and (max-width: 991px) {
  #point {
    padding: 40px 0 20px;
  } }
  #point li {
    list-style: none;
  }
  #point .container {
    max-width: 1200px; }
  #point h2 span {
    font-size: 60px; }
  #point .point-list > li {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    padding: 60px 50px;
    margin: 0 auto 100px;
  }
    @media screen and (max-width: 1279px) {
    #point .point-list > li {
      width: 90vw;
      padding: 40px 30px 20px;
      margin: 0 auto 60px;
    } }
    @media screen and (max-width: 991px) {
    #point .point-list > li {
      max-width: 750px;
      margin: 0 auto 40px;
      padding: 30px 20px 10px;
    } }
  #point .point-list > li:nth-child(2n) .point_head .point_head_l {
    order: 2;
  }
  #point .point-list > li:nth-child(2n) .point_head .point_head_r {
    order: 1;
  }
    @media screen and (max-width: 991px) {
    #point .point-list > li:nth-child(2n) .point_head .point_head_l {
      order: 1;
    }
    #point .point-list > li:nth-child(2n) .point_head .point_head_r {
      order: 2;
    } }
    
  #point .point_head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
  }
    @media screen and (max-width: 991px) {
    #point .point_head {
      flex-direction: column;
      margin-bottom: 20px;
    } }
  #point .point_head .point_head_l {
    width: 700px;
  }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l {
      width: 100%;
      margin-bottom: 20px;
    } }
  #point .point_head .point_head_l .point_num {
    position: relative;
    font-size: 14px;
    color: #54A8DC;
    padding-left: 30px;
    line-height: 1.2;
  }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l .point_num {
      padding-left: 20px;
    } }
  #point .point_head .point_head_l .point_num span {
    font-size: 30px;
    margin-left: 8px;
  }
    @media screen and (max-width: 991px) {
      #point .point_head .point_head_l .point_num span {
        font-size: 24px;
        margin-left: 4px;
    } }
  #point .point_head .point_head_l .point_num::before {
    content: "";
    position: absolute;
    background: url(../images/arrow_grade.svg) no-repeat center / 21px 18px;
    width: 21px;
    height: 18px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l .point_num::before {
      background: url(../images/arrow_grade.svg) no-repeat center / 17px 14px;
      width: 17px;
      height: 14px;
    } }
  #point .point_head .point_head_l h3  {
    font-size: 35px;
    margin: 0 0 15px 25px;
    line-height: 140%;
  }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l h3  {
      font-size: 35px;
      margin: 0 0 15px 15px;
      line-height: 140%;
    } }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l h3  {
      font-size: 20px;
    } }
  #point .point_head .point_head_l h3 span  {
    color: #54A8DC;
  }
  #point .point_head .point_head_l p  {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05rem;
    line-height: 180%;
    margin-left: 25px;
  }
    @media screen and (max-width: 991px) {
    #point .point_head .point_head_l p  {
      margin-left: 15px;
      font-size: 13px;
    } }
  #point .point_head_r {
    width: 400px;
    position: relative;
  }
    @media screen and (max-width: 991px) {
    #point .point_head_r {
      width: 100%;
      position: relative;
      margin: 0 auto;
    } }
  #point .point_head_r figure {
    width: 377px;
  }
    @media screen and (max-width: 991px) {
    #point .point_head_r figure {
      width: 100%;
      max-width: 377px;
      margin: 0 auto;
    } }
  #point .point_head_r figure.abso_img {
    position: absolute;
    top: -100px;
  }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
  #point .point_head_r figure.abso_img {
    position: absolute;
    top: -60px;
    right: 0;
    width: 85%;
  } }
  @media screen and (max-width: 991px) {
    #point .point_head_r figure.abso_img {
      position: relative;
      top: 0;
    } }
  #point .point_head_r figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  #point .point-list > li:nth-child(3) .point_head .point_head_r {
    width: 470px;
  }
    @media screen and (max-width: 991px) {
      #point .point-list > li:nth-child(3) .point_head .point_head_r {
        width: 100%;
        padding: 0 15px;
      }
    }
  #point .point-list > li:nth-child(3) .point_head .point_head_r figure {
    width: 440px;
  }
  #point .point-list > li:nth-child(3) .point_head .point_head_r figure.abso_img {
    top: 0;
  }  
    @media screen and (max-width: 991px) {
      #point .point-list > li:nth-child(3) .point_head .point_head_r figure {
        width: 100%;
        max-width: 440px;
        margin: 0 auto;
      }      
    }
  #point .point_pickup01,
  #point .point_pickup02 {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #point .point_pickup01,
    #point .point_pickup02 {
      flex-wrap: wrap;
      margin: 0 auto;
    }
    #point .point_pickup02 {
      justify-content: center;
    }
  }
  @media screen and (max-width: 1279px) {
    #point .point_pickup01 {
      max-width: 80vw;
      margin: 0 auto;
    } }
  @media screen and (max-width: 991px) {
    #point .point_pickup01 {
      max-width: 400px;
      flex-wrap: wrap;
    } }
  @media screen and (max-width: 991px) {
    #point .point_pickup02 {
      max-width: 80vw;
      flex-direction: column;
      margin: 0 auto;
    } }
  #point .point_pickup03 {
    display: flex;
    align-items: center;
    padding-left: 25px;
  }
    @media screen and (max-width: 1279px) {
    #point .point_pickup03 {
      padding-left: 0;
      margin-bottom: 30px;
    } }
    @media screen and (max-width: 991px) {
      #point .point_pickup03 {
        padding-left: 0;
        flex-direction: column;
      } }
  #point .point_pickup01 li {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    border: 2px solid #54A8DC;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: relative;
  }
    @media screen and (max-width: 1279px) {
      #point .point_pickup01 li {
        width: calc(100% / 2);
        max-width: 190px;
        max-height: 190px;
        margin-bottom: 30px;
      }
    }
    @media screen and (max-width: 991px) {
      #point .point_pickup01 li {
        width: calc(100% / 2 - 5px);
        height: 50%;
        aspect-ratio: 1 / 1;
        margin: 0 auto 30px;
      }
    }
  #point .point_pickup01 li .pickup_icon {
    position: absolute;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(#F26EE3, #84C2FF);
    transform: rotate(45deg);
    top: -20px;
    margin: 0 auto;
    display: flex;
    align-items: center;
  }
    @media screen and (max-width: 991px) {
    #point .point_pickup01 li .pickup_icon {
      width: 46px;
      height: 46px;
    } }
  #point .point_pickup01 li .pickup_icon img {
    object-fit: cover;
    object-position: center;
    margin: 0 auto;
    transform: rotate(-45deg);
  }
  @media screen and (max-width: 991px) {
    #point .point_pickup01 li .pickup_icon img {
      height: 50%;
  } }
  #point .point_pickup01 li .pickup_lead {
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    letter-spacing: 0.05rem;
  }
    @media screen and (max-width: 1279px) {
    #point .point_pickup01 li .pickup_lead {
      font-size: 12px;
      margin: 20px auto 5px;
    } }
    @media screen and (max-width: 991px) {
    #point .point_pickup01 li .pickup_lead {
      font-size: 10px;
      margin: 15px auto 2px;
      letter-spacing: 0;
    } }
  #point .point_pickup01 li h3 {
    font-size: 26px;
    font-weight: bold;
    color: #54A8DC;
    display: block
  }
    @media screen and (max-width: 1279px) {
    #point .point_pickup01 li h3 {
      font-size: 20px;
    } }
    @media screen and (max-width: 991px) {
    #point .point_pickup01 li h3 {
      font-size: 16px;
      line-height: 150%;
    } }
  #point .point_pickup02 > li {
    width: calc(100% / 5);
    background-image : linear-gradient(to bottom, #54A8DC, #54A8DC 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
    background-size: 3px 8px;          /* グラデーションの幅・高さを指定 */
    background-position: right top;  /* 背景の開始位置を指定 */
    background-repeat: repeat-y;
    text-align: center;
  }  
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #point .point_pickup02 > li {
      width: calc(100% / 3);
      margin-bottom: 30px;
    }
    #point .point_pickup02 li:nth-child(3) {
      background: none;
    } }
    @media screen and (max-width: 991px) {
    #point .point_pickup02 > li {
      max-width: 300px;
      width: 100%;
      margin: 0 auto 20px;
      padding-bottom: 20px;
      background-image : linear-gradient(to right, #54A8DC, #54A8DC 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
      background-size: 8px 3px;          /* グラデーションの幅・高さを指定 */
      background-position: bottom left;  /* 背景の開始位置を指定 */
      background-repeat: repeat-x;
      text-align: center;
    }
    #point .point_pickup02 li:last-child {
      padding-bottom: 0;
    } }
  #point .point_pickup02 li:last-child {
    background: none;
  }
  #point .point_pickup02 li h3 {
    width: 170px;
    background: linear-gradient(to right,#84C2FF, #F26EE3 );
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    padding: 8px 0;
    margin: 0 auto 75px;
  }
    @media screen and (max-width: 991px) {
    #point .point_pickup02 li h3 {
      width: 200px;
      font-size: 16px;
      padding: 8px 0;
      margin: 0 auto 75px;
    } }
  #point .point_pickup02 li h3::after {
    position: absolute;
    content: '';
    background: url(../images/arrow_gray.svg) no-repeat center / 49px 56px;
    width: 49px;
    height: 56px;
    bottom: -65px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  #point .point_pickup02 li .pickup_system {
    font-size: 26px;
    font-weight: bold;
    color: #54A8DC;
    margin-bottom: 20px;
  }
    @media screen and (max-width: 991px) {
    #point .point_pickup02 li .pickup_system {
      font-size: 18px;
      margin-bottom: 10px;
      line-height: 140%;
    } }
  #point .point_pickup02 li .point_notes {
    max-width: 170px;
    margin: 0 auto;
    text-align: left;
  }
    @media screen and (max-width: 991px) {
    #point .point_pickup02 li .point_notes {
      max-width: 200px;
      font-size: 13px;
    } }
  #point .point_pickup02 li .point_notes li {
    text-indent: -1em;
    padding-left: 1em;
    font-weight: 500;
  }
  #point .point_pickup02 li .point_notes li::before {
    content: '●';
    color: #54A8DC;
  }
  #point .point_pickup03 li {
    background-image : linear-gradient(to bottom, #54A8DC, #54A8DC 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
    background-size: 3px 8px;          /* グラデーションの幅・高さを指定 */
    background-position: right top;  /* 背景の開始位置を指定 */
    background-repeat: repeat-y;
    text-align: center;
  }
    @media screen and (max-width: 991px) {
      #point .point_pickup03 li {
        width: 80%;
        background-image : linear-gradient(to right, #54A8DC, #54A8DC 3px, transparent 3px, transparent 8px);  /* 幅2の線を作る */
        background-size: 8px 3px;          /* グラデーションの幅・高さを指定 */
        background-position: bottom left;  /* 背景の開始位置を指定 */
        background-repeat: repeat-x;
        text-align: center;
        margin: 0 auto;
      }
    }
  #point .point_pickup03 li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    margin: 0 auto;
  }
  #point .point_pickup03 li:first-child {
    padding: 0 60px 0 40px;
  }
    @media screen and (max-width: 991px) {
    #point .point_pickup03 li:first-child {
      padding: 10px 0 20px;
    } }
  #point .point_pickup03 li:nth-child(2) {
    margin: 0 40px 0 80px;
    background: none;
  }
  @media screen and (max-width: 991px) {
    #point .point_pickup03 li:nth-child(2) {
      margin: 20px auto 0;
    } }
  #point .point_pickup03 li:last-child {
    background: none;
  }

    /*
  #point .lead {
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px; }
    @media print, screen and (min-width: 992px) {
      #point .lead {
        font-size: 24px;
        line-height: 1.8; } }
    @media screen and (max-width: 991px) {
      #point .lead {
        font-size: 20px;
        line-height: 1.6; } }
    @media screen and (max-width: 414px) {
      #point .lead {
        font-size: 18px; } }
  #point .entry-content {
    overflow: hidden; }
    @media screen and (min-width: 1280px) {
      #point .entry-content .item {
        padding: 0 45px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #point .entry-content .item {
        padding: 0 30px; } }
    @media print, screen and (min-width: 992px) {
      #point .entry-content .item {
        width: 33.33%;
        float: left; } }
    @media screen and (max-width: 991px) {
      #point .entry-content .item {
        max-width: 80%;
        margin: 0 auto 30px;
        text-align: center; } }
    @media screen and (max-width: 414px) {
      #point .entry-content .item {
        max-width: 100%;
        margin: 0 auto 20px; } }
    @media screen and (max-width: 991px) {
      #point .entry-content .item:last-child {
        margin-bottom: 0; } }
    #point .entry-content .item .image {
      margin-bottom: 15px; }
    #point .entry-content .item h3, #point .entry-content .item .image {
      text-align: center; }
    #point .entry-content .item h3 {
      margin-bottom: 10px; }
      #point .entry-content .item h3 .number {
        font-family: "Avenir Next LT Pro Bold Condensed";
        font-style: italic; }
      @media print, screen and (min-width: 992px) {
        #point .entry-content .item h3 {
          font-size: 26px; }
          #point .entry-content .item h3 .number {
            font-size: 34px; } }
      @media screen and (max-width: 991px) {
        #point .entry-content .item h3 {
          font-size: 22px; }
          #point .entry-content .item h3 .number {
            font-size: 30px; } }
      @media screen and (max-width: 414px) {
        #point .entry-content .item h3 {
          font-size: 20px; }
          #point .entry-content .item h3 .number {
            font-size: 28px; } }
    #point .entry-content .item p {
      font-size: 15px;
      color: #4D4D4D;
      line-height: 1.8; }
      */

/* 社長の名は */
#president-name {
  padding-bottom: 0;
}
  @media screen and (max-width: 991px) {
    #president-name {
      padding-top: 40px;
  } }
#president-name li {
  list-style: none;
}
#president-name .container .top_lead {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 80px;
}
  @media screen and (max-width: 991px) {
  #president-name .container .top_lead {
    font-size: 20px;
    margin-bottom: 30px;
  } }
#president-name .collabo-content {
  background: #000;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 70px 0 30px;
  color: #fff;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo-content {
    padding: 30px 0 10px;
  } }

#president-name .collabo_top {
  width: 1130px;
  margin: 0 auto 50px;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_top {
    width: 90vw;
    margin: 0 auto 50px;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_top {
    flex-direction: column;
    width: 100%;
    margin: 0 auto 30px;
  } }
#president-name .collabo_top .collabo_lead {
  background: linear-gradient(to bottom, #F26EE3, #84C2FF);
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 10px 20px 10px 0;
  margin-bottom: 20px;
  text-align: center;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo_top .collabo_lead {
    font-size: 18px;
    padding: 10px 15px 10px 0;
    margin-bottom: 10px;
    text-align: center;
  } }
#president-name .collabo_top .collabo_lead br {
  display: none;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_top .collabo_lead br {
    display: block;
  } }
#president-name .collabo_top h2 {
  font-size: 35px;
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_top h2 {
    justify-content: flex-start;
    font-size: 30px;
    flex-direction: column;
    align-items: center;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_top h2 {
    font-size: 24px;
    padding: 0 5%;
  } }
#president-name .collabo_top h2 img {
  width: 540px;
  margin-right: 25px;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_top h2 img {
    width: 55%;
    margin: 0 0 10px 0;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_top h2 img {
    width: 100%;
    max-width: 500px;
    display: block;
  } }
#president-name .collabo_detail,
#president-name .collabo_merit {
  width: 1130px;
  margin: 0 auto 50px;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_detail,
  #president-name .collabo_merit {
    width: 90vw;
    margin: 0 auto 30px;
  } }
#president-name .collabo_detail h3,
#president-name .collabo_merit h3 {
  width: 100%;
  font-size: 26px;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.1rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo_detail h3,
  #president-name .collabo_merit h3 {
    font-size: 20px;
    letter-spacing: 0;
    margin-bottom: 10px;
  } }
#president-name .collabo_detail h3::after {
  position: absolute;
  content: '';
  width: 100%;
  max-width: 880px;
  height: 1px;
  background: #fff;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_detail h3::after {
    width: 75%;
    max-width: none;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_detail h3::after {
    display: none;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_merit h3 {
    text-align: center;
  } }
#president-name .collabo_detail .collabo_detail_in {
  display: flex;
  justify-content: space-between;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_detail .collabo_detail_in {
    flex-direction: column;
  } }
#president-name .collabo_detail .collabo_detail_in p {
  width: 460px;
  line-height: 200%;
  letter-spacing: 0.05rem;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_detail .collabo_detail_in p {
    width: 100%;
    font-size: 13px;
    line-height: 180%;
  } }
#president-name .collabo_detail .collabo_detail_in .collabo_point {
  display: flex;
  justify-content: space-between;
  margin: -80px 0 0 30px;
  z-index: 999;
}
  @media screen and (max-width: 1279px) {
  #president-name .collabo_detail .collabo_detail_in .collabo_point {
    width: 690px;
    margin: 0 auto;
  } }
  @media screen and (max-width: 991px) {
  #president-name .collabo_detail .collabo_detail_in .collabo_point {
    width: 100%;
    flex-direction: column;
  } }
#president-name .collabo_detail .collabo_detail_in .collabo_point li {
  background: url(../images/laurel.png) no-repeat center / 230px 222px;
  width: 230px;
  height: 222px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo_detail .collabo_detail_in .collabo_point li {
    max-width: 230px;
    width: 100%;
    font-size: 24px;
    margin: 0 auto;
  } }
#president-name .collabo_merit figure {
  margin-bottom: 40px;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo_merit figure {
    margin-bottom: 20px;
  } }
#president-name .collabo_merit p {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
  @media screen and (max-width: 991px) {
  #president-name .collabo_merit p {
    font-size: 20px;
  } }


#voice {
  background: #F7FBFF;
  background-size: cover;
  overflow: hidden; }
  @media print, screen and (min-width: 992px) {
    #voice {
      padding: 70px 0 45px;
  } }
  @media screen and (max-width: 991px) {
    #voice {
      padding: 70px 0 20px;  
  } }
  .achieve-list {
    max-width: 1090px;
    margin: 0 auto;
    padding-bottom: 100px;
  }
  @media screen and (max-width: 1279px) {
    .achieve-list {
      max-width: 90vw;
    } }
  @media screen and (max-width: 991px) {
    .achieve-list {
      padding-bottom: 30px;
    } }
  .achieve-list .tab-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
    list-style: none;
  }
  @media screen and (max-width: 991px) {
  .achieve-list .tab-box {
    width: 100%;
    flex-direction: column;
    margin: 0 auto 20px;
    align-items: center;
  } }
  .achieve-list .tab-box .tab {
    width: calc(100% / 3 - 30px);
    background: #A8A8A8;
    text-align: center;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    padding: 25px 0;
    transition: 0.2s;
  }
    @media screen and (max-width: 1279px) {
    .achieve-list .tab-box .tab {
      width: calc(100% / 3 - 5px);
    } }
    @media screen and (max-width: 991px) {
    .achieve-list .tab-box .tab {
      width: 100%;
      margin: 0 auto 5px;
      padding: 10px 0;
      font-size: 13px;
    } }
  .achieve-list .tab-box .tab:hover {
    opacity: 0.8;
    transition: 0.2s;
  }
  .achieve-list .tab-box .tab.is-active {
    background: #54A8DC;
    position: relative;
  }
  .achieve-list .tab-box .tab.is-active:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 16px;
    height: 16px;
    border-right: 2px solid #54A8DC;
    border-bottom: 2px solid #54A8DC;
    transform: rotate(45deg);
    bottom: -25px;
  }
    @media screen and (max-width: 991px) {
    .achieve-list .tab-box .tab.is-active:after {
      display: none;
    } }
  .achieve-list .panel {
    display: none;
    opacity: 0;
  }
  .achieve-list .panel.is-open {
    display: block;
    opacity: 1;
  }
  .achieve-list .achieve_in {
    background: #fff;
    border-radius: 25px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    padding: 80px 75px;
  }
    @media screen and (max-width: 1279px) {
    .achieve-list .achieve_in {
      padding: 60px 50px;
    } }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in {
      padding: 25px 20px;
    } }
  .achieve-list .achieve_in .title_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
  }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in .title_box {
      margin-bottom: 25px;
      flex-direction: column;
      justify-content: flex-end;
    } }
  .achieve-list .achieve_in .title_box h3 {
    font-size: 26px;
    font-weight: bold;
  }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in .title_box h3 {
      font-size: 18px;
    } }
  .achieve-list .achieve_in .title_box .site_link {
    color: #54A8DC;
    font-weight: bold;
    position: relative;
    padding-right: 20px;
    transition: 0.2s;
    letter-spacing: 0.05rem;
  }
  .achieve-list .achieve_in .title_box .site_link:hover {
    padding-right: 25px;
    transition: 0.2s;
  }
  .achieve-list .achieve_in .title_box .site_link::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #54A8DC;
    border-right: 2px solid #54A8DC;
    transform: rotate(45deg);
  }
  .achieve-list .achieve_in .achieve_about {
    width: 930px;
    margin: 0 auto
  }
    @media screen and (max-width: 1279px) {
    .achieve-list .achieve_in .achieve_about {
      width: 100%;
    } }
  .achieve-list .achieve_in .achieve_about dl {
    display: flex;
    margin-bottom: 40px;
  }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in .achieve_about dl {
      flex-direction: column;
      margin-bottom: 20px;
    } }
  .achieve-list .achieve_in .achieve_about dl dt {
    width: 95px;
    color: #54A8DC;
    font-size: 20px;
    font-weight: bold;
    border-right: 2px solid #54A8DC;
  }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
    .achieve-list .achieve_in .achieve_about dl dt {
      width: 110px;
    } }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in .achieve_about dl dt {
      width: auto;
      border-right: none;
      border-bottom: 2px solid #54A8DC;
      margin-bottom: 10px;
      font-size: 16px;
    } }
  .achieve-list .achieve_in .achieve_about dl dd {
    width: 835px;
    padding-left: 25px;
    line-height: 200%;
    letter-spacing: 0.05rem;
    font-weight: bold;
  }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
    .achieve-list .achieve_in .achieve_about dl dd {
      width: 770px;
    } }
    @media screen and (max-width: 991px) {
    .achieve-list .achieve_in .achieve_about dl dd {
      width: 100%;
      padding-left: 0;
      line-height: 180%;
      font-size: 13px;
    } }
  .achieve-list .achieve_in .achieve_about dl dd span {
    color: #54A8DC;
  }
    

      /*
  #voice .entry-content .item {
    position: relative;
    background-color: #fff;
    width: 100%;
    float: left; }
    @media print, screen and (min-width: 992px) {
      #voice .entry-content .item {
        padding: 45px 55px 45px 30px;
        margin-bottom: 50px; } }
    @media screen and (max-width: 991px) {
      #voice .entry-content .item {
        padding: 30px;
        margin-bottom: 50px; } }
    @media screen and (max-width: 414px) {
      #voice .entry-content .item {
        padding: 40px 20px 30px; }
        #voice .entry-content .item:last-child {
          margin-bottom: 0; } }
    #voice .entry-content .item .img-absolute {
      position: absolute;
      z-index: 4; }
      @media print, screen and (min-width: 992px) {
        #voice .entry-content .item .img-absolute {
          top: -20px;
          right: 0; }
          #voice .entry-content .item .img-absolute img {
            max-width: 154px; } }
      @media screen and (max-width: 991px) {
        #voice .entry-content .item .img-absolute {
          top: -30px;
          right: 0; }
          #voice .entry-content .item .img-absolute img {
            max-width: 120px; } }
      @media screen and (max-width: 414px) {
        #voice .entry-content .item .img-absolute {
          top: -40px; }
          #voice .entry-content .item .img-absolute img {
            max-width: 80px; } }
    @media screen and (min-width: 1280px) {
      #voice .entry-content .item .content {
        padding-right: 50px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #voice .entry-content .item .content {
        padding-right: 45px; } }
    @media print, screen and (min-width: 992px) {
      #voice .entry-content .item .content {
        width: 56%;
        float: left; } }
    @media screen and (max-width: 991px) {
      #voice .entry-content .item .content {
        margin-bottom: 30px;
        overflow: hidden; } }
    #voice .entry-content .item .content h3 {
      letter-spacing: -.5px;
      margin-bottom: 10px; }
      @media screen and (min-width: 1280px) {
        #voice .entry-content .item .content h3 {
          white-space: nowrap;
          font-size: 23px; } }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        #voice .entry-content .item .content h3 {
          font-size: 20px; } }
      @media print, screen and (min-width: 992px) {
        #voice .entry-content .item .content h3 {
          line-height: 1.7; } }
      @media screen and (max-width: 991px) {
        #voice .entry-content .item .content h3 {
          font-size: 20px;
          line-height: 1.6;
          padding-right: 100px; } }
      @media screen and (max-width: 414px) {
        #voice .entry-content .item .content h3 {
          font-size: 18px;
          line-height: 1.5;
          padding-right: 0; } }
    @media screen and (min-width: 1280px) {
      #voice .entry-content .item .content p {
        font-size: 16px;
        line-height: 1.8; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #voice .entry-content .item .content p {
        font-size: 15px;
        line-height: 1.7; } }
    @media screen and (max-width: 991px) {
      #voice .entry-content .item .content p {
        font-size: 15px;
        line-height: 1.7; } }
    #voice .entry-content .item .content .content-detail {
      margin-bottom: 10px; }
    #voice .entry-content .item .content .content-bottom .left-content,
    #voice .entry-content .item .content .content-bottom .right-content {
      width: 50%;
      float: left; }
    #voice .entry-content .item .content .content-bottom .left-content {
      padding-right: 15px; }
    #voice .entry-content .item .content .content-bottom .right-content {
      padding-left: 15px; }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #voice .entry-content .item .content .content-bottom .left-content {
        padding-right: 10px; }
      #voice .entry-content .item .content .content-bottom .right-content {
        padding-left: 10px; } }
    @media screen and (max-width: 767px) {
      #voice .entry-content .item .content .content-bottom .left-content,
      #voice .entry-content .item .content .content-bottom .right-content {
        width: 100%;
        float: none;
        padding: 0; } }
    #voice .entry-content .item .content .content-bottom .left-content .img-content .img {
      background-color: #fff;
      -webkit-box-shadow: 0 0 10px 2px #f1f1f1;
      box-shadow: 0 0 10px 2px #f1f1f1;
      border-radius: 50%;
      float: left; }
      #voice .entry-content .item .content .content-bottom .left-content .img-content .img img {
        padding: 2px; }
      @media screen and (min-width: 1280px) {
        #voice .entry-content .item .content .content-bottom .left-content .img-content .img {
          margin-right: 15px;
          width: 73px; } }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        #voice .entry-content .item .content .content-bottom .left-content .img-content .img {
          margin-right: 10px;
          width: 65px; } }
      @media screen and (max-width: 991px) {
        #voice .entry-content .item .content .content-bottom .left-content .img-content .img {
          margin-right: 15px;
          width: 73px; } }
    #voice .entry-content .item .content .content-bottom .left-content .img-content .btm-content {
      overflow: hidden;
      font-weight: bold;
      padding-top: 10px; }
      #voice .entry-content .item .content .content-bottom .left-content .img-content .btm-content .small {
        font-size: 12px;
        margin-bottom: 2px; }
      #voice .entry-content .item .content .content-bottom .left-content .img-content .btm-content .medium {
        font-size: 14px; }
    #voice .entry-content .item .content .content-bottom .left-content .list-tag {
      list-style: none;
      margin: 0;
      padding: 0;
      clear: both; }
      #voice .entry-content .item .content .content-bottom .left-content .list-tag li {
        display: inline-block;
        color: #000;
        font-size: 10px;
        font-weight: bold;
        background-color: #FCEE21;
        padding: 4px 10px;
        margin: 8px 4px 0 0;
        border-radius: 10px; }
    #voice .entry-content .item .content .content-bottom .right-content dl {
      overflow: hidden;
      color: #29AAE1;
      font-weight: bold;
      line-height: 1.3;
      margin-top: 15px; }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        #voice .entry-content .item .content .content-bottom .right-content dl {
          margin-top: 13px; } }
      @media screen and (max-width: 767px) {
        #voice .entry-content .item .content .content-bottom .right-content dl {
          margin-top: 10px; } }
      #voice .entry-content .item .content .content-bottom .right-content dl dt {
        width: 82px;
        float: left;
        margin-right: 15px;
        font-size: 10px;
        border: 1px solid #29AAE1;
        text-align: center;
        padding: 1px; }
      #voice .entry-content .item .content .content-bottom .right-content dl dd {
        overflow: hidden;
        font-size: 14px; }
    #voice .entry-content .item .image {
      position: relative; }
      @media print, screen and (min-width: 992px) {
        #voice .entry-content .item .image {
          padding-top: 15px;
          overflow: hidden; } }
      @media screen and (max-width: 991px) {
        #voice .entry-content .item .image {
          text-align: center; } }
      #voice .entry-content .item .image .absolute {
        position: absolute;
        bottom: 0;
        left: 0;
        font-size: 19px;
        color: #fff;
        text-align: center;
        background-color: #FF4B8F;
        padding: 12px 15px 13px;
        z-index: 3;
        width: 100%; }
        */

#five-point {
  background: url(../images/bg-2.jpg) no-repeat;
  background-size: cover; }
  @media print, screen and (min-width: 992px) {
    #five-point {
      padding: 60px 0 160px; } }
  #five-point .entry-header {
    margin-bottom: 50px; }
    #five-point .entry-header h2 {
      line-height: 1.3; }
      @media screen and (max-width: 991px) {
        #five-point .entry-header h2 {
          color: #fff; } }
      #five-point .entry-header h2 .number {
        font-family: "Avenir Next LT Pro Demi Condensed Italic";
        color: #29AAE1; }
        @media print, screen and (min-width: 992px) {
          #five-point .entry-header h2 .number {
            font-size: 81px; } }
        @media screen and (max-width: 991px) {
          #five-point .entry-header h2 .number {
            font-size: 65px; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #five-point .entry-content {
      padding: 0 30px; } }
  #five-point .entry-content .item {
    position: relative;
    background-color: #fff; }
    @media screen and (min-width: 1280px) {
      #five-point .entry-content .item {
        padding: 60px 55px 68px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 1279px) and (min-width: 992px) {
      #five-point .entry-content .item {
        padding: 30px 30px 35px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 991px) {
      #five-point .entry-content .item {
        padding: 30px 30px 35px;
        margin-bottom: 40px; } }
    @media screen and (max-width: 414px) {
      #five-point .entry-content .item {
        padding: 30px 20px 35px;
        margin-bottom: 40px; } }
    #five-point .entry-content .item .stt {
      position: absolute;
      font-family: "Avenir Next LT Pro Demi Condensed Italic";
      color: #29AAE1;
      line-height: 1; }
      @media print, screen and (min-width: 992px) {
        #five-point .entry-content .item .stt {
          top: -50px;
          font-size: 90px; } }
      @media screen and (max-width: 991px) {
        #five-point .entry-content .item .stt {
          top: -45px;
          left: 30px;
          font-size: 75px; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item:nth-child(2n+1) .stt {
        left: 55px; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item:nth-child(2n) .stt {
        right: 55px; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item .image-content {
        display: table; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item .image-content .image, #five-point .entry-content .item .image-content .content {
        display: table-cell; } }
    @media screen and (max-width: 991px) {
      #five-point .entry-content .item .image-content .content {
        margin-bottom: 20px; } }
    #five-point .entry-content .item .image-content .image {
      width: 310px;
      vertical-align: middle; }
      @media print, screen and (min-width: 992px) {
        #five-point .entry-content .item .image-content .image {
          padding-left: 25px; } }
      @media screen and (max-width: 991px) {
        #five-point .entry-content .item .image-content .image {
          margin: 0 auto;
          text-align: center; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item .image-content h3 {
        font-size: 22px;
        margin-bottom: 20px;
        letter-spacing: -0.5px; } }
    @media screen and (max-width: 991px) {
      #five-point .entry-content .item .image-content h3 {
        font-size: 20px;
        margin-bottom: 10px; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item .image-content p {
        font-size: 15px;
        line-height: 1.9; } }
    @media screen and (max-width: 991px) {
      #five-point .entry-content .item .image-content p {
        font-size: 15px;
        line-height: 1.8; } }
    @media print, screen and (min-width: 992px) {
      #five-point .entry-content .item.rtl {
        direction: rtl; }
        #five-point .entry-content .item.rtl .image-content .image {
          vertical-align: bottom;
          text-align: left;
          padding: 0 25px 0 0; }
        #five-point .entry-content .item.rtl .image-content .content {
          direction: ltr; }
          #five-point .entry-content .item.rtl .image-content .content h3 {
            text-align: right; } }

@media print, screen and (min-width: 992px) {
  #plans {
    padding-top: 50px; }
    #plans .container {
      max-width: 1016px; } }

@media screen and (max-width: 991px) {
  #plans {
    padding-bottom: 0; } }

@media print, screen and (min-width: 992px) {
  #plans .entry-header {
    margin-bottom: 60px; } }

@media screen and (max-width: 991px) {
  #plans .entry-header {
    margin-bottom: 35px; } }

#plans .entry-content {
  background-color: rgba(31, 170, 225, 0.2);
  overflow: hidden; }
  @media print, screen and (min-width: 992px) {
    #plans .entry-content {
      padding: 110px 0 130px; } }
  @media screen and (max-width: 991px) {
    #plans .entry-content {
      padding: 50px 0 60px; } }
  #plans .entry-content .list-item {
    width: 100%;
    float: left; }
    @media print, screen and (min-width: 992px) {
      #plans .entry-content .list-item {
        margin-bottom: 100px; }
        #plans .entry-content .list-item .item {
          padding: 0 8px;
          width: 33.33%;
          float: left; } }
    @media screen and (max-width: 991px) {
      #plans .entry-content .list-item {
        margin-bottom: 60px; }
        #plans .entry-content .list-item .item {
          max-width: 320px;
          margin: 0 auto; } }
    @media print, screen and (min-width: 992px) {
      #plans .entry-content .list-item .item h3 {
        font-size: 60px;
        margin-bottom: 20px; }
        #plans .entry-content .list-item .item h3 .jp {
          font-size: 32px; } }
    @media screen and (max-width: 991px) {
      #plans .entry-content .list-item .item {
        margin-bottom: 50px; }
        #plans .entry-content .list-item .item:last-child {
          margin-bottom: 0; }
        #plans .entry-content .list-item .item h3 {
          font-size: 45px;
          margin-bottom: 20px; }
          #plans .entry-content .list-item .item h3 .jp {
            font-size: 20px; } }
    #plans .entry-content .list-item .item.blue h3, #plans .entry-content .list-item .item.blue .content .fz60 {
      color: #29AAE1; }
    #plans .entry-content .list-item .item.pink h3, #plans .entry-content .list-item .item.pink .content .fz60 {
      color: #FF4B8F; }
    #plans .entry-content .list-item .item.yellow h3, #plans .entry-content .list-item .item.yellow .content .fz60 {
      color: #FFD92F; }
    #plans .entry-content .list-item .item.yellow .fz60 {
      font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif; }
    #plans .entry-content .list-item .item h3 {
      text-align: center;
      font-family: "Avenir Next LT Pro Bold Condensed Italic"; }
      #plans .entry-content .list-item .item h3 .jp {
        color: #000;
        font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif; }
    #plans .entry-content .list-item .item .box {
      position: relative;
      background-color: #fff;
      color: #000;
      text-align: center;
      border-radius: 10px;
      padding: 40px 15px 45px; }
      #plans .entry-content .list-item .item .box p {
        font-weight: bold; }
      #plans .entry-content .list-item .item .box .img-absolute {
        position: absolute;
        top: -37px; }
        #plans .entry-content .list-item .item .box .img-absolute img {
          height: auto; }
        @media screen and (min-width: 1280px) {
          #plans .entry-content .list-item .item .box .img-absolute {
            left: -65px; }
            #plans .entry-content .list-item .item .box .img-absolute img {
              width: 92px; } }
        @media screen and (max-width: 1279px) and (min-width: 992px) {
          #plans .entry-content .list-item .item .box .img-absolute {
            left: 0; }
            #plans .entry-content .list-item .item .box .img-absolute img {
              width: 80px; } }
        @media screen and (max-width: 991px) {
          #plans .entry-content .list-item .item .box .img-absolute {
            left: 0; }
            #plans .entry-content .list-item .item .box .img-absolute img {
              width: 80px; } }
      #plans .entry-content .list-item .item .box .img-absolute2 {
        position: absolute;
        top: 0;
        left: 0;
        width: 60px; }
        #plans .entry-content .list-item .item .box .img-absolute2 img {
          display: block;
          width: 100%;
          border-top-left-radius: 10px; }
      @media print, screen and (min-width: 992px) {
        #plans .entry-content .list-item .item .box {
          font-size: 18px;
          margin-bottom: 60px;
          min-height: 240px; }
          #plans .entry-content .list-item .item .box p {
            line-height: 2.2; } }
      @media screen and (max-width: 991px) {
        #plans .entry-content .list-item .item .box {
          font-size: 16px;
          margin-bottom: 20px;
          min-height: 213px; }
          #plans .entry-content .list-item .item .box p {
            line-height: 2; } }
    #plans .entry-content .list-item .item .content p {
      margin-bottom: 5px; }
    @media print, screen and (min-width: 992px) {
      #plans .entry-content .list-item .item .content {
        border-bottom: 3px dashed #fff; }
        #plans .entry-content .list-item .item .content p {
          font-size: 18px;
          font-weight: bold; }
        #plans .entry-content .list-item .item .content .fz60 {
          line-height: 1;
          font-family: "Avenir Next LT Pro Bold Condensed"; }
          #plans .entry-content .list-item .item .content .fz60 .fz18 {
            font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif; } }
    @media screen and (max-width: 991px) {
      #plans .entry-content .list-item .item .content {
        border-bottom: 2px dashed #fff; }
        #plans .entry-content .list-item .item .content p {
          font-size: 16px;
          font-weight: bold; }
          #plans .entry-content .list-item .item .content p:first-child {
            margin-bottom: 0; }
        #plans .entry-content .list-item .item .content .fz60 {
          font-size: 45px !important;
          line-height: 1;
          text-align: center; }
          #plans .entry-content .list-item .item .content .fz60 .fz18 {
            font-size: 16px !important; } }
  #plans .entry-content .btn {
    clear: both; }
    #plans .entry-content .btn a {
      margin: 0 auto; }


@media screen and (min-width: 1280px) {
  #flow {
    padding: 85px 0 40px; } }

@media screen and (max-width: 1279px) {
  #flow {
    padding: 60px 0 40px; } }

@media screen and (max-width: 991px) {
  #flow {
    padding: 40px 0 20px; } }

@media screen and (min-width: 1280px) {
  #flow .entry-header {
    margin-bottom: 40px; } }

@media screen and (max-width: 1279px) and (min-width: 992px) {
  #flow .container {
    padding: 0 30px; }
  #flow .entry-header {
    margin-bottom: 30px; } }

  #flow .flow_box {
    max-width: 1020px;
    margin: 0 auto 80px;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box {
      max-width: 100%;
      margin: 0 auto 40px;
    } }
  #flow .flow_box h3 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box h3 {
      font-size: 22px;
      margin-bottom: 10px;
    } }
  #flow .flow_box.col_b h3 {
    color: #54A8DC;
  }
  #flow .flow_box.col_p h3 {
    color: #ABA0D5;
  }
  #flow .flow_box h3 span {
    color: #000;
    font-size: 14px;
    font-weight: 500;
    margin-left: 20px;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box h3 span {
      font-size: 12px;
      margin-left: 15px;
    } }
  #flow .flow_box ul {
    list-style: none;
    width: 100%;
  }
  #flow .flow_box ul li {
    height: 70px;
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    position: relative;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box ul li {
      height: auto;
      flex-wrap: wrap;
      align-items: normal;
      margin-bottom: 12px;
    } }
  #flow .flow_box ul li .num {
    background: #fff;
    width: 62px;
    height: 62px;
    font-size: 25px;
    border-radius: 50%;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 5px;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box ul li .num {
      background: none;
      font-size: 20px;
      left: 15px;
      top: 7px;
      z-index: 10;
      align-items: normal;
      justify-content: normal;
    } }
  #flow .flow_box.col_b ul li .num {
    color: #54A8DC;
  }
  #flow .flow_box.col_p ul li .num {
    color: #ABA0D5;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box.col_b ul li .num,
    #flow .flow_box.col_p ul li .num {
      color: #fff;
    } }
  #flow .flow_box ul li h4 {
    width: 300px;
    height: 100%;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    padding-left: 55px;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box ul li h4 {
      width: 100%;
      font-size: 18px;
      letter-spacing: 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      border-bottom-left-radius: 0;
      padding: 8px 0;
      position: relative;
    } }
  #flow .flow_box.col_b ul li h4 {
    background: #54A8DC;
  }
  #flow .flow_box.col_p ul li h4 {
    background: #ABA0D5;
  }
  #flow .flow_box ul li .txt {
    width: 720px;
    height: 100%;
    background: #f0f0f0;
    font-weight: 500;
    display: flex;
    align-items: center;
    padding: 0 20px;
    letter-spacing: 0.05rem;
  }
    @media screen and (max-width: 991px) {
    #flow .flow_box ul li .txt {
      width: 100%;
      display: block;
      font-size: 13px;
      padding: 10px 15px 15px;
      letter-spacing: 0;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;
    } }

    /*
@media screen and (min-width: 1280px) {
  #flow .entry-content .item {
    margin-bottom: 70px; } }

@media screen and (max-width: 1279px) and (min-width: 992px) {
  #flow .entry-content .item {
    margin-bottom: 40px; } }

@media screen and (max-width: 991px) {
  #flow .entry-content .item {
    overflow: hidden;
    margin-bottom: 30px; }
    #flow .entry-content .item:last-child {
      margin-bottom: 0; } }

#flow .entry-content .item ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

#flow .entry-content .item .arrow {
  overflow: hidden;
  margin-bottom: 10px; }
  #flow .entry-content .item .arrow li {
    text-align: center;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 414px) {
      #flow .entry-content .item .arrow li {
        font-size: 12px; } }
    #flow .entry-content .item .arrow li.first {
      float: left; }
      @media screen and (min-width: 1280px) {
        #flow .entry-content .item .arrow li.first {
          padding: 18px 0 14px; } }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        #flow .entry-content .item .arrow li.first {
          padding: 13px 0; } }
      @media print, screen and (min-width: 992px) {
        #flow .entry-content .item .arrow li.first {
          width: 63%; } }
      @media screen and (max-width: 991px) {
        #flow .entry-content .item .arrow li.first {
          width: 50%;
          padding: 13px 0; } }
    #flow .entry-content .item .arrow li.last {
      float: right;
      background: url(../images/bg-flow02.png) no-repeat; }
      @media screen and (min-width: 1280px) {
        #flow .entry-content .item .arrow li.last {
          background-size: cover;
          padding: 15px 0 14px; } }
      @media screen and (max-width: 1279px) and (min-width: 992px) {
        #flow .entry-content .item .arrow li.last {
          padding: 12px 0;
          background-size: 100% 100%; } }
      @media print, screen and (min-width: 992px) {
        #flow .entry-content .item .arrow li.last {
          width: 36%; } }
      @media screen and (max-width: 991px) {
        #flow .entry-content .item .arrow li.last {
          width: 50%;
          padding: 12px 0;
          background-size: 100% 100%; } }

@media screen and (min-width: 1280px) {
  #flow .entry-content .item .list-step {
    margin-bottom: 18px; } }

@media screen and (max-width: 1279px) and (min-width: 992px) {
  #flow .entry-content .item .list-step {
    margin-bottom: 10px; } }

@media print, screen and (min-width: 992px) {
  #flow .entry-content .item .list-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #flow .entry-content .item .list-step li {
      width: 20%;
      float: left; } }

#flow .entry-content .item .list-step li {
  position: relative;
  background-color: #F1F1F1;
  text-align: center; }
  #flow .entry-content .item .list-step li:after {
    content: '';
    position: absolute;
    right: -18px;
    top: 0;
    width: 39px;
    height: 140px;
    background: url(../images/arrow-right-white.jpg) no-repeat;
    background-size: cover;
    z-index: 9; }
    @media print, screen and (min-width: 992px) {
      #flow .entry-content .item .list-step li:after {
        right: -18px; } }
    @media screen and (max-width: 991px) {
      #flow .entry-content .item .list-step li:after {
        right: 0; } }
  #flow .entry-content .item .list-step li:nth-last-child(2):after {
    width: 36px;
    background: url(../images/arrow-right-yellow.jpg) no-repeat;
    background-size: cover; }
  #flow .entry-content .item .list-step li:last-child {
    background-color: #FFE827; }
    #flow .entry-content .item .list-step li:last-child:after {
      content: none; }
  @media screen and (min-width: 1280px) {
    #flow .entry-content .item .list-step li.text-small .step {
      margin-bottom: 10px; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #flow .entry-content .item .list-step li.text-small .step {
      margin-bottom: 13px; } }
  @media screen and (max-width: 991px) {
    #flow .entry-content .item .list-step li.text-small .step {
      margin-bottom: 8px; } }
  #flow .entry-content .item .list-step li .step {
    display: block;
    margin: 0 auto;
    width: 120px;
    height: 30px;
    line-height: 30px;
    color: #29AAE1;
    font-weight: bold;
    background-color: #fff;
    font-family: "Avenir Next LT Pro Bold Condensed";
    border-radius: 30px;
    margin-bottom: 5px; }
  @media screen and (min-width: 1280px) {
    #flow .entry-content .item .list-step li {
      padding: 34px 0; }
      #flow .entry-content .item .list-step li .step {
        font-size: 23px; }
      #flow .entry-content .item .list-step li h3 {
        font-size: 25px; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #flow .entry-content .item .list-step li {
      padding: 37px 0 36px; }
      #flow .entry-content .item .list-step li .step {
        font-size: 21px; }
      #flow .entry-content .item .list-step li h3 {
        font-size: 20px; }
      #flow .entry-content .item .list-step li .fz18 {
        font-size: 16px !important; } }
  @media screen and (max-width: 991px) {
    #flow .entry-content .item .list-step li {
      width: 50%;
      float: left;
      padding: 39px 0;
      margin-bottom: 10px; }
      #flow .entry-content .item .list-step li h3 {
        font-size: 18px; }
      #flow .entry-content .item .list-step li .fz18 {
        font-size: 16px !important; } }
  @media screen and (max-width: 414px) {
    #flow .entry-content .item .list-step li {
      width: 100%;
      float: none;
      padding: 39px 0;
      margin-bottom: 10px; }
      #flow .entry-content .item .list-step li h3 {
        font-size: 18px; }
      #flow .entry-content .item .list-step li .fz18 {
        font-size: 16px !important; } }

#flow .entry-content .item .text-center {
  clear: both; }

#flow .entry-content .item .border-blue {
  height: 40px;
  line-height: 40px;
  border: 1px dashed #29AAE1;
  color: #29AAE1; }
  #flow .entry-content .item .border-blue p {
    font-size: 18px;
    font-weight: bold; }
    #flow .entry-content .item .border-blue p .en {
      font-family: "Avenir Next LT Pro Bold Condensed Italic"; }

#flow .entry-content .item .border-pink {
  height: 40px;
  line-height: 40px;
  border: 1px dashed #FF4B8F;
  color: #FF4B8F; }
  #flow .entry-content .item .border-pink p {
    font-size: 18px;
    font-weight: bold; }
    #flow .entry-content .item .border-pink p .en {
      font-family: "Avenir Next LT Pro Bold Condensed Italic"; }

#flow .entry-content .item.blue .arrow li.first {
  background: url(../images/bg-flow01.png) no-repeat; }
  @media screen and (min-width: 1280px) {
    #flow .entry-content .item.blue .arrow li.first {
      background-size: cover; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #flow .entry-content .item.blue .arrow li.first {
      background-size: 100% 100%; } }
  @media screen and (max-width: 991px) {
    #flow .entry-content .item.blue .arrow li.first {
      background-size: 100% 100%; } }

#flow .entry-content .item.pink .arrow li.first {
  background: url(../images/bg-flow03.png) no-repeat; }
  @media screen and (min-width: 1280px) {
    #flow .entry-content .item.pink .arrow li.first {
      background-size: cover; } }
  @media screen and (max-width: 1279px) and (min-width: 992px) {
    #flow .entry-content .item.pink .arrow li.first {
      background-size: 100% 100%; } }
  @media screen and (max-width: 991px) {
    #flow .entry-content .item.pink .arrow li.first {
      background-size: 100% 100%; } }
      */

#faq {
  background-color: #F6FBFF; }
  @media print, screen and (min-width: 992px) {
    #faq {
      padding: 80px 0 100px; } }
  #faq .container {
    max-width: 745px; }
  #faq #tab-2 .item-head ul li.blue {
    font-size: 12px;
    line-height: 22px; }
  @media print, screen and (min-width: 992px) {
    #faq .item {
      margin-bottom: 80px; } }
  @media screen and (max-width: 991px) {
    #faq .item {
      margin-bottom: 40px; } }
  #faq .item .item-head,
  #faq .item .item-content {
    padding-left: 55px;
    position: relative; }
    #faq .item .item-head:before,
    #faq .item .item-content:before {
      position: absolute;
      top: 2px;
      left: 0;
      font-size: 18px;
      color: #fff;
      text-transform: uppercase;
      width: 28px;
      height: 28px;
      line-height: 25px;
      text-align: center;
      border-radius: 50%; }
    #faq .item .item-head h3,
    #faq .item .item-content h3 {
      font-weight: bold;
      color: #29AAE1; }
      @media print, screen and (min-width: 992px) {
        #faq .item .item-head h3,
        #faq .item .item-content h3 {
          font-size: 20px;
          margin-right: 125px; } }
      @media screen and (max-width: 991px) {
        #faq .item .item-head h3,
        #faq .item .item-content h3 {
          font-size: 18px;
          margin-bottom: 5px; } }
  #faq .item .item-head {
    margin-bottom: 15px;
    overflow: hidden; }
    #faq .item .item-head:before {
      content: 'Q';
      background-color: #808080; }
    #faq .item .item-head ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      @media print, screen and (min-width: 992px) {
        #faq .item .item-head ul {
          position: absolute;
          top: 5px;
          right: 0; } }
      #faq .item .item-head ul li {
        float: left; }
        #faq .item .item-head ul li.blue {
          color: #29AAE1;
          padding: 0 9px;
          height: 22px;
          line-height: 20px;
          text-align: center;
          border: 1px solid #29AAE1;
          font-family: "Avenir Next LT Pro Demi Condensed"; }
          @media print, screen and (min-width: 992px) {
            #faq .item .item-head ul li.blue {
              font-size: 14px; } }
          @media screen and (max-width: 991px) {
            #faq .item .item-head ul li.blue {
              font-size: 11px; } }
        #faq .item .item-head ul li.yellow {
          color: #FFE82A;
          font-size: 9px;
          font-weight: bold;
          padding: 3px 5px 4px;
          border: 1px solid #FFE82A;
          margin-right: 7px;
          cursor: pointer; }
          #faq .item .item-head ul li.yellow img {
            display: inline-block;
            vertical-align: middle;
            margin: -1px 3px 0 0; }
          #faq .item .item-head ul li.yellow .hover {
            display: none; }
          #faq .item .item-head ul li.yellow:hover {
            background-color: #FFE82A;
            color: #fff; }
            #faq .item .item-head ul li.yellow:hover .default {
              display: none; }
            #faq .item .item-head ul li.yellow:hover .hover {
              display: inline-block; }
        #faq .item .item-head ul li.number {
          position: relative;
          background-color: #F1F1F1;
          padding: 0 6px;
          height: 22px;
          line-height: 22px;
          text-align: center;
          font-size: 9px;
          font-weight: bold;
          margin-right: 0; }
          #faq .item .item-head ul li.number:before {
            content: '';
            position: absolute;
            top: 0;
            left: -6px;
            bottom: 0;
            margin: auto;
            width: 7px;
            height: 12px;
            background: url(../images/after-number.png) no-repeat; }
  #faq .item .item-content:before {
    content: 'A';
    background-color: #29AAE1; }
  @media screen and (max-width: 991px) {
    #faq .item .item-content {
      font-size: 14px; } }
  #faq .btn a {
    margin: 0 auto; }

#two-btn {
  background-color: #29AAE1;
  text-align: center; }
  @media print, screen and (min-width: 992px) {
    #two-btn {
      padding: 70px 0; } }
  #two-btn .container {
    max-width: 745px; }
  #two-btn h3 {
    color: #fff; }
    @media print, screen and (min-width: 992px) {
      #two-btn h3 {
        font-size: 28px;
        margin-bottom: 30px; } }
    @media screen and (max-width: 991px) {
      #two-btn h3 {
        font-size: 24px;
        margin-bottom: 25px; } }
  #two-btn ul {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 992px) {
      #two-btn ul li {
        width: 50%;
        float: left; }
        #two-btn ul li.demo {
          padding-right: 30px; }
        #two-btn ul li.contact-us {
          padding-left: 30px; } }
    @media screen and (max-width: 991px) {
      #two-btn ul li {
        margin-bottom: 35px; }
        #two-btn ul li:last-child {
          margin-bottom: 0; } }
    #two-btn ul li.contact-us .btn-more a {
      border-color: #FFE827;
      background-color: #FFE827; }
    @media print, screen and (min-width: 992px) {
      #two-btn ul li .image {
        margin-bottom: 30px; } }
    @media screen and (max-width: 991px) {
      #two-btn ul li .image {
        margin-bottom: 20px; }
        #two-btn ul li .image img {
          width: 90px; } }
    #two-btn ul li .btn-more a {
      position: relative;
      color: #fff;
      border: 3px solid #fff;
      font-weight: bold;
      display: block; }
      #two-btn ul li .btn-more a:after {
        content: '';
        position: absolute;
        top: 0;
        right: 20px;
        bottom: 0;
        margin: auto;
        width: 10px;
        height: 13px;
        background: url(../images/arrow-right.svg) no-repeat;
        background-size: 100%;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      #two-btn ul li .btn-more a:hover:after {
        right: 10px; }
      @media print, screen and (min-width: 992px) {
        #two-btn ul li .btn-more a {
          font-size: 20px;
          height: 70px;
          line-height: 64px; } }
      @media screen and (max-width: 991px) {
        #two-btn ul li .btn-more a {
          max-width: 320px;
          margin: 0 auto;
          font-size: 18px;
          height: 60px;
          line-height: 54px; } }

#item-phone {
  padding: 35px 0; }
  #item-phone .container {
    max-width: 375px; }
    @media screen and (max-width: 991px) {
      #item-phone .container {
        max-width: 405px; } }
    @media screen and (max-width: 414px) {
      #item-phone .container {
        max-width: 320px; } }
  #item-phone dl {
    display: table; }
    #item-phone dl dt, #item-phone dl dd {
      display: table-cell;
      vertical-align: middle; }
    #item-phone dl dt {
      width: 95px;
      padding-right: 15px; }
    #item-phone dl dd {
      color: #29AAE1; }
      #item-phone dl dd p {
        font-weight: bold; }
      #item-phone dl dd .medium {
        font-size: 15px;
        margin: -4px 0; }
      #item-phone dl dd a {
        color: #29AAE1;
        font-size: 40px;
        line-height: 1.2; }
        @media screen and (max-width: 991px) {
          #item-phone dl dd a {
            font-size: 38px; } }
      #item-phone dl dd .small {
        font-size: 11px; }
    @media screen and (max-width: 414px) {
      #item-phone dl dt {
        width: 70px;
        padding-right: 10px; }
      #item-phone dl dd .medium {
        font-size: 12px;
        margin: -2px 0; }
      #item-phone dl dd a {
        font-size: 30px; }
      #item-phone dl dd .small {
        font-size: 9px; } }

/* PRICE */
#price .table-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  #price .table-price .tb-td {
    background-color: transparent; }

#faq .list-tab {
  list-style: none;
  padding: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 992px) {
    #faq .list-tab {
      margin: 70px 0 195px; } }
  @media screen and (max-width: 991px) {
    #faq .list-tab {
      margin: 50px 0 85px; } }
  #faq .list-tab li {
    width: 50%;
    float: left;
    cursor: pointer;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
    @media print, screen and (min-width: 992px) {
      #faq .list-tab li:first-child {
        padding-right: 20px; }
      #faq .list-tab li:last-child {
        padding-left: 20px; } }
    @media screen and (max-width: 991px) {
      #faq .list-tab li:first-child {
        padding-right: 15px; }
      #faq .list-tab li:last-child {
        padding-left: 15px; } }
    @media screen and (max-width: 414px) {
      #faq .list-tab li:first-child {
        padding-right: 5px; }
      #faq .list-tab li:last-child {
        padding-left: 5px; } }
    #faq .list-tab li:hover {
      opacity: .8; }

#faq .tab-content {
  display: none; }
  #faq .tab-content.current {
    display: block; }
  #faq .tab-content h2 {
    text-align: center; }
    @media print, screen and (min-width: 992px) {
      #faq .tab-content h2 {
        margin-bottom: 60px;
        font-size: 26px; } }
    @media screen and (max-width: 991px) {
      #faq .tab-content h2 {
        margin-bottom: 30px;
        font-size: 22px; } }

.clearfix {
  clear: both; }

#mv-top {
  position: relative;
  background: url(../images/sub-mv.jpg) no-repeat;
  background-size: cover; }
  @media print, screen and (min-width: 992px) {
    #mv-top {
      min-height: 300px; }
      #mv-top h1 {
        font-size: 36px; } }
  @media screen and (max-width: 991px) {
    #mv-top {
      min-height: 250px; }
      #mv-top h1 {
        font-size: 32px; } }
  #mv-top h1 {
    font-weight: bold;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 0;
    left: 0;
    right: 0;
    color: #fff;
    margin: auto;
    line-height: 0;
    text-align: center; }

#breadcrumb {
  background: #F1F1F1;
  padding: 6px 0; }
  #breadcrumb ul li {
    font-size: 13px;
    color: #808080;
    list-style: none;
    position: relative;
    display: table-cell;
    padding-right: 20px;
    margin-right: 10px; }
    #breadcrumb ul li:after {
      position: absolute;
      content: '';
      border: solid #808080;
      border-width: 0 1px 1px 0;
      display: inline-block;
      padding: 1px;
      right: 10px;
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      top: 0;
      bottom: 0;
      height: 2px;
      margin: auto; }
    #breadcrumb ul li:last-child:after {
      opacity: 0; }
    #breadcrumb ul li a {
      color: #808080;
      display: block; }

.page-voice #voice {
  background: rgba(31, 170, 225, 0.2); }

.page-voice #point {
  padding: 65px 0 65px; }

@media print, screen and (min-width: 992px) {
  #contact {
    padding: 85px 0 0 0; } }

#contact .container {
  max-width: 750px; }

@media print, screen and (min-width: 992px) {
  #contact .contact-top {
    margin-bottom: 85px; } }

@media screen and (max-width: 991px) {
  #contact .contact-top {
    margin-bottom: 50px; } }

#contact .contact-top .lead {
  text-align: center;
  font-weight: bold;
  line-height: 1.8; }
  @media print, screen and (min-width: 992px) {
    #contact .contact-top .lead {
      margin-bottom: 65px;
      font-size: 18px; } }
  @media screen and (max-width: 991px) {
    #contact .contact-top .lead {
      margin-bottom: 30px;
      font-size: 16px; } }

#contact .contact-top .phone-number {
  border: 1px solid #29AAE1; }
  #contact .contact-top .phone-number .title {
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 5px 15px;
    background-color: #29AAE1; }
    @media print, screen and (min-width: 992px) {
      #contact .contact-top .phone-number .title {
        font-size: 15px; } }
    @media screen and (max-width: 991px) {
      #contact .contact-top .phone-number .title {
        font-size: 14px; } }
  #contact .contact-top .phone-number .detail-number {
    padding: 20px 15px; }
  #contact .contact-top .phone-number dl {
    display: table;
    width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 992px) {
      #contact .contact-top .phone-number dl {
        max-width: 520px; } }
    @media screen and (max-width: 991px) {
      #contact .contact-top .phone-number dl {
        max-width: 350px; } }
    @media screen and (max-width: 414px) {
      #contact .contact-top .phone-number dl {
        max-width: 260px; } }
    #contact .contact-top .phone-number dl dt, #contact .contact-top .phone-number dl dd {
      display: table-cell;
      vertical-align: middle; }
    @media print, screen and (min-width: 992px) {
      #contact .contact-top .phone-number dl dt {
        width: 100px;
        padding-right: 15px; } }
    @media screen and (max-width: 991px) {
      #contact .contact-top .phone-number dl dt {
        width: 75px;
        padding-right: 10px; } }
    @media screen and (max-width: 991px) {
      #contact .contact-top .phone-number dl dt {
        width: 60px;
        padding-right: 8px; } }
    #contact .contact-top .phone-number dl dd a {
      color: #29AAE1;
      font-weight: bold;
      margin-bottom: 5px; }
      @media print, screen and (min-width: 992px) {
        #contact .contact-top .phone-number dl dd a {
          font-size: 63px;
          line-height: .8; } }
      @media screen and (max-width: 991px) {
        #contact .contact-top .phone-number dl dd a {
          font-size: 42px;
          line-height: 1; } }
      @media screen and (max-width: 991px) {
        #contact .contact-top .phone-number dl dd a {
          font-size: 30px; } }
    #contact .contact-top .phone-number dl dd .small {
      font-weight: bold;
      color: #29AAE1;
      margin-top: 5px; }
      @media print, screen and (min-width: 992px) {
        #contact .contact-top .phone-number dl dd .small {
          font-size: 14px; } }
      @media screen and (max-width: 991px) {
        #contact .contact-top .phone-number dl dd .small {
          font-size: 12px; } }
      @media screen and (max-width: 414px) {
        #contact .contact-top .phone-number dl dd .small {
          font-size: 10px; } }

#contact .contact-form {
  background-color: rgba(41, 170, 225, 0.2); }
  @media print, screen and (min-width: 992px) {
    #contact .contact-form {
      padding-top: 110px;
      padding-bottom: 110px; } }
  @media screen and (max-width: 991px) {
    #contact .contact-form {
      padding-top: 50px;
      padding-bottom: 50px; } }
  #contact .contact-form .form-groupTitle {
    color: #29AAE1;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px; }
    @media screen and (max-width: 991px) {
      #contact .contact-form .form-groupTitle {
        font-size: 16px; } }
  #contact .contact-form .form-groupDetail {
    margin-bottom: 30px; }
    #contact .contact-form .form-groupDetail .checkbox {
      position: relative;
      width: 25%;
      float: left; }
      @media screen and (max-width: 991px) {
        #contact .contact-form .form-groupDetail .checkbox {
          width: 100%;
          float: none;
          padding-bottom: 15px; } }
      #contact .contact-form .form-groupDetail .checkbox input[type=radio] {
        position: absolute;
        visibility: hidden; }
      #contact .contact-form .form-groupDetail .checkbox input[type=radio]:checked ~ .check {
        background: #fff url(../images/icon-check.svg) no-repeat center;
        background-size: 65%; }
      #contact .contact-form .form-groupDetail .checkbox label {
        display: block;
        position: relative;
        font-weight: 300;
        font-size: 11px;
        padding: 0px 25px 25px 60px;
        margin: 10px auto;
        height: 30px;
        z-index: 9;
        cursor: pointer;
        -webkit-transition: all 0.25s linear;
        color: #29AAE1;
        font-weight: bold; }
      #contact .contact-form .form-groupDetail .checkbox .check {
        display: block;
        position: absolute;
        background: #fff;
        height: 50px;
        width: 50px;
        top: 0;
        left: 0;
        z-index: 5;
        -o-transition: border .25s linear;
        transition: border .25s linear;
        -webkit-transition: border .25s linear; }
    #contact .contact-form .form-groupDetail input[type="text"], #contact .contact-form .form-groupDetail input[type="email"], #contact .contact-form .form-groupDetail input[type="tel"] {
      padding: 10px 15px;
      width: 100%;
      background-color: #fff;
      border: 0;
      outline: 0;
      color: #29AAE1;
      font-size: 18px; }
    #contact .contact-form .form-groupDetail textarea {
      background: #fff;
      width: 100%;
      padding: 10px 15px;
      color: #29AAE1;
      font-size: 18px; }
  #contact .contact-form .form-group .required {
    padding-top: 3px;
    color: red; }
  #contact .contact-form .form-group .checkbox-bottom .required {
    margin: -10px 0 0 -13px;
    padding-top: 0; }
  #contact .contact-form .form-group p.text {
    border: 1px solid #29AAE1;
    padding: 20px 40px;
    line-height: 26px;
    text-align: justify; }
  #contact .contact-form .form-group .wrap-checkbox {
    text-align: center;
    margin: 30px 0; }
    #contact .contact-form .form-group .wrap-checkbox .checkbox-bottom {
      position: relative;
      display: inline-block;
      margin: 0 auto; }
      #contact .contact-form .form-group .wrap-checkbox .checkbox-bottom input[type=checkbox] {
        position: absolute;
        visibility: hidden; }
      #contact .contact-form .form-group .wrap-checkbox .checkbox-bottom input[type=checkbox]:checked ~ .check:before {
        background: url(../images/icon-check.svg) no-repeat center;
        position: absolute;
        content: '';
        top: 0px;
        left: -2px;
        width: 40px;
        height: 23px; }
      #contact .contact-form .form-group .wrap-checkbox .checkbox-bottom label {
        display: block;
        position: relative;
        font-weight: 300;
        font-size: 11px;
        padding: 0px 25px 0px 45px;
        margin: 10px auto;
        height: 30px;
        z-index: 9;
        cursor: pointer;
        -webkit-transition: all 0.25s linear;
        color: #29AAE1;
        font-weight: bold; }
      #contact .contact-form .form-group .wrap-checkbox .checkbox-bottom .check {
        display: block;
        position: absolute;
        background: #fff;
        height: 30px;
        width: 30px;
        top: 0;
        left: 0;
        z-index: 5;
        -o-transition: border .25s linear;
        transition: border .25s linear;
        -webkit-transition: border .25s linear; }
  #contact .contact-form #btn-submit {
    background: #29AAE1;
    text-align: center;
    color: #fff;
    display: block;
    width: 100%;
    padding: 20px 15px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer; }

/**
 * VARIABLES
 */
#price {
  padding-top: 70px;
  padding-bottom: 70px; }
  #price .note {
    margin-top: 30px; }
  #price .table-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 50px; }
    #price .table-price .tb-first {
      border-bottom: 2px solid #808080 !important;
      border-right: none !important;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      #price .table-price .tb-first span {
        font-family: Avenir Next LT Pro Bold Condensed Italic;
        font-size: 15px;
        margin-left: 5px;
        margin-top: 5px; }
    #price .table-price .tb-td {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      min-height: 65px;
      width: 25%;
      padding: 15px 0;
      font-size: 16px;
      color: #444444;
      font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
      border-right: 1px dotted #ccc;
      border-bottom: 1px dotted #ccc; }
      #price .table-price .tb-td i.icon-o {
        background: url(../images/icon-o.svg) no-repeat center;
        width: 18px;
        height: 18px;
        background-size: 100%; }
      #price .table-price .tb-td i.icon-x {
        background: url(../images/icon-x.svg) no-repeat center;
        width: 18px;
        height: 18px;
        background-size: 100%; }
      #price .table-price .tb-td.tb-last div {
        width: 100%;
        text-align: center; }
        #price .table-price .tb-td.tb-last div span {
          font-size: 10px;
          background: #CC001F;
          display: inline-block;
          color: #fff;
          padding: 5px;
          border-radius: 50px;
          font-weight: normal; }
      #price .table-price .tb-td.bold {
        font-weight: bold;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 20px;
        color: #444444; }
        #price .table-price .tb-td.bold.fz24 {
          font-size: 24px; }
        #price .table-price .tb-td.bold.bg-pink {
          background: #FFF3F5; }
      #price .table-price .tb-td span.color-blue {
        color: #29AAE1;
        background: transparent;
        font-size: 16px;
        border-bottom: 1px dotted;
        position: relative; }
        #price .table-price .tb-td span.color-blue:before {
          background: url(../images/icon-dot.png) no-repeat;
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto;
          right: -20px;
          width: 16px;
          height: 16px;
          border-right: none; }
      #price .table-price .tb-td p {
        margin-bottom: 0;
        text-align: center; }
      #price .table-price .tb-td.tb-th {
        letter-spacing: 2px; }
        #price .table-price .tb-td.tb-th.tb-1 {
          background-color: transparent; }
      #price .table-price .tb-td.tb-1 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1; }
      #price .table-price .tb-td.tb-2 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        border-bottom: 2px dashed #ccc; }
      #price .table-price .tb-td.tb-3 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3; }
      #price .table-price .tb-td.tb-4 {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4; }
      #price .table-price .tb-td.tb-5 {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5; }
      #price .table-price .tb-td.tb-6 {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6; }
      #price .table-price .tb-td.tb-7 {
        -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
        order: 7; }
      #price .table-price .tb-td.tb-8 {
        -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
        order: 8; }
      #price .table-price .tb-td.tb-9 {
        -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
        order: 9; }
      #price .table-price .tb-td.tb-10 {
        -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
        order: 10; }
      #price .table-price .tb-td.tb-title {
        position: relative;
        min-height: 70px;
        padding: 5px 20px;
        color: #fff;
        font-size: 20px;
        font-weight: 700; }
        #price .table-price .tb-td.tb-title span {
          font-size: 15px; }
        #price .table-price .tb-td.tb-title::after {
          content: '';
          position: absolute;
          bottom: -8px;
          left: 50%;
          width: 0;
          height: 0;
          margin-left: -12px;
          border: solid transparent;
          border-width: 10px 12px 0 12px;
          z-index: 2; }
      #price .table-price .tb-td.tb-title-1 {
        background-color: #29AAE1; }
      #price .table-price .tb-td.tb-title-2 {
        background-color: #FF4B8F; }
        #price .table-price .tb-td.tb-title-2:before {
          background: url(../images/icon-top-left.png) no-repeat;
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 61px;
          height: 70px;
          border-right: none; }
      #price .table-price .tb-td.tb-title-3 {
        background-color: #FFD92F; }
  @media (max-width: 767.98px) {
    #price {
      padding-top: 60px;
      padding-bottom: 60px; }
      #price .table-price {
        display: block; }
        #price .table-price .tb-td {
          position: relative;
          width: 100%;
          padding-left: 50%; }
          #price .table-price .tb-td.bold {
            font-size: 15px; }
          #price .table-price .tb-td.fz24 {
            font-size: 18px !important; }
          #price .table-price .tb-td::before {
            content: attr(data-title);
            position: absolute;
            left: 0;
            top: 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: left;
            -ms-flex-pack: left;
            justify-content: left;
            -webkit-box-align: left;
            -ms-flex-align: left;
            align-items: left;
            width: 50%;
            height: 100%;
            padding: 15px 5px;
            font-size: 14px;
            font-weight: normal;
            letter-spacing: 1px;
            text-align: left;
            border-right: 1px dotted #ccc;
            white-space: pre; }
          #price .table-price .tb-td.tb-8::after {
            content: '';
            position: absolute;
            border-bottom: 1px dotted #29AAE1;
            width: 155px;
            left: 5px;
            bottom: 26px;
            background: url(../images/icon-dot.png) no-repeat right;
            height: 20px; }
          #price .table-price .tb-td.tb-10::after {
            content: '';
            position: absolute;
            border-bottom: 1px dotted #29AAE1;
            width: 80px;
            left: 5px;
            bottom: 26px;
            background: url(../images/icon-dot.png) no-repeat right;
            height: 20px; }
          #price .table-price .tb-td.tb-10-fix::after {
            bottom: 40px; }
          #price .table-price .tb-td.tb-5::after {
            content: '';
            position: absolute;
            border-bottom: 1px dotted #29AAE1;
            width: 95px;
            left: 5px;
            bottom: 26px;
            background: url(../images/icon-dot.png) no-repeat right;
            height: 20px; }
          #price .table-price .tb-td.color-blue-fix::before {
            color: #29AAE1; }
          #price .table-price .tb-td.tb-th {
            display: none; }
          #price .table-price .tb-td.tb-title {
            font-size: 1.4rem; }
            #price .table-price .tb-td.tb-title::before {
              border-right: none; }
            #price .table-price .tb-td.tb-title::after {
              margin-left: 12%; }
            #price .table-price .tb-td.tb-title.tb-title-1 img {
              max-width: 100px; }
          #price .table-price .tb-td.tb-last {
            margin-bottom: 50px; }
          #price .table-price .tb-td:last-child {
            margin-bottom: 0; } }

.complete {
  position: absolute;
  left: 0;
  right: 0;
  top: 10%;
  z-index: 123;
  background: #fff;
  max-width: 500px;
  margin: 0 auto; }
  .complete .content-complete {
    padding: 25px 0 0 0;
    font-size: 18px; }
    @media screen and (max-width: 991px) {
      .complete .content-complete {
        font-size: 13px; } }
    .complete .content-complete a {
      text-align: center;
      display: inline-block;
      color: #fff;
      background: red;
      padding: 10px 30px;
      border-radius: 5px;
      text-decoration: none;
      margin-top: 15px;
      font-size: 16px; }
      @media screen and (max-width: 991px) {
        .complete .content-complete a {
          font-size: 15px;
          padding: 5px 20px; } }
  .complete .mg15 {
    text-align: center;
    -webkit-box-shadow: 0 0px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0px 3px rgba(0, 0, 0, 0.2);
    font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
    border-radius: 5px;
    margin: 15px;
    padding-bottom: 20px; }
  .complete .contact-complete-bottom {
    font-size: 11px; }
    .complete .contact-complete-bottom .img {
      max-width: 100%; }
  .complete .title-complete {
    font-size: 15px;
    text-transform: uppercase;
    background: #27AE61; }
    @media screen and (max-width: 991px) {
      .complete .title-complete {
        font-size: 13px;
        padding: 0 10px; } }
    .complete .title-complete h2 {
      margin: 0;
      padding: 15px 0;
      color: #fff;
      font-size: 20px; }
      @media screen and (max-width: 991px) {
        .complete .title-complete h2 {
          font-size: 15px;
          padding: 15px 10px; } }

.entry-header-fix h2 {
  line-height: 1.2; }
  .entry-header-fix h2 .number {
    position: relative;
    top: 7px; }
  @media screen and (max-width: 991px) {
    .entry-header-fix h2 {
      line-height: 35px; } }

#point.point-fix .container {
  max-width: 1130px; }

#point .entry-header h2 .number {
  font-family: "Avenir Next LT Pro Demi Condensed Italic";
  color: #29AAE1; }
  @media print, screen and (min-width: 992px) {
    #point .entry-header h2 .number {
      font-size: 81px; } }
  @media screen and (max-width: 991px) {
    #point .entry-header h2 .number {
      font-size: 65px; } }

@media print, screen and (min-width: 992px) {
  #point .entry-content.entry-content-fix {
    margin: 0 -45px; } }

#point .entry-content .item .image img.maxw {
  max-width: 252px; }

@media print, screen and (min-width: 992px) {
  #point .entry-content .item h3 {
    font-size: 21px; }
    #point .entry-content .item h3 .number {
      font-size: 27px; } }

@media screen and (max-width: 991px) {
  #point .entry-content .item h3 {
    font-size: 18px; }
    #point .entry-content .item h3 .number {
      font-size: 23px; } }

#behaviral {
  background-color: rgba(31, 170, 225, 0.2);
  padding: 60px 0 90px; }
  @media screen and (max-width: 991px) {
    #behaviral {
      padding: 40px 0 60px; } }
  #behaviral .behaviral-content .item {
    background: #fff;
    padding: 25px 20px 15px 20px;
    position: relative;
    margin-bottom: 75px; }
    @media screen and (max-width: 991px) {
      #behaviral .behaviral-content .item {
        margin-bottom: 50px; } }
    #behaviral .behaviral-content .item:after {
      position: absolute;
      content: '';
      background: url(../images/icon-bottom.svg) no-repeat top center;
      width: 126px;
      height: 47px;
      bottom: -47px;
      left: 0;
      right: 0;
      margin: auto; }
      @media screen and (max-width: 991px) {
        #behaviral .behaviral-content .item:after {
          width: 80px; } }
    @media print, screen and (min-width: 992px) {
      #behaviral .behaviral-content .item .left {
        width: 66%;
        float: left; } }
    @media screen and (max-width: 991px) {
      #behaviral .behaviral-content .item .left {
        width: 100%;
        float: none;
        margin-bottom: 15px; } }
    #behaviral .behaviral-content .item .left .sub-left {
      float: left;
      margin-right: 25px; }
      @media screen and (max-width: 414px) {
        #behaviral .behaviral-content .item .left .sub-left {
          float: none;
          margin-right: 0;
          margin: 0 auto;
          display: table; }
          #behaviral .behaviral-content .item .left .sub-left img {
            display: table-cell; } }
      #behaviral .behaviral-content .item .left .sub-left .number {
        width: 80px;
        margin: 20px auto 0 auto; }
        @media screen and (max-width: 414px) {
          #behaviral .behaviral-content .item .left .sub-left .number {
            display: table-cell;
            width: 70px;
            margin-top: 0; } }
        #behaviral .behaviral-content .item .left .sub-left .number .number-fix {
          text-align: center; }
          @media print, screen and (min-width: 992px) {
            #behaviral .behaviral-content .item .left .sub-left .number .number-fix {
              width: 65px; } }
          @media screen and (max-width: 991px) {
            #behaviral .behaviral-content .item .left .sub-left .number .number-fix {
              width: 50px;
              margin-left: 8px; } }
    #behaviral .behaviral-content .item .left .sub-right {
      overflow: hidden; }
      @media print, screen and (min-width: 992px) {
        #behaviral .behaviral-content .item .left .sub-right h4 {
          font-size: 26px;
          margin-top: 7px; } }
      @media screen and (max-width: 991px) {
        #behaviral .behaviral-content .item .left .sub-right h4 {
          font-size: 22px; } }
      @media print, screen and (min-width: 992px) {
        #behaviral .behaviral-content .item .left .sub-right h4 span {
          font-size: 20px; } }
      @media screen and (max-width: 991px) {
        #behaviral .behaviral-content .item .left .sub-right h4 span {
          font-size: 17px; } }
      #behaviral .behaviral-content .item .left .sub-right h3 {
        color: #FF4B8F; }
        @media print, screen and (min-width: 992px) {
          #behaviral .behaviral-content .item .left .sub-right h3 {
            font-size: 25px;
            margin: 10px 0 22px 0; } }
        @media screen and (max-width: 991px) {
          #behaviral .behaviral-content .item .left .sub-right h3 {
            font-size: 22px;
            margin: 8px 0; } }
      #behaviral .behaviral-content .item .left .sub-right p {
        font-size: 16px;
        line-height: 28px;
        text-shadow: 0 0 0; }
        @media screen and (max-width: 991px) {
          #behaviral .behaviral-content .item .left .sub-right p {
            font-size: 14px; } }
    @media print, screen and (min-width: 992px) {
      #behaviral .behaviral-content .item .right {
        width: 31%;
        float: right; } }
    @media screen and (max-width: 991px) {
      #behaviral .behaviral-content .item .right {
        width: 100%;
        float: none; } }
    #behaviral .behaviral-content .item .right img {
      max-width: 420px;
      margin: 0 auto;
      display: inherit;
      width: 100%; }
      @media print, screen and (min-width: 992px) {
        #behaviral .behaviral-content .item .right img {
          padding-right: 15px; } }
  #behaviral .entry-bottom {
    background: #fff;
    padding: 30px 20px; }
    @media screen and (max-width: 568px) {
      #behaviral .entry-bottom {
        padding: 20px 15px; } }
    #behaviral .entry-bottom img {
      max-width: 700px;
      width: 100%;
      display: inherit;
      margin: 0 auto; }

#content-img {
  padding: 40px 0 20px 0;
  text-align: center; }
  @media screen and (max-width: 991px) {
    #content-img {
      padding-bottom: 0; } }
  #content-img img {
    margin-bottom: 30px; }
  #content-img .container {
    max-width: 560px; }
    #content-img .container h3 {
      font-size: 30px;
      line-height: 50px; }
      @media screen and (max-width: 568px) {
        #content-img .container h3 {
          font-size: 25px;
          line-height: 45px; } }
      @media screen and (max-width: 568px) {
        #content-img .container h3 .pc {
          display: none; } }
    #content-img .container p {
      line-height: 28px;
      margin: 30px 0 30px 0;
      text-shadow: 0 0 0;
      font-size: 14px; }
      #content-img .container p a {
        display: inline-block; }

@media screen and (max-width: 991px) {
  #bottom-behaviral {
    padding-bottom: 0; } }

#bottom-behaviral .wrap-bg {
  background: #cbcbcb33; }

@media print, screen and (min-width: 992px) {
  #bottom-behaviral .row {
    margin: 0 -25px; } }

@media screen and (max-width: 991px) {
  #bottom-behaviral .row {
    margin: 0 -15px; } }

@media print, screen and (min-width: 992px) {
  #bottom-behaviral .row .item {
    float: left;
    width: 50%;
    padding: 30px 25px; } }

@media screen and (max-width: 991px) {
  #bottom-behaviral .row .item {
    float: none;
    width: 100%;
    padding: 25px 15px; } }

#bottom-behaviral .row .item h3 {
  font-size: 24px; }
  @media screen and (max-width: 991px) {
    #bottom-behaviral .row .item h3 {
      font-size: 21px; } }
  #bottom-behaviral .row .item h3 span {
    color: #FF4B8F; }

#bottom-behaviral .row .item img {
  margin: 20px 0; }

#bottom-behaviral .row .item p {
  line-height: 28px;
  text-shadow: 0 0 0; }

.site-footer {
  background: url(../images/bg-footer.jpg) no-repeat;
  background-size: cover;
  color: #000;
  text-align: center;
  font-size: 12px;
  font-weight: bold; }
  @media print, screen and (min-width: 992px) {
    .site-footer {
      padding: 40px 0 30px; }
      .site-footer .logo {
        margin-bottom: 80px; } }
  @media screen and (max-width: 991px) {
    .site-footer {
      padding: 30px 0; }
      .site-footer .logo {
        margin-bottom: 50px; } }
  .site-footer .logo img {
    width: 240px; }

  ::placeholder {
      color: #dadada!important;
    }


    /**********************
  モーダルウィンドウ
  **********************/

  .modal-window {
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  opacity: 0;
  line-height: 1.3;
  display: none9;
  }
  .modal-window:target {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
  }
  .is-active.modal-window {
  display: block9;
  }
  .modal-window:target {
  display: block9;
  }
  .modal-window .modal-inner {
  position: absolute;
  top: 100px;
  left: 5%;
  z-index: 20;
  padding:5%;
  margin:0 auto;
  width: 80%;
  overflow-x: hidden;
  border-radius: 6px;
  background: #fff;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  }

  .modal-window .modal-close {
  display: block;
  text-indent: -100px;
  overflow: hidden;
  }
  .modal-window .modal-close:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: #333;
  	-moz-opacity: 0.7;
  	opacity: 0.7;
  }
  .modal-window .modal-close:after {
  content: '\00d7';
  position: absolute;
  top: 70px;
  right:15%;
  z-index: 20;
  margin:0 auto;
  background: #fff;
  border-radius: 2px;
  padding: 10px 10px;
  text-decoration: none;
  text-indent: 0;
  }

  .modal-window {
  -webkit-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
  }



  /**********************
  スマホのフッターメニュー
  **********************/
  ul.footer_menu {
  	margin: 0 auto;
  	padding: 18px 0;
  	width: 100%;
  	overflow: hidden;
  	display: table;
          table-layout: fixed;
          text-align: center;
          width: 100%;
  }

  ul.footer_menu li {
  	margin: 0;
  	padding: 0;
  	display: table-cell;
  	vertical-align:middle;
  	list-style-type: none;
  	font-size: 13px;
         line-height: 15px;
  }

  ul.footer_menu li a i{
  	font-size: 24px;
  }

  ul.footer_menu li a {
  	border: none;
  	display: block;
  	color: #fff;
  	text-align: center;
  	text-decoration: none;
  }

  .footer_menu {
  	position: fixed;
  	bottom: 0;
  	left:0;
  background: rgba(25, 181, 254, 1);
      z-index: 9999999999;
  	-moz-opacity: 0.9;
  	opacity: 0.9;
  }


  /**********************
  SNSの部分
  ***********************/


  .modal-window .modal-inner.sns{
  	margin:0 auto;
  	text-align:center;
  }
  .modal-inner ul {
  	list-style:none;
  }
  .modal-inner li {
  	list-style:none;
  	float:left;
  	width:25%;
  	margin:3%;
  }
  .modal-inner li a {
  	font-size:150%;
  	position:relative;
  	display:block;
  	padding:10px;
  	color:#fff;
  	border-radius:6px;
  	text-align:center;
  	text-decoration: none;
  }
  .modal-inner li a:hover {
  	box-shadow:none;
  }


  .share li a {display : block;
      padding : 10px 5px;
      color : #fff;
      font-size : 14px;
      text-decoration : none;
      text-align : center;}
  .share li a:hover {opacity :0.8;
      color : #fff;}
  .share li a:visited{ color: #fff;}

  .tweet a{background-color : #55acee;}
  .facebook a{background-color : #315096;}
  .googleplus a{background-color : #dd4b39;}
  .hatena a{background-color : #008fde;}
  .line a{background-color: #00c300;}
  .pocket a{background-color :#f03e51;}
  .rss a {background-color: #ff8c00;}
  .feedly a {background-color: #6cc655;}

  .share-sm {margin:0;}
  .share-sm ul:after {content : "";
      display : block;
      clear : both;}

  /**********************
  メニューの部分
  **********************/

  .mod li{
    float:none;
    display:block;
    width:100%;
    margin:0;}

  .mod li a {
    text-align: left;  /* メニューを左寄せ */
    font-weight: bold;  /* メニューを太字に */
    background: #000;  /* メニューの背景色 */
    margin: 2%;
  font-size: 14px;  /* メニュー文字サイズ */
  }


  @media (max-width: 767px){
  .footer_menu #site-navigation{
      display:none;
      }
  }

  @media (min-width: 768px){
  .footer_menu .menu-main-menu-container{
        display:none;
      }
  }

@media (min-width: 767px){
  ul.footer_menu {
      display: none;
  }
}
