#content .content-wrap {
  max-width: 1140px;
  padding-left: 60px;
  padding-right: 60px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 767px) {
    #content .content-wrap {
      padding-left: 4vw;
      padding-right: 4vw; } }

#ttl h1 {
  padding-top: 20px;
  padding-right: 15px;
  margin-bottom: 80px;
  font-size: 0.34375rem;
  letter-spacing: 0.1em;
  text-align: right;
  color: #cccccc; }
  @media screen and (max-width: 767px) {
    #ttl h1 {
      padding-top: 15px;
      margin-bottom: 8vw;
      font-size: 10px;
      transform: scale(0.5);
      transform-origin: right top; } }

#point .content-wrap .content h2 {
  margin-bottom: 9.65%;
  text-align: center;
  font-size: 0.875rem;
  letter-spacing: 0.025em; }
  @media screen and (max-width: 767px) {
    #point .content-wrap .content h2 {
      margin-bottom: 14vw;
      font-size: 5.33vw; } }

#point .content-wrap .content h3 {
  margin-bottom: 4.9%;
  text-align: center;
  font-size: 0.9375rem;
  line-height: 1.5;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #point .content-wrap .content h3 {
      margin-bottom: 7vw;
      font-size: 4.8vw;
      line-height: 1.9;
      letter-spacing: 0.04em; } }

#point .content-wrap .content .text-img {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.3%; }
  @media screen and (max-width: 767px) {
    #point .content-wrap .content .text-img {
      display: block;
      margin-bottom: 11vw; } }
  #point .content-wrap .content .text-img:last-child {
    margin-bottom: 0; }
  #point .content-wrap .content .text-img:nth-child(even) .text {
    order: 1;
    padding-right: 0;
    padding-left: 5%; }
    @media screen and (max-width: 767px) {
      #point .content-wrap .content .text-img:nth-child(even) .text {
        padding-left: 0; } }
  #point .content-wrap .content .text-img:nth-child(even) .img {
    order: 0; }
  #point .content-wrap .content .text-img .text {
    width: 61.2%;
    padding-right: 5%;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      #point .content-wrap .content .text-img .text {
        width: 100%;
        padding-right: 0;
        margin-bottom: 2.5vw; } }
    #point .content-wrap .content .text-img .text h4 {
      margin-bottom: 2.4%;
      font-size: 0.625rem;
      line-height: 2;
      letter-spacing: 0.05em;
      font-weight: normal; }
      @media screen and (max-width: 767px) {
        #point .content-wrap .content .text-img .text h4 {
          margin-bottom: 10px;
          font-size: 4.26vw;
          line-height: 2;
          letter-spacing: 0.0em; } }
    #point .content-wrap .content .text-img .text p {
      font-size: 0.5rem;
      line-height: 2.3;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 767px) {
        #point .content-wrap .content .text-img .text p {
          font-size: 3.73vw;
          line-height: 2.4; } }
  #point .content-wrap .content .text-img .img {
    width: 38.8%;
    padding-top: 10px; }
    @media screen and (max-width: 767px) {
      #point .content-wrap .content .text-img .img {
        width: 95%;
        padding-top: 0;
        margin-left: auto;
        margin-right: auto; } }
    @media screen and (max-width: 767px) {
      #point .content-wrap .content .text-img .img.graph {
        width: 90%; } }
    #point .content-wrap .content .text-img .img img {
      width: 100%;
      height: auto; }

#features .content-wrap .content {
  padding-top: 9.8%; }
  @media screen and (max-width: 767px) {
    #features .content-wrap .content {
      padding-top: 17vw; } }

#features h3 {
  margin-bottom: 4.2%;
  text-align: center;
  font-size: 0.9375rem;
  line-height: 1.5;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #features h3 {
      margin-bottom: 6.5vw;
      font-size: 5.6vw; } }

#features .features-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6.1%; }
  @media screen and (max-width: 767px) {
    #features .features-wrap {
      display: block;
      margin-bottom: 7.5vw; } }
  #features .features-wrap .feature {
    width: 30%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #features .features-wrap .feature {
        width: 100%;
        margin-bottom: 7vw; } }
    @media screen and (max-width: 767px) {
      #features .features-wrap .feature:last-child {
        margin-bottom: 0; } }
    #features .features-wrap .feature .icon {
      margin-bottom: 10px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #features .features-wrap .feature .icon {
          margin-bottom: 4.3vw; } }
      #features .features-wrap .feature .icon img {
        width: 125px;
        height: 91px; }
    #features .features-wrap .feature h4 {
      margin-bottom: 15px;
      font-size: 0.5625rem;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 767px) {
        #features .features-wrap .feature h4 {
          margin-bottom: 4.2vw;
          font-size: 4.26vw; } }
    #features .features-wrap .feature p {
      font-size: 0.5rem;
      line-height: 2.3;
      letter-spacing: 0.05em;
      text-align: left; }
      @media screen and (max-width: 767px) {
        #features .features-wrap .feature p {
          padding-left: 3%;
          padding-right: 3%;
          font-size: 3.46vw;
          line-height: 2.55;
          letter-spacing: 0.1em; } }

#features .imgs {
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-evenly; }
  @media screen and (max-width: 767px) {
    #features .imgs {
      display: block;
      width: 100%; } }
  #features .imgs .img {
    margin-left: 2%;
    margin-right: 2%;
    font-size: 0.4375rem;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      #features .imgs .img {
        margin-bottom: 8vw;
        font-size: 3.46vw; } }
    #features .imgs .img img {
      width: 100%;
      height: auto;
      margin-bottom: 8px;
      vertical-align: top; }
      @media screen and (max-width: 767px) {
        #features .imgs .img img {
          margin-bottom: 3vw; } }

#access .content-wrap .content {
  padding-top: 6.2%;
  margin-bottom: 6.2%; }
  @media screen and (max-width: 767px) {
    #access .content-wrap .content {
      padding-top: 10.5vw;
      margin-bottom: 17.5vw;
      padding-left: 0;
      padding-right: 0; } }

#access h3 {
  margin-bottom: 4.2%;
  text-align: center;
  font-size: 0.9375rem;
  line-height: 1.5;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    #access h3 {
      margin-bottom: 6.5vw;
      font-size: 5.33vw; } }

#access .map {
  width: 100%;
  padding-top: 42.5%;
  margin-bottom: 20px;
  position: relative; }
  @media screen and (max-width: 767px) {
    #access .map {
      padding-top: 64%;
      margin-bottom: 8vw; } }
  #access .map iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0; }

#access p.info {
  font-size: 0.5rem;
  line-height: 2.25; }
  @media screen and (max-width: 767px) {
    #access p.info {
      padding-left: 4vw;
      padding-right: 4vw;
      font-size: 3.73vw;
      line-height: 2.2;
      letter-spacing: 0.05em; } }
  #access p.info span.atten {
    display: inline-block;
    padding-left: 12px;
    position: relative;
    font-size: 0.4375rem; }
    @media screen and (max-width: 767px) {
      #access p.info span.atten {
        margin-top: 2vw;
        font-size: 3.2vw; } }
    #access p.info span.atten:before {
      content: "*";
      position: absolute;
      left: 0;
      top: 3px; }
