/* 子ページ用 */
/* price */
.price {}
.price .area {
    display: flex;
    flex-wrap: wrap;
    padding: 25px 0;
    gap: 10px;
}
.price .box {
}
.price .ttl {
    background-color: var(--color02);
    display: inline-block;
    color: var(--color01);
    padding: 8px 13px;
    margin-bottom: 15px;
}
.price .ex {
    font-size: clamp(1.125rem, 1rem + 0.47vw, 1.375rem);
}
.price .box .price-table {
    background-color: var(--color02);
    color: var(--color01);
    margin-top: 20px;
}
.price .box .price-table tr {}
.price .box .price-table tr th {}
.price .box .price-table tr td {}
.price .box .price-table .total {}
.price .box .price-table .total th {
    background-color: var(--color03);
    color: var(--color02);
}
.price .box .price-table .total td {
    color: #9b1e1e;
    font-weight: 900;
}
.price .box .price-table th,
.price .box .price-table td {
      padding: 10px 20px;
}
.price .box .price-table01 {}

/* price section04 */
.price .box-container {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  width: 100%;
  gap: 8px;
}
.price .box-item {
    position: relative;
    -webkit-backface-visibility: hidden;
    width: 24%;
    margin-bottom: 35px;
    max-width: 100%;
}

.price .box-item img {
  filter: brightness(50%);
  transition: filter 0.3s ease;
}
.price .flip-box:hover .box-item img {
    filter: brightness(10%);
}
.price .flip-box {
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  perspective: 1000px;
  -webkit-perspective: 1000px;
}
.price .flip-box-front, .flip-box-back {
    background-size: cover;
    background-position: center;
    border-radius: 8px;
    min-height: 350px;
    -ms-transition: transform 0.7s cubic-bezier(.4,.2,.2,1);
    transition: transform 0.7s cubic-bezier(.4,.2,.2,1);
    -webkit-transition: transform 0.7s cubic-bezier(.4,.2,.2,1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.price .flip-box-front {
  -ms-transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.price .flip-box:hover .flip-box-front {
  -ms-transform: rotateY(-180deg);
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.price .flip-box-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -ms-transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.price .flip-box:hover .flip-box-back {
  -ms-transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.price .flip-box .inner {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 30px 10px;
    outline: 1px solid transparent;
    -webkit-perspective: inherit;
    perspective: inherit;
    z-index: 2;
    transform: translateY(-50%) translateZ(60px) scale(.94);
    -webkit-transform: translateY(-50%) translateZ(60px) scale(.94);
    -ms-transform: translateY(-50%) translateZ(60px) scale(.94);
    top: 50%;
}
.price .flip-box .inner .text_box {
  background-color: #ffffffba;
  padding: 8px 15px;
}
.price .flip-box-header {
    text-align: center;
    color: var(--color01);
}
.price .flip-box p {
    font-size: 20px;
    line-height: 1.5em;
    color: var(--color01);
}

.price .flip-box-button {
  background-color: transparent;
  border: 2px solid #fff;
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
  margin-top: 25px;
  padding: 15px 20px;
  text-transform: uppercase;
}
@media screen and (max-width:830px) {
  .price .box-item {
    width: 47%;
  }
}
@media screen and (max-width:630px) {
  .price .box-item {
    width: 100%;
  }
  .price .box .price-table {
    width: 100%;
  }
  .price .box .price-table tr {
    display: flex;
    flex-direction: column;
  }
  .price .box .price-table th, .price .box .price-table td {
    padding: 10px 20px 0px;
  }
}
/* ========== system03.php ========== */
.tool02 {}
.tool02 .section:nth-child(2) .container {
  background-color: var(--color02);
  color: var(--color01);
  border-radius: 8px;
}
.tool02 #css-output {
  background-color: var(--color02);
  padding: 1rem 8px;
  border-radius: 8px;
}
.tool02 .section:last-child button {
  background-color: var(--color02);
  padding: 8px 10px;
}
/* ========== Code ========== */
.code-block {
  position: relative;
  margin-bottom: 1.5em;
}
.copy-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
}
pre {
  padding: 1rem;
  background: #f4f4f4cf;
  overflow-x: auto;
  border-radius: 5px;
}
code {
  white-space: pre-wrap;
  word-break: break-word;
}
/* about */
.about .message {}
.about .activity {}
.about .activity .area {}
.about .activity .area ul {}
.about .activity .area ul li{}

/* ========== RESPONSIVE ========== */
@media screen and (max-width: 600px) {
  .child-site .section02 .card-column {
    width: 90%;
  }
  .child-site .section02 .column-1 {
    padding-top: 0px;
  }
  .child-site .section02 .open-content img {
    margin-top: 40px;
  }
  .child-site .section01 .area .cards {
    height: 100px;
    padding: 1rem;
  }
  .child-site .section02 .card .ttl_area {
    padding: 130px 0px 35px 10px;
  }
  .child-site .section02 .open-content.open {
    top: 10%;
  }
}


/* ========== RESPONSIVE ========== */
/* コンテナ幅～1281px（広い条件を先に） */
@media screen and (min-width: 1281px) and (max-width: 1600px) {}

/* mac book air（1280px以下の広い範囲） */
@media screen and (max-width: 1280px) {}

/* タブレット共通 */
@media screen and (min-width: 631px) and (max-width: 1024px) {}

/* タブレット横 */
@media screen and (min-width: 631px) and (max-width: 1366px) and (orientation: landscape) {}

/* タブレット縦 */
@media screen and (min-width: 631px) and (max-width: 1024px) and (orientation: portrait) {}

/* スマホ（最後） */
@media screen and (max-width: 630px) {}