@charset "UTF-8";
.main_area {
  background-color: #c8e7e9; }
  .main_area .tit01 b {
    width: 100%;
    max-width: 170px; }
  @media screen and (max-width: 768px) {
    .main_area .txt01 {
      text-align: center; } }
  @media screen and (max-width: 644px) {
    .main_area .txt01 {
      text-align: left; } }

.price_in {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 78.12%;
  max-width: 1000px;
  margin: 0px auto; }
  @media screen and (max-width: 1024px) {
    .price_in {
      width: 100%;
      max-width: 100%;
      padding: 0px 20px; } }

.price__table01 {
  margin-bottom: 20px; }
  @media screen and (max-width: 644px) {
    .price__table01 {
      margin-bottom: 15px; } }
  .price__table01 th, .price__table01 td {
    border: solid 1px #ddd8cc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 0px; }
    @media screen and (max-width: 644px) {
      .price__table01 th, .price__table01 td {
        padding: 15px 0px; } }
    .price__table01 th.wid02, .price__table01 td.wid02 {
      width: 42.53%; }
    .price__table01 th.wid03, .price__table01 td.wid03 {
      width: 57.46%; }
  .price__table01 th {
    background-color: #fc9a5c;
    color: #fff;
    font-size: 20px; }
    @media screen and (max-width: 644px) {
      .price__table01 th {
        font-size: 15px; } }
    .price__table01 th.wid01 {
      width: 31.34%; }
  .price__table01 td {
    font-size: 14px;
    color: #333333; }
    .price__table01 td strong {
      font-size: 26px;
      vertical-align: -0.3rem; }
      @media screen and (max-width: 644px) {
        .price__table01 td strong {
          font-size: 18px;
          vertical-align: baseline; } }
    .price__table01 td .tax {
      font-size: 12px; }
      @media screen and (max-width: 644px) {
        .price__table01 td .tax {
          font-size: 14px; } }
  .price__table01 .vat {
    vertical-align: top; }

.price__box01 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 50px;
  border-bottom: solid 1px #ffb281;
  margin-bottom: 35px; }
  @media screen and (max-width: 644px) {
    .price__box01 {
      margin-bottom: 50px; } }
  .price__box01--last {
    padding-bottom: 0px;
    border-bottom: none; }

.price__box01__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .price__box01__flex {
      display: block; } }
  .price__box01__flex .left {
    width: 50%;
    padding: 0px 40px 50px 20px;
    position: relative; }
    @media screen and (max-width: 959px) {
      .price__box01__flex .left {
        width: 100%;
        max-width: 100%;
        padding: 0px;
        padding-bottom: 50px; } }
    .price__box01__flex .left::after {
      content: "";
      border-right: solid 1px #ffb281;
      display: block;
      position: absolute;
      right: 0px;
      top: 0px;
      height: calc(100% - 55px); }
      @media screen and (max-width: 959px) {
        .price__box01__flex .left::after {
          display: none; } }
  .price__box01__flex .right {
    width: 50%;
    padding: 0px 20px 50px 40px; }
    @media screen and (max-width: 959px) {
      .price__box01__flex .right {
        width: 100%;
        max-width: 100%;
        padding: 0px;
        padding-bottom: 50px; } }

.price__box01__tit01 {
  font-size: 15px;
  color: #ff7700; }

.price__box01__txt01 {
  font-size: 15px;
  color: #753103; }
  .price__box01__txt01 b {
    color: #ff7700; }
  .price__box01__txt01.mb {
    margin-bottom: 30px; }
    @media screen and (max-width: 644px) {
      .price__box01__txt01.mb {
        margin-bottom: 20px; } }

.price__box01__app .photobookAppBnr_area {
  width: 100%;
  margin-bottom: 0px;
  padding-top: 50px; }
  @media screen and (max-width: 1024px) {
    .price__box01__app .photobookAppBnr_area {
      width: 81.3%; } }
  @media screen and (max-width: 959px) {
    .price__box01__app .photobookAppBnr_area {
      width: 100%;
      max-width: 100%; } }

.price__box02 {
  width: 48%;
  margin-bottom: 45px; }
  @media screen and (max-width: 768px) {
    .price__box02 {
      width: 100%;
      max-width: 100%;
      margin-bottom: 20px; } }

.price__box02__img01 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  border-bottom: 2px solid #fff; }
  @media screen and (max-width: 644px) {
    .price__box02__img01 {
      border-bottom: 1px solid #fff; } }
  .price__box02__img01 img {
    width: 100%;
    max-width: 100%; }

.price__box02__table {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .pink .price__box02__table table tr {
    border: solid 1px #f7e2e5;
    border-top: none; }
  .green .price__box02__table table tr {
    border: solid 1px #b8ede4;
    border-top: none; }
  .l_green .price__box02__table table tr {
    border: solid 1px #e8f4b0;
    border-top: none; }
  .yellow .price__box02__table table tr {
    border: solid 1px #f0e5a0;
    border-top: none; }
  .price__box02__table table tr th, .price__box02__table table tr td {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 0px;
    text-align: center; }
    @media screen and (max-width: 644px) {
      .price__box02__table table tr th, .price__box02__table table tr td {
        padding: 10px 0px; } }
  .price__box02__table table tr th {
    font-size: 15px; }
    .pink .price__box02__table table tr th {
      color: #f291aa; }
    .green .price__box02__table table tr th {
      color: #02a287; }
    .l_green .price__box02__table table tr th {
      color: #7eaf03; }
    .yellow .price__box02__table table tr th {
      color: #bf8601; }
  .price__box02__table table tr td {
    font-size: 12px;
    color: #444444; }
    @media screen and (max-width: 644px) {
      .price__box02__table table tr td {
        font-size: 10px; } }
    .price__box02__table table tr td strong {
      font-size: 24px;
      vertical-align: -0.4rem; }
      @media screen and (max-width: 644px) {
        .price__box02__table table tr td strong {
          font-size: 18px;
          vertical-align: baseline; } }
  .pink .price__box02__table table tr:nth-child(1) {
    border: none;
    border-bottom: solid 1px #f7e2e5; }
  .green .price__box02__table table tr:nth-child(1) {
    border: none;
    border-bottom: solid 1px #b8ede4; }
  .l_green .price__box02__table table tr:nth-child(1) {
    border: none;
    border-bottom: solid 1px #e8f4b0; }
  .yellow .price__box02__table table tr:nth-child(1) {
    border: none;
    border-bottom: solid 1px #f0e5a0; }
  .price__box02__table table tr:nth-child(1) th {
    font-size: 15px;
    padding: 10px 15px; }
    @media screen and (max-width: 644px) {
      .price__box02__table table tr:nth-child(1) th {
        font-weight: bold;
        font-size: 13px;
        padding: 15px 0px;
        text-align: center; } }
    .pink .price__box02__table table tr:nth-child(1) th {
      background-color: #fff3f5; }
    .green .price__box02__table table tr:nth-child(1) th {
      background-color: #c7f7ef; }
    .l_green .price__box02__table table tr:nth-child(1) th {
      background-color: #f4ffc0; }
    .yellow .price__box02__table table tr:nth-child(1) th {
      background-color: #fff5b4; }
    .price__box02__table table tr:nth-child(1) th:nth-child(1) {
      font-size: 15px;
      text-align: center;
      padding: 10px 5px; }
      @media screen and (max-width: 644px) {
        .price__box02__table table tr:nth-child(1) th:nth-child(1) {
          font-size: 11px; } }
  .price__box02__table table tr:nth-child(2n+1) {
    background-color: #fcfafa; }
  .price__box02__table table tr th:nth-child(1), .price__box02__table table tr td:nth-child(1) {
    width: 22.91%; }
    @media screen and (max-width: 644px) {
      .price__box02__table table tr th:nth-child(1), .price__box02__table table tr td:nth-child(1) {
        width: 33.08%; } }
  .price__box02__table table tr th:nth-child(n+2), .price__box02__table table tr td:nth-child(n+2) {
    width: 38.54%; }
    @media screen and (max-width: 644px) {
      .price__box02__table table tr th:nth-child(n+2), .price__box02__table table tr td:nth-child(n+2) {
        width: 33.46%; } }

.price__cap {
  font-size: 14px;
  color: #753103; }
  @media screen and (max-width: 644px) {
    .price__cap {
      font-size: 12px; } }
  .price__cap li {
    position: relative;
    padding-left: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .price__cap li:before {
      position: absolute;
      content: "※";
      display: block;
      top: 0px;
      left: 0px; }
  .price__cap.dot li:before {
    content: "・"; }

.price__box03 {
  margin-bottom: 60px; }
  @media screen and (max-width: 644px) {
    .price__box03 {
      padding-bottom: 25px;
      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAADCAYAAABBCiV2AAAAJElEQVQYV2NkYGBg+L+p8T+jXz0jiI0NMIIUwCRwKQTrJmQSACtODARSRTD1AAAAAElFTkSuQmCC) bottom left repeat-x;
      margin-bottom: 35px; } }

.price__box03__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 15px; }
  @media screen and (max-width: 644px) {
    .price__box03__flex {
      margin-bottom: 20px; } }
  .price__box03__flex .date {
    display: block;
    background-color: #fee9db;
    border-radius: 6px;
    color: #753103;
    width: 107px;
    text-align: center;
    padding: 10px;
    font-size: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
    margin-right: 10px; }
    @media screen and (max-width: 644px) {
      .price__box03__flex .date {
        border-radius: 3px;
        width: 70px; } }
    .price__box03__flex .date i {
      color: #b90202; }
      .price__box03__flex .date i.i {
        color: #cfb051; }
  .price__box03__flex .txt {
    font-size: 12px;
    color: #ff7700;
    line-height: 1.3;
    width: calc(100% - 117px); }
    @media screen and (max-width: 644px) {
      .price__box03__flex .txt {
        width: calc(100% - 80px); } }
    .price__box03__flex .txt strong {
      font-size: 15px; }
      @media screen and (max-width: 644px) {
        .price__box03__flex .txt strong {
          display: block; } }

.calendar__item {
  margin-bottom: 40px; }
  @media screen and (max-width: 644px) {
    .calendar__item {
      margin-bottom: 35px; } }

.calendar__item__tit01 {
  font-size: 20px;
  color: #753103;
  text-align: center;
  margin-bottom: 15px; }
  @media screen and (max-width: 644px) {
    .calendar__item__tit01 {
      font-size: 12px;
      margin-bottom: 25px; } }
  .calendar__item__tit01 strong {
    font-size: 30px;
    font-weight: bold; }
    @media screen and (max-width: 644px) {
      .calendar__item__tit01 strong {
        font-size: 21px; } }

.calendar__table {
  table-layout: fixed; }

.calendar__table th, .calendar__table td {
  padding: 20px 15px;
  font-size: 16px; }
  @media screen and (max-width: 644px) {
    .calendar__table th, .calendar__table td {
      padding: 5px 2px;
      font-size: 15px; } }

.calendar__table th {
  background-color: #ffb281;
  border: solid 1px #fff5e5;
  color: #ffffff;
  font-weight: bold; }

.calendar__table td {
  background-color: #fff;
  border: solid 1px #fff5e5;
  color: #753103;
  letter-spacing: 0.15rem;
  font-weight: bold; }
  @media screen and (max-width: 644px) {
    .calendar__table td {
      font-weight: normal; } }
  .calendar__table td .table-calendar__status {
    font-size: 12px;
    color: #753103;
    display: block;
    letter-spacing: 0rem;
    background-color: #fff5e5;
    border-radius: 6px;
    line-height: 1;
    padding: 7px 0px;
    margin-top: 5px;
    font-weight: normal; }
    @media screen and (max-width: 644px) {
      .calendar__table td .table-calendar__status {
        font-size: 10px;
        padding: 3px 0px; } }
    .calendar__table td .table-calendar__status i {
      color: #b90202;
      margin-right: 3px; }
      @media screen and (max-width: 768px) {
        .calendar__table td .table-calendar__status i {
          display: block;
          margin: 0px; } }
      .calendar__table td .table-calendar__status i.i {
        color: #cfb051; }

.calendar__table tr td:nth-child(1), .calendar__table .holiday {
  background-color: #fee9db !important; }
  .calendar__table tr td:nth-child(1) .table-calendar__status, .calendar__table .holiday .table-calendar__status {
    background-color: #fff !important; }

.calendar__table tr td:nth-last-child(1) {
  background-color: #e6f5f9; }
  .calendar__table tr td:nth-last-child(1) .table-calendar__status {
    background-color: #fff; }

.shipping_area .price__table01 th {
  font-size: 15px; }

.shipping_area .price__table01 td {
  padding: 15px 20px;
  text-align: left;
  font-size: 12px;
  color: #753103; }
  @media screen and (max-width: 644px) {
    .shipping_area .price__table01 td {
      padding: 15px; } }
  .shipping_area .price__table01 td a {
    color: #ff7700;
    text-decoration: underline;
    display: inline; }

.payment_area .price__table01 td {
  color: #753103; }
  .payment_area .price__table01 td.wid02 {
    font-size: 16px; }
    @media screen and (max-width: 644px) {
      .payment_area .price__table01 td.wid02 {
        font-size: 14px; } }
    .payment_area .price__table01 td.wid02.vat {
      vertical-align: middle; }
      @media screen and (max-width: 644px) {
        .payment_area .price__table01 td.wid02.vat {
          vertical-align: top; } }
  .payment_area .price__table01 td.wid03 {
    padding: 30px;
    text-align: left;
    font-size: 14px; }
    .payment_area .price__table01 td.wid03 a {
      text-decoration: underline;
      color: #b90202; }
    @media screen and (max-width: 644px) {
      .payment_area .price__table01 td.wid03 {
        font-size: 12px;
        padding: 15px; } }

.payment_area .card_img {
  width: 100%;
  max-width: 255px;
  display: block;
  margin: 0px auto;
  padding-top: 30px; }
  @media screen and (max-width: 644px) {
    .payment_area .card_img {
      width: 100%;
      max-width: 100px;
      padding-top: 20px; } }
