@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
/* 非表示 */
html {
  font-size: 62.5%; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #707070;
  min-width: 1000px; }
  @media only screen and (max-width: 768px) {
    body {
      min-width: 100%; } }

img {
  max-width: 100%; }

a {
  text-decoration: none;
  cursor: pointer;
  transition: color .3s, border-color .3s, background-color .3s, opacity .3s; }
  a:hover {
    opacity: .7; }

/** -------------------------------- **
  部品
*** ----------------------------------------------------------------- ***/
/* 非表示 */
@media only screen and (max-width: 768px) {
  .pc {
    display: none; } }

.sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp {
      display: block; } }

/* インデント */
.idt1em {
  padding-left: 1.2em;
  text-indent: -1.2em; }

.inner {
  width: 1000px;
  margin: 0  auto;
  padding: 0 4px; }
  @media only screen and (max-width: 768px) {
    .inner {
      width: 100%;
      padding: 0 calc((20 / 375) * 100vw); } }

.secTitle {
  position: relative;
  padding-bottom: 25px;
  font-size: 3.2rem;
  line-height: 1.3;
  text-align: center; }
  .secTitle::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: calc((100% - 200px) / 2);
    width: 200px;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.25); }
  @media only screen and (max-width: 768px) {
    .secTitle {
      padding-bottom: calc((16 / 375) * 100vw);
      font-size: calc((24 / 375) * 100vw); }
      .secTitle::after {
        left: calc((100% - ((200 / 375) * 100vw)) / 2);
        width: calc((200 / 375) * 100vw);
        height: calc((2 / 375) * 100vw); } }

.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  font-size: 1.6rem;
  border-radius: 5px; }
  .btn.btnEntry {
    padding: 5px 50px 5px 43px;
    color: #de2910;
    line-height: 1.3;
    background-color: #fff; }
    .btn.btnEntry::before {
      content: '';
      position: absolute;
      top: calc((100% - 16px) / 2);
      left: 10px;
      width: 23px;
      height: 16px;
      background: url("../img/icon_entry_o.png") no-repeat center center/contain; }
    .btn.btnEntry::after {
      content: '';
      position: absolute;
      top: calc((100% - 10px) / 2);
      right: 20px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 0 5px 10px;
      border-color: transparent transparent transparent #de2810; }
    .btn.btnEntry:hover {
      color: #fff;
      border: 1px solid #fff;
      background-color: #de2810;
      opacity: 1; }
      .btn.btnEntry:hover::before {
        background: url("../img/icon_entry_w.png") no-repeat center center/contain; }
      .btn.btnEntry:hover::after {
        border-color: transparent transparent transparent #fff; }
    .btn.btnEntry.orange {
      height: 62px;
      padding: 5px 50px 5px 69px;
      color: #fff;
      font-size: 1.8rem;
      background-color: #de2910; }
      .btn.btnEntry.orange::before {
        top: calc((100% - 23px) / 2);
        left: 18px;
        width: 33px;
        height: 23px;
        background: url("../img/icon_entry_w.png") no-repeat center center/contain; }
      .btn.btnEntry.orange::after {
        top: calc((100% - 10px) / 2);
        right: 20px;
        border-width: 5.5px 0 5.5px 11px;
        border-color: transparent transparent transparent #fff; }
      .btn.btnEntry.orange:hover {
        color: #de2910;
        border: 1px solid #de2910;
        background-color: #fff; }
        .btn.btnEntry.orange:hover::before {
          background: url("../img/icon_entry_o.png") no-repeat center center/contain; }
        .btn.btnEntry.orange:hover::after {
          border-color: transparent transparent transparent #de2910; }
  @media only screen and (max-width: 768px) {
    .btn {
      height: calc((53 / 375) * 100vw);
      font-size: calc((15 / 375) * 100vw);
      border-radius: calc((5 / 375) * 100vw); }
      .btn.btnEntry {
        padding: calc((5 / 375) * 100vw) calc((50 / 375) * 100vw) calc((5 / 375) * 100vw) calc((43 / 375) * 100vw); }
        .btn.btnEntry::before {
          top: calc((100% - ((16 / 375) * 100vw)) / 2);
          left: calc((10 / 375) * 100vw);
          width: calc((23 / 375) * 100vw);
          height: calc((16 / 375) * 100vw); }
        .btn.btnEntry::after {
          top: calc((100% - ((10 / 375) * 100vw)) / 2);
          right: calc((20 / 375) * 100vw);
          border-width: calc((5 / 375) * 100vw) 0 calc((5 / 375) * 100vw) calc((10 / 375) * 100vw); }
        .btn.btnEntry.orange {
          height: calc((62 / 375) * 100vw);
          padding: calc((5 / 375) * 100vw) calc((50 / 375) * 100vw) calc((5 / 375) * 100vw) calc((69 / 375) * 100vw);
          font-size: calc((18 / 375) * 100vw); }
          .btn.btnEntry.orange::before {
            top: calc((100% - ((23 / 375) * 100vw)) / 2);
            left: calc((18 / 375) * 100vw);
            width: calc((33 / 375) * 100vw);
            height: calc((23 / 375) * 100vw); }
          .btn.btnEntry.orange::after {
            top: calc((100% - ((10 / 375) * 100vw)) / 2);
            right: calc((20 / 375) * 100vw);
            border-width: calc((5.5 / 375) * 100vw) 0 calc((5.5 / 375) * 100vw) calc((11 / 375) * 100vw); } }

.link {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  padding-left: 41px;
  color: #707070;
  text-align: left; }
  .link.telLink {
    font-size: 2.2rem;
    font-weight: 700;
    pointer-events: none; }
    .link.telLink::before {
      content: '';
      position: absolute;
      top: calc((100% - 31px) / 2);
      left: 0;
      width: 31px;
      height: 31px;
      background: url("../img/icon_phone.png") no-repeat center center/contain; }
    .link.telLink span {
      margin: 3px 0 0 -.5em;
      font-size: 1.2rem;
      font-weight: 400;
      line-height: 1.3; }
  .link.mailLink {
    font-size: 1.4rem; }
    .link.mailLink::before {
      content: '';
      position: absolute;
      top: calc((100% - 31px) / 2);
      left: 0;
      width: 31px;
      height: 31px;
      line-height: 1.1;
      background: url("../img/icon_mail.png") no-repeat center center/contain; }
  @media only screen and (max-width: 768px) {
    .link {
      padding-left: calc((41 / 375) * 100vw); }
      .link.telLink {
        font-size: calc((21 / 375) * 100vw);
        pointer-events: auto; }
        .link.telLink::before {
          top: calc((100% - ((31 / 375) * 100vw)) / 2);
          width: calc((31 / 375) * 100vw);
          height: calc((31 / 375) * 100vw); }
        .link.telLink span {
          font-size: calc((11 / 375) * 100vw); }
      .link.mailLink {
        font-size: calc((13 / 375) * 100vw); }
        .link.mailLink::before {
          top: calc((100% - ((31 / 375) * 100vw)) / 2);
          width: calc((31 / 375) * 100vw);
          height: calc((31 / 375) * 100vw); } }

.balloon {
  position: relative;
  width: 100%;
  padding: 5px 10px;
  line-height: 1.3;
  border: 1px solid #999;
  background-color: #fff; }
  .balloon.top::before, .balloon.top::after {
    content: '';
    position: absolute;
    right: 76px;
    bottom: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 18px 8px; }
  .balloon.top::before {
    border-color: transparent transparent #707070 transparent; }
  .balloon.top::after {
    bottom: calc(100% - 2px);
    border-color: transparent transparent #fff transparent; }
  .balloon.right::before, .balloon.right::after {
    content: '';
    position: absolute;
    left: 100%;
    top: calc((100% - 11px) / 2);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.5px 0 5.5px 10px; }
  .balloon.right::before {
    border-color: transparent transparent transparent #999; }
  .balloon.right::after {
    left: calc(100% - 2px);
    border-color: transparent transparent transparent #fff; }
  .balloon.left::before {
    content: '';
    position: absolute;
    top: calc((100% - 11px) / 2);
    right: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5.5px 10px 5.5px 0;
    border-color: transparent #fff transparent transparent; }
  .balloon.left::after {
    display: none; }
  .balloon p {
    font-size: 1.4rem;
    text-align: left; }
  @media only screen and (max-width: 768px) {
    .balloon {
      padding: calc((5 / 375) * 100vw) calc((10 / 375) * 100vw); }
      .balloon.top::before, .balloon.top::after {
        right: calc((100% - ((18 / 375) * 100vw)) / 2);
        border-width: 0 calc((8 / 375) * 100vw) calc((18 / 375) * 100vw) calc((8 / 375) * 100vw); }
      .balloon.right::before, .balloon.right::after {
        top: calc((100% - ((11 / 375) * 100vw)) / 2);
        border-width: calc((5.5 / 375) * 100vw) 0 calc((5.5 / 375) * 100vw) calc((10 / 375) * 100vw); }
      .balloon.left::before {
        top: calc((100% - ((16 / 375) * 100vw)) / 2);
        border-width: calc((8 / 375) * 100vw) calc((16 / 375) * 100vw) calc((8 / 375) * 100vw) 0; }
      .balloon p {
        font-size: calc((13 / 375) * 100vw); } }

/** -------------------------------- **
  header
*** ----------------------------------------------------------------- ***/
header {
  position: relative; }
  header > .inner {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    header > .inner h1 {
      width: 324px; }
    header > .inner .btnOpenNav {
      margin-right: 11px; }
      header > .inner .btnOpenNav::before {
        content: '';
        display: block;
        width: 27px;
        height: 27px;
        margin: 0 auto 4px;
        background: url("../img/icon_global.png") no-repeat center center/contain; }
      header > .inner .btnOpenNav span {
        display: block;
        width: 100%;
        color: #328cad;
        font-size: 1rem;
        font-weight: 700;
        text-align: center; }
  header .gNavArea {
    position: absolute;
    z-index: 99;
    top: 60px;
    left: 0;
    display: none;
    width: 100%;
    padding: 40px 88px 41px;
    background-color: rgba(0, 0, 0, 0.8); }
    header .gNavArea .inner {
      position: relative; }
    header .gNavArea .closeArea {
      position: absolute;
      top: -34px;
      right: 8px; }
      header .gNavArea .closeArea .btnCloseNav {
        position: relative;
        display: block;
        width: 24px;
        height: 24px; }
        header .gNavArea .closeArea .btnCloseNav span {
          content: '';
          position: absolute;
          left: 12px;
          width: 2px;
          height: 24px;
          background: #fff; }
          header .gNavArea .closeArea .btnCloseNav span:first-of-type {
            transform: rotate(-45deg); }
          header .gNavArea .closeArea .btnCloseNav span:last-of-type {
            transform: rotate(45deg); }
    header .gNavArea .gNav {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 824px;
      margin: 0 auto; }
      header .gNavArea .gNav li {
        width: 152px; }
      header .gNavArea .gNav a {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 39px;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 700;
        text-align: center;
        border: 1px solid #fff; }
        header .gNavArea .gNav a .foreign {
          display: block;
          width: 100%;
          margin-bottom: -.5em;
          font-size: 1.2rem;
          font-weight: 400; }
        header .gNavArea .gNav a:hover {
          color: #000;
          background-color: #fff;
          opacity: 1; }
  @media only screen and (max-width: 768px) {
    header > .inner {
      padding: calc((1.5 / 375) * 100vw) 0; }
      header > .inner h1 {
        width: calc((180 / 375) * 100vw); }
      header > .inner .btnOpenNav {
        display: none;
        /*margin-right: calc((11 / 375) * 100vw);
        &::before {
          width: calc((20 / 375) * 100vw);
          height: calc((20 / 375) * 100vw);
          margin: 0 auto calc((4 / 375) * 100vw);
        }
        span {
          font-size: calc((10 / 375) * 100vw);
        }*/ }
    header .gNavArea {
      top: calc((44 / 375) * 100vw);
      padding: calc((40 / 375) * 100vw) 0 calc((41 / 375) * 100vw); }
      header .gNavArea .closeArea {
        top: calc((-34 / 375) * 100vw);
        right: calc((8 / 375) * 100vw); }
        header .gNavArea .closeArea .btnCloseNav {
          width: calc((24 / 375) * 100vw);
          height: calc((24 / 375) * 100vw); }
          header .gNavArea .closeArea .btnCloseNav span {
            left: calc((12 / 375) * 100vw);
            width: calc((2 / 375) * 100vw);
            height: calc((24 / 375) * 100vw); }
      header .gNavArea .gNav {
        width: 100%; }
        header .gNavArea .gNav li {
          width: 100%; }
          header .gNavArea .gNav li + li {
            margin-top: calc((16 / 375) * 100vw); }
        header .gNavArea .gNav a {
          width: 100%;
          height: calc((60 / 375) * 100vw);
          font-size: calc((16 / 375) * 100vw); }
          header .gNavArea .gNav a .foreign {
            margin-bottom: -1em;
            font-size: calc((14 / 375) * 100vw); } }

/** -------------------------------- **
  footer
*** ----------------------------------------------------------------- ***/
footer {
  display: block;
  padding: 20px 0 22px;
  color: #fff;
  background-color: #666; }
  footer address {
    font-size: 1.4rem;
    font-style: normal;
    line-height: 1.5; }
  footer .copyright {
    display: block;
    margin-top: 55px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.3; }
  @media only screen and (max-width: 768px) {
    footer {
      padding: calc((8 / 375) * 100vw) 0 calc((16 / 375) * 100vw); }
      footer address {
        font-size: calc((14 / 375) * 100vw);
        line-height: 1.715; }
      footer .copyright {
        margin-top: calc((25 / 375) * 100vw);
        font-size: calc((12 / 375) * 100vw); } }

/** -------------------------------- **
  共通部品
*** ----------------------------------------------------------------- ***/
.chooseReasonTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 270px;
  height: 28px;
  margin-top: 35px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  border-radius: 5px;
  background-color: #2daf4d; }
  @media only screen and (max-width: 768px) {
    .chooseReasonTitle {
      width: 100%;
      height: calc((35 / 375) * 100vw);
      font-size: calc((20 / 375) * 100vw);
      border-radius: calc((5 / 375) * 100vw); } }

.chooseReasonList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .chooseReasonList li {
    width: 152px; }
    .chooseReasonList li:nth-of-type(2) {
      width: 162px; }
    .chooseReasonList li figure {
      position: relative;
      width: 122px;
      margin: 0 auto; }
      .chooseReasonList li figure figcaption {
        position: absolute;
        bottom: 16px;
        width: 100%;
        color: #666;
        font-size: 1rem;
        font-weight: 700;
        text-align: center; }
    .chooseReasonList li dl {
      margin-top: 6px;
      text-align: center; }
      .chooseReasonList li dl dt {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.2; }
    .chooseReasonList li dd {
      margin-top: 19px;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.5; }
  @media only screen and (max-width: 768px) {
    .chooseReasonList li {
      width: calc((155 / 375) * 100vw) !important;
      margin-bottom: calc((29 / 375) * 100vw); }
      .chooseReasonList li figure {
        width: calc((122 / 375) * 100vw); }
        .chooseReasonList li figure figcaption {
          bottom: calc((16 / 375) * 100vw);
          font-size: calc((10 / 375) * 100vw); }
      .chooseReasonList li dl {
        margin-top: calc((6 / 375) * 100vw);
        color: #7b7b7b; }
        .chooseReasonList li dl dt {
          font-size: calc((14 / 375) * 100vw); }
      .chooseReasonList li dd {
        margin-top: calc((19 / 375) * 100vw);
        font-size: calc((12 / 375) * 100vw); } }

.flagList {
  display: flex;
  justify-content: space-between;
  width: 235px; }
  .flagList li {
    width: 56px; }
    .flagList li:nth-of-type(2) {
      width: 53px; }
    .flagList li:nth-of-type(4) {
      width: 30px; }
  @media only screen and (max-width: 768px) {
    .flagList {
      width: calc((293 / 375) * 100vw); }
      .flagList li {
        width: calc((75 / 375) * 100vw); }
        .flagList li:nth-of-type(2) {
          width: calc((72 / 375) * 100vw); }
        .flagList li:nth-of-type(4) {
          width: calc((41 / 375) * 100vw); } }

/** -------------------------------- **
  メインビュー
*** ----------------------------------------------------------------- ***/
.mianView {
  background: url("../img/bg_mainView.jpg") no-repeat center center/cover; }
  .mianView .layout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .mianView .layout > .left {
      width: 651px;
      padding: 39px 0 15px;
      color: #fff; }
    .mianView .layout > .right {
      width: 298px;
      padding: 27px 0; }
  .mianView .subTitle {
    margin-left: 40px;
    font-size: 2.3rem;
    font-weight: 500; }
  .mianView .mainTitle {
    margin-top: 23px;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.571;
    text-indent: 1em; }
    .mianView .mainTitle span {
      font-size: 2.1rem; }
  .mianView .chooseReasonTitle {
    margin: 35px 0 0 20px; }
  .mianView .chooseReasonList {
    margin-top: 17px; }
  .mianView .entryBox {
    width: 100%;
    padding: 14px 13px;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    background-color: #de2910; }
    .mianView .entryBox .sub {
      font-size: 2rem;
      font-weight: 500; }
    .mianView .entryBox .num {
      margin-top: 4px;
      font-size: 5.5rem;
      font-weight: 700; }
    .mianView .entryBox .plan {
      margin-top: 14px;
      padding-left: 1em;
      text-indent: -.5em;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.375; }
    .mianView .entryBox .btnEntry {
      margin-top: 15px; }
  .mianView .contactBox {
    width: 100%;
    margin-top: 20px;
    text-align: center;
    border-radius: 10px;
    background-color: #fff; }
    .mianView .contactBox dt {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 39px;
      font-size: 1.6rem;
      font-weight: 700;
      border-radius: 5px 5px 0 0;
      background-color: #f7f7f7; }
    .mianView .contactBox dd {
      padding: 10px; }
    .mianView .contactBox .mailLink {
      margin-top: 5px; }
    .mianView .contactBox .comment {
      display: flex;
      justify-content: space-between;
      margin-top: 12px; }
      .mianView .contactBox .comment .balloon {
        width: 182px; }
      .mianView .contactBox .comment figure {
        width: 71px; }
  @media only screen and (max-width: 768px) {
    .mianView {
      background: url(../img/bg_mainView_sp.jpg) no-repeat center center/cover; }
      .mianView .layout {
        justify-content: center;
        padding: calc((16 / 375) * 100vw) 0 calc((20 / 375) * 100vw);
        text-align: center; }
        .mianView .layout > .left {
          width: 100%;
          padding: 0; }
        .mianView .layout > .right {
          width: calc((288 / 375) * 100vw);
          padding: 0; }
      .mianView .subTitle {
        margin-left: 0;
        font-size: calc((14 / 375) * 100vw); }
      .mianView .mainTitle {
        margin-top: calc((11 / 375) * 100vw);
        font-size: calc((20 / 375) * 100vw);
        line-height: 1.636;
        text-indent: .5em; }
        .mianView .mainTitle span {
          font-size: calc((13 / 375) * 100vw); }
      .mianView .chooseReasonTitle {
        display: none; }
      .mianView .chooseReasonList {
        display: none; }
      .mianView .entryBox {
        margin-top: calc((20 / 375) * 100vw);
        padding: calc((14 / 375) * 100vw) calc((13 / 375) * 100vw);
        border-radius: calc((10 / 375) * 100vw); }
        .mianView .entryBox .sub {
          font-size: calc((19 / 375) * 100vw); }
        .mianView .entryBox .num {
          margin-top: calc((4 / 375) * 100vw);
          font-size: calc((53 / 375) * 100vw); }
        .mianView .entryBox .plan {
          margin-top: calc((14 / 375) * 100vw);
          font-size: calc((15 / 375) * 100vw); }
        .mianView .entryBox .btnEntry {
          margin-top: calc((15 / 375) * 100vw); }
      .mianView .contactBox {
        margin-top: calc((20 / 375) * 100vw);
        border-radius: calc((10 / 375) * 100vw); }
        .mianView .contactBox dt {
          height: calc((38 / 375) * 100vw);
          font-size: calc((15 / 375) * 100vw);
          border-radius: calc((5 / 375) * 100vw) calc((5 / 375) * 100vw) 0 0; }
        .mianView .contactBox dd {
          padding: calc((10 / 375) * 100vw); }
        .mianView .contactBox .mailLink {
          margin-top: calc((5 / 375) * 100vw); }
        .mianView .contactBox .comment {
          margin-top: calc((10 / 375) * 100vw); }
          .mianView .contactBox .comment .balloon {
            width: calc((176 / 375) * 100vw); }
          .mianView .contactBox .comment figure {
            width: calc((68 / 375) * 100vw); } }

/** -------------------------------- **
  インフォメーション
*** ----------------------------------------------------------------- ***/
.information .layout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 18px 7px 19px 8px; }
.information .txtArea.left {
  width: 404px;
  margin-right: 9px; }
  .information .txtArea.left p {
    font-size: 1.6rem;
    line-height: 1.625; }
.information .txtArea.right {
  width: 299px;
  margin-left: 30px; }
  .information .txtArea.right p {
    padding-left: 12px;
    font-size: 1.4rem;
    line-height: 1.3; }
  .information .txtArea.right .note {
    margin-top: 5px;
    padding-left: 1.2em;
    text-indent: -1.2em;
    font-size: 1.2rem;
    line-height: 1.5; }
.information .chooseReasonTitle {
  display: none; }
.information .chooseReasonList {
  display: none; }
@media only screen and (max-width: 768px) {
  .information .layout {
    justify-content: center;
    padding: calc((20 / 375) * 100vw) 0 calc((82 / 375) * 100vw); }
  .information .txtArea.left {
    order: 4;
    width: calc(100% + ((40 / 375) * 100vw));
    padding: calc((24 / 375) * 100vw) calc((20 / 375) * 100vw) 0;
    margin: 0 calc((-20 / 375) * 100vw);
    border-top: 1px solid #e4e4e4; }
    .information .txtArea.left p {
      font-size: calc((11 / 375) * 100vw);
      font-weight: 700;
      text-align: center; }
  .information .txtArea.right {
    order: 1;
    width: 100%;
    margin-left: 0; }
    .information .txtArea.right p {
      padding-left: calc((12 / 375) * 100vw);
      font-size: calc((16 / 375) * 100vw);
      font-weight: 700; }
    .information .txtArea.right .note {
      margin-top: calc((14 / 375) * 100vw);
      font-size: calc((12 / 375) * 100vw);
      font-weight: 400;
      line-height: 1.75; }
  .information .flagList {
    order: 5;
    margin-top: calc((27 / 375) * 100vw); }
  .information .chooseReasonTitle {
    order: 2;
    display: flex;
    margin-top: calc((24 / 375) * 100vw); }
  .information .chooseReasonList {
    order: 3;
    display: flex;
    margin-top: calc((30 / 375) * 100vw); } }

/** -------------------------------- **
  ポケットWi-Fiだから
*** ----------------------------------------------------------------- ***/
.poketWiFi {
  background: url("../img/bg_poketWiFi01.jpg") no-repeat center center/cover; }
  .poketWiFi .inner {
    padding: 72px 4px 92px; }
  .poketWiFi .secTitle {
    color: #fff; }
    .poketWiFi .secTitle::after {
      background-color: rgba(255, 255, 255, 0.25); }
  .poketWiFi .poketWiFiList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px; }
    .poketWiFi .poketWiFiList li {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      width: 474px; }
      .poketWiFi .poketWiFiList li:nth-of-type(n + 3) {
        margin-top: 23px; }
      .poketWiFi .poketWiFiList li figure {
        width: 72px; }
      .poketWiFi .poketWiFiList li .balloon {
        width: 378px;
        padding: 16px 25px;
        border: none;
        border-radius: 10px; }
        .poketWiFi .poketWiFiList li .balloon p {
          font-size: 1.6rem;
          line-height: 1.625; }
  @media only screen and (max-width: 768px) {
    .poketWiFi {
      background: url("../img/bg_poketWiFi01_sp.jpg") no-repeat center center/cover; }
      .poketWiFi .inner {
        padding: calc((62 / 375) * 100vw) calc((20 / 375) * 100vw) calc((60 / 375) * 100vw); }
      .poketWiFi .poketWiFiList {
        margin-top: calc((31 / 375) * 100vw); }
        .poketWiFi .poketWiFiList li {
          width: 100%; }
          .poketWiFi .poketWiFiList li:nth-of-type(n + 2) {
            margin-top: calc((31 / 375) * 100vw); }
          .poketWiFi .poketWiFiList li figure {
            width: calc((72 / 375) * 100vw); }
          .poketWiFi .poketWiFiList li .balloon {
            width: calc((240 / 375) * 100vw);
            padding: calc((13 / 375) * 100vw) calc((15 / 375) * 100vw);
            border-radius: calc((10 / 375) * 100vw); }
            .poketWiFi .poketWiFiList li .balloon p {
              font-size: calc((14 / 375) * 100vw); } }

/** -------------------------------- **
  ご利用端末
*** ----------------------------------------------------------------- ***/
.terminal .inner {
  padding: 81px 4px 78px; }
.terminal .layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 25px; }
  .terminal .layout .left {
    width: 229px; }
    .terminal .layout .left figure {
      width: 213px;
      margin: 0 auto; }
      .terminal .layout .left figure figcaption {
        margin-top: 16px;
        font-size: 1.6rem;
        text-align: center; }
  .terminal .layout .right {
    width: 740px; }
.terminal .pointTitle {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.3; }
.terminal .terminalPointList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 17px; }
  .terminal .terminalPointList li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 236px;
    margin-right: 16px;
    padding: 6px;
    border: 2px solid #2daf4d;
    border-radius: 10px; }
    .terminal .terminalPointList li:nth-of-type(3n) {
      margin-right: 0; }
    .terminal .terminalPointList li:nth-of-type(n + 4) {
      margin-top: 16px; }
    .terminal .terminalPointList li:nth-of-type(3) figure img {
      width: 39px; }
    .terminal .terminalPointList li:nth-of-type(4) figure img {
      width: 29px; }
    .terminal .terminalPointList li:nth-of-type(5) figure img {
      width: 30px; }
    .terminal .terminalPointList li figure {
      width: 49px;
      margin-right: 3px;
      text-align: center; }
      .terminal .terminalPointList li figure img {
        width: 22px; }
    .terminal .terminalPointList li p {
      width: calc(100% - 52px);
      color: #2daf4d;
      font-size: 1.4rem;
      line-height: 1.5; }
.terminal .optionService {
  margin-top: 39px; }
  .terminal .optionService h5 {
    font-size: 1.6rem;
    font-weight: 700; }
  .terminal .optionService .optionServiceBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-top: 14px;
    padding: 15px 22px;
    border: 2px solid #2daf4d; }
    .terminal .optionService .optionServiceBox figure {
      width: 72px; }
    .terminal .optionService .optionServiceBox dl {
      width: 335px;
      margin-left: 22px; }
      .terminal .optionService .optionServiceBox dl dt {
        color: #2daf4d;
        font-size: 1.6rem;
        font-weight: 700; }
      .terminal .optionService .optionServiceBox dl dd {
        margin-top: 9px; }
        .terminal .optionService .optionServiceBox dl dd p {
          font-size: 1.4rem;
          line-height: 1.785; }
        .terminal .optionService .optionServiceBox dl dd .note {
          margin-top: 2px;
          font-size: 1.2rem; }
    .terminal .optionService .optionServiceBox .price {
      width: 190px;
      margin-left: 68px; }
      .terminal .optionService .optionServiceBox .price p {
        color: #2daf4d;
        font-size: 1.6rem;
        font-weight: 700; }
        .terminal .optionService .optionServiceBox .price p .num {
          font-size: 5.8rem; }
  .terminal .optionService .txtArea {
    margin-top: 24px; }
    .terminal .optionService .txtArea p {
      font-size: 1.2rem;
      line-height: 2; }
@media only screen and (max-width: 768px) {
  .terminal .inner {
    padding: calc((60 / 375) * 100vw) calc((20 / 375) * 100vw) calc((55 / 375) * 100vw); }
  .terminal .layout {
    margin-top: calc((29 / 375) * 100vw);
    justify-content: center; }
    .terminal .layout .left {
      width: 100%; }
      .terminal .layout .left figure {
        width: calc((166 / 375) * 100vw);
        margin-top: calc((9 / 375) * 100vw); }
        .terminal .layout .left figure figcaption {
          margin-top: calc((5 / 375) * 100vw);
          font-size: calc((16 / 375) * 100vw); }
    .terminal .layout .right {
      width: 100%; }
  .terminal .pointTitle {
    font-size: calc((22 / 375) * 100vw);
    text-align: center; }
  .terminal .terminalPointList {
    justify-content: center;
    margin-top: calc((30 / 375) * 100vw); }
    .terminal .terminalPointList li {
      width: 100%;
      padding: calc((6 / 375) * 100vw);
      border: calc((2 / 375) * 100vw) solid #2daf4d;
      border-radius: calc((10 / 375) * 100vw);
      margin-right: 0; }
      .terminal .terminalPointList li:nth-of-type(n + 2) {
        margin-top: calc((10 / 375) * 100vw); }
      .terminal .terminalPointList li:nth-of-type(3) figure img {
        width: calc((25 / 375) * 100vw); }
      .terminal .terminalPointList li:nth-of-type(4) figure img {
        width: calc((18 / 375) * 100vw); }
      .terminal .terminalPointList li:nth-of-type(5) figure img {
        width: calc((19 / 375) * 100vw); }
      .terminal .terminalPointList li figure {
        width: calc((33 / 375) * 100vw);
        margin-right: calc((3 / 375) * 100vw); }
        .terminal .terminalPointList li figure img {
          width: calc((14 / 375) * 100vw); }
      .terminal .terminalPointList li p {
        width: calc(100% - ((36 / 375) * 100vw));
        font-size: calc((14 / 375) * 100vw); }
  .terminal .optionService {
    margin-top: calc((63 / 375) * 100vw); }
    .terminal .optionService h5 {
      font-size: calc((20 / 375) * 100vw);
      text-align: center; }
    .terminal .optionService .optionServiceBox {
      position: relative;
      justify-content: center;
      margin-top: calc((15 / 375) * 100vw);
      padding: calc((18 / 375) * 100vw) calc((22 / 375) * 100vw);
      border: calc((2 / 375) * 100vw) solid #2daf4d; }
      .terminal .optionService .optionServiceBox figure {
        position: absolute;
        top: calc((18 / 375) * 100vw);
        left: calc((22 / 375) * 100vw);
        width: calc((48 / 375) * 100vw); }
      .terminal .optionService .optionServiceBox dl {
        width: 100%;
        margin-left: 0; }
        .terminal .optionService .optionServiceBox dl dt {
          padding: calc((11 / 375) * 100vw) 0 0 calc((66 / 375) * 100vw);
          font-size: calc((16 / 375) * 100vw);
          line-height: 1.3; }
        .terminal .optionService .optionServiceBox dl dd {
          margin-top: calc((34 / 375) * 100vw); }
          .terminal .optionService .optionServiceBox dl dd p {
            font-size: calc((14 / 375) * 100vw); }
          .terminal .optionService .optionServiceBox dl dd .note {
            margin-top: calc((2 / 375) * 100vw);
            font-size: calc((12 / 375) * 100vw); }
      .terminal .optionService .optionServiceBox .price {
        width: auto;
        margin: calc((24/ 375) * 100vw) 0 0 0; }
        .terminal .optionService .optionServiceBox .price p {
          font-size: calc((16 / 375) * 100vw); }
          .terminal .optionService .optionServiceBox .price p .num {
            font-size: calc((58 / 375) * 100vw); }
    .terminal .optionService .txtArea {
      margin-top: calc((19 / 375) * 100vw); }
      .terminal .optionService .txtArea p {
        font-size: calc((12 / 375) * 100vw); } }

/** -------------------------------- **
  ご利用の流れ
*** ----------------------------------------------------------------- ***/
.flow {
  background: url("../img/bg_flow.jpg") no-repeat center center/cover; }
  .flow .inner {
    padding: 76px 4px 75px; }
  .flow .flowBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 640px;
    margin: 0 auto; }
    .flow .flowBox h4 {
      width: 130px;
      color: #2daf4d;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.667; }
  .flow .flowList {
    display: flex;
    justify-content: space-between;
    width: 460px;
    margin-top: 35px; }
    .flow .flowList li {
      position: relative;
      width: 120px; }
      .flow .flowList li + li::before {
        content: '';
        position: absolute;
        top: 60px;
        left: -31px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 11px 0 11px 16px;
        border-color: transparent transparent transparent #2daf4e; }
      .flow .flowList li figure figcaption {
        margin-top: 16px;
        font-size: 1.8rem;
        text-align: center; }
  @media only screen and (max-width: 768px) {
    .flow {
      background: url("../img/bg_flow_sp.jpg") no-repeat center center/cover; }
      .flow .inner {
        padding: calc((61 / 375) * 100vw) calc((20 / 375) * 100vw); }
      .flow .flowBox {
        justify-content: center;
        width: 100%;
        margin-top: calc((30 / 375) * 100vw); }
        .flow .flowBox h4 {
          width: 100%;
          font-size: calc((20 / 375) * 100vw);
          line-height: 1;
          text-align: center; }
      .flow .flowList {
        width: calc((320 / 375) * 100vw);
        margin-top: calc((30 / 375) * 100vw); }
        .flow .flowList li {
          width: calc((84 / 375) * 100vw); }
          .flow .flowList li + li::before {
            top: calc((42 / 375) * 100vw);
            left: calc((-21 / 375) * 100vw);
            border-width: calc((7.5 / 375) * 100vw) 0 calc((7.5 / 375) * 100vw) calc((11 / 375) * 100vw); }
          .flow .flowList li figure figcaption {
            margin-top: calc((11 / 375) * 100vw);
            font-size: calc((14 / 375) * 100vw); } }

/** -------------------------------- **
  ご契約に関する料金・詳細
*** ----------------------------------------------------------------- ***/
.agreement .inner {
  padding: 79px 4px 38px; }
.agreement .txtArea {
  margin-top: 25px; }
  .agreement .txtArea p {
    font-size: 1.4rem;
    line-height: 1.857; }
.agreement .notes {
  margin-top: 21px; }
  .agreement .notes p {
    padding-left: 1.2em;
    font-size: 1.2rem;
    line-height: 1.75;
    text-indent: -1.2em; }
.agreement .dataList {
  margin-top: 27px; }
  .agreement .dataList dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .agreement .dataList dl + dl {
      margin-top: 4px; }
    .agreement .dataList dl dt,
    .agreement .dataList dl dd {
      font-size: 1.6rem; }
    .agreement .dataList dl dt {
      width: 152px;
      padding: 12px 17px;
      color: #fff;
      font-weight: 700;
      line-height: 1.2;
      background-color: #abaaac; }
    .agreement .dataList dl dd {
      width: calc(100% - 156px);
      padding: 12px 29px;
      background-color: #f7f7f7; }
.agreement .indentList {
  padding-left: 1.2em;
  text-indent: -1.2em; }
  .agreement .indentList li {
    line-height: 1.6875; }
.agreement .cautionList {
  margin-top: 17px;
  padding-left: 2em;
  font-size: 1.2rem;
  line-height: 2;
  text-indent: -1.8em; }
@media only screen and (max-width: 768px) {
  .agreement .inner {
    padding: calc((61 / 375) * 100vw) calc((20 / 375) * 100vw) calc((53 / 375) * 100vw); }
  .agreement .txtArea {
    margin-top: calc((25 / 375) * 100vw); }
    .agreement .txtArea p {
      font-size: calc((14 / 375) * 100vw); }
  .agreement .notes {
    margin-top: calc((19 / 375) * 100vw); }
    .agreement .notes p {
      font-size: calc((12 / 375) * 100vw); }
  .agreement .dataList {
    margin-top: calc((44 / 375) * 100vw); }
    .agreement .dataList dl + dl {
      margin-top: calc((8 / 375) * 100vw); }
    .agreement .dataList dl dt,
    .agreement .dataList dl dd {
      font-size: calc((14 / 375) * 100vw);
      text-align: center; }
    .agreement .dataList dl dt {
      width: 100%;
      padding: calc((9 / 375) * 100vw); }
    .agreement .dataList dl dd {
      width: 100%;
      margin-top: calc((8 / 375) * 100vw);
      padding: calc((9 / 375) * 100vw); }
  .agreement .indentList {
    text-align: left; }
  .agreement .cautionList {
    margin-top: calc((6 / 375) * 100vw);
    font-size: calc((12 / 375) * 100vw); } }

/** -------------------------------- **
  お問い合わせ・お申し込み
*** ----------------------------------------------------------------- ***/
.contacts .inner {
  padding: 38px 4px 60px; }
.contacts .description {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 35px; }
  .contacts .description .txtArea {
    width: calc(100% - 341px); }
    .contacts .description .txtArea p {
      font-size: 1.6rem; }
  .contacts .description .flagList {
    width: 291px;
    margin-right: 33px; }
    .contacts .description .flagList li {
      width: 75px; }
      .contacts .description .flagList li:nth-of-type(2) {
        width: 71px; }
      .contacts .description .flagList li:nth-of-type(4) {
        width: 40px; }
.contacts .contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 39px; }
  .contacts .contact .contactBox {
    width: 488px;
    border-radius: 10px;
    background-color: #fff; }
    .contacts .contact .contactBox dt {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 47px;
      font-size: 2rem;
      font-weight: 700;
      border-radius: 10px 10px 0 0;
      background-color: #f7f7f7; }
    .contacts .contact .contactBox dd {
      padding-top: 20px; }
      .contacts .contact .contactBox dd .contactInfo {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .contacts .contact .contactBox dd .contactInfo .links {
          width: calc(100% - 180px); }
          .contacts .contact .contactBox dd .contactInfo .links .telLink {
            padding-left: 67px;
            font-size: 3.1rem; }
            .contacts .contact .contactBox dd .contactInfo .links .telLink::before {
              top: calc((100% - 54px) / 2);
              width: 54px;
              height: 54px; }
            .contacts .contact .contactBox dd .contactInfo .links .telLink span {
              font-size: 1.6rem; }
          .contacts .contact .contactBox dd .contactInfo .links .mailLink {
            margin-top: 23px;
            padding-left: 67px;
            font-size: 1.6rem;
            line-height: 1.3; }
            .contacts .contact .contactBox dd .contactInfo .links .mailLink::before {
              top: calc((100% - 54px) / 2);
              left: 0;
              width: 54px;
              height: 54px; }
        .contacts .contact .contactBox dd .contactInfo figure {
          width: 167px; }
      .contacts .contact .contactBox dd .balloon {
        margin-top: 20px;
        padding: 17px; }
        .contacts .contact .contactBox dd .balloon p {
          font-size: 1.6rem;
          text-align: center; }
  .contacts .contact .entryBox {
    width: 488px;
    padding: 67px;
    border-radius: 10px;
    background-color: #f7f7f7; }
    .contacts .contact .entryBox .txtArea {
      margin-top: 20px; }
      .contacts .contact .entryBox .txtArea p {
        padding-left: 12px;
        font-size: 1.6rem; }
      .contacts .contact .entryBox .txtArea .bold {
        font-weight: 700;
        line-height: 1.3; }
      .contacts .contact .entryBox .txtArea .note {
        margin-top: 8px;
        padding-left: 1.2em;
        text-indent: -1.2em;
        font-size: 1.2rem;
        line-height: 1.75; }
@media only screen and (max-width: 768px) {
  .contacts .inner {
    padding: calc((53 / 375) * 100vw) calc((20 / 375) * 100vw) calc((56 / 375) * 100vw); }
  .contacts .description {
    justify-content: center;
    margin-top: calc((20 / 375) * 100vw); }
    .contacts .description .txtArea {
      width: 100%; }
      .contacts .description .txtArea p {
        font-size: calc((14 / 375) * 100vw);
        font-weight: 700;
        line-height: 1.785;
        text-align: center; }
    .contacts .description .flagList {
      width: calc((291 / 375) * 100vw);
      margin-top: calc((22 / 375) * 100vw);
      margin-right: 0; }
      .contacts .description .flagList li {
        width: calc((75 / 375) * 100vw); }
        .contacts .description .flagList li:nth-of-type(2) {
          width: calc((71 / 375) * 100vw); }
        .contacts .description .flagList li:nth-of-type(4) {
          width: calc((40 / 375) * 100vw); }
  .contacts .contact {
    margin-top: calc((30 / 375) * 100vw); }
    .contacts .contact .contactBox {
      width: 100%;
      border-radius: 0; }
      .contacts .contact .contactBox dt {
        height: calc((47 / 375) * 100vw);
        font-size: calc((20 / 375) * 100vw);
        border-radius: 0;
        margin: 0 calc((-20 / 375) * 100vw); }
      .contacts .contact .contactBox dd {
        padding-top: calc((17 / 375) * 100vw); }
        .contacts .contact .contactBox dd .contactInfo .links {
          width: 100%; }
          .contacts .contact .contactBox dd .contactInfo .links .telLink {
            padding-left: calc((69 / 375) * 100vw);
            font-size: calc((28 / 375) * 100vw); }
            .contacts .contact .contactBox dd .contactInfo .links .telLink::before {
              top: calc((100% - ((54 / 375) * 100vw)) / 2);
              width: calc((54 / 375) * 100vw);
              height: calc((54 / 375) * 100vw); }
            .contacts .contact .contactBox dd .contactInfo .links .telLink span {
              font-size: calc((16 / 375) * 100vw); }
          .contacts .contact .contactBox dd .contactInfo .links .mailLink {
            margin-top: calc((26 / 375) * 100vw);
            padding-left: calc((69 / 375) * 100vw);
            font-size: calc((16 / 375) * 100vw); }
            .contacts .contact .contactBox dd .contactInfo .links .mailLink::before {
              top: calc((100% - ((54 / 375) * 100vw)) / 2);
              width: calc((54 / 375) * 100vw);
              height: calc((54 / 375) * 100vw); }
        .contacts .contact .contactBox dd .contactInfo figure {
          width: 100%;
          margin-top: calc((19 / 375) * 100vw);
          text-align: center; }
          .contacts .contact .contactBox dd .contactInfo figure img {
            width: calc((152 / 375) * 100vw); }
        .contacts .contact .contactBox dd .balloon {
          margin-top: calc((23 / 375) * 100vw);
          padding: calc((17 / 375) * 100vw); }
          .contacts .contact .contactBox dd .balloon p {
            font-size: calc((16 / 375) * 100vw); }
    .contacts .contact .entryBox {
      width: 100%;
      padding: calc((60 / 375) * 100vw) 0 0;
      border-radius: 0;
      background-color: #fff; }
      .contacts .contact .entryBox .txtArea {
        margin-top: calc((26 / 375) * 100vw); }
        .contacts .contact .entryBox .txtArea p {
          padding-left: calc((12 / 375) * 100vw);
          font-size: calc((16 / 375) * 100vw); }
        .contacts .contact .entryBox .txtArea .note {
          margin-top: calc((10 / 375) * 100vw);
          font-size: calc((12 / 375) * 100vw); } }
