@charset "UTF-8";
/***************************************
 *
 *base CSS
 *
 *2019/XX
 *
 ****************************************** */
/*****************************
 *
 *settings
 *
 ***************************** */
.trans_txt_parent .inner {
  overflow: hidden; }
.trans_txt_parent s {
  display: inline-block;
  transform: translateY(100px); }

.scroll_fadein {
  transform: translateY(100px);
  opacity: 0; }

/***********************
 *
 *common
 *
 ********************** */
* {
  box-sizing: border-box; }

a {
  text-decoration: none;
  color: inherit; }

li {
  list-style: none; }

i, em {
  font-style: normal; }

body, html {
  margin: 0px;
  padding: 0px;
  font-family: "游ゴシック", "Yu Gothic", sans-serif;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%; }

body {
  overflow-x: hidden; }

button {
  font-family: "游ゴシック", "Yu Gothic", sans-serif; }

ul {
  margin: 0;
  padding: 0; }

h2, h3, h4, h5 {
  font-weight: bold; }

p {
  line-height: 1.8;
  letter-spacing: 0.05em; }

.ib {
  width: 945px;
  margin: 0 auto;
  position: relative;
  max-width: 100%; }

table {
  border-collapse: collapse; }

#wpadminbar {
  display: none; }

.pc_content {
  display: block !important; }

.sp_content {
  display: none !important; }

::-webkit-scrollbar {
  width: 10px; }

::-webkit-scrollbar-track {
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px; }

::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
  box-shadow: none; }

.head_top {
  display: block;
  position: fixed;
  margin: 20px;
  height: 500px;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
}
header {
  position: fixed;
  width: 100%;
  padding: 0 50px;
  top: 0;
  left: 0;
  display: flex;
  height: 72px;
  z-index: 999;
  align-items: center;
  justify-content: space-between;
  background: #fff; }
  header .spbtn {
    opacity: 0;
    width: 245px; }
  header a.logo {
    width: 245px; }
    header a.logo img {
      display: block;
      width: 100%; }
  header nav {
    align-items: center;
    display: flex; }
    header nav a, header nav span {
      align-items: center;
      display: flex;
      justify-content: center;
      padding: 0 15px;
      font-size: 14px;
      font-weight: bold;
      color: #0C67BD;
      cursor: pointer; }
      header nav a img, header nav span img {
        display: inline-block;
        margin-right: 7px; }

#content {
  background: #efefef;
  min-height: calc(100vh - 350px);
  position: relative; }
  #content.no_headline {
    margin-top: 72px; }
  #content .login_form {
    position: fixed;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    display: none; }
    #content .login_form .container {
      height: 460px;
      width: 600px;
      background: #fff;
      z-index: 99999;
      position: absolute;
      left: calc(50% - 300px);
      max-width: 100%;
      top: calc(50% - 210px);
      padding: 20px; }
      #content .login_form .container .close {
        width: 36px;
        height: 36px;
        background: #fff;
        border: 3px solid #000;
        position: absolute;
        top: -18px;
        right: -18px;
        padding: 10px;
        align-items: center;
        justify-content: center;
        display: flex;
        font-size: 16px;
        cursor: pointer;
        border-radius: 50%; }
      #content .login_form .container form {
        display: block;
        margin: 0 auto;
        width: 400px; }
        #content .login_form .container form a.button {
          margin-top: 30px; }
        #content .login_form .container form a.txt {
          width: 100%;
          display: block;
          font-size: 14px;
          text-align: center;
          margin-top: 14px;
          color: #E1585A; }
      #content .login_form .container h2 {
        font-size: 23px;
        margin-top: 0;
        margin-bottom: 10px;
        text-align: center; }
  #content h2 {
    font-size: 18px;
    margin: 40px 0;
    color: #000; }
  #content h3.l {
    font-size: 21px;
    text-align: center; }
  #content h3.center {
    text-align: center; }
  #content p.s {
    font-size: 14px; }
  #content p.w_m {
    width: 350px;
    max-width: 100%;
    margin: 20px auto; }
  #content p a.red {
    text-decoration: underline;
    color: red; }
  #content .headline {
    height: 72px;
    display: flex;
    align-items: center;
    background: #fff;
    border-top: 2px solid #e0e0e0;
    margin-top: 72px; }
    #content .headline h2 {
      text-align: center;
      width: 100%; }
  #content .ib {
    padding: 40px 0; }
  #content .name {
    font-size: 24px;
    margin: 10px auto;
    text-align: center; }
  #content .bnr_box {
    width: 320px;
    margin: 40px auto; }
    #content .bnr_box .bnr {
      width: 100%;
      display: block;
      height: 200px;
      position: relative;
      margin-bottom: 20px; }
      #content .bnr_box .bnr.free_path .ft {
        position: absolute;
        z-index: 2;
        font-size: 12px;
        bottom: 10px;
        right: 15px; }
      #content .bnr_box .bnr.free_path .update_date {
        position: absolute;
        top: calc(80% - 20px);
        font-size: 16px;
        position: absolute;
        right: 4.5%;
        z-index: 2; }
        #content .bnr_box .bnr.free_path .update_date b {
          display: block;
          font-size: 14px; }
      #content .bnr_box .bnr:last-child {
        margin-bottom: 0; }
      #content .bnr_box .bnr img {
        position: absolute;
        object-fit: cover;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0; }
  #content .message_box {
    background: #fff;
    min-height: 235px;
    width: 776px;
    margin: 40px auto;
    border: 3px solid #006991;
    max-width: 100%;
    position: relative;
    height: auto;
    transition: 0.4s ease; }
    #content .message_box.purple {
      border-color: #8010CC; }
      #content .message_box.purple.close .arrow:before {
        content: url(../img/arr4.svg);
        transform: scale(1, -1); }
      #content .message_box.purple .arrow {
        border-color: #8010CC; }
        #content .message_box.purple .arrow:before {
          content: url(../img/arr4.svg); }
    #content .message_box.green {
      border-color: #4AB480; }
      #content .message_box.green .arrow {
        border-color: #4AB480; }
        #content .message_box.green .arrow:before {
          content: url(../img/arr3.svg); }
    #content .message_box.close {
      height: 70px;
      min-height: inherit; }
      #content .message_box.close:after {
        content: "";
        position: absolute;
        width: 100%;
        z-index: 2;
        height: 100%;
        top: 0;
        left: 0;
        display: block;
        background: linear-gradient(rgba(255, 255, 255, 0), white); }
      #content .message_box.close .inner {
        height: 100%; }
      #content .message_box.close .arrow:before {
        content: url(../img/arr2.svg); }
    #content .message_box .arrow {
      position: absolute;
      z-index: 3;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 3px solid #006991;
      bottom: -15px;
      left: calc(50% - 15px);
      align-items: center;
      justify-content: center;
      display: flex;
      background: #fff;
      cursor: pointer; }
      #content .message_box .arrow:before {
        content: url(../img/arr1.svg); }
    #content .message_box .inner {
      padding: 20px;
      overflow: hidden; }
    #content .message_box p {
      margin: 0;
      font-size: 14px; }
  #content .calender_container {
    margin: 0px 0; }
    #content .calender_container .week_active {
      align-items: center;
      justify-content: space-between;
      display: flex;
      height: 60px;
      padding: 20px;
      background: #fff; }
      #content .calender_container .week_active p {
        font-size: 18px;
        text-align: center;
        font-weight: bold; }
      #content .calender_container .week_active span {
        font-size: 12px;
        cursor: pointer; }
    #content .calender_container .calender_week .box_week {
      display: flex;
      flex-wrap: wrap;
      margin: 30px 0; }
      #content .calender_container .calender_week .box_week .column_day {
        width: 13.4%;
        margin-right: 1%; }
        #content .calender_container .calender_week .box_week .column_day:last-child {
          margin: 0; }
        #content .calender_container .calender_week .box_week .column_day .disp_day {
          color: #fff;
          background: #3f3f3f;
          display: flex;
          height: 42px;
          padding: 10px;
          align-items: center;
          justify-content: center;
          margin-bottom: 10px;
          font-size: 14px; }
          #content .calender_container .calender_week .box_week .column_day .disp_day.sat {
            background: #218FC7; }
          #content .calender_container .calender_week .box_week .column_day .disp_day.sun {
            background: #FF4A7A; }
        #content .calender_container .calender_week .box_week .column_day .disp_time {
          background: #fff;
          height: 135px;
          align-items: center;
          justify-content: center;
          display: flex;
          flex-wrap: wrap;
          align-content: center;
          margin-bottom: 5px;
          position: relative; }
          #content .calender_container .calender_week .box_week .column_day .disp_time.reserved:before, #content .calender_container .calender_week .box_week .column_day .disp_time.unavailable:before {
            content: "Reserved";
            font-size: 18px;
            font-weight: bold;
            color: #fff;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            position: absolute;
            align-items: center;
            justify-content: center;
            display: flex;
            background: rgba(255, 0, 0, 0.6); }
          #content .calender_container .calender_week .box_week .column_day .disp_time.unavailable:before {
            background: rgba(0, 0, 0, 0.66);
            content: "No"; }
          #content .calender_container .calender_week .box_week .column_day .disp_time a {
            background: #218FC7;
            font-size: 14px;
            padding: 5px 10px;
            border-radius: 6px;
            margin-top: 0px;
            color: #fff;
            transition: 0.4s ease; }
            #content .calender_container .calender_week .box_week .column_day .disp_time a:hover {
              transform: translateY(-5px); }
          #content .calender_container .calender_week .box_week .column_day .disp_time p {
            margin: 10px 0;
            font-size: 14px; }

#content.plan .ib {
  width: 473px; }
#content img.done {
  margin: 30px auto;
  display: block; }
#content .progress_container {
  width: 100%;
  margin: 30px auto;
  justify-content: space-between;
  display: flex;
  position: relative; }
  #content .progress_container.step1 .box:nth-of-type(1) .icon {
    background: #00D1D2; }
  #content .progress_container.step2:after {
    display: block;
    width: 50%; }
  #content .progress_container.step2 .box:nth-of-type(-n+2) .icon {
    background: #00D1D2; }
  #content .progress_container.step3:after {
    display: block;
    width: 100%; }
  #content .progress_container.step3 .box:nth-of-type(-n+3) .icon {
    background: #00D1D2; }
  #content .progress_container:before, #content .progress_container:after {
    height: 7px;
    width: 100%;
    position: absolute;
    top: 20px;
    left: 0;
    display: block;
    background: #fff;
    content: ""; }
  #content .progress_container:after {
    background: #00D1D2;
    display: none; }
  #content .progress_container .box {
    position: relative;
    z-index: 2;
    width: 50px; }
    #content .progress_container .box .icon {
      width: 100%;
      height: 50px;
      border-radius: 50%;
      display: block;
      overflow: hidden;
      background: #fff;
      padding: 10px;
      align-items: center;
      justify-content: center;
      display: flex; }
      #content .progress_container .box .icon img {
        display: block; }
    #content .progress_container .box p {
      width: 100%;
      text-align: center;
      letter-spacing: -0.05em;
      font-size: 12px;
      margin-top: 10px;
      margin-bottom: 0; }
#content .step_form {
  margin-bottom: 50px; }
  #content .step_form h3 {
    height: 66px;
    background: #3f3f3f;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    align-items: center;
    display: flex;
    margin: 0 0 5px; }
  #content .step_form .buttons {
    flex-wrap: wrap;
    display: flex;
    margin: 10px 0;
    justify-content: space-between; }
    #content .step_form .buttons a.button, #content .step_form .buttons button {
      width: 49%;
      margin: 0; }
      #content .step_form .buttons a.button.back, #content .step_form .buttons button.back {
        color: #000;
        background: #fff; }
    #content .step_form .buttons + .buttons {
      margin-top: 0; }
  #content .step_form a.button, #content .step_form button {
    height: 66px;
    align-items: center;
    justify-content: center;
    display: flex;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background: #218FC7;
    margin: 5px 0;
    width: 100%;
    border: none;
    cursor: pointer;
    box-shadow: none; }
    #content .step_form a.button:disabled, #content .step_form button:disabled {
      cursor: inherit;
      opacity: 0.6; }
    #content .step_form a.button.login, #content .step_form button.login {
      background: #fff;
      color: #B31A00;
      border: 3px solid #B31A00;
      font-weight: normal; }
      #content .step_form a.button.login span, #content .step_form button.login span {
        text-decoration: underline; }
    #content .step_form a.button.white, #content .step_form button.white {
      background: #fff;
      color: #3f3f3f;
      border: 3px solid #3f3f3f; }
  #content .step_form .container {
    background: #fff;
    padding: 20px; }
    #content .step_form .container form {
      display: block;
      padding: 10px 0; }
      #content .step_form .container form .agreement {
        margin: 30px 0; }
        #content .step_form .container form .agreement label {
          font-size: 21px;
          text-align: center;
          display: block; }
          #content .step_form .container form .agreement label input[type="checkbox"] {
            width: auto; }
          #content .step_form .container form .agreement label a {
            text-decoration: underline; }
      #content .step_form .container form .row {
        margin-bottom: 20px; }
        #content .step_form .container form .row.s {
          width: 230px;
          max-width: 100%; }
        #content .step_form .container form .row:last-child {
          margin-bottom: 0; }
        #content .step_form .container form .row span {
          font-size: 12px;
          display: block;
          margin-bottom: 8px; }
      #content .step_form .container form input[type="text"], #content .step_form .container form input[type="number"], #content .step_form .container form select, #content .step_form .container form input[type="email"], #content .step_form .container form input[type="password"], #content .step_form .container form input[type="date"] {
        display: block;
        width: 100%;
        padding: 15px;
        font-size: 16px;
        border: 2px solid #ccc;
        margin-bottom: 5px; }
      #content .step_form .container form select {
        width: 230px; }
      #content .step_form .container form input[type="date"] {
        width: 230px; }
    #content .step_form .container h4 {
      font-size: 18px;
      margin: 0px 0 20px;
      align-items: center;
      display: flex; }
      /* #content .step_form .container h4:before {
        content: "〇";
        font-size: 22px;
        font-weight: normal;
        display: inline-block;
        margin-right: 10px;
        color: #999; } */
    #content .step_form .container p {
      font-size: 14px;
      padding-left: 7px; }
    #content .step_form .container .price {
      text-align: right; }
      #content .step_form .container .price em {
        font-size: 12px;
        display: inline-block; }
      #content .step_form .container .price span {
        display: inline-block;
        font-size: 26px;
        font-weight: bold; }

#content.reservation_detail .ib {
  width: 945px; }
  #content.reservation_detail .ib .step_form {
    width: 475px;
    margin: 0 auto;
    max-width: 100%; }
    #content.reservation_detail .ib .step_form .container {
      background: none;
      padding: 0; }
      #content.reservation_detail .ib .step_form .container p.red {
        font-size: 12px !important;
        color: red;
        width: 100% !important; }
      #content.reservation_detail .ib .step_form .container orm {
        padding: 0; }
      #content.reservation_detail .ib .step_form .container .row_box {
        flex-wrap: wrap;
        display: flex;
        align-items: center;
        padding: 10px 30px;
        background: #fff;
        margin-bottom: 10px;
        min-height: 66px; }
        #content.reservation_detail .ib .step_form .container .row_box.radio {
          padding: 25px 30px;
          align-items: baseline; }
        #content.reservation_detail .ib .step_form .container .row_box p {
          margin: 0;
          font-size: 16px;
          padding-left: 0;
          width: 100px; }
        #content.reservation_detail .ib .step_form .container .row_box span {
          display: inline-block;
          font-size: 16px;
          font-weight: bold; }
        #content.reservation_detail .ib .step_form .container .row_box .radio_container {
          width: calc(100% - 100px); }
          #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio {
            display: flex;
            flex-wrap: wrap;
            font-size: 16px;
            margin: 15px 0 5px; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio + .row_radio {
              margin: 5px 0; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio.active .sub_radio {
              display: flex !important; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio label {
              width: 100%;
              display: flex;
              align-items: center; }
              #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio label.unavailable p {
                color: red;
                text-decoration: line-through;
                margin-left: 20px; }
              #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio label.unavailable input[type="radio"] {
                display: none; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio p {
              width: 100%; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio input[type="radio"] {
              margin-top: 0; }
            #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio .sub_radio {
              width: 100%;
              width: calc(100% - 30px);
              display: none;
              flex-wrap: wrap;
              margin-left: 30px; }
              #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio .sub_radio .inner {
                padding: 5px;
                background: #A9E6F5;
                display: flex;
                width: 200px;
                max-width: 100%; }
                #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio .sub_radio .inner p {
                  width: 100%; }
              #content.reservation_detail .ib .step_form .container .row_box .radio_container .row_radio .sub_radio label {
                width: 50%;
                display: flex; }

#content.mypage .menu_mypage {
  position: fixed;
  height: 100vh;
  left: 100px;
  z-index: 999;
  padding-top: 270px;
  display: block;
  top: 0; }
  #content.mypage .menu_mypage a {
    display: table;
    width: auto;
    font-size: 20px;
    font-weight: bold;
    padding: 15px 0;
    position: relative; }
    #content.mypage .menu_mypage a:before, #content.mypage .menu_mypage a:after {
      content: "";
      height: 3px;
      width: 100%;
      display: block;
      position: absolute;
      bottom: 10px;
      left: 0;
      width: 0;
      transition: 0.4s ease;
      z-index: 2;
      background: #00D1D2; }
    #content.mypage .menu_mypage a:after {
      z-index: 1;
      display: none;
      background: #000;
      width: 100%; }
    #content.mypage .menu_mypage a.active:after {
      display: block; }
    #content.mypage .menu_mypage a:hover:before {
      width: 100%; }
#content.mypage .tit.emp {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  margin: 60px 0; }
#content.mypage .step_form {
  width: 303px;
  max-width: 100%;
  margin: 30px auto; }
  #content.mypage .step_form.not_login {
    width: 100vw;
    margin: 0; }
    #content.mypage .step_form.not_login .container {
      background: #fff;
      padding: 20px; }
      #content.mypage .step_form.not_login .container form {
        padding: 10px; }
  #content.mypage .step_form .container {
    background: none;
    padding: 0; }
    #content.mypage .step_form .container form {
      padding: 0; }
      #content.mypage .step_form .container form .buttons {
        display: block; }
        #content.mypage .step_form .container form .buttons a.cancel {
          display: inline-block;
          padding-bottom: 2px;
          border-bottom: 1px solid #000;
          font-size: 14px;
          margin-right: 30px; }
        #content.mypage .step_form .container form .buttons button {
          margin: 40px 0;
          width: auto;
          height: auto;
          padding: 10px 25px;
          text-align: center;
          font-size: 16px;
          font-weight: bold;
          color: #fff;
          background: #3f3f3f;
          border-radius: 50px;
          display: inline-block; }
      #content.mypage .step_form .container form p {
        font-size: 14px;
        font-weight: bold;
        padding: 0;
        margin-bottom: 30px; }
        #content.mypage .step_form .container form p span {
          display: inline-block;
          margin-right: 20px; }
    #content.mypage .step_form .container .row {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: wrap; }
      #content.mypage .step_form .container .row span {
        width: 100%; }
      #content.mypage .step_form .container .row select {
        width: 100%; }
        #content.mypage .step_form .container .row select[name="pref_name"] {
          width: 140px; }
      #content.mypage .step_form .container .row input {
        margin-right: 5px;
        width: 100%; }
        #content.mypage .step_form .container .row input:last-child {
          margin-right: 0px; }
        #content.mypage .step_form .container .row input.mgn {
          margin: 0 !important;
          margin-bottom: 5px !important; }
        #content.mypage .step_form .container .row input.w50 {
          width: 49% !important; }
        #content.mypage .step_form .container .row input.zc {
          width: 70px !important; }
#content.mypage .info_table {
  width: 530px;
  max-width: 100%;
  margin: 80px auto 100px;
  position: relative; }
  #content.mypage .info_table a.edit {
    position: absolute;
    font-size: 17px;
    display: inline-block;
    padding-bottom: 0px;
    border-bottom: 2px solid #000;
    right: 0;
    top: -50px; }
    #content.mypage .info_table a.edit:after {
      content: url(../img/ico_edit.svg); }
  #content.mypage .info_table table {
    width: 100%;
    font-size: 14px;
    font-weight: bold; }
    #content.mypage .info_table table tr th {
      width: 45%;
      text-align: left;
      padding: 15px 0;
      vertical-align: top; }
    #content.mypage .info_table table tr td {
      padding: 15px 0;
      width: 55%;
      color: #3f3f3f; }

#content .pager {
  justify-content: center;
  display: flex;
  margin: 70px 0 200px; }
  #content .pager a, #content .pager span {
    width: 44px;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #3f3f3f;
    display: flex;
    border-radius: 50%;
    height: 44px;
    font-weight: bold;
    margin: 0 5px;
    transition: 0.4s ease; }
    #content .pager a.current, #content .pager a:hover, #content .pager span.current, #content .pager span:hover {
      background: #00D1D2;
      color: #fff; }
#content .history_list {
  max-width: 100%;
  width: 500px;
  margin: 40px auto; }
  #content .history_list .box {
    padding: 10px 0;
    font-size: 14px;
    color: #666;
    font-weight: bold;
    border-bottom: 1px solid #3f3f3f; }
    #content .history_list .box:last-child {
      border: none; }
    #content .history_list .box p {
      margin: 5px 0 0px; }
    #content .history_list .box b {
      color: #000; }

#content.reissue .step_form:not(.login_form) {
  width: 350px;
  max-width: 100%;
  margin: 40px auto; }
  #content.reissue .step_form:not(.login_form) .container {
    background: none;
    padding: 0; }
    #content.reissue .step_form:not(.login_form) .container form {
      padding: 0; }

#content.reservation_detail .ib .search_result .p_dates {
  flex-wrap: wrap;
  display: flex; }
  #content.reservation_detail .ib .search_result .p_dates a {
    width: 31.7%;
    padding: 12px;
    font-size: 26px;
    color: #fff;
    text-align: center;
    background: #3f3f3f;
    margin-right: 2%;
    margin-bottom: 2%; }
    #content.reservation_detail .ib .search_result .p_dates a:nth-of-type(3n) {
      margin-right: 0; }
#content.reservation_detail .ib .search_result .condition .condition_detail {
  border: 3px solid #3f3f3f;
  margin-bottom: 15px; }
  #content.reservation_detail .ib .search_result .condition .condition_detail .tit {
    background: #3f3f3f;
    color: #fff;
    font-size: 18px;
    padding: 15px;
    position: relative; }
    #content.reservation_detail .ib .search_result .condition .condition_detail .tit a {
      justify-content: space-between;
      padding: 5px 10px;
      background: #fff;
      border-radius: 5px;
      position: absolute;
      top: 10px;
      right: 10px;
      font-size: 18px;
      justify-content: space-between;
      width: 130px;
      align-items: center;
      color: #333;
      display: flex; }
  #content.reservation_detail .ib .search_result .condition .condition_detail p {
    background: #fff;
    padding: 20px;
    margin: 0;
    font-size: 16px; }

#content.terms.tokusho .ib {
  width: 650px; }
#content.terms .ib {
  width: 970px;
  max-width: 100%; }
  #content.terms .ib p {
    font-size: 14px;
    color: #3f3f3f; }

footer {
  background: #3f3f3f;
  position: relative; }
  footer:after {
    height: 40px;
    position: absolute;
    content: "";
    display: block;
    background: #000;
    bottom: 0;
    left: 0;
    width: 100%; }
  footer .ib {
    padding: 35px 0 5px;
    z-index: 2; }
    footer .ib nav {
      justify-content: center;
      display: flex;
      width: 100%; }
      footer .ib nav a {
        font-size: 14px;
        color: #fff;
        padding: 0 10px; }
    footer .ib p {
      color: #fff;
      font-size: 12px;
      width: 235px;
      margin: 30px auto; }
      footer .ib p.copy {
        margin: 40px 0 5px;
        width: 100%;
        text-align: center; }
    footer .ib img.logo {
      width: 234px;
      margin: 30px auto;
      display: block; }

/*# sourceMappingURL=style.css.map */
