@media only screen and (min-width: 769px) {
  .home_page {
    font-size: calc(18 * var(--desktop-unit, 1px));
  }
  .home_page p,
  .home_page li {
    line-height: 1.6666666667;
  }
  .home_page a:hover {
    opacity: 1;
    color: inherit;
  }
  .home_page .key {
    position: relative;
    z-index: 0;
    padding-top: calc(var(--wrapper) + 10 * var(--desktop-unit, 1px));
    height: calc(var(--wrapper) + 10 * var(--desktop-unit, 1px) + min(49.375vw, 948 * var(--desktop-unit, 1px)));
  }
}
@media only screen and (min-width: 769px) and (min-width: 2000px) {
  .home_page .key {
    height: 100vh;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key::before {
    position: absolute;
    top: calc(var(--wrapper) + 10 * var(--desktop-unit, 1px) + min(6.354vw, 122 * var(--desktop-unit, 1px)));
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: var(--clr3);
    content: "";
  }
  .home_page .key .mv_slider,
  .home_page .key .slick-list,
  .home_page .key .slick-track,
  .home_page .key .item {
    height: 100%;
  }
  .home_page .key .mv_slider:not(.slick-initialized) .item + .item {
    display: none;
  }
  .home_page .key .item {
    position: relative;
  }
  .home_page .key .photo {
    border-radius: 0 var(--border-position) var(--border-position) 0;
    width: 87.105%;
    height: 100%;
    overflow: hidden;
  }
  .home_page .key .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home_page .key .s2 .photo img {
    object-position: 50% 40%;
  }
  .home_page .key .catch {
    position: absolute;
    top: 41.88%;
    right: 0;
    left: 56%;
    border-radius: var(--border-position) 0 0 var(--border-position);
    background: var(--grad);
    padding: min(2.65vw, 51 * var(--desktop-unit, 1px)) calc(20 * var(--desktop-unit, 1px)) min(2.344vw, 45 * var(--desktop-unit, 1px)) min(3.125vw, 60 * var(--desktop-unit, 1px));
    color: var(--white);
  }
}
@media only screen and (min-width: 769px) and (min-width: 2000px) {
  .home_page .key .catch {
    border-radius: var(--border-position);
  }
}
@media only screen and (min-width: 769px) {
  .home_page .key .catch_ttl {
    font-size: clamp(26 * var(--desktop-unit, 1px), 3.021vw, 58 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.3103em;
  }
  .home_page .key .catch_ttl span {
    display: table;
    padding-bottom: 0.1552em;
    background: linear-gradient(90deg, var(--white) calc(3 * var(--desktop-unit, 1px)), transparent calc(3 * var(--desktop-unit, 1px))) repeat-x left bottom/calc(7 * var(--desktop-unit, 1px)) calc(2 * var(--desktop-unit, 1px));
  }
  .home_page .key .catch_ttl span + span {
    margin-top: 0.07em;
  }
  .home_page .key .catch_sub {
    margin-top: 0.8em;
    font-size: clamp(13 * var(--desktop-unit, 1px), 1.25vw, 24 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.9166666667;
  }
  .home_page .key .key_deco {
    position: absolute;
    top: calc(var(--wrapper) + 10 * var(--desktop-unit, 1px) + min(2.8125vw, 54 * var(--desktop-unit, 1px)));
    left: max(-7.8125vw, -150 * var(--desktop-unit, 1px));
    z-index: 1;
    width: min(24.79vw, 476 * var(--desktop-unit, 1px));
    pointer-events: none;
  }
  .home_page .key .key_en {
    position: absolute;
    bottom: 0.092em;
    left: 0.175em;
    z-index: 1;
    color: var(--white);
    font-family: var(--f-en);
    font-size: min(6.25vw, 120 * var(--desktop-unit, 1px));
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    mix-blend-mode: overlay;
    isolation: isolate;
  }
  .home_page .idx01 {
    padding: calc(100 * var(--desktop-unit, 1px)) 0;
    background: var(--clr3);
  }
  .home_page .idx01 .news_wrap {
    display: flex;
    position: relative;
    border-radius: var(--border-position);
    background: var(--white);
  }
  .home_page .idx01 .news_wrap::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    translate: calc(-1 * var(--desktop-unit, 1px)) 0;
    background: linear-gradient(180deg, var(--main-color) calc(2 * var(--desktop-unit, 1px)), transparent calc(2 * var(--desktop-unit, 1px))) repeat-y 0 0/calc(2 * var(--desktop-unit, 1px)) calc(6 * var(--desktop-unit, 1px));
    width: calc(2 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx01 .box {
    flex: 1;
    padding: calc(64 * var(--desktop-unit, 1px)) calc(82 * var(--desktop-unit, 1px)) calc(60 * var(--desktop-unit, 1px));
    min-width: 0;
  }
  .home_page .idx01 .news_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .news_head .btn a {
    margin: 0;
  }
  .home_page .idx01 .ttl {
    display: flex;
    align-items: center;
    line-height: 1;
  }
  .home_page .idx01 .ttl .en {
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(50 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
  }
  .home_page .idx01 .ttl .jp {
    display: flex;
    align-items: center;
    margin-left: calc(12 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(20 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
  .home_page .idx01 .ttl .jp::before {
    margin-right: calc(17 * var(--desktop-unit, 1px));
    background: url(../images/idx1_h3_icon.svg) no-repeat center/contain;
    width: calc(10 * var(--desktop-unit, 1px));
    height: calc(23 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx01 .news_list {
    margin-top: calc(16 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .news_list li {
    background: linear-gradient(90deg, color-mix(in srgb, var(--clr2) 45%, transparent) 2px, transparent 2px) repeat-x left bottom/4px 1px;
  }
  .home_page .idx01 .news_list a {
    display: flex;
    align-items: center;
    position: relative;
    padding: calc(17 * var(--desktop-unit, 1px)) calc(36 * var(--desktop-unit, 1px)) calc(18 * var(--desktop-unit, 1px)) 0;
    transition: 0.3s all;
  }
  .home_page .idx01 .news_list a::after {
    position: absolute;
    top: 50%;
    right: calc(8 * var(--desktop-unit, 1px));
    translate: 0 -50%;
    mask: url(../images/idx1_arr.svg) no-repeat center/contain;
    width: calc(16 * var(--desktop-unit, 1px));
    height: calc(16 * var(--desktop-unit, 1px));
    content: "";
    transition: 0.3s all;
    background-color: var(--main-color);
  }
  .home_page .idx01 .news_list a:hover {
    opacity: 1;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .home_page .idx01 .news_list a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .home_page .idx01 .news_list a:hover .date {
    color: #fff;
    padding-left: 0.1em;
  }
  .home_page .idx01 .news_list a:hover::after {
    background-color: #fff;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx01 .news_list .date {
    flex-shrink: 0;
    width: calc(116 * var(--desktop-unit, 1px));
    color: var(--clr9);
    font-family: var(--f-en);
    font-size: calc(16 * var(--desktop-unit, 1px));
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: calc(36 * var(--desktop-unit, 1px));
    transition: 0.3s all;
  }
  .home_page .idx01 .news_list .title {
    overflow: hidden;
    letter-spacing: 0.036em;
    line-height: 2;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.3s;
  }
  .home_page .idx02 {
    position: relative;
    z-index: 0;
    padding-top: calc(104 * var(--desktop-unit, 1px));
  }
  .home_page .idx02::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    background: url(../images/idx2_bg.jpg) no-repeat center/cover;
    height: calc(675 * var(--desktop-unit, 1px));
    content: "";
  }
}
@media only screen and (min-width: 769px) and (min-width: 1919px) and (max-width: 1921px) {
  .home_page .idx02::before {
    background-size: auto;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx02 .ttl_lg .jp {
    margin-top: calc(6 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .clinic_card {
    display: flex;
    justify-content: space-between;
    gap: calc(48 * var(--desktop-unit, 1px));
    position: relative;
    margin-top: calc(54 * var(--desktop-unit, 1px));
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: var(--border-position);
    background: var(--white);
    padding: calc(95 * var(--desktop-unit, 1px)) calc(69 * var(--desktop-unit, 1px)) calc(94 * var(--desktop-unit, 1px)) calc(71 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .clinic_card::before, .home_page .idx02 .clinic_card::after {
    position: absolute;
    top: calc(39 * var(--desktop-unit, 1px));
    border-radius: 50%;
    background: var(--clr2);
    width: calc(20 * var(--desktop-unit, 1px));
    height: calc(20 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx02 .clinic_card::before {
    left: calc(39 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .clinic_card::after {
    right: calc(39 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info {
    flex: 0 1 calc(520 * var(--desktop-unit, 1px));
    padding-top: calc(27 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx02 .info .logo img {
    width: calc(324 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .address {
    margin-top: calc(20 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx02 .info .tel {
    display: flex;
    justify-content: center;
    margin-top: calc(14 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .tel a {
    display: flex;
    align-items: center;
    gap: calc(8 * var(--desktop-unit, 1px));
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(50 * var(--desktop-unit, 1px));
    font-weight: 500;
    letter-spacing: 0.036em;
    line-height: 0.96;
  }
  .home_page .idx02 .info .tel a::before {
    -webkit-mask: url(../images/icon_tel.svg) no-repeat center/contain;
    mask: url(../images/icon_tel.svg) no-repeat center/contain;
    background: var(--main-color);
    width: calc(48 * var(--desktop-unit, 1px));
    height: calc(48 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx02 .info .time_sheet {
    margin-top: calc(43 * var(--desktop-unit, 1px));
    text-align: left;
  }
  .home_page .idx02 .info .time_sheet .note {
    margin-top: calc(11 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .btn {
    margin-top: calc(33 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access {
    flex: 0 1 calc(570 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access .map {
    border-radius: var(--border-position);
    aspect-ratio: 570/299;
    overflow: hidden;
  }
  .home_page .idx02 .access .map a,
  .home_page .idx02 .access .map img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .home_page .idx02 .access .map img {
    object-fit: cover;
  }
  .home_page .idx02 .access_box {
    margin-top: calc(30 * var(--desktop-unit, 1px));
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: var(--border-position);
    background: var(--clr3);
  }
  .home_page .idx02 .access_box .row {
    display: grid;
    grid-template-columns: calc(80 * var(--desktop-unit, 1px)) 1fr;
    grid-template-rows: auto auto;
    column-gap: calc(40 * var(--desktop-unit, 1px));
    align-items: center;
    position: relative;
    padding: calc(29 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) calc(21 * var(--desktop-unit, 1px)) calc(33 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box .row::before {
    grid-row: 1/3;
    align-self: center;
    background: no-repeat center/contain;
    width: calc(80 * var(--desktop-unit, 1px));
    height: calc(80 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx02 .access_box .row + .row {
    padding: calc(27 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) calc(29 * var(--desktop-unit, 1px)) calc(33 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box .row + .row::after {
    position: absolute;
    top: 0;
    right: calc(38 * var(--desktop-unit, 1px));
    left: calc(39 * var(--desktop-unit, 1px));
    background: linear-gradient(90deg, var(--main-color) calc(2 * var(--desktop-unit, 1px)), transparent calc(2 * var(--desktop-unit, 1px))) repeat-x 0 0/calc(5 * var(--desktop-unit, 1px)) 2px;
    height: calc(2 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx02 .access_box .train::before {
    background-image: url(../images/idx2_icon1.png);
  }
  .home_page .idx02 .access_box .car::before {
    background-image: url(../images/idx2_icon2.png);
  }
  .home_page .idx02 .access_box dt {
    align-self: end;
    color: var(--clr2);
    font-size: calc(22 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.6363636364;
  }
  .home_page .idx02 .access_box dd {
    align-self: start;
    margin-top: calc(10 * var(--desktop-unit, 1px));
    line-height: 1.6666666667;
  }
  .home_page .idx03 {
    padding-top: calc(142 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .greeting {
    display: flex;
    position: relative;
    z-index: 0;
    padding: 0 0 calc(81 * var(--desktop-unit, 1px)) calc(219 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .greeting::before {
    position: absolute;
    top: calc(314 * var(--desktop-unit, 1px));
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border-radius: var(--border-position);
    background: linear-gradient(0deg, var(--clr5) 0%, color-mix(in srgb, var(--clr15) 59%, transparent) 22.66%, color-mix(in srgb, var(--clr12) 0%, transparent) 101.6%);
    content: "";
  }
  .home_page .idx03 .photo {
    align-self: flex-start;
    flex-shrink: 0;
    position: relative;
    margin-top: calc(19 * var(--desktop-unit, 1px));
    width: calc(534 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .photo .img {
    position: relative;
    aspect-ratio: 534/645;
  }
  .home_page .idx03 .photo .img::before {
    position: absolute;
    top: calc(24 * var(--desktop-unit, 1px));
    left: calc(24 * var(--desktop-unit, 1px));
    z-index: -1;
    border-radius: var(--border-position);
    background: linear-gradient(to bottom right, #f9f081 0%, #f9cb81 100%);
    width: 100%;
    height: 100%;
    content: "";
  }
  .home_page .idx03 .photo .img img {
    border-radius: var(--border-position);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home_page .idx03 .name {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(480 * var(--desktop-unit, 1px));
    left: calc(-9 * var(--desktop-unit, 1px));
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    background: var(--grad);
    padding: calc(4 * var(--desktop-unit, 1px)) 0 0 calc(66 * var(--desktop-unit, 1px));
    width: calc(252 * var(--desktop-unit, 1px));
    height: calc(110 * var(--desktop-unit, 1px));
    color: var(--white);
    line-height: 1;
  }
  .home_page .idx03 .name .pos {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(18 * var(--desktop-unit, 1px));
    left: calc(18 * var(--desktop-unit, 1px));
    border-radius: calc(10 * var(--desktop-unit, 1px));
    background: var(--white);
    width: calc(48 * var(--desktop-unit, 1px));
    height: calc(74 * var(--desktop-unit, 1px));
    color: var(--main-color);
    font-size: calc(18 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  .home_page .idx03 .name .jp {
    font-size: calc(24 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  .home_page .idx03 .name .en {
    margin-top: calc(14 * var(--desktop-unit, 1px));
    font-family: var(--f-en);
    font-size: calc(14 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.014em;
  }
  .home_page .idx03 .txt {
    flex: 1;
    padding-left: calc(97 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .ttl_lg {
    text-align: left;
  }
  .home_page .idx03 .ttl_lg .en {
    margin-left: calc(-5 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .ttl_lg .jp {
    margin-top: calc(8 * var(--desktop-unit, 1px));
    text-indent: 0;
  }
  .home_page .idx03 .lead {
    margin-top: calc(64 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(32 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.75;
  }
  .home_page .idx03 .body {
    margin-top: calc(22 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx03 .btn-group {
    justify-content: flex-start;
    gap: calc(10 * var(--desktop-unit, 1px));
    margin-top: calc(35 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .btn-group .btn a {
    margin: 0;
  }
  .home_page .idx04 {
    position: relative;
    z-index: 1;
    margin-top: calc(120 * var(--desktop-unit, 1px));
    padding-top: calc(127 * var(--desktop-unit, 1px));
  }
  .home_page .idx04::before, .home_page .idx04::after {
    position: absolute;
    z-index: -1;
    background: var(--clr3);
    content: "";
  }
  .home_page .idx04::after {
    top: 0;
    right: 0;
    height: 61.4vw;
    left: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='1179' viewBox='0 0 1920 1179'%3E%3Cpath id='bg' d='M0,1179V173.588H1920V1179ZM0,173.588v-25.98C253.275,55.931,590.423,0,960.5,0c369.6,0,706.335,55.781,959.5,147.247v26.342Z' fill='%23fef9eb'/%3E%3C/svg%3E%0A") no-repeat bottom center/cover;
  }
}
@media only screen and (min-width: 769px) and (min-width: 2000px) {
  .home_page .idx04::after {
    max-height: 31vw;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx04 .first {
    display: flex;
    margin-top: calc(65 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .txt {
    flex: 0 1 calc(640 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .txt .lead {
    color: var(--clr2);
    font-size: calc(30 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8666666667;
  }
  .home_page .idx04 .txt .body {
    margin-top: calc(28 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx04 .txt .btn {
    margin-top: calc(35 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .txt .btn a {
    margin: 0;
  }
  .home_page .idx04 .trio {
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    margin: calc(30 * var(--desktop-unit, 1px)) 0 0 calc(80 * var(--desktop-unit, 1px));
    width: calc(503 * var(--desktop-unit, 1px));
    height: calc(460 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio::before, .home_page .idx04 .trio::after {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    content: "";
  }
  .home_page .idx04 .trio::before {
    top: calc(80 * var(--desktop-unit, 1px));
    left: calc(102 * var(--desktop-unit, 1px));
    background: var(--clr16);
    width: calc(300 * var(--desktop-unit, 1px));
    height: calc(300 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio::after {
    top: calc(109 * var(--desktop-unit, 1px));
    left: calc(130 * var(--desktop-unit, 1px));
    background: linear-gradient(180deg, var(--clr5), var(--clr12));
    width: calc(242 * var(--desktop-unit, 1px));
    height: calc(242 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio li {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    border-radius: 50%;
    background: var(--clr7);
    padding-top: calc(41 * var(--desktop-unit, 1px));
    width: calc(230 * var(--desktop-unit, 1px));
    height: calc(230 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio li::before {
    position: absolute;
    inset: calc(5 * var(--desktop-unit, 1px));
    border: calc(1 * var(--desktop-unit, 1px)) solid;
    border-radius: 50%;
    content: "";
  }
  .home_page .idx04 .trio .i1 {
    top: 0;
    left: calc(137 * var(--desktop-unit, 1px));
    padding-top: calc(35 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio .i1::before {
    border-color: var(--main-color);
  }
  .home_page .idx04 .trio .i2 {
    top: calc(230 * var(--desktop-unit, 1px));
    left: 0;
  }
  .home_page .idx04 .trio .i2::before {
    border-color: var(--clr10);
  }
  .home_page .idx04 .trio .i3 {
    top: calc(230 * var(--desktop-unit, 1px));
    left: calc(273 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio .i3::before {
    border-color: var(--clr4);
  }
  .home_page .idx04 .trio img {
    height: calc(80 * var(--desktop-unit, 1px));
    width: auto;
  }
  .home_page .idx04 .trio span {
    margin-top: calc(9 * var(--desktop-unit, 1px));
    color: var(--clr13);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5555555556;
    text-align: center;
  }
  .home_page .idx04 .flow {
    position: relative;
    margin-top: calc(80 * var(--desktop-unit, 1px));
    border: calc(6 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: var(--border-position);
    background: var(--white);
    padding-bottom: calc(54 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx04 .flow_head {
    margin: calc(-6 * var(--desktop-unit, 1px)) calc(-6 * var(--desktop-unit, 1px)) 0;
    border-radius: var(--border-position) var(--border-position) 0 0;
    background: var(--grad);
    padding-top: calc(48 * var(--desktop-unit, 1px));
    height: calc(188 * var(--desktop-unit, 1px));
    color: var(--white);
  }
  .home_page .idx04 .flow_head .notice {
    font-size: calc(30 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8666666667;
  }
  .home_page .idx04 .flow_head .notice em {
    display: inline-block;
    margin: 0 calc(8 * var(--desktop-unit, 1px)) 0 calc(4 * var(--desktop-unit, 1px));
    border-radius: calc(2 * var(--desktop-unit, 1px));
    background: var(--white);
    padding: 0 calc(9 * var(--desktop-unit, 1px)) 0 calc(12 * var(--desktop-unit, 1px));
    height: calc(52 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-style: normal;
    font-weight: 700;
    line-height: calc(52 * var(--desktop-unit, 1px));
    vertical-align: top;
  }
  .home_page .idx04 .flow_head .sub {
    margin-top: calc(6 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx04 .steps {
    display: flex;
    justify-content: center;
    gap: calc(62 * var(--desktop-unit, 1px));
    padding-top: calc(62 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps li {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: calc(180 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps li + li::before {
    position: absolute;
    top: calc(115 * var(--desktop-unit, 1px));
    left: calc(-46 * var(--desktop-unit, 1px));
    -webkit-mask: url(../images/shared_btn_icon.svg) no-repeat center/contain;
    mask: url(../images/shared_btn_icon.svg) no-repeat center/contain;
    background: var(--main-color);
    width: calc(30 * var(--desktop-unit, 1px));
    height: calc(30 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx04 .steps .num {
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(24 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.25;
  }
  .home_page .idx04 .steps img {
    margin-top: calc(18 * var(--desktop-unit, 1px));
    width: calc(134 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps .label {
    margin-top: calc(19 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(22 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.3636363636;
  }
  .home_page .idx04 .flow > .btn {
    margin-top: calc(43 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 {
    margin-top: calc(-366 * var(--desktop-unit, 1px));
    background: url(../images/idx5_bg.jpg) no-repeat center top/cover;
    padding: calc(487 * var(--desktop-unit, 1px)) 0 calc(120 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .ttl_lg .jp {
    margin-top: calc(5 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .tab_group {
    margin-top: calc(69 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_item {
    display: flex;
    padding: calc(64 * var(--desktop-unit, 1px)) calc(64 * var(--desktop-unit, 1px)) 0;
  }
  .home_page .idx05 .txt {
    flex: 0 1 calc(520 * var(--desktop-unit, 1px));
    min-width: 0;
  }
  .home_page .idx05 .txt .num {
    display: block;
    border-radius: calc(2 * var(--desktop-unit, 1px));
    background: var(--white);
    width: calc(106 * var(--desktop-unit, 1px));
    height: calc(28 * var(--desktop-unit, 1px));
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(14 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: calc(28 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx05 .txt .ttl {
    margin-top: calc(16 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(30 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8666666667;
  }
  .home_page .idx05 .txt .body {
    margin-top: calc(15 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx05 .txt .btn {
    margin-top: calc(35 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .txt .btn a {
    margin: 0;
  }
  .home_page .idx05 .img {
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    margin: calc(5 * var(--desktop-unit, 1px)) calc(24 * var(--desktop-unit, 1px)) 0 calc(74 * var(--desktop-unit, 1px));
    align-self: flex-start;
  }
  .home_page .idx05 .img::before {
    position: absolute;
    top: calc(24 * var(--desktop-unit, 1px));
    left: calc(24 * var(--desktop-unit, 1px));
    z-index: -1;
    border-radius: var(--border-position);
    background: linear-gradient(0deg, var(--clr12), var(--clr5));
    width: calc(100% + 0px);
    height: calc(100% + 0px);
    content: "";
  }
  .home_page .idx05 .img img {
    border-radius: var(--border-position);
  }
  .home_page .idx05 .site_bnr {
    margin-top: calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_blog {
    margin-top: calc(64 * var(--desktop-unit, 1px));
    padding: 0 calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_blog .blog_ttl {
    color: var(--clr2);
    font-size: calc(24 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: center;
  }
  .home_page .idx05 .pk_blog .blog_ttl::before, .home_page .idx05 .pk_blog .blog_ttl::after {
    display: inline-block;
    margin: 0 calc(14 * var(--desktop-unit, 1px));
    background: var(--main-color);
    width: calc(30 * var(--desktop-unit, 1px));
    height: calc(2 * var(--desktop-unit, 1px));
    vertical-align: middle;
    content: "";
  }
  .home_page .idx05 .pk_blog ul {
    display: flex;
    justify-content: space-between;
    gap: calc(24 * var(--desktop-unit, 1px));
    margin-top: calc(30 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_blog li {
    flex: 0 1 calc(368 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_blog a {
    display: block;
    overflow: hidden;
    border-radius: var(--border-radius);
    background: var(--white);
    box-shadow: 0 calc(2 * var(--desktop-unit, 1px)) calc(14 * var(--desktop-unit, 1px)) color-mix(in srgb, var(--clr2) 10%, transparent);
  }
  .home_page .idx05 .pk_blog .thumb {
    display: block;
    aspect-ratio: 368/193;
    overflow: hidden;
  }
  .home_page .idx05 .pk_blog .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.4s;
  }
  .home_page .idx05 .pk_blog .t {
    display: block;
    position: relative;
    padding: calc(16 * var(--desktop-unit, 1px)) calc(48 * var(--desktop-unit, 1px)) calc(18 * var(--desktop-unit, 1px)) calc(20 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-weight: 700;
    line-height: 1.6;
  }
  .home_page .idx05 .pk_blog .t::after {
    position: absolute;
    top: 50%;
    right: calc(18 * var(--desktop-unit, 1px));
    translate: 0 -50%;
    background: url(../images/idx1_arr.svg) no-repeat center/contain;
    width: calc(18 * var(--desktop-unit, 1px));
    height: calc(18 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx06 {
    background: url(../images/idx6_bg.jpg) no-repeat center top/cover;
    padding: calc(127 * var(--desktop-unit, 1px)) 0 calc(120 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .tab_group {
    margin-top: calc(55 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .tab_panel {
    margin-top: calc(40 * var(--desktop-unit, 1px));
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: var(--border-position);
    background: var(--white);
    padding: calc(63 * var(--desktop-unit, 1px)) calc(55 * var(--desktop-unit, 1px)) calc(79 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(32 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: var(--border-radius);
    background: var(--clr3);
    padding: calc(25 * var(--desktop-unit, 1px)) calc(14 * var(--desktop-unit, 1px)) calc(29 * var(--desktop-unit, 1px)) calc(18 * var(--desktop-unit, 1px));
    height: 100%;
    min-height: calc(308 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx06 .cards a::after {
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 0 0 var(--border-radius) 0;
    background: url(../images/idx_btn_more.svg) no-repeat center/100% 100%;
    width: calc(32 * var(--desktop-unit, 1px));
    height: calc(32 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx06 .cards a:hover {
    opacity: 1;
    color: var(--clr1);
    transition: 0.3s all;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .home_page .idx06 .cards a:hover {
    background: #fdfeeb;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx06 .cards img {
    width: calc(120 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards .t {
    margin-top: calc(15 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(22 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.3636363636;
  }
  .home_page .idx06 .cards .d {
    margin-top: calc(17 * var(--desktop-unit, 1px));
    background: linear-gradient(90deg, var(--main-color) calc(2 * var(--desktop-unit, 1px)), transparent calc(2 * var(--desktop-unit, 1px))) repeat-x 0 0/calc(5 * var(--desktop-unit, 1px)) calc(2 * var(--desktop-unit, 1px));
    padding-top: calc(15 * var(--desktop-unit, 1px));
    width: calc(300 * var(--desktop-unit, 1px));
    max-width: 100%;
    letter-spacing: 0.036em;
    line-height: 1.5555555556;
  }
  .home_page .idx07 {
    position: relative;
    padding: calc(123 * var(--desktop-unit, 1px)) 0 calc(120 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .deco {
    position: absolute;
    top: calc(-210 * var(--desktop-unit, 1px));
    right: calc(-273 * var(--desktop-unit, 1px));
    z-index: 1;
    width: calc(592 * var(--desktop-unit, 1px));
    pointer-events: none;
  }
  .home_page .idx07 .ttl_lg .en {
    margin-right: -0.063em;
    letter-spacing: 0.063em;
  }
  .home_page .idx07 .ttl_lg .jp {
    margin-top: calc(5 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .tab_group {
    margin-top: calc(69 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .tab_nav {
    opacity: 0.8;
  }
  .home_page .idx07 .tab_btn {
    border-width: calc(2 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .tm_item {
    display: flex;
    align-items: flex-start;
    gap: calc(80 * var(--desktop-unit, 1px));
    padding: calc(64 * var(--desktop-unit, 1px)) calc(170 * var(--desktop-unit, 1px)) 0;
  }
  .home_page .idx07 .txt {
    flex: 0 1 calc(542 * var(--desktop-unit, 1px));
    min-width: 0;
    padding-top: calc(121 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .txt .num {
    border-radius: calc(2 * var(--desktop-unit, 1px));
    background: var(--clr3);
    width: calc(138 * var(--desktop-unit, 1px));
    height: calc(28 * var(--desktop-unit, 1px));
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(14 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: calc(28 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx07 .txt .body {
    margin-top: calc(19 * var(--desktop-unit, 1px));
    line-height: 2;
    color: #5b5b5b;
  }
  .home_page .idx07 .img {
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    margin-right: calc(24 * var(--desktop-unit, 1px));
    width: calc(534 * var(--desktop-unit, 1px));
    aspect-ratio: 534/476;
  }
  .home_page .idx07 .img::before {
    position: absolute;
    top: calc(24 * var(--desktop-unit, 1px));
    left: calc(24 * var(--desktop-unit, 1px));
    z-index: -1;
    border-radius: var(--border-position);
    background: linear-gradient(0deg, var(--clr12), var(--clr5));
    width: 100%;
    height: 100%;
    content: "";
  }
  .home_page .idx07 .img img {
    border-radius: var(--border-position);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home_page .idx07 .cards {
    display: flex;
    justify-content: center;
    gap: calc(16 * var(--desktop-unit, 1px));
    margin-top: calc(88 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .cards li {
    flex: 0 1 calc(368 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .cards a {
    display: block;
    position: relative;
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: calc(10 * var(--desktop-unit, 1px));
    height: calc(232 * var(--desktop-unit, 1px));
    overflow: hidden;
  }
  .home_page .idx07 .cards a::after {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    border-radius: 0 0 calc(9 * var(--desktop-unit, 1px)) 0;
    background: url(../images/idx_btn_more.svg) no-repeat center/100% 100%;
    width: calc(32 * var(--desktop-unit, 1px));
    height: calc(32 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx07 .cards a:hover {
    opacity: 1;
  }
  .home_page .idx07 .cards a:hover .bg {
    scale: 1.06;
  }
  .home_page .idx07 .cards a:hover .in {
    background: color-mix(in srgb, var(--white) 70%, transparent);
  }
  .home_page .idx07 .cards .bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.5s;
  }
  .home_page .idx07 .cards .in {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: calc(7 * var(--desktop-unit, 1px));
    border-radius: calc(6 * var(--desktop-unit, 1px));
    background: color-mix(in srgb, var(--white) 78.8%, transparent);
    text-align: center;
    transition: background-color 0.3s;
  }
  .home_page .idx07 .cards .lbl {
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--clr2);
    border-radius: calc(9999 * var(--desktop-unit, 1px));
    background: var(--white);
    padding: 0 calc(10 * var(--desktop-unit, 1px)) 0 calc(12 * var(--desktop-unit, 1px));
    height: calc(41 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(20 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: calc(39 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .cards .d {
    margin-top: calc(12 * var(--desktop-unit, 1px));
    letter-spacing: 0.036em;
    line-height: 1.5555555556;
    color: #5b5b5b;
    font-weight: 500;
  }
  .home_page .idx07 .site_bnr {
    margin-top: calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx09 {
    padding: calc(80 * var(--desktop-unit, 1px)) 0;
  }
  .home_page .idx09 .recruit_bnr {
    text-align: center;
  }
  .home_page .idx09 .recruit_bnr .photo {
    position: absolute;
    top: 0;
    left: calc(259 * var(--desktop-unit, 1px));
    z-index: 0;
    width: calc(423 * var(--desktop-unit, 1px));
    height: calc(238 * var(--desktop-unit, 1px));
    overflow: hidden;
  }
  .home_page .idx09 .recruit_bnr .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.5s;
  }
  .home_page .idx09 .recruit_bnr .txt {
    display: block;
    position: relative;
    z-index: 3;
    padding: calc(52 * var(--desktop-unit, 1px)) 0 0 calc(73 * var(--desktop-unit, 1px));
  }
  .home_page .idx09 .recruit_bnr .en {
    display: block;
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(37 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
  }
  .home_page .idx09 .recruit_bnr .jp {
    display: flex;
    align-items: center;
    gap: calc(10 * var(--desktop-unit, 1px));
    margin-top: calc(7 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(24 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  .home_page .idx09 .recruit_bnr .jp::before {
    border-radius: 50%;
    background: var(--main-color);
    width: calc(12 * var(--desktop-unit, 1px));
    height: calc(12 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx09 .recruit_bnr .more {
    display: flex;
    align-items: center;
    gap: calc(10 * var(--desktop-unit, 1px));
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 3;
    background: var(--grad);
    padding-left: calc(15 * var(--desktop-unit, 1px));
    width: calc(148 * var(--desktop-unit, 1px));
    height: calc(32 * var(--desktop-unit, 1px));
    color: var(--white);
    font-size: calc(14 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
  }
  .home_page .idx09 .recruit_bnr .more::after {
    border-top: calc(6 * var(--desktop-unit, 1px)) solid transparent;
    border-bottom: calc(6 * var(--desktop-unit, 1px)) solid transparent;
    border-left: calc(9 * var(--desktop-unit, 1px)) solid var(--white);
    content: "";
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) {
  .home_page .idx09 .recruit_bnr {
    transition: 0.3s all;
  }
  .home_page .idx09 .recruit_bnr:hover {
    opacity: 0.8;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .idx09 .recruit_bnr {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx10 {
    padding-bottom: calc(104 * var(--desktop-unit, 1px));
    overflow: hidden;
  }
  .home_page .idx10 .gallery_track {
    display: flex;
    margin-left: calc(-294 * var(--desktop-unit, 1px));
    width: max-content;
    animation: galleryLoop 60s linear infinite;
  }
  .home_page .idx10 .gallery_track li {
    flex-shrink: 0;
    width: calc(500 * var(--desktop-unit, 1px));
    height: calc(340 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .gallery_track img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home_page .idx10 .marquee {
    margin-top: calc(38 * var(--desktop-unit, 1px));
    overflow: hidden;
    font-family: var(--f-en);
    font-size: calc(120 * var(--desktop-unit, 1px));
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
  }
  .home_page .idx10 .marquee .track {
    display: inline-flex;
    margin-left: calc(-574 * var(--desktop-unit, 1px));
    animation: galleryLoop 40s linear infinite;
  }
  .home_page .idx10 .marquee span span {
    flex-shrink: 0;
    background: var(--grad);
    -webkit-background-clip: text;
    background-clip: text;
    padding-right: calc(27 * var(--desktop-unit, 1px));
    color: transparent;
  }
}
@media only screen and (min-width: 1367px) and (max-width: 1600px) {
  .home_page .idx03 .greeting {
    padding-left: 6vw;
  }
}
@media only screen and (min-width: 1367px) and (max-width: 1440px) {
  .home_page .idx03 .greeting {
    padding-left: 4vw;
  }
}
@media only screen and (min-width: 1281px) and (max-width: 1366px) {
  .home_page .idx03 .greeting {
    padding-left: 4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page {
    font-size: calc(16 * var(--desktop-unit, 1px));
  }
  .home_page .key {
    max-height: 100vh;
    min-height: calc(520 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 {
    padding: calc(70 * var(--desktop-unit, 1px)) 0;
  }
  .home_page .idx01 .box {
    padding: calc(44 * var(--desktop-unit, 1px)) calc(40 * var(--desktop-unit, 1px)) calc(40 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .ttl .en {
    font-size: calc(40 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .ttl .jp {
    font-size: calc(17 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .ttl .jp::before {
    margin-right: calc(16 * var(--desktop-unit, 1px));
  }
  .home_page .idx01 .news_list .date {
    width: calc(100 * var(--desktop-unit, 1px));
    font-size: calc(14 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 {
    padding-top: calc(80 * var(--desktop-unit, 1px));
  }
  .home_page .idx02::before {
    height: calc(560 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .clinic_card {
    gap: calc(36 * var(--desktop-unit, 1px));
    margin-top: calc(40 * var(--desktop-unit, 1px));
    padding: calc(70 * var(--desktop-unit, 1px)) calc(44 * var(--desktop-unit, 1px)) calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info {
    padding-top: calc(10 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .logo img {
    width: calc(280 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .tel a {
    font-size: calc(40 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .tel a::before {
    width: calc(40 * var(--desktop-unit, 1px));
    height: calc(40 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .info .time_sheet {
    margin-top: calc(32 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box .row {
    column-gap: calc(24 * var(--desktop-unit, 1px));
    grid-template-columns: calc(64 * var(--desktop-unit, 1px)) 1fr;
    padding: calc(26 * var(--desktop-unit, 1px)) calc(24 * var(--desktop-unit, 1px)) calc(18 * var(--desktop-unit, 1px)) calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box .row::before {
    width: calc(64 * var(--desktop-unit, 1px));
    height: calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box .row + .row {
    padding: calc(22 * var(--desktop-unit, 1px)) calc(24 * var(--desktop-unit, 1px)) calc(26 * var(--desktop-unit, 1px)) calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx02 .access_box dt {
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 {
    padding-top: calc(100 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .greeting {
    padding: calc(10 * var(--desktop-unit, 1px)) 0 calc(60 * var(--desktop-unit, 1px)) 5%;
  }
  .home_page .idx03 .greeting::before {
    top: 30%;
  }
  .home_page .idx03 .photo {
    width: 36%;
  }
  .home_page .idx03 .name {
    top: auto;
    bottom: calc(40 * var(--desktop-unit, 1px));
    padding-left: calc(54 * var(--desktop-unit, 1px));
    width: calc(210 * var(--desktop-unit, 1px));
    height: calc(92 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .name .pos {
    top: calc(14 * var(--desktop-unit, 1px));
    left: calc(14 * var(--desktop-unit, 1px));
    width: calc(40 * var(--desktop-unit, 1px));
    height: calc(64 * var(--desktop-unit, 1px));
    font-size: calc(16 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .name .jp {
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .name .en {
    font-size: calc(12 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .txt {
    padding: 0 calc(30 * var(--desktop-unit, 1px)) 0 6%;
  }
  .home_page .idx03 .lead {
    margin-top: calc(44 * var(--desktop-unit, 1px));
    font-size: calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx03 .body {
    margin-top: calc(24 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 {
    margin-top: calc(90 * var(--desktop-unit, 1px));
    padding-top: calc(110 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .first {
    align-items: flex-start;
    justify-content: space-between;
  }
  .home_page .idx04 .txt .lead {
    font-size: calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .trio {
    flex-shrink: 1;
    margin: calc(20 * var(--desktop-unit, 1px)) 0 0 calc(40 * var(--desktop-unit, 1px));
    width: calc(440 * var(--desktop-unit, 1px));
    height: calc(400 * var(--desktop-unit, 1px));
    zoom: 0.87;
  }
  .home_page .idx04 .flow_head {
    padding-top: calc(36 * var(--desktop-unit, 1px));
    height: auto;
    padding-bottom: calc(36 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .flow_head .notice {
    font-size: calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .flow_head .notice em {
    height: calc(46 * var(--desktop-unit, 1px));
    line-height: calc(46 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps {
    gap: 3.2vw;
    padding-top: calc(44 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps li {
    width: calc(150 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps li + li::before {
    top: calc(100 * var(--desktop-unit, 1px));
    left: calc(-1.6vw - 13 * var(--desktop-unit, 1px));
    width: calc(26 * var(--desktop-unit, 1px));
    height: calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps .num {
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps img {
    width: calc(116 * var(--desktop-unit, 1px));
  }
  .home_page .idx04 .steps .label {
    font-size: calc(18 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 {
    padding-bottom: calc(90 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .pk_item {
    gap: calc(40 * var(--desktop-unit, 1px));
    padding: calc(50 * var(--desktop-unit, 1px)) calc(20 * var(--desktop-unit, 1px)) 0;
    justify-content: space-between;
  }
  .home_page .idx05 .txt .ttl {
    font-size: calc(26 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .img {
    flex-shrink: 1;
    margin: calc(5 * var(--desktop-unit, 1px)) calc(24 * var(--desktop-unit, 1px)) 0 0;
    width: 44%;
  }
  .home_page .idx05 .pk_blog {
    padding: 0 calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx05 .tab_btn {
    height: calc(76 * var(--desktop-unit, 1px));
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 {
    padding: calc(100 * var(--desktop-unit, 1px)) 0 calc(90 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .tab_panel {
    padding: calc(44 * var(--desktop-unit, 1px)) calc(36 * var(--desktop-unit, 1px)) calc(56 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards {
    gap: calc(24 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards a {
    padding: calc(22 * var(--desktop-unit, 1px)) calc(16 * var(--desktop-unit, 1px)) calc(28 * var(--desktop-unit, 1px));
    min-height: 0;
    justify-content: flex-start;
  }
  .home_page .idx06 .cards img {
    width: calc(100 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .cards .t {
    font-size: calc(18 * var(--desktop-unit, 1px));
  }
  .home_page .idx06 .tab_btn {
    height: calc(76 * var(--desktop-unit, 1px));
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 {
    padding: calc(100 * var(--desktop-unit, 1px)) 0 calc(100 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .deco {
    width: calc(440 * var(--desktop-unit, 1px));
    top: calc(-150 * var(--desktop-unit, 1px));
    right: calc(-200 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .tab_btn {
    height: calc(76 * var(--desktop-unit, 1px));
    font-size: calc(20 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .tm_item {
    align-items: center;
    gap: calc(44 * var(--desktop-unit, 1px));
    padding: calc(50 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) 0;
    justify-content: space-between;
  }
  .home_page .idx07 .txt {
    padding-top: 0;
  }
  .home_page .idx07 .img {
    flex-shrink: 1;
    width: 44%;
  }
  .home_page .idx07 .cards {
    flex-wrap: wrap;
    gap: calc(14 * var(--desktop-unit, 1px));
    margin-top: calc(60 * var(--desktop-unit, 1px));
  }
  .home_page .idx07 .cards li {
    flex: 0 1 calc(24% - 7 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 {
    padding: calc(100 * var(--desktop-unit, 1px)) 0 calc(90 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .points {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(60 * var(--desktop-unit, 1px)) calc(36 * var(--desktop-unit, 1px));
    margin-inline: 0;
  }
  .home_page .idx08 .points li {
    padding-bottom: 0;
  }
  .home_page .idx08 .img {
    width: 90%;
  }
  .home_page .idx08 .img::before {
    top: calc(20 * var(--desktop-unit, 1px));
    left: calc(20 * var(--desktop-unit, 1px));
    width: 100%;
    height: 100%;
  }
  .home_page .idx08 .card {
    position: relative;
    top: auto;
    left: auto;
    margin: calc(-80 * var(--desktop-unit, 1px)) 0 0 auto;
    padding: calc(36 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) calc(34 * var(--desktop-unit, 1px));
    width: 88%;
    height: auto;
  }
  .home_page .idx08 .ttl {
    font-size: calc(28 * var(--desktop-unit, 1px));
    letter-spacing: 0;
  }
  .home_page .idx10 {
    padding-bottom: calc(80 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .gallery_track {
    margin-left: calc(-200 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .gallery_track li {
    width: calc(380 * var(--desktop-unit, 1px));
    height: calc(258 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .marquee {
    margin-top: calc(30 * var(--desktop-unit, 1px));
    font-size: calc(90 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .marquee .track {
    margin-left: calc(-420 * var(--desktop-unit, 1px));
  }
  .home_page .idx10 .marquee span span {
    padding-right: calc(20 * var(--desktop-unit, 1px));
  }
}
@media only screen and (min-width: 1281px) and (max-width: 1366px) {
  .home_page .key .catch {
    top: 26%;
  }
  .idx02 .inner {
    max-width: 1280px;
    width: 93%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .home_page .idx04::after {
    height: 78vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx04 .inner {
    max-width: 1170px;
    width: 80%;
  }
  .idx05 .inner {
    max-width: 1280px;
    width: 80%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .inner {
    width: 93%;
  }
  .idx05 .inner {
    width: 93%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .home_page .key .catch_sub {
  }
  .home_page .idx04::after {
    height: 100vw;
  }
  .home_page .idx04 .trio {
    zoom: 1;
    margin-left: 0;
    position: relative;
    left: -40px;
  }
}
/* Readable tablet labels and card copy within the desktop composition. */
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .home_page .idx05 .tab_btn,
  .home_page .idx06 .tab_btn,
  .home_page .idx07 .tab_btn {
    font-size: 18px;
  }
  .home_page .idx04 .flow_head .notice {
    font-size: 22px;
  }
  .home_page .idx04 .flow_head .notice em {
    height: auto;
    line-height: inherit;
  }
  .home_page .idx04 .steps .label,
  .home_page .idx06 .cards .t {
    font-size: 16px;
    letter-spacing: 0;
  }
  .home_page .idx06 .cards,
  .home_page .idx06 .cards .d {
    font-size: 14px;
    letter-spacing: 0;
  }
  .home_page .idx06 .cards .d br {
    display: none;
  }
}
/* Readable tablet treatment cards and first-visit illustration labels. */
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .home_page .idx07 .cards .lbl {
    font-size: 16px;
    letter-spacing: 0;
  }
  .home_page .idx07 .cards .d {
    font-size: 14px;
    letter-spacing: 0;
  }
  .home_page .idx07 .cards .d br {
    display: none;
  }
  .home_page .idx04 .trio span {
    font-size: 14px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) and (max-height: 690px) {
  .home_page .key .catch {
    top: 35%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .home_page .idx04 .trio li,
  .home_page .idx04 .trio .i1 {
    justify-content: center;
    padding-top: 0;
  }
  .home_page .idx04 .steps li {
    width: 16%;
  }
  .home_page .idx04 .trio span {
    max-width: 90%;
  }
  .home_page .idx04 .txt .body {
    width: 90%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key .catch {
    top: 37%;
    left: 52%;
  }
  .home_page .idx03 .photo {
    width: 33%;
  }
  .home_page .idx03 .name {
    bottom: 10px;
  }
}
/* Readable news/blog text on narrow desktop screens. */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .idx01 {
    font-size: 14px;
  }
  .home_page .idx01 .ttl .jp,
  .home_page .idx01 .news_list .date,
  .home_page .idx01 .news_list .title,
  .home_page .idx01 .btn a {
    font-size: 14px;
  }
  .home_page .idx01 .news_list .date {
    width: 100px;
  }
  .home_page .idx01 .news_head {
    flex-wrap: wrap;
  }
  .home_page .key {
    max-height: 100vh;
    min-height: 770;
  }
}
/* Keep the trio labels on their intended lines on narrow desktop screens. */
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .home_page .idx04 .trio {
    flex-shrink: 0;
    left: 0;
    width: calc(273 * var(--desktop-unit, 1px) + 160px);
    height: 320px;
  }
  .home_page .idx04 .trio li {
    width: 160px;
    height: 160px;
  }
  .home_page .idx04 .trio .i2,
  .home_page .idx04 .trio .i3 {
    top: 160px;
  }
  .home_page .idx04 .trio span {
    max-width: none;
    white-space: nowrap;
  }
}
/* Compact news buttons beside the heading on tablet screens. */
@media only screen and (min-width: 769px) and (max-width: 1025px) {
  .home_page .idx01 .news_head {
    flex-wrap: nowrap;
    gap: 8px;
  }
  .home_page .idx01 .news_head .btn {
    flex-shrink: 0;
  }
  :root .home_page .idx01 .btn.style01 a {
    width: 112px;
    min-height: 40px;
    padding: 8px 24px 8px 10px;
    font-size: 14px;
    white-space: nowrap;
  }
  :root .home_page .idx01 .btn.style01 a::after {
    right: 8px;
    width: 10px;
    height: 10px;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx05 .pk_blog .t {
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .home_page .idx05 .pk_blog a:hover {
    opacity: 1;
  }
  .home_page .idx05 .pk_blog a:hover .t {
    background-color: var(--main-color);
    color: var(--white);
  }
  .home_page .idx05 .pk_blog a:hover .t::after {
    filter: brightness(0) invert(1);
  }
}
/* Keep paragraph copy readable while the desktop layout scales down. */
@media only screen and (min-width: 769px) {
  .home_page .key .key_en {
    display: flex;
    overflow: hidden;
    width: calc(100% - 0.175em);
  }
  .home_page .key .key_en > p {
    flex: 0 0 auto;
    margin: 0;
    padding-right: 0.2em;
    font-size: inherit !important;
    line-height: inherit;
    white-space: nowrap;
    animation: key-en-marquee 30s linear infinite;
  }
  .is-static .home_page .key .key_en > p {
    animation-play-state: paused;
  }
}
@keyframes key-en-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx08 {
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: calc(122 * var(--desktop-unit, 1px)) 0 calc(121 * var(--desktop-unit, 1px));
  }
  .home_page .idx08::before, .home_page .idx08::after {
    position: absolute;
    z-index: -2;
    background: var(--clr3);
    content: "";
  }
  .home_page .idx08::before {
    top: 0;
    left: 50%;
    translate: -50% 0;
    border-radius: 50%;
    width: max(146.56vw, 1500 * var(--desktop-unit, 1px));
    height: max(50.36vw, 520 * var(--desktop-unit, 1px));
  }
  .home_page .idx08::after {
    top: max(25.18vw, 260 * var(--desktop-unit, 1px));
    right: 0;
    bottom: 0;
    left: 0;
  }
  .home_page .idx08 .bg_layer {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.2117;
    pointer-events: none;
  }
  .home_page .idx08 .bg_layer::before, .home_page .idx08 .bg_layer::after {
    position: absolute;
    content: "";
  }
  .home_page .idx08 .bg_layer::before {
    top: calc(1128 * var(--desktop-unit, 1px));
    left: calc(-316 * var(--desktop-unit, 1px));
    background: url(../images/shared_wave.png) no-repeat 0 0/100% 100%;
    width: calc(2553 * var(--desktop-unit, 1px));
    height: calc(1294 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .bg_layer::after {
    top: calc(790 * var(--desktop-unit, 1px));
    right: 0;
    left: 0;
    background: linear-gradient(180deg, var(--white) 51.8%, color-mix(in srgb, var(--white) 0%, transparent) 95.3%);
    height: calc(711 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .inner_feature {
    position: relative;
  }
  .home_page .idx08 .inner_feature::before {
    position: absolute;
    top: calc(-117 * var(--desktop-unit, 1px));
    left: calc(var(--gutter) - 234 * var(--desktop-unit, 1px));
    z-index: -1;
    border-radius: 50%;
    background: linear-gradient(to right bottom, var(--clr5), var(--clr12));
    width: calc(284 * var(--desktop-unit, 1px));
    height: calc(284 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx08 .ttl_lg .jp {
    margin-top: calc(5 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .points {
    display: grid;
    grid-template-columns: repeat(2, calc(778 * var(--desktop-unit, 1px)));
    justify-content: space-between;
    gap: calc(80 * var(--desktop-unit, 1px));
    margin: calc(70 * var(--desktop-unit, 1px)) calc(-2 * var(--desktop-unit, 1px)) 0 calc(2 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .points li {
    position: relative;
    padding-bottom: calc(231 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .img {
    position: relative;
    z-index: 0;
    width: calc(699 * var(--desktop-unit, 1px));
    aspect-ratio: 699/420;
  }
  .home_page .idx08 .img::before {
    position: absolute;
    top: calc(31 * var(--desktop-unit, 1px));
    left: calc(31 * var(--desktop-unit, 1px));
    z-index: -1;
    border-radius: var(--border-position);
    background: linear-gradient(0deg, var(--clr12), var(--clr5));
    width: calc(700 * var(--desktop-unit, 1px));
    height: calc(421 * var(--desktop-unit, 1px));
    content: "";
  }
  .home_page .idx08 .img img {
    border-radius: var(--border-position);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home_page .idx08 .card {
    position: absolute;
    top: calc(349 * var(--desktop-unit, 1px));
    left: calc(120 * var(--desktop-unit, 1px));
    border: calc(1 * var(--desktop-unit, 1px)) solid var(--main-color);
    border-radius: var(--border-position);
    background: var(--white);
    padding: calc(59 * var(--desktop-unit, 1px)) calc(38 * var(--desktop-unit, 1px)) 0;
    width: calc(658 * var(--desktop-unit, 1px));
    height: calc(302 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .num {
    border-radius: calc(2 * var(--desktop-unit, 1px));
    background: var(--clr3);
    width: calc(94 * var(--desktop-unit, 1px));
    height: calc(28 * var(--desktop-unit, 1px));
    color: var(--main-color);
    font-family: var(--f-en);
    font-size: calc(14 * var(--desktop-unit, 1px));
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: calc(28 * var(--desktop-unit, 1px));
    text-align: center;
  }
  .home_page .idx08 .ttl {
    margin-top: calc(10 * var(--desktop-unit, 1px));
    color: var(--clr2);
    font-size: calc(30 * var(--desktop-unit, 1px));
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8666666667;
  }
  .home_page .idx08 .body {
    margin-top: calc(13 * var(--desktop-unit, 1px));
    max-width: calc(580 * var(--desktop-unit, 1px));
    line-height: 2;
  }
  .home_page .idx08 .btn {
    margin-top: calc(64 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .btn a {
    width: calc(386 * var(--desktop-unit, 1px));
    padding-left: calc(10 * var(--desktop-unit, 1px));
  }
}
/* Compact news buttons below the wide desktop layout. */
@media only screen and (min-width: 1026px) and (max-width: 1440px) {
  :root .home_page .idx01 .btn.style01.sm a {
    width: 160px;
    max-width: 100%;
    min-height: 44px;
    padding: 8px 30px 8px 16px;
    font-size: 14px;
    white-space: nowrap;
  }
  :root .home_page .idx01 .btn.style01.sm a::after {
    right: 12px;
    width: 12px;
    height: 12px;
  }
}
/* Keep treatment content balanced below the wide desktop layout. */
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .home_page .idx07 .tm_item {
    align-items: center;
    justify-content: space-between;
    gap: calc(44 * var(--desktop-unit, 1px));
    padding: calc(50 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) 0;
    max-width: 93%;
    margin-left: auto;
    margin-right: auto;
  }
  .home_page .idx07 .tm_item .txt {
    padding-top: 0;
  }
  .home_page .idx07 .tm_item .img {
    flex-shrink: 1;
    width: 44%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .home_page .idx08 {
    padding: calc(100 * var(--desktop-unit, 1px)) 0 calc(90 * var(--desktop-unit, 1px));
  }
  .home_page .idx08 .points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(60 * var(--desktop-unit, 1px)) calc(36 * var(--desktop-unit, 1px));
    margin-inline: 0;
  }
  .home_page .idx08 .points li {
    min-width: 0;
    padding-bottom: 0;
  }
  .home_page .idx08 .img {
    width: 90%;
  }
  .home_page .idx08 .img::before {
    top: calc(20 * var(--desktop-unit, 1px));
    left: calc(20 * var(--desktop-unit, 1px));
    width: 100%;
    height: 100%;
  }
  .home_page .idx08 .card {
    position: relative;
    top: auto;
    left: auto;
    margin: calc(-80 * var(--desktop-unit, 1px)) 0 0 auto;
    padding: calc(36 * var(--desktop-unit, 1px)) calc(30 * var(--desktop-unit, 1px)) calc(34 * var(--desktop-unit, 1px));
    width: 88%;
    height: auto;
  }
  .home_page .idx08 .ttl {
    font-size: calc(28 * var(--desktop-unit, 1px));
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  :root .home_page .idx01 .btn.style01 a {
    padding: 8px 28px 8px 8px;
  }
  :root .home_page .idx01 .btn.style01 a::after {
    width: 16px;
    height: 16px;
    right: 8px;
    -webkit-mask-size: 14px 14px;
    mask-size: 14px 14px;
  }
}
/* Keep tablet body copy readable and preserve decorative paragraph sizes. */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page #mainContent p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .home_page #mainContent .ttl_lg p.en {
    font-size: max(16px, var(--ttl_size));
  }
  .home_page #mainContent .ttl_sm p.en {
    font-size: max(16px, calc(26 * var(--desktop-unit, 1px)));
  }
  .home_page #mainContent .idx04 .flow_head p.notice {
    font-size: 22px;
  }
  .home_page #mainContent .idx05 .pk_blog p.blog_ttl {
    font-size: clamp(20px, 1.5625vw, 30px);
  }
  .home_page #mainContent .idx10 p.marquee {
    font-size: max(16px, calc(90 * var(--desktop-unit, 1px)));
  }
}

/* Keep greeting buttons in one row within the tablet text column. */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .idx03 .btn-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
    gap: 8px;
  }
  .home_page .idx03 .btn-group > .btn {
    min-width: 0;
  }
  :root .home_page .idx03 .btn-group .btn.style01 a {
    width: 100%;
    height: 100%;
    min-height: 52px;
    padding: 10px 30px 10px 10px;
    font-size: 16px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  :root .home_page .idx03 .btn-group .btn.style01 a::after {
    right: 8px;
  }
}
/* Compact doctor's name plate on tablet screens. */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .idx03 .name {
    width: 210px;
    max-width: 100%;
    height: 84px;
    padding: 4px 8px 0 52px;
  }
  .home_page .idx03 .name .pos {
    top: 12px;
    left: 10px;
    width: 34px;
    height: 60px;
    font-size: 13px;
  }
  .home_page .idx03 .name .jp {
    font-size: 18px;
  }
  .home_page .idx03 .name .en {
    margin-top: 8px;
    font-size: 13px;
  }
}
@media only screen and (min-width: 769px) {
  .home_page .idx01 .news_list a {
    padding-right: 38px;
  }
  .home_page .idx01 .news_list a::after {
    width: 20px;
    height: 20px;
    right: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page #mainContent .idx07 .txt .num,
  .home_page #mainContent .idx05 .txt .ttl,
  .home_page #mainContent .idx04 .txt .lead,
  .home_page #mainContent .idx03 .lead {
    font-size: 20px;
  }
  .home_page .idx08 .card {
    padding: 16px;
  }
}
/* Blog cards matched to pk_blog.xd. */
@media only screen and (min-width: 769px) {
  .home_page .idx05 .pk_blog .blog_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: clamp(20px, 1.5625vw, 30px);
  }
  .home_page .idx05 .pk_blog .blog_ttl::before,
  .home_page .idx05 .pk_blog .blog_ttl::after {
    content: "";
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    margin: 0;
    border-radius: 50%;
    background: var(--main-color);
  }
  .home_page .idx05 .pk_blog ul {
    gap: 16px;
    max-width: 1136px;
    margin: 32px auto 0;
  }
  .home_page .idx05 .pk_blog li {
    flex: 1 1 0;
    min-width: 0;
  }
  .home_page .idx05 .pk_blog a {
    display: block;
    position: relative;
    isolation: isolate;
    height: auto;
    aspect-ratio: 368/193;
    border: 1px solid var(--main-color);
    border-radius: 10px;
    box-shadow: none;
    overflow: hidden;
  }
  .home_page .idx05 .pk_blog .thumb {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
  .home_page .idx05 .pk_blog a::before {
    content: "";
    position: absolute;
    inset: 7px;
    z-index: 1;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.78);
  }
  .home_page .idx05 .pk_blog .t {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: 2;
    width: max-content;
    max-width: calc(100% - 30px);
    border: 1px solid var(--clr2);
    border-radius: 999px;
    background: var(--white);
    color: var(--clr2);
    padding: 6px 12px;
    font-size: clamp(14px, 1.0416666667vw, 20px);
    line-height: 1.4;
    text-align: center;
  }
  .home_page .idx05 .pk_blog .t::after {
    content: none;
  }
  .home_page .idx05 .pk_blog a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 3;
    width: 32px;
    height: 32px;
    background: url(../images/idx_btn_more.svg) no-repeat center/contain;
  }
}