@charset "UTF-8";
/* 
Eric Meyer's CSS Reset
http://meyerweb.com/eric/tools/css/reset/
v1.0 | 20080212
CSSresetr.com
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/* remember to define focus styles! */
:focus {
  outline: 0; }

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

/* tables still need 'cellspacing=0' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 100%;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0rem;
  color: #1b1b1b;
  background-color: #fff; }

a {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1; }

a[href]:not(.img-hover):hover {
  opacity: 0.6; }

#isSize {
  position: absolute;
  left: 0px;
  top: -10px;
  width: 0px;
  height: 0px; }

.container {
  display: none; }

/*------------------------------------------
 any
------------------------------------------*/
#preload-wrapper {
  display: none; }

.hidding {
  display: none !important; }

.spElm {
  display: none !important; }

#isSize {
  top: -10px; }

body {
  min-width: 1024px; }

.fade-in--anim-init {
  visibility: hidden; }

.fade-in--anim-start {
  background-position-y: 20px;
  opacity: 0; }

#freewifi {
  padding-top: 0;
  margin-top: 80px; }
  #freewifi a, #freewifi img {
    display: block; }
  #freewifi figure {
    margin: 0; }
  #freewifi .wrapper {
    position: relative;
    width: 1024px;
    margin: 0 auto;
    padding-bottom: 30px; }
  #freewifi .sec01 .inner {
    position: relative;
    width: 1024px;
    margin: 0 auto;
    border-bottom: 1px solid #2c2c2c;
    padding-bottom: 70px; }
    #freewifi .sec01 .inner img {
      margin: 0 auto;
      display: block; }
    #freewifi .sec01 .inner .wifi-wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -webkit-flex-direction: row-reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-top: 70px; }
      #freewifi .sec01 .inner .wifi-wrapper .wifi-img {
        width: 316px;
        margin-left: 60px; }
      #freewifi .sec01 .inner .wifi-wrapper .wifi-text {
        width: 620px; }
        #freewifi .sec01 .inner .wifi-wrapper .wifi-text h2 {
          font-size: 32px;
          line-height: 1; }
        #freewifi .sec01 .inner .wifi-wrapper .wifi-text p {
          font-size: 16px;
          line-height: 1.625;
          margin-top: 24px; }
        #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms {
          /* display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox; */
          display: block;
          width: 530px;
          /* height: 101px; */
          border: 2px solid #da1929;
          box-sizing: border-box;
          margin-top: 25px; }
          #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__title {
            display: table;
            width: 528px;
            height: 50px;
            background-color: #da1929; }
            #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__title span {
              display: table-cell;
              width: 100%;
              height: 100%;
              vertical-align: middle;
              text-align: center;
              font-size: 18px;
              color: #ffffff;
               }
              #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__title span b {
                font-size: 24px;
                font-weight: 700;
                line-height: 1.5; }
          #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__time {
            display: table;
            height: 99px;
            width: 526px; }
            #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__time span {
              display: table-cell;
              width: 100%;
              height: 100%;
              vertical-align: middle;
              text-align: center;
              font-size: 16px;
              line-height: 2.25;
              color: #da1929;
              padding-left: 0; }
              #freewifi .sec01 .inner .wifi-wrapper .wifi-text .terms .terms__time span b {
                font-size: 24px;
                font-weight: 700;
                line-height: 1.5; }
    #freewifi .sec01 .inner .btn_list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 864px;
      margin: 70px auto 0; }
      #freewifi .sec01 .inner .btn_list li {
        margin-left: 20px; }
        #freewifi .sec01 .inner .btn_list li:first-child {
          margin-left: 0px; }
        #freewifi .sec01 .inner .btn_list li a {
          display: table;
          width: 308px;
          height: 52px;
          background: #3449ca;
          border-radius: 8px;
          position: relative; }
          #freewifi .sec01 .inner .btn_list li a span {
            display: table-cell;
            width: 100%;
            height: 100%;
            vertical-align: middle;
            text-align: center;
            font-size: 16px;
            color: #ffffff; }
          #freewifi .sec01 .inner .btn_list li a:before {
            content: "";
            background: url("../img/icon_btn_arrow.png");
            background-size: contain;
            width: 14px;
            height: 19px;
            position: absolute;
            right: 22px;
            top: 17px; }
  #freewifi .sec02 .inner {
    position: relative;
    width: 1024px;
    margin: 70px auto 0; }
    #freewifi .sec02 .inner h2 {
      font-size: 26px; }
    #freewifi .sec02 .inner .procedure {
      margin-top: 39px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: center;
          -ms-flex-pack: justify;
              justify-content: center; }
      #freewifi .sec02 .inner .procedure li {
        margin-left: 29px; }
        #freewifi .sec02 .inner .procedure li:nth-child(3n+1) {
          margin-left: 0; }
        #freewifi .sec02 .inner .procedure li:nth-child(n+4) {
          margin-top: 47px; }
      #freewifi .sec02 .inner .procedure .procedure__item {
        background: #dcdcdc;
        width: 322px;
        position: relative;
        padding-top: 19px;
        padding-bottom: 21px; }
        #freewifi .sec02 .inner .procedure .procedure__item:before {
          content: ""; }
        #freewifi .sec02 .inner .procedure .procedure__item .icon {
          width: 50px;
          position: absolute;
          top: 0;
          left: 0; }
        #freewifi .sec02 .inner .procedure .procedure__item .text {
          padding-left: 67px;
          padding-right: 10px;
          font-size: 15px;
          line-height: 1.4; }
          #freewifi .sec02 .inner .procedure .procedure__item .text .red {
            color: #da1929; }
        #freewifi .sec02 .inner .procedure .procedure__item > img {
          margin: 37px auto 0;
          width: 282px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n01 {
          margin-top: 0; }
          #freewifi .sec02 .inner .procedure .procedure__item.n01:before {
            content: none; }
          #freewifi .sec02 .inner .procedure .procedure__item.n01 > img {
            width: 292px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n02 {
          margin-top: 20px;
          padding-bottom: 16px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n02 > img {
            margin-top: 16px;
            width: 292px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n02:before {
            background-image: url("../img/sec02_arrow01.png");
            width: 40px;
            height: 31px;
            position: absolute;
            top: -20px;
            left: 141px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n03 {
          padding-bottom: 20px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n03 > img {
            width: 292px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n03:before {
            background-image: url("../img/sec02_arrow02.png");
            width: 39px;
            height: 50px;
            position: absolute;
            top: 110px;
            left: -29px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n04:before {
          background-image: url("../img/sec02_arrow02.png");
          width: 39px;
          height: 50px;
          position: absolute;
          top: 308px;
          left: -29px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n05 {
          border: 1px solid #acacac;
          background: #fff;
          box-sizing: border-box;
          height: 318px;
          display: table; }
          #freewifi .sec02 .inner .procedure .procedure__item.n05:before {
            content: "";
            background-image: url(../img/sec02_arrow03.png);
            width: 40px;
            height: 31px;
            position: absolute;
            top: -21px;
            left: 140px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n05 > img {
            margin-top: 0;
            width: 226px;
            margin-right: 59px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n05 .text {
            display: table-cell;
            width: 100%;
            height: 100%;
            vertical-align: middle;
            text-align: left;
            padding-left: 0;
            padding-right: 0; }
            #freewifi .sec02 .inner .procedure .procedure__item.n05 .text p {
              margin-left: 19px; }
          #freewifi .sec02 .inner .procedure .procedure__item.n05 a {
            display: table;
            width: 282px;
            height: 42px;
            background: #da1929;
            border-radius: 8px;
            position: relative;
            margin: 25px auto 0; }
            #freewifi .sec02 .inner .procedure .procedure__item.n05 a:last-child {
              margin: 14px auto 0; }
            #freewifi .sec02 .inner .procedure .procedure__item.n05 a span {
              display: table-cell;
              width: 100%;
              height: 100%;
              vertical-align: middle;
              text-align: center;
              font-size: 14px;
              color: #ffffff; }
            #freewifi .sec02 .inner .procedure .procedure__item.n05 a:before {
              content: "";
              background: url("../img/icon_btn_arrow.png");
              background-size: contain;
              background-repeat: no-repeat;
              width: 12px;
              height: 16px;
              position: absolute;
              right: 14px;
              top: 13px; }
        #freewifi .sec02 .inner .procedure .procedure__item.n06 {
          background: #fff;
          box-sizing: border-box;
          width: 1024px;
          padding: 0; }
          #freewifi .sec02 .inner .procedure .procedure__item.n06:before {
            content: none; }
          #freewifi .sec02 .inner .procedure .procedure__item.n06 h3 {
            font-size: 20px;
            line-height: 1.2;
            color: #da1929; }
          #freewifi .sec02 .inner .procedure .procedure__item.n06 .limit_box {
            margin-top: 25px;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; }
            #freewifi .sec02 .inner .procedure .procedure__item.n06 .limit_box img {
              background: #f4f4f4;
              border: 1px solid #e6e6e6;
              box-sizing: border-box;
              padding: 20px 15px; }
            #freewifi .sec02 .inner .procedure .procedure__item.n06 .limit_box .text {
              padding-left: 30px; }
              #freewifi .sec02 .inner .procedure .procedure__item.n06 .limit_box .text .attention {
                font-size: 13px;
                line-height: calc(22/13);
                color: #7e7e7e;
                margin-top: 11px;
                display: block; }
  #freewifi .sec03 {
    position: relative;
    border-bottom: 1px solid #2c2c2c;
    padding-bottom: 70px; }
    #freewifi .sec03 .inner {
      margin: 0 auto; }
      #freewifi .sec03 .inner .error-list {
        margin-top: 47px; }
        #freewifi .sec03 .inner .error-list h2 {
          font-size: 20px;
          line-height: 1.2;
          color: #da1929;
          margin-bottom: 22px; }
        #freewifi .sec03 .inner .error-list > p {
          font-size: 15px;
          line-height: 1.4; }
          #freewifi .sec03 .inner .error-list > p.bold {
            font-weight: bold; }
            #freewifi .sec03 .inner .error-list > p.bold .red {
              color: #da1929; }
          #freewifi .sec03 .inner .error-list > p.attention {
            color: #7e7e7e;
            font-size: 13px;
            line-height: 1.692;
            margin: 16px auto 0; }
            #freewifi .sec03 .inner .error-list > p.attention + .attention {
              margin-top: 0; }
        #freewifi .sec03 .inner .error-list .box-text {
          width: 1024px;
          height: 47px;
          border: 1px solid #da1929;
          margin: 16px auto 0;
          box-sizing: border-box;
          padding: 12px 20px; }
          #freewifi .sec03 .inner .error-list .box-text span {
            font-size: 15px;
            line-height: 1.4;
            color: #da1929;
            font-weight: bold; }
        #freewifi .sec03 .inner .error-list .procedure {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          margin-top: 36px; }
          #freewifi .sec03 .inner .error-list .procedure li {
            position: relative;
            margin-left: 29px;
            width: 234px;
            background: #f4f4f4;
            border: 1px solid #e6e6e6;
            box-sizing: border-box;
            padding-top: 12px;
            padding-bottom: 18px; }
            #freewifi .sec03 .inner .error-list .procedure li:before {
              content: "";
              background: url("../img/sec03_arrow01.png");
              background-size: contain;
              width: 43px;
              height: 56px;
              position: absolute;
              z-index: 1;
              top: 50%;
              margin-top: -28px;
              margin-left: -31px; }
            #freewifi .sec03 .inner .error-list .procedure li:first-child {
              margin-left: 0; }
              #freewifi .sec03 .inner .error-list .procedure li:first-child:before {
                content: none; }
            #freewifi .sec03 .inner .error-list .procedure li .icon {
              position: absolute;
              left: 0;
              top: 0;
              width: 39px; }
            #freewifi .sec03 .inner .error-list .procedure li .text {
              padding-left: 49px;
              padding-right: 10px; }
              #freewifi .sec03 .inner .error-list .procedure li .text p {
                font-size: 14px;
                line-height: 1.286; }
                #freewifi .sec03 .inner .error-list .procedure li .text p .red {
                  color: #da1929; }
            #freewifi .sec03 .inner .error-list .procedure li > img {
              width: 202px;
              margin: 31px auto 0; }
            #freewifi .sec03 .inner .error-list .procedure li.n02 > img {
              margin-top: 30px; }
            #freewifi .sec03 .inner .error-list .procedure li.n03 > img {
              margin-top: 13px;
              width: 214px; }
            #freewifi .sec03 .inner .error-list .procedure li.n04 > img {
              margin-top: 13px; }
        #freewifi .sec03 .inner .error-list#android .procedure li.n02 > img {
          margin-top: 12px; }
  #freewifi .sec04 {
    position: relative;
    border-bottom: 1px solid #2c2c2c;
    padding-bottom: 40px;
    margin-top: 70px; }
    #freewifi .sec04 .inner {
      margin: 0 auto; }
      #freewifi .sec04 .inner h2 {
        font-size: 26px; }
      #freewifi .sec04 .inner .qa-list {
        width: 1024px;
        margin: 8px auto 30px; }
        #freewifi .sec04 .inner .qa-list .qa-list__item {
          width: 1024px;
          margin: 0 auto; }
          #freewifi .sec04 .inner .qa-list .qa-list__item:before {
            content: "";
            background: url("../img/line.jpg") repeat-x;
            width: 1024px;
            height: 2px;
            display: block;
            margin: 0 auto;
            position: relative;
            left: -8px; }
          #freewifi .sec04 .inner .qa-list .qa-list__item:first-child:before {
            content: none; }
          #freewifi .sec04 .inner .qa-list .qa-list__item .question {
            position: relative;
            display: block;
            padding: 36px 55px 33px; }
            #freewifi .sec04 .inner .qa-list .qa-list__item .question:before {
              content: "";
              background-image: url("../img/icon_question.png");
              background-size: contain;
              width: 39px;
              height: 35px;
              position: absolute;
              left: 0;
              top: 50%;
              margin-top: -17px; }
            #freewifi .sec04 .inner .qa-list .qa-list__item .question span {
              font-size: 16px;
              line-height: 1.625; }
            #freewifi .sec04 .inner .qa-list .qa-list__item .question:after {
              content: "";
              background-image: url("../img/icon_open.png");
              background-size: contain;
              width: 15px;
              height: 15px;
              position: absolute;
              right: 20px;
              top: 50%;
              margin-top: -7px; }
          #freewifi .sec04 .inner .qa-list .qa-list__item .answer {
            overflow: hidden;
            position: relative;
            background: rgba(229, 229, 229, 0.3);
            margin-bottom: 30px;
            -webkit-transition: all 0.3s;
            transition: all 0.3s; }
            #freewifi .sec04 .inner .qa-list .qa-list__item .answer:before {
              content: "";
              background-image: url("../img/icon_answer.png");
              background-size: contain;
              width: 39px;
              height: 35px;
              position: absolute;
              left: 20px;
              top: 21px; }
            #freewifi .sec04 .inner .qa-list .qa-list__item .answer p {
              padding: 27px 20px 27px 77px;
              box-sizing: border-box; }
              #freewifi .sec04 .inner .qa-list .qa-list__item .answer p span {
                font-size: 15px;
                line-height: 1.6; }
          #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--close .question:after {
            background-image: url("../img/icon_close.png"); }
          #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--close .answer {
            height: 0;
            margin-bottom: 0; }
          #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--headline + .qa-list__item:before {
            content: none; }
          #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--headline h2 {
            font-size: 20px;
            line-height: 1.3;
            position: relative;
            display: block;
            padding: 31px 25px 24px;
            box-sizing: border-box;
            margin-top: 27px; }
            #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--headline h2:before {
              content: "";
              background: #da1929;
              position: absolute;
              width: 10px;
              height: 10px;
              margin-top: 6px;
              margin-left: -25px; }
          #freewifi .sec04 .inner .qa-list .qa-list__item.qa-list--headline:first-child h2 {
            margin-top: 0; }
  #freewifi .sec06 {
    position: relative;
    margin: 0 auto; }
    #freewifi .sec06 .inner {
      margin: 0 auto;
      position: relative; }
      #freewifi .sec06 .inner .btn_list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 864px;
        margin: 70px auto 0; }
        #freewifi .sec06 .inner .btn_list li {
          margin-left: 20px; }
          #freewifi .sec06 .inner .btn_list li:first-child {
            margin-left: 0px; }
          #freewifi .sec06 .inner .btn_list li a {
            display: table;
            width: 308px;
            height: 52px;
            background: #3449ca;
            border-radius: 8px;
            position: relative; }
            #freewifi .sec06 .inner .btn_list li a span {
              display: table-cell;
              width: 100%;
              height: 100%;
              vertical-align: middle;
              text-align: center;
              font-size: 16px;
              color: #ffffff; }
            #freewifi .sec06 .inner .btn_list li a:before {
              content: "";
              background: url("../img/icon_btn_arrow.png");
              background-size: contain;
              width: 14px;
              height: 19px;
              position: absolute;
              right: 22px;
              top: 17px;
              -webkit-transform: rotate(180deg);
                  -ms-transform: rotate(180deg);
                      transform: rotate(180deg); }

#splush {
  width: 100%;
  height: 100%; }
  #splush iframe {
    width: 100%;
    height: 100%; }

#cboxOverlay {
  background-color: #fff; }
