@charset "UTF-8";

/* pc style */
@media screen and (min-width:768px){
  .top {
    display: block;
    /*
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    */
  }
  .top .sp {
    display: none;
  }
  .top .main-area {
    position: relative;
    height: 540px;
    overflow: hidden;
  }
  .top .main-area .main-area-inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
  }
  .top .main-area .img-main {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .top .main-area h2 {
    margin: 90px 0 10px;
    color: #3c3c3c;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 1px;
  }
  .top .main-area h2 .sub {
    display: block;
    font-size: 26px;
    letter-spacing: 3px;
  }
  .top .main-area p {
    margin-bottom: 20px;
    color: #3c3c3c;
    font-size: 20px;
  }
  .top .main-area .mvcv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    width: 540px;
  }
  .top .main-area .mvcv a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
            margin-bottom: 20px;
    width: 250px;
    height: 80px;
    padding: 5px;
    box-shadow: 0 2px 5px 2px rgba(0,0,0,0.2);
    font-size: 16px;
    text-align: left;
    transition: 0.4s;
  }
  .top .main-area .mvcv a:last-of-type {
    /* margin-left: 15px; */
  }
  .top .main-area .mvcv a.blue-btn {
    background: #0081C0;
  }
  .top .main-area .mvcv a.blue-btn:hover {
    background: #2baecf;
  }
  .top .main-area .mvcv a .txt-sub {
    display: block;
    font-size: 0.875rem;
  }
  .top .main-area .mvcv a .icon_search {
    display: block;
    margin-right: 15px;
  }
  .top .main-area .mvcv a.campaign-btn {
    width: 310px;
    background: #FFC43B;
    color: #000;
  }
  .top .main-area .mvcv a.campaign-btn:hover {
    background: #ffd87e;
  }

  /* =========================
    カルーセル(共通)
  ========================= */
  /* カルーセル矢印
  ---------------*/
  .top .slick-prev,
  .top .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50px;
    height: 60px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    cursor: pointer;
    color: #222;
    border: none;
    outline: none;
    background-color: #01627A;
    border-radius: 0;
    z-index: 10;
  }
  .top .slick-prev:hover,
  .top .slick-prev:focus,
  .top .slick-next:hover,
  .top .slick-next:focus {
    color: #222;
    outline: none;
    background-color: #01627A;
  }
  .top .slick-prev:hover,
  .top .slick-next:hover {
    background-color: #5995a4;
  }
  .top .slick-prev:hover:before,
  .top .slick-prev:focus:before,
  .top .slick-next:hover:before,
  .top .slick-next:focus:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-prev.slick-disabled:before,
  .top .slick-next.slick-disabled:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-prev:before,
  .top .slick-next:before {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Roboto", -apple-system;
    position: absolute;
    top: 50%;
    left: 17px;
    display: block;
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    color: #222;
    width: 22px;
    height: 22px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: translate(0, -50%) rotate(-45deg);
        -ms-transform: translate(0, -50%) rotate(-45deg);
            transform: translate(0, -50%) rotate(-45deg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .top .slick-prev {
    left: calc(((100vw - 755px) / 2) * -1);
  }
  .top [dir='rtl'] .slick-prev {
    right: calc(((100vw - 755px) / 2) * -1);
    left: auto;
  }
  .top .slick-prev:before {
    content: '';
  }
  .top [dir='rtl'] .slick-prev:before {
    content: '';
  }
  .top .slick-next {
    right: calc(((100vw - 755px) / 2) * -1);
  }
  .top [dir='rtl'] .slick-next {
    right: auto;
    left: calc(((100vw - 755px) / 2) * -1);
  }
  .top .slick-next:before {
    content: '';
    left: 9px;
    -webkit-transform: translate(0, -50%) rotate(135deg);
        -ms-transform: translate(0, -50%) rotate(135deg);
            transform: translate(0, -50%) rotate(135deg);
  }
  .top [dir='rtl'] .slick-next:before {
    content: '';
  }
  /* カルーセルドット
  ---------------*/
  .top .slick-dotted.slick-slider {
    margin-bottom: 50px;
  }
  .top .slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
  }
  .top .slick-dots li {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 26px;
    margin: 0 4px;
    padding: 0;
    cursor: pointer;
  }
  .top .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 18px;
    height: 26px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .top .slick-dots li button:hover,
  .top .slick-dots li button:focus {
    outline: none;
  }
  .top .slick-dots li button:hover:before,
  .top .slick-dots li button:focus:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-dots li button:before {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Roboto", -apple-system;
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #ccc;
    text-align: center;
    opacity: 1.0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    color: #222;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .top .slick-dots li.slick-active button:before {
    content: "";
    display: inline-block;
    margin: 0;
    width: 17px;
    height: 26px;
    background-color: transparent;
    background: url(/img/wordpress/top_slider_on.png) 0 0 no-repeat;
    background-size: auto 26px;
    border-radius: 0;
    vertical-align: middle;
    opacity: 1.0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }

  /* =========================
    カルーセル(通常)
  ========================= */
  .top .cmn-slider {
    margin: 40px auto 0;
    width: 740px;
  }
  .top .cmn-slider .slick-list {
    margin-right: -20px !important;
    /* ガター分ネガティブマージン */
    margin-left: -10px !important;
    padding: 0 !important;
    overflow: visible;
  }
  .top .cmn-slider .slick-slide {
    margin-right: 20px;
    /* ガター */
    background: #fff;
  }
  .top .slick-slider div {
    /* 逆戻り回避 */
    transition: none;
  }
  .top .cmn-slider .slick-slide:not(.slick-active) {
    /* アクティブでないスライダーを透過 */
    opacity: 0.4;
  }
  .top .cmn-slider .slider-box {
    display: block;
    width: 100%;
    padding: 0;
    color: #222;
    text-align: left;
    line-height: 1.5;
    text-decoration: none;
  }
  .top .cmn-slider .slider-box .img-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 120px;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  .top .cmn-slider .slider-box .img-block img {
    display: block;
    width: 100%;
    height: auto;
  }



  .top .container {
    width: 100%;
  }
  .top .container .background {
    width: 100%;
    position: absolute;
    top: 590px;
  }
  .top .text {
    text-align: center;
    font-size: 26px;
    color: #01627a;
  }
  .features .expantion {
    font-weight: bold;
  }
  .telecube {
    display: flex;
    justify-content: center;
    padding: 60px 0 100px 0;
  }
  .telecube .attention,
  .top .howto .attention {
    font-size: 14px;
    text-align: left;
  }
  .telecube-area {
    max-width: 1000px;
  }
  .telecube .over {
    display: flex;
    justify-content: space-between;
    margin: 50px auto;
  }
  .telecube .under {
    display: flex;
    justify-content: center;
    height: 300px;
  }
  .telecube .over span {
    width: 33%;
    padding: 0px 10px;
    text-align: center;
  }
  .telecube .over .to-price {
    padding-top: 5px;
    text-align: center;
  }
  .telecube .over .to-price a {
    position: relative;
    display: inline-block;
    padding-right: 15px;
    color: #fff;
    text-decoration: none;
  }
  .telecube .over .to-price a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin: auto;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
      transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
    height: 10px;
  }
  .telecube .over .to-price a:hover {
    text-decoration: none;
    text-decoration: underline;
  }
  .telecube .under span {
    width: 33%;
    padding: 0px 10px;
    text-align: center;
  }
  .telecube .under img,
  .telecube .over img {
    max-width: 100%;
    margin-bottom: 7px;
  }
  .telecube .sub {
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
  }
  .top .bg_blue {
    text-align: center;
    background: #019FC7;
    color: #fff;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 60px 0 0 0;
  }
  .telecube .container {
    max-width: 1000px;
  }
  .telecube .text {
    text-align: center;
    font-size: 32px;
    color: #fff;
    margin-top: 5px;
  }
  .telecube .sentence {
    text-align: left;
  }

  .top .locale {
    background: url(/img/wordpress/top_bg02.png);
    height: 260px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    flex-direction: column;
  }

  .top .howto {
    position: relative;
    display: flex;
    justify-content: center;
    background: linear-gradient(180deg,#F3F3F3 0%,#F3F3F3 590px,#FFF 590px,#fff 100%);
  }
  .top .howto .procedure-block {
    position: relative;
    width: 1000px;
    height: 2150px;
    height: 3150px;
    display: flex;
    justify-content: center;
  }
  .top .howto .procedure-block .background {
    position: absolute;

  }
  .top .howto .procedure-box {
    position: absolute;
    width: 570px;
    height: 400px;
    background-position: left;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .top .howto .procedure-box:nth-child(2n) {
    background-position: right;
  }
  .top .howto .procedure-01 {
    background-image: url(/img/wordpress/top-usage01.png);
    padding: 25px 0 0 220px;
    top: 200px;
    left: 0;
  }
  .top .howto .procedure-02 {
    background-image: url(/img/wordpress/top-usage02.png);
    padding: 25px 220px 0 0;
    top: 650px;
    right: 0;
  }
  .top .howto .procedure-03 {
    background-image: url(/img/wordpress/top-usage03.png);
    padding: 25px 0 0 220px;
    top: 1100px;
    left: 0;
  }
  .top .howto .procedure-04 {
    background-image: url(/img/wordpress/top-usage04.png);
    padding: 25px 220px 0 0;
    top: 1550px;
    right: 0;
  }
  .top .howto .procedure-05 {
    background-image: url(/img/wordpress/top-usage05.png);
    padding: 25px 0 0 220px;
    top: 2000px;
    left: 0;
  }
  .top .howto .procedure-06 {
    background-image: url(/img/wordpress/top-usage06.png);
    padding: 25px 230px 0 0;
    top: 2450px;
    right: 0;
  }
  .top .howto sup {
    font-size: 10px;
    vertical-align: super;
  }
  .top .howto .arrow {
    position: absolute;
    left: 380px;
  }
  .top .howto .arrow-01 {
    top: 480px;
  }
  .top .howto .arrow-02 {
    top: 970px;
  }
  .top .howto .arrow-03 {
    top: 1400px;
  }
  .top .howto .arrow-04 {
    top: 1850px;
  }
  .top .howto .arrow-05 {
    top: 2300px;
  }

  .top .sub-title {
    color: #01627a;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    margin-top: 90px;
  }
  .top .howto .num {
    font-size: 26px;
    font-weight: bold;
    width: 60px;
    height: 60px;
    color: #fff;
    background: #019fc7;
    text-align: center;
    border-radius: 50%;
    line-height: 60px;
  }
  .top .howto .text {
    color: #01627a;
    font-size: 26px;
    margin: 10px 0;
    text-align: left;
  }
  .top .howto a.white-btn {
    bottom: 180px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
  }
  .top .white-btn .blue-arrow {
    position: absolute;
    top: 40%;
    right: 8px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 1px #019fc7;
    border-right: solid 1px #019fc7;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .top .convenient {
    position: relative;
    background: #F3F3F3;
    text-align: center;
    margin-bottom: 0;
    padding-bottom: 130px;
  }
  .top .convenient .under-img01 {
    position: absolute;
    top: -80px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .top .convenient .under-img01 {
    z-index: 1000;
    position: relative;
  }
  .top .convenient .under-img02 {
    max-width: 100%;
  }
  .top .convenient .over {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .top .convenient .under {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .top .circle-04 {
    position: absolute;
    top: 0;
    left: 42%;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_13.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-05 {
    position: absolute;
    top: 290px;
    left: 230px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_14.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-06 {
    position: absolute;
    top: 320px;
    left: 880px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_15.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-07 {
    position: absolute;
    top: 650px;
    left: 230px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_16.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-08 {
    position: absolute;
    top: 650px;
    left: 860px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_17.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }

  .top .background {
    width: 100%;
  }
  .top .content {
    overflow: hidden;
  }
  .top .climb_over {
    position: relative;
    width: 100%;
    background-color: #F3F3F3;
  }
  .top .climb_over::after {
    content: '';
    display: block;
    position: absolute;
    left:0;
    bottom: 0;
    border-top: 120px solid transparent;
    border-left: 50vw solid #fff;
    border-right: 50vw solid transparent;
    border-bottom: 120px solid #fff;
  }
  .top .climb_under {
    width: 100%;
    background-color: #fff;
  }
  .top .descend_over {
    position: relative;
    width: 100%;
    background-color: #fff;
  }
  .top .descend_over::after {
    content: '';
    display: block;
    position: absolute;
    left:0;
    bottom: 0;
    border-top: 120px solid transparent;
    border-left: 50vw solid transparent;
    border-right: 50vw solid #F3F3F3;
    border-bottom: 120px solid #F3F3F3;
    z-index: 0;
  }
  .top .descend_under {
    width: 100%;
    background-color: #F3F3F3;
  }
  .top .spot {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px;
  }
  .top .expantion {
    font-weight: bold;
  }

    .informaton {
      max-width: 1130px;
      margin: 0 auto 60px;
    }
    .consortium ul {
        text-align: center;
    }
    .consortium li {
        display: inline-block;
    }

  .fuwa {
    height: 550px;
    width: 100%;
    max-width: 490px;
    margin: 0 auto;
    text-align: right;
    position: absolute;
    top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .fuwa .double {
    top: 0;
    right: 0;
    position: absolute;
  }
  .sp-only, .width {
    width: 100%;
  }
}


/* sp style */
@media screen and (max-width:767px){
  .top .white-btn {
    display: inline-block;
  }
  .top .white-btn .blue-arrow {
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 1px #019fc7;
    border-right: solid 1px #019fc7;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 8px;
    top: 42%;
  }
  .top {
    display: block;
    /*
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    */
  }
  .top .pc {
    display: none;
  }
  .top .main-area {
    position: relative;
    height: 530px;
    overflow: hidden;
  }
  .top .main-area .main-area-inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .top .main-area .img-main {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .top .main-area h2 {
    margin: 25px 0 10px;
    color: #3c3c3c;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 1px;
  }
  .top .main-area h2 .sub {
    display: block;
    font-size: 26px;
    letter-spacing: 3px;
  }
  .top .main-area p {
    margin-bottom: 20px;
    color: #3c3c3c;
    font-size: 16px;
  }
  .top .main-area .mvcv {
    width: auto;
  }
  .top .main-area .mvcv a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 250px;
    height: 60px;
    margin: 0 auto 15px;
    padding: 5px;
    box-shadow: 0 2px 5px 2px rgba(0,0,0,0.2);
    font-size: 16px;
    text-align: left;
  }
  .top .main-area .mvcv a.blue-btn {
    height: 70px;
    background: #0081C0;
  }
  .top .main-area .mvcv a .txt-sub {
    display: block;
    font-size: 0.875rem;
  }
  .top .main-area .mvcv a .icon_search {
    display: block;
    margin-right: 13px;
  }
  .top .main-area .mvcv a.campaign-btn {
    height: 70px;
    text-align: center;
    background: #FFC43B;
    color: #000;
  }

  /* =========================
    カルーセル(共通)
  ========================= */
  /* カルーセル矢印
  ---------------*/
  .top .slick-prev,
  .top .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 30px;
    height: 40px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    cursor: pointer;
    color: #222;
    border: none;
    outline: none;
    background-color: #01627A;
    border-radius: 0;
    z-index: 10;
  }
  .top .slick-prev:hover,
  .top .slick-prev:focus,
  .top .slick-next:hover,
  .top .slick-next:focus {
    color: #222;
    outline: none;
    background-color: #01627A;
  }
  .top .slick-prev:hover,
  .top .slick-next:hover {
    background-color: #5995a4;
  }
  .top .slick-prev:hover:before,
  .top .slick-prev:focus:before,
  .top .slick-next:hover:before,
  .top .slick-next:focus:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-prev.slick-disabled:before,
  .top .slick-next.slick-disabled:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-prev:before,
  .top .slick-next:before {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Roboto", -apple-system;
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    color: #222;
    width: 16px;
    height: 16px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: translate(0, -50%) rotate(-45deg);
        -ms-transform: translate(0, -50%) rotate(-45deg);
            transform: translate(0, -50%) rotate(-45deg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .top .slick-prev {
    left: -12.5%;
  }
  .top [dir='rtl'] .slick-prev {
    right: -12.5%;
    left: auto;
  }
  .top .slick-prev:before {
    content: '';
  }
  .top [dir='rtl'] .slick-prev:before {
    content: '';
  }
  .top .slick-next {
    right: -12.5%;
  }
  .top [dir='rtl'] .slick-next {
    right: auto;
    left: -12.5%;
  }
  .top .slick-next:before {
    content: '';
    left: 5px;
    -webkit-transform: translate(0, -50%) rotate(135deg);
        -ms-transform: translate(0, -50%) rotate(135deg);
            transform: translate(0, -50%) rotate(135deg);
  }
  .top [dir='rtl'] .slick-next:before {
    content: '';
  }
  /* カルーセルドット
  ---------------*/
  .top .slick-dotted.slick-slider {
    margin-bottom: 25%;
  }
  .top .slick-dots {
    position: absolute;
    bottom: -40%;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
  }
  .top .slick-dots li {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 26px;
    margin: 0 4px;
    padding: 0;
    cursor: pointer;
  }
  .top .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 18px;
    height: 26px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .top .slick-dots li button:hover,
  .top .slick-dots li button:focus {
    outline: none;
  }
  .top .slick-dots li button:hover:before,
  .top .slick-dots li button:focus:before {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
  .top .slick-dots li button:before {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Roboto", -apple-system;
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #ccc;
    text-align: center;
    opacity: 1.0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    color: #222;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .top .slick-dots li.slick-active button:before {
    content: "";
    display: inline-block;
    margin: 0;
    width: 17px;
    height: 26px;
    background-color: transparent;
    background: url(/img/wordpress/top_slider_on.png) 0 0 no-repeat;
    background-size: auto 26px;
    border-radius: 0;
    vertical-align: middle;
    opacity: 1.0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }

  /* =========================
    カルーセル(通常)
  ========================= */
  .top .cmn-slider {
    margin: 20px auto 0;
    width: 80%;
  }
  .top .cmn-slider .slick-list {
    margin-right: -10px !important;
    /* ガター分ネガティブマージン */
    margin-left: -2px !important;
    padding: 0 !important;
    overflow: visible;
  }
  .top .cmn-slider .slick-slide {
    margin-right: 10px;
    /* ガター */
    background: #fff;
  }
  .top .slick-slider div {
    /* 逆戻り回避 */
    transition: none;
  }
  .top .cmn-slider .slick-slide:not(.slick-active) {
    /* アクティブでないスライダーを透過 */
    opacity: 0.4;
  }
  .top .cmn-slider .slider-box {
    display: block;
    width: 100%;
    padding: 0;
    color: #222;
    text-align: left;
    line-height: 1.5;
    text-decoration: none;
  }
  .top .cmn-slider .slider-box .img-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100px;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  .top .cmn-slider .slider-box .img-block img {
    display: block;
    width: 100%;
    height: auto;
  }



  .top .container {
    width: 100%;
  }
  .top .container .hukidasi {
    max-width: 95%;
  }
  .top .container .background {
    width: 100%;
    position: absolute;
    top: 280px;
  }
  .top .text {
    text-align: center;
    font-size: 20px;
    color: #01627a;
  }
  .telecube {
    display: flex;
    justify-content: center;
    padding: 60px 0 100px 0;
  }
  .telecube .attention {
    font-size: 14px;
    text-align: left;
  }
  .telecube-area {
    max-width: 1000px;
  }
  .telecube .over {
    display: flex;
    justify-content: space-between;
    margin: 50px auto;
    flex-direction: column;
    align-items: center;
    max-width: 330px;
  }
  .telecube .under {
    display: flex;
    justify-content: center;
    height: 300px;
  }
  .telecube .over span {
    width: 95%;
    text-align: center;
    margin-top: 15px;
  }
  .telecube .over .to-price {
    padding-top: 5px;
    text-align: center;
  }
  .telecube .over .to-price a {
    position: relative;
    display: inline-block;
    padding-right: 15px;
    color: #fff;
    text-decoration: none;
  }
  .telecube .over .to-price a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin: auto;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
      transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
    height: 10px;
  }
  .telecube .over img {
    max-width: 100%;
    margin-bottom: 7px;
  }
  .telecube .sub {
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
  }
  .top .bg_blue {
    text-align: center;
    background: #019FC7;
    color: #fff;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0;
  }
  .telecube .container {
    max-width: 1000px;
  }
  .telecube .text {
    text-align: center;
    font-size: 26px;
    color: #fff;
    margin-top: 5px;
  }
  .telecube .sentence {
    text-align: left;
  }
  .top .locale {
    background: url(/img/wordpress/top_bg02.png);
    height: 180px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    flex-direction: column;
  }
  .top .howto {
    position: relative;
    display: flex;
    justify-content: center;
    background: linear-gradient(180deg,#F3F3F3 0%,#F3F3F3 280px,#FFF 280px,#fff 100%);
  }
  .top .howto .procedure-block {
    position: relative;
  }
  .top .howto .procedure-block .background {
    position: absolute;
  }
  .top .howto .arrow-01 {
    top: 480px;
    position: absolute;
  }
  .top .howto .arrow-02 {
    top: 970px;
    position: absolute;
  }
  .top .howto .arrow-03 {
    top: 1350px;
    position: absolute;
  }
  .top .sub-title {
    color: #01627a;
    font-weight: bold;
    text-align: center;
    margin: 60px 0 40px 0;
    font-size: 26px;
  }
  .top .howto a.white-btn {
    text-align: center;
    display: inline-block;
  }

  .howto .step {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .howto .step img {
    max-width: 240px;
  }
  .howto .step .ss_image {
      padding: 30px 0;
  }
  .howto .sp-only .step {
    padding: 0 15px;
  }
  .howto .sp-only .step p {
    max-width: 330px;
  }
  .howto .sp-only .step .attention {
    max-width: 330px;
    font-size: 14px;
  }
  .howto .sp-only .step .parent {
    display: flex;
    align-items: center;
    margin: 15px 0;
  }
  .howto .sp-only .step .step-num {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: #019FC7;
    border-radius: 50%;
    line-height: 60px;
    text-align: center;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    margin-right: 15px;
  }
  .howto .sp-only .step-text {
    color: #01627A;
    font-size: 26px;
  }
  .howto .step-list {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top .convenient {
    position: relative;
    padding-top: 270%;
    overflow: hidden;
    background: -webkit-linear-gradient(#fff 0%, #fff 190px, #F3F3F3 190px, #F3F3F3 1100px, #fff 1100px, #fff 100%);
    background: -o-linear-gradient(#fff 0%, #fff 190px, #F3F3F3 190px, #F3F3F3 1100px, #fff 1100px, #fff 100%);
    background: linear-gradient(#fff 0%, #fff 190px, #F3F3F3 190px, #F3F3F3 1100px, #fff 1100px, #fff 100%);
    height:1000px;
    padding-top: 0;
    }
  .top .under-img01 {
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .top .under-img02 {
    position: absolute;
    top: 550px;
    left: 52%;
    transform: translate(-50%, -50%);
    max-width: 120%;
  }
  .top .convenient .over {
    position: absolute;
    top: 190px;
    left: 0px;
    width: 100%;
  }
  .top .convenient .under {
    position: absolute;
    top: 1000px;
    left: 0px;
    width: 100%;
  }
  .top .convenient .allimg {
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    width: 115%;
  }
  .top .convenient .over {
    position: absolute;
  }

  .top .circle-04 {
    position: absolute;
    top: 0;
    left: 42%;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_13.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-05 {
    position: absolute;
    top: 290px;
    left: 230px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_14.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-06 {
    position: absolute;
    top: 320px;
    left: 880px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_15.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-07 {
    position: absolute;
    top: 650px;
    left: 230px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_16.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }
  .top .circle-08 {
    position: absolute;
    top: 650px;
    left: 860px;
    height: 0;
    padding-top: 56.25%;
    background: url(/img/wordpress/top_17.png) 0 0 no-repeat;
    background-size: contain;
    width: 180px;
    z-index: -100;
  }

  .top .background {
    width: 100%;
  }
  .top .content {
    overflow: hidden;
  }
  .top .climb_over {
    position: relative;
    width: 100%;
    background-color: #F3F3F3;
  }
  .top .climb_over::after {
    content: '';
    display: block;
    position: absolute;
    left:0;
    bottom: 0;
    border-top: 60px solid transparent;
    border-left: 50vw solid #fff;
    border-right: 50vw solid transparent;
    border-bottom: 60px solid #fff;
  }

  .top .climb_under {
    width: 100%;
    background-color: #fff;
  }

  .top .descend_over {
    position: relative;
    width: 100%;
    background-color: #fff;
  }
  .top .descend_over::after {
    content: '';
    display: block;
    position: absolute;
    left:0;
    bottom: 0;
    border-top: 60px solid transparent;
    border-left: 50vw solid transparent;
    border-right: 50vw solid #F3F3F3;
    border-bottom: 60px solid #F3F3F3;
  }
  .top .descend_under {
    width: 100%;
    background-color: #F3F3F3;
  }


  .features .bg_gray {
    background: #F3F3F3;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 50px 0 100px 0;;
  }
  .features .container {
    max-width: 1000px;
  }
  .features .text {
    text-align: center;
    font-size: 26px;
    color: #01627a;
  }
  .top .spot {
    margin-bottom: 100px;
  }
  .top .spot ul li {
    width: 48%;
  }
  .top .spot {
    max-width: 1000px;
    text-align: center;
    padding: 0 15px;
  }

    .informaton {
        margin-bottom: 40px;
    }

        .consortium {
            text-align: center;
        }
        .consortium li {
            display: inline-block;
            width: 45%;
        }
        .consortium img {
            width: 100%;
        }

  .fuwa {
    width: 100%;
    margin: 0 auto;
    text-align: right;
    height: 282px;
  }
  .fuwa img {
    margin: 0 auto;
    width: auto;
    height: 287px;
  }
  .sp-only, .width {
    width: 100%;
  }
}

@media screen and (min-width:768px) and ( max-width:1000px) {
  .top .circle-04,
  .top .circle-05,
  .top .circle-06,
  .top .circle-07,
  .top .circle-08 {
    width: 150px;
  }
}
@media screen and (max-width:500px) {
  .expantion {
    font-size: 20px !important;
  }
}
