#header_wrp div:last-of-type {
  display: none; }

.calendar {
  border-radius: 5px;
  display: block;
  width: 200px;
  padding: 1rem;
  background-color: white;
  border: 2px solid navy;
  color: navy;
  margin: 1rem auto;
  text-decoration: none;
  text-align: center;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: bold; }
  .calendar:hover {
    background-color: navy;
    color: white; }

@media screen and (max-width: 767px) {
  * {
    box-sizing: border-box; }

  body {
    font-size: 13.5px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }

  h1#in_main_title {
    width: 100%;
    padding: 1rem;
    background: none; }

  #header {
    background: #fff; }
    #header #header_wrp {
      width: 100%; }
      #header #header_wrp #logo {
        padding-left: 1rem; }
      #header #header_wrp #header_side {
        width: 100%; }
        #header #header_wrp #header_side div:last-of-type {
          display: none; }
        #header #header_wrp #header_side #header_side_btn {
          width: 100%;
          float: none;
          display: flex;
          justify-content: center; }

  #navi, #pan {
    width: 100%; }

  #contents {
    width: 100%; }
    #contents div.heading03 {
      padding-top: 8px;
      padding-right: 8px;
      padding-left: 8px; }
      #contents div.heading03 h3 {
        font-size: 1rem;
        padding-left: 20px; }
    #contents .form .cartTable tbody {
      display: flex; }
      #contents .form .cartTable tbody tr {
        display: flex;
        flex-direction: column;
        width: calc(100% - 8em); }
        #contents .form .cartTable tbody tr td, #contents .form .cartTable tbody tr th {
          min-height: 6em;
          display: flex;
          align-items: center; }
        #contents .form .cartTable tbody tr:first-of-type {
          width: 8em; }
        #contents .form .cartTable tbody tr td {
          width: 100%; }
    #contents .form .formprivacy {
      width: 100%;
      border-left: 1px solid #C9D6EC;
      border-right: 1px solid #C9D6EC; }
      #contents .form .formprivacy tr {
        display: block; }
        #contents .form .formprivacy tr th, #contents .form .formprivacy tr td {
          display: inline-block;
          width: 100% !important;
          padding: 0.5rem 1rem; }
          #contents .form .formprivacy tr th .input, #contents .form .formprivacy tr td .input {
            margin: 0.5rem 0; }
            #contents .form .formprivacy tr th .input select, #contents .form .formprivacy tr td .input select {
              padding: 0.5rem;
              font-size: 16px; }
            #contents .form .formprivacy tr th .input input[type="text"], #contents .form .formprivacy tr td .input input[type="text"] {
              padding: 0.5rem;
              font-size: 16px;
              width: 93%; }
            #contents .form .formprivacy tr th .input .upComment, #contents .form .formprivacy tr td .input .upComment {
              margin-bottom: 0.5rem; }
            #contents .form .formprivacy tr th .input .bottomComment, #contents .form .formprivacy tr td .input .bottomComment {
              margin-top: 0.5rem; }
            #contents .form .formprivacy tr th .input .rightComment, #contents .form .formprivacy tr td .input .rightComment {
              display: block;
              margin-top: 0.5rem; }
    #contents .loginTable {
      position: relative;
      padding-bottom: 5rem; }
      #contents .loginTable tr {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: baseline; }
        #contents .loginTable tr td {
          text-align: left !important;
          width: 100% !important;
          padding: 0 !important; }
          #contents .loginTable tr td input[type="text"], #contents .loginTable tr td input[type="password"] {
            width: 100% !important;
            padding: 0.5rem;
            font-size: 16px; }
        #contents .loginTable tr:nth-of-type(2) td:nth-of-type(3) {
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          text-align: center !important;
          width: 100% !important; }
    #contents .section .btn_area {
      margin: 1rem auto;
      margin-bottom: 2rem; }
    #contents .section .title_bar {
      display: inline-block;
      width: 100% !important;
      padding: 0.5rem 1rem; }
    #contents .section .btn_sentence {
      width: 100%; }
    #contents table.ss_apply_5 th {
      text-align: left; }
    #contents table.ss_apply_5 tr {
      display: flex;
      flex-direction: column; }
    #contents table.ss_apply_5 .taikendisplayon {
      display: flex;
      flex-direction: column; }
    #contents table.tableStyle01 tr {
      display: flex;
      flex-direction: column; }
      #contents table.tableStyle01 tr th {
        display: inline-block;
        width: 100% !important;
        padding: 0.5rem 1rem; }
      #contents table.tableStyle01 tr th, #contents table.tableStyle01 tr td {
        width: 100%; }

  .taikendisplayon {
    display: block; }

  #footer_bottom_wrp #footer_bottom {
    width: 100%;
    padding: 1rem; }
    #footer_bottom_wrp #footer_bottom a:last-of-type {
      display: block;
      margin: 1rem auto;
      width: 100%; }
      #footer_bottom_wrp #footer_bottom a:last-of-type img {
        display: block;
        margin: auto !important; }
    #footer_bottom_wrp #footer_bottom #footer_other_link {
      float: none;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
    #footer_bottom_wrp #footer_bottom #footer_copy {
      text-align: center;
      float: none; } }
