header {
  background: url(/price/img/img_price.webp) no-repeat #fff;
  background-position: center bottom;
  background-size: 15%;
  padding-top: 140px;
  height: auto;
  display: block; }
  @media screen and (max-width: 768px) {
    header {
      background-position: center bottom;
      background-size: 43%;
      padding-top: 105px; } }
  header h1 {
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    color: #4fa7b2; }
    @media screen and (max-width: 768px) {
      header h1 {
        font-size: 30px;
        margin-top: 50px; } }

#price .table_wrap table {
  width: 100%;
  margin: 80px auto; }
  #price .table_wrap table th,
  #price .table_wrap table td {
    padding: 5px 1em; }
  #price .table_wrap table th {
    min-height: 10em;
    max-width: 3em;
    min-width: 3em;
    padding: 0; }
    #price .table_wrap table th .vertical {
      writing-mode: tb-lr;
      writing-mode: vertical-lr;
      -webkit-writing-mode: vertical-lr;
      letter-spacing: .2em;
      min-height: 10em; }
  #price .table_wrap table td {
    border: 1px solid #4fa7b2; }
  #price .table_wrap table thead th {
    border: 1px solid #4fa7b2;
    padding: 10px;
    color: #4fa7b2;
    width: 20%;
    background: #ecfcfe;
    white-space: nowrap; }
    #price .table_wrap table thead th span {
      font-size: 1.5em;
      display: block; }
    #price .table_wrap table thead th a {
      cursor: pointer;
      background: #4fa7b2;
      border-radius: 6px;
      color: #fff;
      border: 1px solid #4fa7b2;
      display: block;
      padding: 3px 0;
      margin-top: 10px; }
      #price .table_wrap table thead th a:hover {
        opacity: 0.7; }
  #price .table_wrap table tbody th {
    border-top: 1px solid #fff; }
  #price .table_wrap table tbody td {
    color: #4fa7b2;
    text-align: center; }
    #price .table_wrap table tbody td.memo {
      text-align: left; }
  @media screen and (max-width: 1160px) {
    #price .table_wrap table {
      min-width: 1100px; } }

@media screen and (max-width: 1160px) {
  #price .table_wrap {
    overflow-x: scroll; } }

#price td span {
  display: block;
  font-size: 12px;
  color: #e12222; }

#price td.memo p {
  margin-bottom: 0; }

#price td.memo ul {
  padding-left: 2em; }
  #price td.memo ul li {
    list-style: disc;
    margin-bottom: 0.5em; }

#basic_price .inner {
  max-width: 800px; }
  #basic_price .inner .flex {
    margin-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      #basic_price .inner .flex {
        display: block; } }
    #basic_price .inner .flex > div {
      border-color: #4fa7b2;
      border-style: solid;
      border-width: 1px; }
      #basic_price .inner .flex > div:first-child {
        width: 30%;
        background: #4fa7b2; }
        @media screen and (max-width: 768px) {
          #basic_price .inner .flex > div:first-child {
            display: flex;
            width: 100%; }
            #basic_price .inner .flex > div:first-child p {
              display: flex;
              align-items: center;
              justify-content: center; } }
        #basic_price .inner .flex > div:first-child figure {
          margin: 0; }
          @media screen and (max-width: 768px) {
            #basic_price .inner .flex > div:first-child figure {
              width: 50%; } }
          #basic_price .inner .flex > div:first-child figure img {
            width: 100%;
            vertical-align: top; }
        #basic_price .inner .flex > div:first-child p {
          margin: 0;
          padding: 1em;
          background: #4fa7b2;
          color: #fff;
          text-align: center; }
          @media screen and (max-width: 768px) {
            #basic_price .inner .flex > div:first-child p {
              width: 50%; } }
      #basic_price .inner .flex > div:last-child {
        width: 70%;
        padding: 1em 2em;
        border-left: none; }
        @media screen and (max-width: 768px) {
          #basic_price .inner .flex > div:last-child {
            width: 100%;
            border-left: 1px solid #4fa7b2; } }
        #basic_price .inner .flex > div:last-child span {
          display: block;
          font-size: 12px;
          color: #e12222; }

#modal_wrap #modal_text img {
  width: 100%; }
