/************

service01

*************/
.p-page-service01__kv {
    margin: 0 auto calc(40 / 1920 * 100vw);
    font-size: calc(72 / 1920 * 100vw);
    margin-bottom: calc(10 / 1920 * 100vw);
    color: #2c5530;
    text-align: center;
    line-height: 1.4;
    font-weight: 800;
    text-shadow: 0 9px 9px rgba(255, 255, 255, .8);
}
.p-page-service01__kv-txt {
    font-size: calc(26 / 1920 * 100vw);
    text-shadow: 0 1px 1px rgba(0, 0, 0, .06);
    color: #333;
    line-height: 1.6;
    text-align: center;
}
.p-page-service01__kv-sub-ttl {
    font-size: calc(40 / 1920 * 100vw);
    color: #db0d4e;
    text-align: center;
    line-height: 1.4;
    display: inline-block;
    padding: calc(23 / 1920 * 100vw) calc(5 / 1920 * 100vw);
    font-weight: 800;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
}
.p-page-service01__lead-area {
    margin-bottom: calc(80 / 1920 * 100vw);
}
.p-page-service01__lead {
    text-align: center;
    font-size: calc(28 / 1920 * 100vw);
    line-height: 1.8;
}
.p-page-service01__img-area {
    width: calc(1200 / 1920 * 100vw);
    height: auto;
    margin: 0 auto;
}
.p-page-service01__img-area img {
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.p-page-service01__ttl {
    font-size: calc(48 / 1920 * 100vw);
    color: #333;
    font-weight: 700;
    padding: 0 0 calc(20 / 1920 * 100vw);
    line-height: 1.4;
    text-align: center;
    position: relative;
}
.p-page-service01__ttl::after  {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #4A7765;
}
@media (max-width: 768px) {
    .p-page-service01__kv {
        font-size: calc(40 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw);
    }
    .p-page-service01__kv-txt {
        font-size: calc(18 / 390* 100vw);
    }
    .p-page-service01__kv-sub-ttl {
        font-size: calc(28 / 390* 100vw);
        margin: calc(16 / 390* 100vw) 0 calc(20 / 390* 100vw);
        padding: 0;
        border-radius: calc(10 / 390* 100vw);
    }
    .p-page-service01__lead {
        font-size: calc(18 / 390* 100vw);
        text-align: justify;
    }
    .p-page-service01__img-area {
        width: 100%;
        margin: calc(20 / 390* 100vw) auto;
    }
    .p-page-service01__ttl {
        font-size: calc(26 / 390 * 100vw);
        padding: 0 0 calc(10 / 390 * 100vw);
    }
}
/************
 p-page-service01 approach section
*************/
.p-page-service01-approach__container {
    background-color: #fff8e1;
}
.p-page-service01-approach__intro {
    padding: calc(40 / 1920 * 100vw) 0;
    border-radius: 15px;
    margin-bottom: calc(60 / 1920 * 100vw);
}
.p-page-service01-approach__intro-ttl {
    font-size: calc(34 / 1920 * 100vw);
    color: #2c5530;
    margin-bottom: calc(20 / 1920 * 100vw);
    text-align: center;
    font-weight: bold;
}
.p-page-service01-approach__intro-txt {
    font-size: calc(28 / 1920 * 100vw);
    line-height: 1.8;
    text-align: center;
}
.p-page-service01-approach__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(40 / 1920 * 100vw);
    margin-bottom: calc(60 / 1920 * 100vw);
}
.p-page-service01-card {
    background: #fff;
    border-radius: 15px;
    padding: calc(40 / 1920 * 100vw);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    border-left: 6px solid #D7E7AF;
}
.p-page-service01-card.-second {
    border-left-color: #88d8a3;
}
.p-page-service01-card__head {
    margin-bottom: calc(30 / 1920 * 100vw);
}
.p-page-service01-card__ttl {
    font-size: calc(36 / 1920 * 100vw);
    color: #2c5530;
    margin-bottom: calc(10 / 1920 * 100vw);
    display: inline-block; 
    font-weight: bold;
}
.p-page-service01-card__sub-ttl {
    font-size: calc(36 / 1920 * 100vw);
    margin: calc(10 / 1920 * 100vw) 0;
    font-weight: bold;
}
.u-highlight {
    background: linear-gradient(transparent 60%, #a8e6cf 60%);
    font-weight: bold;
}
.p-page-service01-card__price {
    font-size: calc(32 / 1920 * 100vw);
    color: #2c5530;
    font-weight: bold;
    display:inline-block;
    background:#E9F5ED;
    color:#2c5530;
    border:1px solid rgba(139,195,74,.35);
    border-radius:999px;
    padding:calc(10 / 1920 * 100vw) calc(20 / 1920 * 100vw);
    margin-bottom: calc(20 / 1920 * 100vw);
}
.p-page-service01-card__lead {
    margin: calc(30 / 1920 * 100vw) 0;
    font-size: calc(28 / 1920 * 100vw);
}
.p-page-service01-feature {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: calc(30 / 1920 * 100vw);
    margin: calc(30 / 1920 * 100vw) 0;
}
.p-page-service01-feature__item {
    background: #f8f9fa;
    padding: calc(20 / 1920 * 100vw);
    border-radius: 10px;
    border-left: 4px solid #a8e6cf;
}
.p-page-service01-feature__ttl {
    color: #2c5530;
    margin-bottom: calc(10 / 1920 * 100vw);
    font-size: calc(32 / 1920 * 100vw);
    font-weight: bold;
}
.p-page-service01-feature__txt {
    font-size: calc(20 / 1920 * 100vw);
    line-height: 1.6;
}
.p-page-service01-feature__list {
    list-style: none;
}
.p-page-service01-feature__list li {
    margin-bottom: calc(8 / 1920 * 100vw);
    padding-left: calc(20 / 1920 * 100vw);
    position: relative;
    font-size: calc(28 / 1920 * 100vw);
}
.p-page-service01-feature__list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #a8e6cf;
    font-weight: bold;
}
.p-page-service01-card__img {
    width: 100%;
    height: calc(500 / 1920 * 100vw);
    margin: calc(30 / 1920 * 100vw) 0;
}
.p-page-service01-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}
@media (max-width: 768px) {
    .p-page-service01-approach__intro {
        padding: 0;
        margin-bottom: calc(30 / 390* 100vw);
    }
    .p-page-service01-approach__intro-ttl {
        font-size: calc(24 / 390* 100vw);
        margin-bottom: calc(10 / 390* 100vw);
    }
    .p-page-service01-approach__intro-txt {
        font-size: calc(18 / 390* 100vw);
    }
    .p-page-service01-approach__cards {
        gap: calc(20 / 390* 100vw);
        margin-bottom: calc(30 / 390* 100vw);
    }
    .p-page-service01-card {
        padding: calc(20 / 390* 100vw);
    }
    .p-page-service01-card__head {
        margin-bottom: calc(10 / 390* 100vw);
    }
    .p-page-service01-card__ttl {
        font-size: calc(24 / 390* 100vw);
        margin-bottom: calc(5 / 390* 100vw);
    }
    .p-page-service01-card__sub-ttl {
        font-size: calc(24 / 390* 100vw);
        margin: calc(5 / 390* 100vw) 0;
    }
    .p-page-service01-card__price {
        font-size: calc(20 / 390* 100vw);
        padding:calc(10 / 390 * 100vw) calc(20 / 390 * 100vw);
        margin-bottom: calc(20 / 390 * 100vw);
    }
    .p-page-service01-card__lead {
        margin: calc(10 / 390* 100vw) 0;
        font-size: calc(18 / 390* 100vw);
    }
    .p-page-service01-feature {
        gap: calc(10 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-feature__item {
        padding: calc(10 / 390* 100vw);
    }
    .p-page-service01-feature__ttl {
        margin-bottom: calc(5 / 390* 100vw);
        font-size: calc(20 / 390* 100vw);
    }
    .p-page-service01-feature__txt {
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-feature__list li {
        margin-bottom: calc(5 / 390* 100vw);
        padding-left: calc(10 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-card__img {
        height: calc(300 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
}
/* =====================
   含まれるサービス／成果物
   ===================== */
.p-page-service01-includes,
.p-page-service01-deliverables {
    padding: calc(20 / 1920 * 100vw);
    margin: calc(20 / 1920 * 100vw) 0;
}
.p-page-service01-includes li,
.p-page-service01-deliverables li {
    position: relative;
    margin-bottom: calc(10 / 1920 * 100vw);
    padding-left: calc(28 / 1920 * 100vw);
    line-height: 1.7;
    color: #333;
}
.p-page-service01-includes li::before,
.p-page-service01-deliverables li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;     
    transform: translateY(-50%);
    width: calc(15 / 1920 * 100vw);
    height: calc(15 / 1920 * 100vw);
    border-radius: 50%;
    background: #8bc34a;
    opacity: .9;
}
.p-page-service01-includes > ul > li {
    position: relative;
    margin-bottom: calc(10 / 1920 * 100vw);
    padding-left: calc(28 / 1920 * 100vw);
    line-height: 1.7;
    color: #333;
}
.p-page-service01-includes > ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(10 / 1920 * 100vw);
    height: calc(10 / 1920 * 100vw);
    border-radius: 50%;
    background: #8bc34a;
    opacity: .9;
}
.p-page-service01-includes > ul > li:nth-child(3) {
    margin-bottom: calc(6 / 1920 * 100vw);
}
.p-page-service01-includes > ul > li:nth-child(4),
.p-page-service01-includes > ul > li:nth-child(5) {
    padding-left: calc(28 / 1920 * 100vw);
    margin-bottom: calc(8 / 1920 * 100vw);
}
.p-page-service01-card:nth-of-type(2) .p-page-service01-includes > ul > li:nth-child(4)::before,
.p-page-service01-card:nth-of-type(2) .p-page-service01-includes > ul > li:nth-child(5)::before {
    display: none;
}
.p-page-service01-includes h4,
.p-page-service01-deliverables h4 {
    position: relative;
    margin-bottom: calc(15 / 1920 * 100vw);
    color: #2c5530;
    font-size: calc(32 / 1920 * 100vw);
    font-weight: 700;
}
.p-page-service01-includes h4::after,
.p-page-service01-deliverables h4::after {
    content: "";
    display: block;
    height: calc(2 / 1920 * 100vw);
    margin-top: calc(10 / 1920 * 100vw);
    background: linear-gradient(90deg, rgba(139,195,74,.28), rgba(139,195,74,0));
    border-radius: 999px;
}
.p-page-service01-note {
    background: #fff8e1;
    padding: calc(20 / 1920 * 100vw);
    border-radius: 10px;
    margin-top: calc(30 / 1920 * 100vw);
}
@media (max-width: 768px) {
  .p-page-service01-includes,
  .p-page-service01-deliverables {
    padding: 0;
    margin:  calc(20 / 390 * 100vw) 0;
  }
  .p-page-service01-includes li,
  .p-page-service01-deliverables li {
    margin-bottom: calc(10 / 390 * 100vw);
    padding-left:  calc(24 / 390 * 100vw);
    line-height: 1.8;
    font-size: calc(18 / 390 * 100vw);
  }
  .p-page-service01-includes li::before,
  .p-page-service01-deliverables li::before {
    width:  calc(10 / 390 * 100vw);
    height: calc(10 / 390 * 100vw);
  }
  .p-page-service01-includes > ul > li {
    padding-left:  calc(24 / 390 * 100vw);
    margin-bottom: calc(10 / 390 * 100vw);
  }
  .p-page-service01-includes > ul > li::before {
    width:  calc(8 / 390 * 100vw);
    height: calc(8 / 390 * 100vw);
  }
  .p-page-service01-includes > ul > li:nth-child(3) {
    margin-bottom: calc(6 / 390 * 100vw);
  }
  .p-page-service01-includes > ul > li:nth-child(4),
  .p-page-service01-includes > ul > li:nth-child(5) {
    padding-left: calc(28 / 390 * 100vw);
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .p-page-service01-includes h4,
  .p-page-service01-deliverables h4 {
    font-size: calc(22 / 390 * 100vw);
    margin-bottom: calc(12 / 390 * 100vw);
  }
  .p-page-service01-includes h4::after,
  .p-page-service01-deliverables h4::after {
    height: calc(2 / 390 * 100vw);
    margin-top: calc(8 / 390 * 100vw);
  }
  .p-page-service01-note {
    padding:    calc(18 / 390 * 100vw);
    border-radius: 8px;
    margin-top: calc(24 / 390 * 100vw);
  }
}

/* =====================
   Options Section
   ===================== */
.p-page-service01-option__container {
    background: #ffffff;
}
.p-page-service01-option__img-area img {
    width: 100%;
    height: calc(500 / 1920 * 100vw);
    margin: calc(30 / 1920 * 100vw) 0;
}
.p-page-service01-table {
    width: 100%;
    border-collapse: collapse;
    margin: calc(40 / 1920 * 100vw) 0;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.p-page-service01-table th,
.p-page-service01-table td {
    padding: calc(20 / 1920 * 100vw);
    text-align: left;
    border: none;
}
.p-page-service01-table th {
    color: #2c5530;
    font-weight: bold;
    background: #D7E7AF;
}
.p-page-service01-table td:nth-child(1) {
    width: 25%;
}
.p-page-service01-table td:nth-child(2) {
    font-weight: bold;
    color: #db0d4e;
    width: 15%;
}
.p-page-service01-table td:nth-child(3) {
    width: 60%;
}
.p-page-service01-table th,
.p-page-service01-table td {
    font-size: calc(26 / 1920 * 100vw);
    line-height: 1.6;
}
.p-page-service01-table tbody tr:nth-child(odd) {
    background: #fff;
}
.p-page-service01-table tbody tr:hover {
    background: #D7E7AF;
    transition: background 0.3s ease;
}
.p-page-service01-table tbody tr {
    border-bottom: 1px solid #E9F5ED;
}
@media (max-width: 768px) {
    .p-page-service01-option__img-area img {
        height: calc(300 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-table {
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-table th,
    .p-page-service01-table td {
        padding: calc(10 / 390* 100vw);
    }
    .p-page-service01-table th,
    .p-page-service01-table td {
        font-size: calc(16 / 390* 100vw);
    }
}
/* =====================
   Flow Section (無料相談の流れ)
   ===================== */
.p-page-service01-flow__container { 
    background: #ffffff; 
}
.p-page-service01-flow__box { 
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(40 / 1920 * 100vw);
    margin: calc(40 / 1920 * 100vw) 0;
}
.p-page-service01-flow__item { 
    background: #f8f9fa;
    padding: calc(30 / 1920 * 100vw);
    border-radius: 15px;
    border-top: 6px solid #D7E7AF;
}
.p-page-service01-flow__ttl {
    color: #2c5530;
    margin-bottom: calc(10 / 1920 * 100vw);
    font-size: calc(28 / 1920 * 100vw);
    font-weight: bold;
}
.p-page-service01-flow__point {
    background: #e8f5e8;
    padding: calc(20 / 1920 * 100vw);
    border-radius: 10px;
    margin-top: calc(20 / 1920 * 100vw);
    text-align: center;
    font-weight: bold;
    color: #2c5530;
}
.p-page-service01-flow__img {
    grid-column: 1 / -1;
}
.p-page-service01-flow__img img {
    width: 100%;
    height: calc(500 / 1920 * 100vw);
    border-radius: 10px;
    object-fit: cover;
}
.p-page-service01-flow__subtitle {
    color: #666;
    margin-bottom: calc(10 / 1920 * 100vw);
    font-style: italic;
    font-size: calc(24 / 1920 * 100vw);
    text-align: center;
}
.p-page-service01-flow__steps {
    background: #ffffff;
    padding: calc(20 / 1920 * 100vw);
    border-radius: 10px;
    margin: calc(20 / 1920 * 100vw) 0;
}
.p-page-service01-flow__steps-ttl,
.p-page-service01-flow__location-ttl {
    font-size: calc(26 / 1920 * 100vw);
    font-weight: bold;
    margin-bottom: calc(10 / 1920 * 100vw);
    color: #2c5530;
    text-align: left;
}
@media (max-width: 768px) {
    .p-page-service01-flow__subtitle {
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-flow__steps {
        padding: calc(10 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-flow__steps-ttl,
    .p-page-service01-flow__location-ttl {
        font-size: calc(18 / 390* 100vw);
        margin-bottom: calc(5 / 390* 100vw);
    }
}
.p-page-service01-flow__sub { 
    text-align: center;
    font-size: calc(28 / 1920 * 100vw);
    color: #666;
    margin-bottom: calc(40 / 1920 * 100vw);
    line-height: 1.6;
}
.p-page-service01-flow__num { 
    display: inline-block;
    background: #D7E7AF;
    color: #fff;
    width: calc(36 / 1920 * 100vw);
    height: calc(36 / 1920 * 100vw);
    border-radius: 50%;
    text-align: center;
    line-height: calc(36 / 1920 * 100vw);
    margin-right: calc(8 / 1920 * 100vw);
    font-weight: bold;
}
@media (max-width: 768px) {
    .p-page-service01-flow__box { 
        grid-template-columns: 1fr;
        gap: calc(10 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-flow__item { 
        padding: calc(10 / 390* 100vw);
    }
    .p-page-service01-flow__ttl {
        margin-bottom: calc(5 / 390* 100vw);
        font-size: calc(20 / 390* 100vw);
    }
    .p-page-service01-flow__point {
        padding: calc(10 / 390* 100vw);
        margin-top: calc(10 / 390* 100vw);
    }
    .p-page-service01-flow__sub { 
        margin-bottom: calc(10 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-flow__num { 
        width: calc(24 / 390* 100vw);
        height: calc(24 / 390* 100vw);
        line-height: calc(24 / 390* 100vw);
        margin-right: calc(5 / 390* 100vw);
    }
    .p-page-service01-flow__list li {
        font-size: calc(16 / 390* 100vw);
    }
}
/* --- Flow Section : list & location styles --- */
.p-page-service01-flow__list {
    margin: calc(20 / 1920 * 100vw) 0;
    padding-left: calc(25 / 1920 * 100vw);
    list-style: decimal;
    font-size: calc(28 / 1920 * 100vw);
    line-height: 1.6;
}
.p-page-service01-flow__list li {
    margin-bottom: calc(8 / 1920 * 100vw);
    list-style: none;
}
.p-page-service01-location {
    list-style: none;
    padding: 0;
    margin-top: calc(10 / 1920 * 100vw);
}
.p-page-service01-location li {
    position: relative;
    padding-left: calc(25 / 1920 * 100vw);
    margin-bottom: calc(8 / 1920 * 100vw);
    font-size: calc(28 / 1920 * 100vw);
}
.p-page-service01-location li:before {
    content: "";
    display: inline-block;
    width: calc(10 / 1920 * 100vw);
    height: calc(10 / 1920 * 100vw);
    background: #a8e6cf;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.p-page-service01-flow__list-link {
    line-height: 2;
}
.p-page-service01-flow__list-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}
.p-page-service01-doc {
    margin-left: calc(30 / 1920 * 100vw);
    margin-top: calc(20 / 1920 * 100vw);
    list-style: none;
    padding: 0;
}
.p-page-service01-doc li {
    margin-bottom: calc(8 / 1920 * 100vw);
    font-size: calc(28 / 1920 * 100vw);
}
@media (max-width: 768px) {
    .p-page-service01-flow__list {
        margin: calc(10 / 390* 100vw) 0;
        padding-left: calc(20 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-flow__list li {
        margin-bottom: calc(5 / 390* 100vw);
    }
    .p-page-service01-location {
        margin-top: calc(10 / 390* 100vw);
    }
    .p-page-service01-location li {
        padding-left: calc(20 / 390* 100vw);
        margin-bottom: calc(5 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-location li:before {
        width: calc(10 / 390* 100vw);
        height: calc(10 / 390* 100vw);
    }
    .p-page-service01-doc {
        margin-left: calc(10 / 390* 100vw);
        margin-top: calc(10 / 390* 100vw);
    }
    .p-page-service01-doc li {
        margin-bottom: calc(5 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
}
/* =====================
   Preparation (事前準備)
   ===================== */
.p-page-service01-preparation { 
    background-color: #fff8e1;
    padding: calc(30 / 1920 * 100vw);
    border-radius: 15px;
    margin: calc(40 / 1920 * 100vw) 0;
    grid-column: 1 / -1;
}
.p-page-service01-preparation__ttl {
    margin-bottom: calc(20 / 1920 * 100vw);
    font-size: calc(36 / 1920 * 100vw);
    font-weight: bold;
}
.p-page-service01-preparation__item { 
    background: #ffffff;
    padding: calc(20 / 1920 * 100vw);
    border-radius: 10px;
    border-left: 4px solid #D7E7AF;
    font-size: calc(28 / 1920 * 100vw);
}
.p-page-service01-preparation__item h4 {
    font-size: calc(30 / 1920 * 100vw);
    margin-bottom: calc(10 / 1920 * 100vw);
    color: #2c5530;
    font-weight: bold;
}
.p-page-service01-preparation__note { 
    text-align: center;
    font-style: italic;
    color: #666;
    margin-top: calc(20 / 1920 * 100vw);
    font-size: calc(24 / 1920 * 100vw);
}
/* --- Preparation items container --- */
.p-page-service01-preparation__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 / 1920 * 100vw);
    list-style: none;
    padding: 0;
    margin-top: calc(20 / 1920 * 100vw);
}
@media (max-width: 768px) {
    .p-page-service01-preparation__items {
        gap: calc(10 / 390* 100vw);
    }
}
.p-page-service01-note.-important {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 10px;
    padding: calc(20 / 1920 * 100vw);
    margin: calc(30 / 1920 * 100vw) 0;
}
.p-page-service01-note.-important strong { 
    color: #d68910; 
}
@media (max-width: 768px) {
    .p-page-service01-preparation { 
        padding: calc(10 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-preparation__ttl {
        margin-bottom: calc(10 / 390* 100vw);
        font-size: calc(24 / 390* 100vw);
        line-height: 1.4;
    }
    .p-page-service01-preparation__item { 
        padding: calc(10 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
        margin-bottom: calc(10 / 390* 100vw);
    }
    .p-page-service01-preparation__item h4 {
        font-size: calc(20 / 390* 100vw);
        margin-bottom: calc(5 / 390* 100vw);
    }
    .p-page-service01-preparation__note { 
        margin-top: calc(10 / 390* 100vw);
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service01-note.-important {
        padding: calc(10 / 390* 100vw);
        margin: calc(10 / 390* 100vw) 0;
    }
    .p-page-service01-note.-discount {
        margin-top: calc(10 / 390* 100vw);
        font-size: calc(20 / 390* 100vw);
    }
}
/* =====================
   Features Section (特徴)
   ===================== */
.p-page-service-feature__item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(30 / 1920 * 100vw);
    margin-top: calc(40 / 1920 * 100vw);
    list-style: none;
    padding: 0;
}
.p-page-service-feature__list {
    background: #ffffff;
    padding: calc(30 / 1920 * 100vw);
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}
.p-page-service-feature__list:hover { 
    transform: translateY(-5px);
}
.p-page-service-feature__icon {
    font-size: calc(60 / 1920 * 100vw);
    margin-bottom: calc(20 / 1920 * 100vw);
}
.p-page-service-feature__ttl {
    font-size: calc(30 / 1920 * 100vw);
    margin-bottom: calc(10 / 1920 * 100vw);
    font-weight: bold;
}
@media (max-width: 768px) {
    .p-page-service01-doc {
        margin-left: calc(10 / 390* 100vw);
        margin-top: calc(10 / 390* 100vw);
    }
    .p-page-service01-doc li {
        margin-bottom: calc(5 / 390* 100vw);
    }
    .p-page-service01-note.-discount {
        font-size: calc(20 / 390* 100vw);
        margin-top: calc(10 / 390* 100vw);
    }
    .p-page-service-feature__icon {
        font-size: calc(40 / 390* 100vw);
        margin-bottom: calc(10 / 390* 100vw);
    }
    .p-page-service-feature__ttl { 
        font-size: calc(20 / 390* 100vw); 
        margin-bottom: calc(5 / 390* 100vw);
    }
    .p-page-service-feature__desc {
        font-size: calc(16 / 390* 100vw);
    }
    .p-page-service-feature__img {
        height: calc(200 / 390* 100vw);
    }
}