body {
    background-color: #fff;
}

.txt-center {
    text-align: center;
}

.grid {
    display: grid;
}

.pdt15 {
    padding-top: clamp(7.5px, calc(7.5px + (15 - 7.5) * ((100vw - 375px) / (750 - 375))), 15px);
}

.pdt30 {
    padding-top: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
}

.pdb10 {
    padding-bottom: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.pdt65 {
    padding-top: clamp(32.5px, calc(32.5px + (65 - 32.5) * ((100vw - 375px) / (750 - 375))), 65px);
}

.relative {
    position: relative;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}

.container {
    background-color: #fff;
    max-width: 750px;
    margin: auto;
}

.fv-cta {
    position: absolute;
    bottom: clamp(40px, calc(40px + (80 - 40) * ((100vw - 375px) / (750 - 375))), 80px);
    width: 100%;
    text-align: center;
}

.cta {
    background: linear-gradient(90deg, rgba(214, 203, 166, 1.00) 0%, rgba(245, 239, 231, 1.00) 50%, rgba(214, 203, 166, 1.00) 100%);
    position: relative;
    overflow: hidden;
    padding: clamp(40px, calc(40px + (80 - 40) * ((100vw - 375px) / (750 - 375))), 80px) 0 clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
}

.card__mv {
    width: clamp(131px, calc(131px + (262 - 131) * ((100vw - 375px) / (750 - 375))), 262px);
    height: clamp(87.5px, calc(87.5px + (175 - 87.5) * ((100vw - 375px) / (750 - 375))), 175px);

    img {
        width: clamp(131px, calc(131px + (262 - 131) * ((100vw - 375px) / (750 - 375))), 262px);
        height: clamp(87.5px, calc(87.5px + (175 - 87.5) * ((100vw - 375px) / (750 - 375))), 175px);
    }
}

.div,
.div * {
    box-sizing: border-box;
}

.div {
    color: #333333;
    text-align: center;
    position: relative;
}

.div-span3a {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(29.52px, calc(29.52px + (59.04 - 29.52) * ((100vw - 375px) / (750 - 375))), 59.04px);
    line-height: 145.5%;
    font-weight: 500;
}

.div-span4a {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.1px, calc(21.1px + (42.19 - 21.1) * ((100vw - 375px) / (750 - 375))), 42.19px);
    line-height: 145.5%;
    font-weight: 400;
}

.halii-academy,
.halii-academy * {
    box-sizing: border-box;
}

.halii-academy {
    color: #000000;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(37.5px, calc(37.5px + (75 - 37.5) * ((100vw - 375px) / (750 - 375))), 75px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
    padding-bottom: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
}

.div.div-cta-t {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(15.34px, calc(15.34px + (30.67 - 15.34) * ((100vw - 375px) / (750 - 375))), 30.67px);
    line-height: clamp(36.08px, calc(36.08px + (72.16 - 36.08) * ((100vw - 375px) / (750 - 375))), 72.16px);
    font-weight: 500;
    position: relative;
}

.line-289 {
    margin-top: clamp(-0.585px, calc(-0.585px + (-1.17 - -0.585) * ((100vw - 375px) / (750 - 375))), -1.17px);
    border-style: solid;
    border-color: #000000;
    border-width: clamp(0.585px, calc(0.585px + (1.17 - 0.585) * ((100vw - 375px) / (750 - 375))), 1.17px) 0 0 0;
    width: clamp(84.05px, calc(84.05px + (168.1 - 84.05) * ((100vw - 375px) / (750 - 375))), 168.1px);
    height: 0px;
    position: relative;
    transform-origin: 0 0;
    transform: rotate(0deg) scale(1, 1);
}

.cta-g-wrap {
    display: grid;
    grid-template-columns: clamp(84.05px, calc(84.05px + (168.1 - 84.05) * ((100vw - 375px) / (750 - 375))), 168.1px) 1fr clamp(84.05px, calc(84.05px + (168.1 - 84.05) * ((100vw - 375px) / (750 - 375))), 168.1px);
    align-items: center;
    max-width: clamp(306.5px, calc(306.5px + (613 - 306.5) * ((100vw - 375px) / (750 - 375))), 613px);
    margin: auto;
    text-align: center;
}

.ter-5145 {
    width: clamp(315.5px, calc(315.5px + (631 - 315.5) * ((100vw - 375px) / (750 - 375))), 631px);
    height: clamp(200px, calc(200px + (400 - 200) * ((100vw - 375px) / (750 - 375))), 400px);
    object-fit: contain;
}

.pr-bn {
    object-fit: cover;
    max-width: 642.88px;
    max-height: 273px;
    width: clamp(321.44px, calc(321.44px + (642.88 - 321.44) * ((100vw - 375px) / (750 - 375))), 642.88px);
    height: clamp(136.5px, calc(136.5px + (273 - 136.5) * ((100vw - 375px) / (750 - 375))), 273px);
    min-width: 321.44px;
    min-height: 136.5px;
}

.card {
    background-image: url(img/Group_2555.webp);
    object-fit: cover;
    width: clamp(369px, calc(369px + (738 - 369) * ((100vw - 375px) / (750 - 375))), 738px);
    height: clamp(131px, calc(131px + (262 - 131) * ((100vw - 375px) / (750 - 375))), 262px);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: grid;
    align-items: center;
}

.card__grid {
    display: grid;
    grid-template-columns: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px) clamp(0.5px, calc(0.5px + (1 - 0.5) * ((100vw - 375px) / (750 - 375))), 1px) clamp(145.5px, calc(145.5px + (291 - 145.5) * ((100vw - 375px) / (750 - 375))), 291px) 1fr;
    width: clamp(324.5px, calc(324.5px + (649 - 324.5) * ((100vw - 375px) / (750 - 375))), 649px);
    place-content: center;
    align-items: center;
    margin: auto;
    gap: clamp(7.5px, calc(7.5px + (15 - 7.5) * ((100vw - 375px) / (750 - 375))), 15px);
}

.group-1598608,
.group-1598608 * {
    box-sizing: border-box;
}

.group-1598608 {
    position: relative;
    display: grid;
    place-content: center;
}

.divx {
    color: #333333;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-size: clamp(13.17px, calc(13.17px + (26.34 - 13.17) * ((100vw - 375px) / (750 - 375))), 26.34px);
    line-height: 1;
    font-weight: 600;
}

._1x {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(28.30px, calc(28.30px + (56.60 - 28.30) * ((100vw - 375px) / (750 - 375))), 56.60px);
    line-height: 1;
    font-weight: 400;
}

._1,
._1 * {
    box-sizing: border-box;
}

._1 {
    text-align: left;
    position: relative;
    width: clamp(144px, calc(144px + (288 - 144) * ((100vw - 375px) / (750 - 375))), 288px);
}

._1-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.11px, calc(12.11px + (24.22 - 12.11) * ((100vw - 375px) / (750 - 375))), 24.22px);
    line-height: 125%;
    font-weight: 600;
}

._1-span4 {
    color: #d1722a;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
}

.line-305,
.line-305 * {
    box-sizing: border-box;
}

.line-305 {
    background: #a1905a;
    width: clamp(0.5px, calc(0.5px + (1 - 0.5) * ((100vw - 375px) / (750 - 375))), 1px);
    height: clamp(79px, calc(79px + (158 - 79) * ((100vw - 375px) / (750 - 375))), 158px);
    position: relative;
}

._99,
._99 * {
    box-sizing: border-box;
}

._99 {
    text-align: left;
    position: relative;
    width: clamp(140px, calc(140px + (280 - 140) * ((100vw - 375px) / (750 - 375))), 280px);
}

._99-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.11px, calc(12.11px + (24.22 - 12.11) * ((100vw - 375px) / (750 - 375))), 24.22px);
    line-height: 125%;
    font-weight: 600;
}

._99-span4 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
}

.div,
.div * {
    box-sizing: border-box;
}

.divv {
    text-align: left;
    position: relative;
    width: clamp(145.5px, calc(145.5px + (291 - 145.5) * ((100vw - 375px) / (750 - 375))), 291px);
}

.div-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.11px, calc(12.11px + (24.22 - 12.11) * ((100vw - 375px) / (750 - 375))), 24.22px);
    line-height: 125%;
    font-weight: 600;
}

.div-span4 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
}

._3,
._3 * {
    box-sizing: border-box;
}

._3 {
    text-align: left;
    position: relative;
    width: clamp(140px, calc(140px + (280 - 140) * ((100vw - 375px) / (750 - 375))), 280px);
}

._3-span5 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.05px, calc(12.05px + (24.11 - 12.05) * ((100vw - 375px) / (750 - 375))), 24.11px);
    line-height: 125%;
    font-weight: 600;
}

._3-span6 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
}

._3-span7 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.36px, calc(16.36px + (32.72 - 16.36) * ((100vw - 375px) / (750 - 375))), 32.72px);
    line-height: 125%;
    letter-spacing: 0.25em;
    font-weight: 600;
}

._3-span7::after {
    content: "";
    width: clamp(22.5px, calc(22.5px + (45 - 22.5) * ((100vw - 375px) / (750 - 375))), 45px);
    height: clamp(22.5px, calc(22.5px + (45 - 22.5) * ((100vw - 375px) / (750 - 375))), 45px);
    border: clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px) solid #DB7320;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px);
    left: clamp(-2.5px, calc(-2.5px + (-5 - -2.5) * ((100vw - 375px) / (750 - 375))), -5px);
}

._3-span8 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
}

.dive,
.dive * {
    box-sizing: border-box;
}

.dive {
    color: #db7320;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(17.36px, calc(17.36px + (34.72 - 17.36) * ((100vw - 375px) / (750 - 375))), 34.72px);
    line-height: 125%;
    font-weight: 600;
    position: relative;
    width: clamp(145.5px, calc(145.5px + (291 - 145.5) * ((100vw - 375px) / (750 - 375))), 291px);
}

.flex-a {
    display: flex;
    align-items: center;
}

.group-1598657 {
    width: clamp(332px, calc(332px + (664 - 332) * ((100vw - 375px) / (750 - 375))), 664px);
    height: clamp(44px, calc(44px + (88 - 44) * ((100vw - 375px) / (750 - 375))), 88px);
    object-fit: cover;
    margin: auto;
}

.btn-line {
    width: clamp(352px, calc(352px + (704 - 352) * ((100vw - 375px) / (750 - 375))), 704px);
    height: clamp(82.5px, calc(82.5px + (165 - 82.5) * ((100vw - 375px) / (750 - 375))), 165px);
    object-fit: cover;
    box-shadow: 4px 4px 12px 0px rgba(0, 0, 0, 0.20);

}

.prob1 {
    width: 100%;
    height: clamp(651px, calc(651px + (1302 - 651) * ((100vw - 375px) / (750 - 375))), 1302px);
    background-image: url(img/Slice_22.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.prob2 {
    width: 100%;
    height: clamp(988px, calc(988px + (1976 - 988) * ((100vw - 375px) / (750 - 375))), 1976px);
    background-image: url(img/Slice_23.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.prob3 {
    width: 100%;
    height: clamp(414.5px, calc(414.5px + (829 - 414.5) * ((100vw - 375px) / (750 - 375))), 829px);
    background-image: url(img/Slice_24.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top: clamp(13px, calc(13px + (26 - 13) * ((100vw - 375px) / (750 - 375))), 26px);
}

.divprob1 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.84px, calc(21.84px + (43.68 - 21.84) * ((100vw - 375px) / (750 - 375))), 43.68px);
    line-height: clamp(35.66px, calc(35.66px + (71.32 - 35.66) * ((100vw - 375px) / (750 - 375))), 71.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.divprob1b {
    color: #333333;
    text-align: center;
    position: relative;
}

.div-span4c {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(26.88px, calc(26.88px + (53.76 - 26.88) * ((100vw - 375px) / (750 - 375))), 53.76px);
    line-height: clamp(35.66px, calc(35.66px + (71.32 - 35.66) * ((100vw - 375px) / (750 - 375))), 71.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.div-span5c {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(36.18px, calc(36.18px + (72.37 - 36.18) * ((100vw - 375px) / (750 - 375))), 72.37px);
    line-height: clamp(35.66px, calc(35.66px + (71.32 - 35.66) * ((100vw - 375px) / (750 - 375))), 71.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.div-span6c {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.84px, calc(21.84px + (43.68 - 21.84) * ((100vw - 375px) / (750 - 375))), 43.68px);
    line-height: clamp(35.66px, calc(35.66px + (71.32 - 35.66) * ((100vw - 375px) / (750 - 375))), 71.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.group-2562,
.group-2562 * {
    box-sizing: border-box;
}

.group-2562 {
    display: flex;
    position: relative;
    top: clamp(-5px, calc(-5px + (-10 - -5) * ((100vw - 375px) / (750 - 375))), -10px);
    left: clamp(178px, calc(178px + (356 - 178) * ((100vw - 375px) / (750 - 375))), 356px);
    width: clamp(80px, calc(80px + (160 - 80) * ((100vw - 375px) / (750 - 375))), 160px);
    justify-content: space-between;
}

.ellipse-11 {
    background: #333333;
    border-radius: 50%;
    width: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
    height: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
}

.ellipse-12 {
    background: #333333;
    border-radius: 50%;
    width: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
    height: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
}

.ellipse-13 {
    background: #333333;
    border-radius: 50%;
    width: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
    height: clamp(4.11px, calc(4.11px + (8.22 - 4.11) * ((100vw - 375px) / (750 - 375))), 8.22px);
}

.divprob2 {
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
    position: relative;
}

.div-span4_prob2 {
    color: #ffffff;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
}

.div-span5_prob2 {
    color: #fbf892;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
}

.div-span6_prob2 {
    color: #ffffff;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
}

.prob_box_in {
    display: grid;
    grid-template-columns: auto 1fr;
    place-content: center;
    width: clamp(322.5px, calc(322.5px + (645 - 322.5) * ((100vw - 375px) / (750 - 375))), 645px);
    margin: auto;
    gap: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
    padding: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) 0px;
}

.divprob2 {
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 1;
    font-weight: 400;
    position: relative;
    display: flex;
    align-items: center;
}

.line-299,
.line-299 * {
    box-sizing: border-box;
}

.line-299 {
    margin-top: clamp(-0.5px, calc(-0.5px + (-1 + 0.5) * ((100vw - 375px) / (750 - 375))), -1px);
    border-style: dashed;
    border-color: #ffffff;
    border-width: clamp(0.5px, calc(0.5px + (1 - 0.5) * ((100vw - 375px) / (750 - 375))), 1px) 0 0 0;
    height: 0px;
    position: relative;
    max-width: clamp(314.5px, calc(314.5px + (629 - 314.5) * ((100vw - 375px) / (750 - 375))), 629px);
    margin: auto;
}

.rectangle-346,
.rectangle-346 * {
    box-sizing: border-box;
}

.rectangle-346 {
    background: var(--ao, linear-gradient(90deg, rgba(30, 63, 98, 1.00) 0%, rgba(61, 129, 200, 1.00) 49.50000047683716%, rgba(30, 63, 98, 1.00) 98.50000143051147%));
    height: clamp(36px, calc(36px + (72 - 36) * ((100vw - 375px) / (750 - 375))), 72px);
    position: relative;
    width: clamp(301px, calc(301px + (602 - 301) * ((100vw - 375px) / (750 - 375))), 602px);
    margin: auto;
}

.div-span3_prob2 {
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25.775px, calc(25.775px + (51.55 - 25.775) * ((100vw - 375px) / (750 - 375))), 51.55px);
    line-height: 1.4;
    letter-spacing: 0.03em;
    font-weight: 500;
}

.rectangle-347,
.rectangle-347 * {
    box-sizing: border-box;
}

.rectangle-347 {
    background: var(--ao, linear-gradient(90deg, rgba(30, 63, 98, 1.00) 0%, rgba(61, 129, 200, 1.00) 49.50000047683716%, rgba(30, 63, 98, 1.00) 98.50000143051147%));
    width: clamp(148px, calc(148px + (296 - 148) * ((100vw - 375px) / (750 - 375))), 296px);
    height: clamp(36px, calc(36px + (72 - 36) * ((100vw - 375px) / (750 - 375))), 72px);
    position: relative;
    margin: clamp(4px, calc(4px + (8 - 4) * ((100vw - 375px) / (750 - 375))), 8px) auto;
}

.div_prob2_txt {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.725px, calc(19.725px + (39.45 - 19.725) * ((100vw - 375px) / (750 - 375))), 39.45px);
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 400;
    position: relative;
}

.prob2-2 {
    margin-top: clamp(280px, calc(280px + (560 - 280) * ((100vw - 375px) / (750 - 375))), 560px);
}

.prob2-2-item {
    display: flex;
    align-items: start;
    gap: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
    max-width: clamp(313.5px, calc(313.5px + (627 - 313.5) * ((100vw - 375px) / (750 - 375))), 627px);
    margin: auto;
}

.prob2-2-item+.prob2-2-item {
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.prob2-2-item-p {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.01px, calc(19.01px + (38.02 - 19.01) * ((100vw - 375px) / (750 - 375))), 38.02px);
    line-height: 145.5%;
    font-weight: 400;
}

.prob2-2-item-b {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.01px, calc(19.01px + (38.02 - 19.01) * ((100vw - 375px) / (750 - 375))), 38.02px);
    line-height: 145.5%;
    font-weight: 700;
}

.prob2-3-item-p {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
    position: relative;
}

.rectangle-114,
.rectangle-114 * {
    box-sizing: border-box;
}

.rectangle-114 {
    width: clamp(78.5px, calc(78.5px + (157 - 78.5) * ((100vw - 375px) / (750 - 375))), 157px);
    height: clamp(37.5px, calc(37.5px + (75 - 37.5) * ((100vw - 375px) / (750 - 375))), 75px);
    position: absolute;
    overflow: visible;
}

.prob2-3-item-p2 {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(18.7191px, calc(18.7191px + (37.4382 - 18.7191) * ((100vw - 375px) / (750 - 375))), 37.4382px);
    line-height: 145.5%;
    font-weight: 600;
    position: relative;
}

.prob2-3-item-svg-box {
    width: clamp(78.5px, calc(78.5px + (157 - 78.5) * ((100vw - 375px) / (750 - 375))), 157px);
    margin: auto;
}

.prob2-3-item-p {
    text-align: center;
}

.prob2-3 {
    margin-top: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px);
}

.prob2-3-item-svg.relative {
    margin-top: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.prob2-3-item-p3 {
    color: #333333;
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
    position: relative;
    margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
}

.prob2-3-item-p4 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(27.94544px, calc(27.94544px + (55.89088 - 27.94544) * ((100vw - 375px) / (750 - 375))), 55.89088px);
    line-height: 145.5%;
    font-weight: 600;
    position: relative;
    text-decoration: underline;
    text-underline-offset: clamp(6px, calc(6px + (12 - 6) * ((100vw - 375px) / (750 - 375))), 12px);
    text-decoration-thickness: clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px);
    margin-top: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.prob3-item-p {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(27.2101px, calc(27.2101px + (54.4202 - 27.2101) * ((100vw - 375px) / (750 - 375))), 54.4202px);
    line-height: 145.5%;
    font-weight: 500;
    position: relative;
    -webkit-text-stroke: clamp(0.167808px, calc(0.167808px + (0.33561643958091736 - 0.167808) * ((100vw - 375px) / (750 - 375))), 0.33561643958091736px) #ffffff;
}

.prob3-item-p2 {
    background: var(--my-gradient, linear-gradient(90deg, rgba(191, 181, 147, 1) 0%, rgba(227, 220, 211, 1) 50%, rgba(192, 181, 148, 1) 100%));
    height: clamp(52.5px, calc(52.5px + (105 - 52.5) * ((100vw - 375px) / (750 - 375))), 105px);
    position: relative;
    -webkit-text-stroke: clamp(0.15px, calc(0.15px + (0.3 - 0.15) * ((100vw - 375px) / (750 - 375))), 0.3px) #ffffff;
    text-shadow: clamp(0.5px, calc(0.5px + (1 - 0.5) * ((100vw - 375px) / (750 - 375))), 1px) clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px) clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px) #fff;
    max-width: clamp(325px, calc(325px + (650 - 325) * ((100vw - 375px) / (750 - 375))), 650px);
    margin: auto;
    max-width: clamp(330px, calc(330px + (660 - 330) * ((100vw - 375px) / (750 - 375))), 660px);
    margin: clamp(13.5px, calc(13.5px + (27 - 13.5) * ((100vw - 375px) / (750 - 375))), 27px) auto;
    text-align: center;
}

.prob3-item-p2-p1 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.43px, calc(32.43px + (64.86 - 32.43) * ((100vw - 375px) / (750 - 375))), 64.86px);
    line-height: 145.5%;
    font-weight: 600;
}

.prob3-item-p2-p2 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(22.93px, calc(22.93px + (45.86 - 22.93) * ((100vw - 375px) / (750 - 375))), 45.86px);
    line-height: 145.5%;
    font-weight: 500;
}

/* review */

.swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.swiper-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.swiper-button-next,
.swiper-button-prev {
    background: transparent;
    border: none;
}

.sw-span3 {
    color: #000000;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(19.6169795px, calc(19.6169795px + (39.23395919799805 - 19.6169795) * ((100vw - 375px) / (750 - 375))), 39.23395919799805px);
    font-weight: 400;
}


.sw-span4 {
    color: #000000;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(13.115px, calc(13.115px + (26.229999542236328 - 13.115) * ((100vw - 375px) / (750 - 375))), 26.229999542236328px);
    font-weight: 400;
}

.review {
    background: url(img/review/AdobeStock_503708026.webp) repeat center center, #1D3E5F;
    padding-top: clamp(37.5px, calc(37.5px + (75 - 37.5) * ((100vw - 375px) / (750 - 375))), 75px);
    padding-bottom: clamp(40px, calc(40px + (80 - 40) * ((100vw - 375px) / (750 - 375))), 80px);
}

.review-box {
    background-color: #EDE5CC;
    max-width: clamp(322.5px, calc(322.5px + (645 - 322.5) * ((100vw - 375px) / (750 - 375))), 645px);
    margin: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px) auto 0;
    padding: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) 0;
    position: relative;
}

.review-p {
    color: #000000;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(17px, calc(17px + (34 - 17) * ((100vw - 375px) / (750 - 375))), 34px);
    font-weight: 400;
    position: relative;
    padding: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
    line-height: 1.3;
    background: #fff;
    margin: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
    border-radius: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

/* ナビゲーションボタンを両端に配置 */
body .swiper-button-next {
    position: absolute;
    right: -10px;
    /* 右端に配置 */
    top: 50%;
    /* 垂直中央に配置 */
    transform: translateY(-50%);
}

body .swiper-button-prev {
    position: absolute;
    left: -10px;
    /* 左端に配置 */
    top: 50%;
    /* 垂直中央に配置 */
    transform: translateY(-50%);
}

body .swiper-button-next:after,
body .swiper-button-prev:after {
    content: none;
}

.review-ttl {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.62px, calc(16.62px + (33.2400016784668 - 16.62) * ((100vw - 375px) / (750 - 375))), 33.2400016784668px);
    line-height: 147.5%;
    font-weight: 500;
    position: relative;
}

.review-ttl2 {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.568599px, calc(32.568599px + (65.13719940185547 - 32.568599) * ((100vw - 375px) / (750 - 375))), 65.13719940185547px);
    line-height: 134.5%;
    font-weight: 500;
    position: relative;
}

.rev-talk {
    height: clamp(194.5px, calc(194.5px + (389 - 194.5) * ((100vw - 375px) / (750 - 375))), 389px);
    position: relative;
    width: clamp(325px, calc(325px + (650 - 325) * ((100vw - 375px) / (750 - 375))), 650px);
    margin: 0 auto;
    padding-bottom: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px);
    background-color: #6d6d6d;
}

.rev-talk video {
    height: clamp(194.5px, calc(194.5px + (389 - 194.5) * ((100vw - 375px) / (750 - 375))), 389px);
    width: clamp(325px, calc(325px + (650 - 325) * ((100vw - 375px) / (750 - 375))), 650px);
}


/* // review */

/* 質の高いコンテンツの充実度  */
.ct {
    background: linear-gradient(180deg, rgba(195, 189, 173, 1.00) 0%, rgba(255, 255, 255, 1.00) 50%, rgba(195, 189, 173, 1.00) 100%);
    padding-top: clamp(35px, calc(35px + (70 - 35) * ((100vw - 375px) / (750 - 375))), 70px);
}

.ct-al {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.line-312 {
    margin-top: clamp(-0.63px, calc(-0.63px + (-1.26 - -0.63) * ((100vw - 375px) / (750 - 375))), -1.26px);
    border-style: solid;
    border-color: #000000;
    border-width: clamp(0.63px, calc(0.63px + (1.26 - 0.63) * ((100vw - 375px) / (750 - 375))), 1.26px) 0 0 0;
    width: clamp(18.34px, calc(18.34px + (36.67 - 18.34) * ((100vw - 375px) / (750 - 375))), 36.67px);
    height: 0px;
    position: relative;
}

.ct-h {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.114999px, calc(16.114999px + (32.22999954223633 - 16.114999) * ((100vw - 375px) / (750 - 375))), 32.22999954223633px);
    line-height: 134%;
    font-weight: 500;
    position: relative;
}

.ct-h2 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.5px, calc(32.5px + (65 - 32.5) * ((100vw - 375px) / (750 - 375))), 65px);
    line-height: 134%;
    font-weight: 700;
    position: relative;
    -webkit-text-stroke: clamp(0.15px, calc(0.15px + (0.3 - 0.15) * ((100vw - 375px) / (750 - 375))), 0.3px) #ffffff;
    text-shadow: clamp(0.5px, calc(0.5px + (1 - 0.5) * ((100vw - 375px) / (750 - 375))), 1px) clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px) clamp(1px, calc(1px + (2 - 1) * ((100vw - 375px) / (750 - 375))), 2px) #fff;
}

.group-1598631,
.group-1598631 * {
    box-sizing: border-box;
}

.group-1598631 {
    height: auto;
    position: relative;
    overflow: visible;
}

.ct-txt3 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
}

.ct-txt4 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 700;
}


.ct-txt {
    max-width: clamp(326.5px, calc(326.5px + (653 - 326.5) * ((100vw - 375px) / (750 - 375))), 653px);
    margin: auto;
    padding: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) 0;
}

.ct-txt2 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25.578023px, calc(25.578023px + (51.15604782104492 - 25.578023) * ((100vw - 375px) / (750 - 375))), 51.15604782104492px);
    line-height: 147.5%;
    font-weight: 600;
    position: relative;
}

._90-over-600-10-span6 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(18.1886615px, calc(18.1886615px + (36.377323150634766 - 18.1886615) * ((100vw - 375px) / (750 - 375))), 36.377323150634766px);
    line-height: 147.5%;
    font-weight: 500;
}

._90-over-600-10-span7 {
    color: #d1722a;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(18.1886615px, calc(18.1886615px + (36.377323150634766 - 18.1886615) * ((100vw - 375px) / (750 - 375))), 36.377323150634766px);
    line-height: 147.5%;
    font-weight: 700;
}

.grid.ct-w-grid {
    grid-template-columns: clamp(29px, calc(29px + (58 - 29) * ((100vw - 375px) / (750 - 375))), 58px) 1fr;
}

.ct-w {
    max-width: clamp(325px, calc(325px + (650 - 325) * ((100vw - 375px) / (750 - 375))), 650px);
    height: clamp(373.5px, calc(373.5px + (747 - 373.5) * ((100vw - 375px) / (750 - 375))), 747px);
    margin: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) auto 0;
    background: url(img/contents/ct_1.webp);
    background-size: cover;
    background-repeat: no-repeat;
}

.ct-w-b {
    padding-top: clamp(260px, calc(260px + (520 - 260) * ((100vw - 375px) / (750 - 375))), 520px);
    max-width: clamp(275px, calc(275px + (530 - 275) * ((100vw - 375px) / (750 - 375))), 530px);
    margin: auto;
}

.ct-etc {
    color: #333333;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.1257753px, calc(12.1257753px + (24.251550674438477 - 12.1257753) * ((100vw - 375px) / (750 - 375))), 24.251550674438477px);
    line-height: 1;
    text-align: right;
    font-weight: 500;
    position: relative;
    top: -4px;
}

.ct-w-x-txt {
    color: #333333;
    text-align: left;
    font-family: '-', sans-serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
    position: relative;
    max-width: clamp(326.5px, calc(326.5px + (653 - 326.5) * ((100vw - 375px) / (750 - 375))), 653px);
    margin: auto;
    padding: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px) 0;
}

.ct-w-div-span6 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
}

.ct-w-div-span7 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 700;
}

.ct-w-div-span8 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
}

.ct-w-div-span9 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 700;
}

.ct-w-div-span10 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
}

.ct-p {
    color: #333333;
    text-align: center;
    position: relative;
}

.ct-p-f {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(6px, calc(6px + (12 - 6) * ((100vw - 375px) / (750 - 375))), 12px);
}

.line-313 {
    margin-top: clamp(-0.59px, calc(-0.59px + (-1.18 - -0.59) * ((100vw - 375px) / (750 - 375))), -1.18px);
    border-style: solid;
    border-color: #333333;
    border-width: clamp(0.59px, calc(0.59px + (1.18 - 0.59) * ((100vw - 375px) / (750 - 375))), 1.18px) 0 0 0;
    width: clamp(17.07px, calc(17.07px + (34.13 - 17.07) * ((100vw - 375px) / (750 - 375))), 34.13px);
    height: 0px;
    position: relative;
}


.ct-p-div-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.305px, calc(16.305px + (32.61 - 16.305) * ((100vw - 375px) / (750 - 375))), 32.61px);
    line-height: 127.5%;
    font-weight: 600;
}

.ct-p-div-span5 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(23.807px, calc(23.807px + (47.61447 - 23.807) * ((100vw - 375px) / (750 - 375))), 47.61447px);
    line-height: 127.5%;
    font-weight: 600;
}

.ct-p-div-span6 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25.5px, calc(25.5px + (51 - 25.5) * ((100vw - 375px) / (750 - 375))), 51px);
    line-height: 127.5%;
    font-weight: 600;
}

.ct-iz {
    max-width: clamp(325px, calc(325px + (650 - 325) * ((100vw - 375px) / (750 - 375))), 650px);
    height: clamp(348px, calc(348px + (696 - 348) * ((100vw - 375px) / (750 - 375))), 696px);
    margin: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px) auto 0;
    background: url(img/contents/ct_2.webp);
    background-size: cover;
    background-repeat: no-repeat;
}

.ct-iz-box {
    padding-top: clamp(235px, calc(235px + (470 - 235) * ((100vw - 375px) / (750 - 375))), 470px);
    max-width: clamp(205px, calc(205px + (410 - 205) * ((100vw - 375px) / (750 - 375))), 410px);
    margin: auto;
}

.ct-izx {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 150.5%;
    font-weight: 400;
    position: relative;
    max-width: clamp(326.5px, calc(326.5px + (653 - 326.5) * ((100vw - 375px) / (750 - 375))), 653px);
    margin: auto;
    padding: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) 0 clamp(50px, calc(50px + (100 - 50) * ((100vw - 375px) / (750 - 375))), 100px);
}

.ct-f {
    position: relative;
    height: clamp(795px, calc(795px + (1590 - 795) * ((100vw - 375px) / (750 - 375))), 1590px);
    width: auto;
}

.custom-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(375px, calc(375px + (750 - 375) * ((100vw - 375px) / (750 - 375))), 750px);
    height: clamp(795px, calc(795px + (1590 - 795) * ((100vw - 375px) / (750 - 375))), 1590px);
    background: #1D3E5F;
    background: url('img/contents/AdobeStock_503094571.webp') no-repeat center center, #1D3E5F;
    background-blend-mode: color-burn;

    /* 上辺中央を凹ませる形状に切り抜く */
    clip-path: polygon(0% 0%,
            /* 左上 */
            0% 0%,
            /* 左上から少し右に移動 */
            50% 4%,
            /* 真ん中で下に凹ませる */
            100% 0%,
            /* 右上に戻る */
            100% 0%,
            /* 右上 */
            100% 100%,
            /* 右下 */
            0% 100%
            /* 左下 */
        )
}

.ct-f-t {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
    position: relative;
}

.ct-f-box {
    position: relative;
    z-index: 1;
    padding-top: clamp(65px, calc(65px + (130 - 65) * ((100vw - 375px) / (750 - 375))), 130px);
}

.halii-academyx {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(29.757px, calc(29.757px + (59.51303 - 29.757) * ((100vw - 375px) / (750 - 375))), 59.51303px);
    line-height: 145.5%;
    font-weight: 500;
    position: relative;
}

.ct-f-wrap {
    border-width: clamp(2px, calc(2px + (4 - 2) * ((100vw - 375px) / (750 - 375))), 4px);
    border-style: solid;
    border-image: linear-gradient(90deg, rgba(191, 181, 147, 1.00) 0%, rgba(227, 220, 211, 1.00) 50%, rgba(192, 181, 148, 1.00) 100%);
    border-image-slice: 1;
    height: clamp(416px, calc(416px + (832 - 416) * ((100vw - 375px) / (750 - 375))), 832px);
    max-width: clamp(322.5px, calc(322.5px + (645 - 322.5) * ((100vw - 375px) / (750 - 375))), 645px);
    margin: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px) auto;
    background-color: #fff;
    padding: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) 0;
}

.ct-f-item-txt {
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.366px, calc(21.366px + (42.73249 - 21.366) * ((100vw - 375px) / (750 - 375))), 42.73249px);
    line-height: 123.5%;
    font-weight: 500;
    position: relative;
}

.ct-f-item-txtdiv-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.366px, calc(21.366px + (42.73249 - 21.366) * ((100vw - 375px) / (750 - 375))), 42.73249px);
    line-height: 123.5%;
    font-weight: 500;
}

.ct-f-item-txtdiv-span4 {
    color: #db7320;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.366px, calc(21.366px + (42.73249 - 21.366) * ((100vw - 375px) / (750 - 375))), 42.73249px);
    line-height: 1.35;
    font-weight: 500;
}

.ct-f-item {
    max-width: clamp(287.5px, calc(287.5px + (575 - 287.5) * ((100vw - 375px) / (750 - 375))), 575px);
    margin: auto;
    display: flex;
    gap: clamp(7.5px, calc(7.5px + (15 - 7.5) * ((100vw - 375px) / (750 - 375))), 15px);
    border-bottom: 1px solid #aaa;
    padding: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) 0;
}

.ct-f-item .svg {
    top: clamp(2px, calc(2px + (23 - 2) * ((100vw - 375px) / (750 - 375))), 23px);
}

.ct-f-item-bn {
    border: none;
}

.svg {
    position: relative;
    top: clamp(9px, calc(9px + (18 - 9) * ((100vw - 375px) / (750 - 375))), 18px);
}

.ct-0 {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(18.01px, calc(18.01px + (36.02 - 18.01) * ((100vw - 375px) / (750 - 375))), 36.02px);
    line-height: 145.5%;
    font-weight: 400;
    position: relative;
    margin-bottom: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.ct-0xq {
    color: #e8daca;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(31.64px, calc(31.64px + (63.28 - 31.64) * ((100vw - 375px) / (750 - 375))), 63.28px);
    line-height: clamp(39.3px, calc(39.3px + (78.6 - 39.3) * ((100vw - 375px) / (750 - 375))), 78.6px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.ct-0x {
    display: grid;
    grid-template-columns: clamp(16px, calc(16px + (32 - 16) * ((100vw - 375px) / (750 - 375))), 32px) 1fr clamp(16px, calc(16px + (32 - 16) * ((100vw - 375px) / (750 - 375))), 32px);
    max-width: clamp(304px, calc(304px + (608 - 304) * ((100vw - 375px) / (750 - 375))), 608px);
    gap: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
    margin: auto;
}

/* // 質の高いコンテンツの充実度  */

/* 理由 */

.r {
    background-color: #ECEDF0;
    padding-top: clamp(55px, calc(55px + (110 - 55) * ((100vw - 375px) / (750 - 375))), 110px);
    padding-bottom: clamp(50px, calc(50px + (100 - 50) * ((100vw - 375px) / (750 - 375))), 100px);
}

.r-1 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.83px, calc(19.83px + (39.65917 - 19.83) * ((100vw - 375px) / (750 - 375))), 39.65917px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.r-2 {
    color: #333333;
    text-align: center;
    position: relative;
    padding-top: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
    margin-bottom: clamp(60px, calc(60px + (120 - 60) * ((100vw - 375px) / (750 - 375))), 120px);
}

.r-2_5-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(75.945px, calc(75.945px + (151.89 - 75.945) * ((100vw - 375px) / (750 - 375))), 151.89px);
    line-height: clamp(39.285px, calc(39.285px + (78.57 - 39.285) * ((100vw - 375px) / (750 - 375))), 78.57px);
    letter-spacing: -0.08em;
    font-weight: 400;
}

.r-2_5-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(46.408px, calc(46.408px + (92.81689 - 46.408) * ((100vw - 375px) / (750 - 375))), 92.81689px);
    line-height: clamp(39.285px, calc(39.285px + (78.57 - 39.285) * ((100vw - 375px) / (750 - 375))), 78.57px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.r-item {
    background: #ffffff;
    box-shadow: var(---box-shadow, 0px 4px 13px 0px rgba(0, 0, 0, 0.17));
    max-width: clamp(348px, calc(348px + (696 - 348) * ((100vw - 375px) / (750 - 375))), 696px);
    margin: auto;
    padding: 0 clamp(22.5px, calc(22.5px + (45 - 22.5) * ((100vw - 375px) / (750 - 375))), 45px) clamp(35px, calc(35px + (70 - 35) * ((100vw - 375px) / (750 - 375))), 70px);
}

.r-item+.r-item {
    margin-top: clamp(60px, calc(60px + (120 - 60) * ((100vw - 375px) / (750 - 375))), 120px);
}

.r-rect {
    display: flex;
    justify-content: center;
    position: relative;
    top: clamp(-27px, calc(-27px + (-65 - -27) * ((100vw - 375px) / (750 - 375))), -65px);
}

.ellipse-19 {
    background: #1d3f62;
    border-radius: 50%;
    width: clamp(59.5px, calc(59.5px + (119 - 59.5) * ((100vw - 375px) / (750 - 375))), 119px);
    height: clamp(59.5px, calc(59.5px + (119 - 59.5) * ((100vw - 375px) / (750 - 375))), 119px);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.r-rectdiv-span3 {
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(12.467px, calc(12.467px + (24.933094 - 12.467) * ((100vw - 375px) / (750 - 375))), 24.933094px);
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 400;
}

.r-rectdiv-span4 {
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(26.298px, calc(26.298px + (52.59572 - 26.298) * ((100vw - 375px) / (750 - 375))), 52.59572px);
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 400;
}

._200,
._200 * {
    box-sizing: border-box;
}

._200 {
    color: #333333;
    text-align: center;
    position: relative;
}

._200-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.45px, calc(21.45px + (42.9 - 21.45) * ((100vw - 375px) / (750 - 375))), 42.9px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    font-weight: 500;
}

._200-span5 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25.57px, calc(25.57px + (51.14 - 25.57) * ((100vw - 375px) / (750 - 375))), 51.14px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    font-weight: 500;
}

._200-span6 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.57px, calc(32.57px + (65.14 - 32.57) * ((100vw - 375px) / (750 - 375))), 65.14px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    font-weight: 500;
}

.r5 {
    height: clamp(197px, calc(197px + (394 - 197) * ((100vw - 375px) / (750 - 375))), 394px);
    position: relative;
    object-fit: cover;
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.r-txt1 {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0.03em;
    font-weight: 400;
    position: relative;
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
    margin-bottom: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.rectangle-336,
.rectangle-336 * {
    box-sizing: border-box;
}

.rectangle-336 {
    background: #edf0f1;
    width: clamp(301.5px, calc(301.5px + (603 - 301.5) * ((100vw - 375px) / (750 - 375))), 603px);
    position: relative;
    padding: clamp(17.5px, calc(17.5px + (35 - 17.5) * ((100vw - 375px) / (750 - 375))), 35px) clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.rectangle-336+.rectangle-336 {
    margin-top: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.rectangle-353,
.rectangle-353 * {
    box-sizing: border-box;
}

.rectangle-353 {
    background: #8597a9;
    height: clamp(23px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
    position: relative;
    display: inline-block;
    padding: 0 clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.live-span3 {
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.2px, calc(16.2px + (32.4 - 16.2) * ((100vw - 375px) / (750 - 375))), 32.4px);
    line-height: 1.2;
    letter-spacing: 0.03em;
    font-weight: 500;
}

.live-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.7px, calc(21.7px + (43.4 - 21.7) * ((100vw - 375px) / (750 - 375))), 43.4px);
    line-height: clamp(31.35px, calc(31.35px + (62.7 - 31.35) * ((100vw - 375px) / (750 - 375))), 62.7px);
    letter-spacing: 0.03em;
    font-weight: 600;
    display: block;
    margin-top: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
    margin-bottom: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.live-span5 {
    font-size: clamp(16px, calc(16px + (32 - 16) * ((100vw - 375px) / (750 - 375))), 32px);
}

.halii-academy-live-span5 {
    color: #333333;
    font-family: 'YuGothic-Medium', sans-serif;
    font-size: clamp(15.785px, calc(15.785px + (31.57 - 15.785) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.halii-academy-live-span6 {
    color: #333333;
    font-family: 'YuGothic-Bold', sans-serif;
    font-size: clamp(15.785px, calc(15.785px + (31.57 - 15.785) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: 0.03em;
    font-weight: 700;
}

.halii-academy-live-span7 {
    color: #333333;
    font-family: 'YuGothic-Medium', sans-serif;
    font-size: clamp(15.785px, calc(15.785px + (31.57 - 15.785) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.halii-academy-live-span8 {
    color: #333333;
    font-family: 'YuGothic-Bold', sans-serif;
    font-size: clamp(15.75px, calc(15.75px + (31.5 - 15.75) * ((100vw - 375px) / (750 - 375))), 31.5px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 700;
}

.r-ww {
    max-width: clamp(250.5px, calc(250.5px + (501 - 250.5) * ((100vw - 375px) / (750 - 375))), 501px);
    margin: auto;
    padding-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}


.g1 {
    line-height: 1;
    margin-bottom: 0;
}

.g2 {
    margin-top: 0;
}

.r-wwdiv-span6 {
    color: #333333;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(15.78px, calc(15.78px + (31.57 - 15.78) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 500;
}

.r-wwdiv-span7 {
    color: #333333;
    font-family: 'NotoSans-DisplayBold', sans-serif;
    font-size: clamp(15.78px, calc(15.78px + (31.57 - 15.78) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 700;
}

.r-wwdiv-span8 {
    color: #333333;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(15.78px, calc(15.78px + (31.57 - 15.78) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 500;
}

.r-wwdiv-span9 {
    color: #333333;
    font-family: 'NotoSans-DisplayBold', sans-serif;
    font-size: clamp(15.78px, calc(15.78px + (31.57 - 15.78) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 700;
}

.r-wwdiv-span10 {
    color: #333333;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(15.78px, calc(15.78px + (31.57 - 15.78) * ((100vw - 375px) / (750 - 375))), 31.57px);
    line-height: clamp(23.16px, calc(23.16px + (46.32 - 23.16) * ((100vw - 375px) / (750 - 375))), 46.32px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 500;
}

.line-319 {
    margin-top: clamp(-0.5px, calc(-0.5px + (-0.5px) * ((100vw - 375px) / 375)), -1px);
    border-style: solid;
    border-color: #000000;
    border-width: clamp(0.5px, calc(0.5px + (0.5px) * ((100vw - 375px) / 375)), 1px) 0 0 0;
    width: clamp(19.455px, calc(19.455px + (19.455px) * ((100vw - 375px) / 375)), 38.91px);
    height: 0px;
    position: relative;
    transform-origin: 0 0;
    transform: rotate(-64.093deg) scale(1, 1);
    bottom: clamp(-10px, calc(-10px + (-10px) * ((100vw - 375px) / 375)), -20px);
    right: clamp(-5px, calc(-5px + (-5px) * ((100vw - 375px) / 375)), -10px);
}

.line-318 {
    margin-top: clamp(-0.5px, calc(-0.5px + (-0.5px) * ((100vw - 375px) / 375)), -1px);
    border-style: solid;
    border-color: #000000;
    border-width: clamp(0.5px, calc(0.5px + (0.5px) * ((100vw - 375px) / 375)), 1px) 0 0 0;
    width: clamp(19.455px, calc(19.455px + (19.455px) * ((100vw - 375px) / 375)), 38.91px);
    height: 0px;
    position: relative;
    transform-origin: 0 0;
    transform: rotate(64.093deg) scale(1, 1);
    bottom: clamp(7.5px, calc(7.5px + (7.5px) * ((100vw - 375px) / 375)), 15px);
    left: clamp(2.5px, calc(2.5px + (2.5px) * ((100vw - 375px) / 375)), 5px);
}



.r-ot-txt {
    color: #333333;
    text-align: left;
    font-family: 'YuGothic-Medium', sans-serif;
    font-size: clamp(19.82958603px, calc(19.82958603px + (39.65917205810547 - 19.82958603) * ((100vw - 375px) / (750 - 375))), 39.65917205810547px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.r-ot {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
    gap: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

._160-120-live {
    color: #333333;
    text-align: center;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(13.5px, calc(13.5px + (27 - 13.5) * ((100vw - 375px) / (750 - 375))), 27px);
    line-height: clamp(23.35px, calc(23.35px + (46.7 - 23.35) * ((100vw - 375px) / (750 - 375))), 46.7px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.r-sp-item {
    text-align: center;
}

.r-sp {
    max-width: clamp(301.5px, calc(301.5px + (603 - 301.5) * ((100vw - 375px) / (750 - 375))), 603px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px) clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}


.r-btm {
    color: #333333;
    text-align: center;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(18.83px, calc(18.83px + (37.66 - 18.83) * ((100vw - 375px) / (750 - 375))), 37.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
    margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
}


.r-i2-t {
    color: #333333;
    text-align: center;
    position: relative;
}

.r-i2-tdiv-span3 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.45px, calc(21.45px + (42.9 - 21.45) * ((100vw - 375px) / (750 - 375))), 42.9px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    font-weight: 500;
}

.r-i2-tdiv-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(30.57px, calc(30.57px + (61.14 - 30.57) * ((100vw - 375px) / (750 - 375))), 61.14px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    font-weight: 500;
}

.halii-academy-3,
.halii-academy-3 * {
    box-sizing: border-box;
}

.halii-academy-3 {
    color: #333333;
    text-align: left;
    font-family: '-', sans-serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 400;
    position: relative;
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.halii-academy-3-span5 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 400;
}

.halii-academy-3-span6 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 700;
}

.halii-academy-3-span7 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 400;
}

.halii-academy-3-span8 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 700;
}

.r-i3-t {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.57px, calc(32.57px + (65.14 - 32.57) * ((100vw - 375px) / (750 - 375))), 65.14px);
    line-height: clamp(41.85px, calc(41.85px + (83.7 - 41.85) * ((100vw - 375px) / (750 - 375))), 83.7px);
    letter-spacing: clamp(0.015em, calc(0.015em + (0.03 - 0.015) * ((100vw - 375px) / (750 - 375))), 0.03em);
    font-weight: 500;
    position: relative;
}

.ct-w.ct-wrr {
    background-image: url(img/reason/Group_1598665.webp);
    max-width: clamp(296px, calc(296px + (592 - 296) * ((100vw - 375px) / (750 - 375))), 592px);
    height: clamp(384px, calc(384px + (768 - 384) * ((100vw - 375px) / (750 - 375))), 768px);

    .grid.ct-w-grid {
        grid-template-columns: clamp(25.5px, calc(25.5px + (51 - 25.5) * ((100vw - 375px) / (750 - 375))), 51px) 1fr;

        img {
            max-width: 100%;
            position: relative;
            top: clamp(-2.5px, calc(-2.5px + (-5 - -2.5) * ((100vw - 375px) / (750 - 375))), -5px);
        }
    }

    ._90-over-600-10-span6,
    ._90-over-600-10-span7 {
        font-size: clamp(16px, calc(16px + (32 - 16) * ((100vw - 375px) / (750 - 375))), 32px);
        line-height: 1.1;
    }

    .ct-w-b {
        padding-top: clamp(211.5px, calc(211.5px + (423 - 211.5) * ((100vw - 375px) / (750 - 375))), 423px);
        max-width: clamp(235px, calc(235px + (470 - 235) * ((100vw - 375px) / (750 - 375))), 470px);
    }
}

.r-i2-t.r-i4-t {
    .r-i2-tdiv-span3 {
        font-size: clamp(19.5px, calc(19.5px + (39 - 19.5) * ((100vw - 375px) / (750 - 375))), 39px);
    }
}

.r-ot-img {
    width: clamp(9px, calc(9px + (18 - 9) * ((100vw - 375px) / (750 - 375))), 18px);
    height: clamp(18px, calc(18px + (36 - 18) * ((100vw - 375px) / (750 - 375))), 36px);
}

/* // 理由 */

/* おすすめ */
.rec {
    background: url('img/recommend/Slice_28.webp') no-repeat center center, #1A3B5D;
    background-blend-mode: color-burn;
    padding: clamp(50px, calc(50px + (100 - 50) * ((100vw - 375px) / (750 - 375))), 100px) clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.rec-1 {
    position: relative;
    height: clamp(35px, calc(35px + (70 - 35) * ((100vw - 375px) / (750 - 375))), 70px);
    width: auto
}

.rec-1-b {
    position: absolute;
    width: 100%;
    top: 0;
}

.rec-1-txt {
    position: relative;
    z-index: 1;
    text-align: center;
    color: #1d3f62;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.62px, calc(16.62px + (33.24 - 16.62) * ((100vw - 375px) / (750 - 375))), 33.24px);
    line-height: 153%;
    font-weight: 500;
    position: relative;
}

.rec-2 {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.57px, calc(32.57px + (65.14 - 32.57) * ((100vw - 375px) / (750 - 375))), 65.14px);
    line-height: 134.5%;
    font-weight: 600;
    position: relative;
}

.rec-3-txt {
    text-align: left;
    font-family: '-', sans-serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: 150.5%;
    font-weight: 400;
    position: relative;
}

.rec-3-txtdiv-span4 {
    color: #ffffff;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: 150.5%;
    font-weight: 400;
}

.rec-3-txtdiv-span5 {
    color: #e7d7a6;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: 150.5%;
    font-weight: 700;
}

.rec-3-txtdiv-span6 {
    color: #ffffff;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    line-height: 150.5%;
    font-weight: 400;
}

.rec-3-item {
    max-width: clamp(309px, calc(309px + (618 - 309) * ((100vw - 375px) / (750 - 375))), 618px);
    margin: auto;

    &+.rec-3-item {
        margin-top: clamp(12.5px, calc(12.5px + (25 - 12.5) * ((100vw - 375px) / (750 - 375))), 25px);
    }
}

.rec-3-item-grid {
    display: grid;
    grid-template-columns: clamp(29px, calc(29px + (58 - 29) * ((100vw - 375px) / (750 - 375))), 58px) 1fr;
}

.line-326 {
    margin-top: clamp(-1px, calc(-1px + (-2 - -1) * ((100vw - 375px) / (750 - 375))), -2px);
    border-style: dashed;
    border-color: #ffffff;
    border-width: 2px 0 0 0;
    height: 0px;
    position: relative;
    transform-origin: 0 0;
    transform: rotate(0deg) scale(1, 1);
    max-width: clamp(296px, calc(296px + (592 - 296) * ((100vw - 375px) / (750 - 375))), 592px);
    margin: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) auto 0;
}

.rec-3 {
    padding-top: clamp(20px, calc(20px + (40 - 20) * ((100vw - 375px) / (750 - 375))), 40px);
}

.rec-3-item-img {
    width: clamp(28.5px, calc(28.5px + (57 - 28.5) * ((100vw - 375px) / (750 - 375))), 57px);
    height: clamp(28.5px, calc(28.5px + (57 - 28.5) * ((100vw - 375px) / (750 - 375))), 57px);
}

.rec-1-b svg {
    width: clamp(161.5px, calc(161.5px + (323 - 161.5) * ((100vw - 375px) / (750 - 375))), 323px);
    height: clamp(35px, calc(35px + (70 - 35) * ((100vw - 375px) / (750 - 375))), 70px);
}

/* // おすすめ */


/* about */

.ab {
    background: url('img/about/about-mask.webp') no-repeat center center, #ECEDF0;
    background-blend-mode: multiply;
    padding: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px) 0;
    background-position: top;
}

.ab-1 {
    background: linear-gradient(90deg, rgba(191, 181, 147, 1.00) 0%, rgba(227, 220, 211, 1.00) 50%, rgba(192, 181, 148, 1.00) 100%);
    height: clamp(47.5px, calc(47.5px + (95 - 47.5) * ((100vw - 375px) / (750 - 375))), 95px);
    position: relative;
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(34.93px, calc(34.93px + (69.86 - 34.93) * ((100vw - 375px) / (750 - 375))), 69.86px);
    line-height: 1.2;
    font-weight: 500;
    position: relative;
    -webkit-text-stroke: clamp(0.2px, calc(0.2px + (0.4 - 0.2) * ((100vw - 375px) / (750 - 375))), 0.4px) transparent;
    max-width: clamp(323.5px, calc(323.5px + (647 - 323.5) * ((100vw - 375px) / (750 - 375))), 647px);
    margin: auto;
}

.ab-2 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(21.34px, calc(21.34px + (42.68 - 21.34) * ((100vw - 375px) / (750 - 375))), 42.68px);
    line-height: 68.5%;
    font-weight: 500;
    position: relative;
    margin-top: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
}

.ter-5146a {
    box-shadow: var(---box-shadow, 0px 4px 13px 0px rgba(0, 0, 0, 0.17));
    object-fit: cover;
    height: clamp(209.5px, calc(209.5px + (419 - 209.5) * ((100vw - 375px) / (750 - 375))), 419px);
    width: clamp(313.5px, calc(313.5px + (627 - 313.5) * ((100vw - 375px) / (750 - 375))), 627px);
    margin-top: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (750 - 375))), 50px);
}

.ab-3 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(16.66px, calc(16.66px + (33.31 - 16.66) * ((100vw - 375px) / (750 - 375))), 33.31px);
    line-height: 173%;
    font-weight: 600;
    position: relative;
    margin-top: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (750 - 375))), 50px);
    margin-bottom: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (750 - 375))), 50px);
}

.ab-box {
    margin: auto;

    &+.ab-box {
        margin-top: clamp(27.5px, calc(27.5px + (55 - 27.5) * ((100vw - 375px) / (750 - 375))), 55px);
    }
}

.ab-box-ttl {
    color: #ffffff;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.62px, calc(19.62px + (39.23 - 19.62) * ((100vw - 375px) / (750 - 375))), 39.23px);
    line-height: 250%;
    font-weight: 500;
    position: relative;
}

.ab-box1 {
    background-image: url(img/about/ab-bg1.webp);
    width: clamp(322px, calc(322px + (644 - 322) * ((100vw - 375px) / (750 - 375))), 644px);
    height: clamp(463.5px, calc(463.5px + (927 - 463.5) * ((100vw - 375px) / (750 - 375))), 927px);
    background-size: contain;
}

.ab-box2 {
    background-image: url(img/about/ab-bg2.webp);
    width: clamp(322px, calc(322px + (644 - 322) * ((100vw - 375px) / (750 - 375))), 644px);
    height: clamp(874px, calc(874px + (1748 - 874) * ((100vw - 375px) / (750 - 375))), 1748px);
    background-size: contain;
}

.ab-box3 {
    background-image: url(img/about/ab-bg3.webp);
    width: clamp(322px, calc(322px + (644 - 322) * ((100vw - 375px) / (750 - 375))), 644px);
    height: clamp(914.5px, calc(914.5px + (1829 - 914.5) * ((100vw - 375px) / (750 - 375))), 1829px);
    background-size: contain;
}

.ab-box4 {
    background-image: url(img/about/ab-bg4.webp);
    width: clamp(322px, calc(322px + (644 - 322) * ((100vw - 375px) / (750 - 375))), 644px);
    height: clamp(791.5px, calc(791.5px + (1583 - 791.5) * ((100vw - 375px) / (750 - 375))), 1583px);
    background-size: contain;
}

._7-700,
._7-700 * {
    box-sizing: border-box;
}

._7-700 {
    color: #1a3b5d;
    text-align: center;
    position: relative;
}

._7-700-span3 {
    color: #1a3b5d;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(51.79px, calc(51.79px + (103.58 - 51.79) * ((100vw - 375px) / (750 - 375))), 103.58px);
    line-height: 220%;
    font-weight: 600;
}

._7-700-span4 {
    color: #1a3b5d;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(31.78px, calc(31.78px + (63.57 - 31.78) * ((100vw - 375px) / (750 - 375))), 63.57px);
    line-height: 220%;
    font-weight: 600;
}

.ab-box1_1 {
    text-align: left;
    font-family: '-', sans-serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 120%;
    font-weight: 400;
    position: relative;
    max-width: clamp(256.5px, calc(256.5px + (513 - 256.5) * ((100vw - 375px) / (750 - 375))), 513px);
    margin: auto;
}

.ab-box1_1-span3 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.ab-box1_1-span4 {
    color: #db7320;
    font-family: 'NotoSansJp-Bold', sans-serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 700;
}

.ab-box1_2 {
    color: #333333;
    text-align: left;
    font-family: 'NotoSansJp-Medium', sans-serif;
    font-size: clamp(10.11px, calc(10.11px + (20.23 - 10.11) * ((100vw - 375px) / (750 - 375))), 20.23px);
    line-height: 150%;
    font-weight: 500;
    position: relative;
    max-width: clamp(256.5px, calc(256.5px + (513 - 256.5) * ((100vw - 375px) / (750 - 375))), 513px);
    margin: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) auto 0;
}

.rectangle-362 {
    background: #ffffff;
    border-style: solid;
    border-color: #1a3b5d;
    border-width: 1px;
    height: clamp(105.5px, calc(105.5px + (211 - 105.5) * ((100vw - 375px) / (750 - 375))), 211px);
    width: clamp(282px, calc(282px + (564 - 282) * ((100vw - 375px) / (750 - 375))), 564px);
    position: relative;
    box-shadow: 2px 4px 4px 0px rgba(0, 0, 0, 0.25);
    margin: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) auto 0;
}

.rectangle-363 {
    border-style: solid;
    border-color: #1a3b5d;
    border-width: 2.5px;
    height: clamp(97px, calc(97px + (194 - 97) * ((100vw - 375px) / (750 - 375))), 194px);
    max-width: clamp(274px, calc(274px + (548 - 274) * ((100vw - 375px) / (750 - 375))), 548px);
    margin: clamp(4px, calc(4px + (8 - 4) * ((100vw - 375px) / (750 - 375))), 8px) auto;
    position: relative;
    display: grid;
    place-content: center;
}

.ab-box1_2halli-academy-span3 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(13.61px, calc(13.61px + (27.23 - 13.61) * ((100vw - 375px) / (750 - 375))), 27.23px);
    line-height: 150%;
    font-weight: 400;
}

.ab-box1_2halli-academy-span4 {
    color: #333333;
    font-family: 'NotoSansJp-Bold', sans-serif;
    font-size: clamp(13.61px, calc(13.61px + (27.23 - 13.61) * ((100vw - 375px) / (750 - 375))), 27.23px);
    line-height: 150%;
    font-weight: 700;
}

.ab-box1_2_txt {
    max-width: clamp(247px, calc(247px + (494 - 247) * ((100vw - 375px) / (750 - 375))), 494px);
}

.group_1598635 {
    margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
    width: clamp(271.5px, calc(271.5px + (543 - 271.5) * ((100vw - 375px) / (750 - 375))), 543px);
    height: clamp(129px, calc(129px + (258 - 129) * ((100vw - 375px) / (750 - 375))), 258px);
}

img.ab-box-flex-item-img {
    width: clamp(145.5px, calc(145.5px + (291 - 145.5) * ((100vw - 375px) / (750 - 375))), 291px);
    height: clamp(104px, calc(104px + (208 - 104) * ((100vw - 375px) / (750 - 375))), 208px);
}

img.ab-box3-grid-item-img {
    width: clamp(132px, calc(132px + (264 - 132) * ((100vw - 375px) / (750 - 375))), 264px);
    height: clamp(176px, calc(176px + (352 - 176) * ((100vw - 375px) / (750 - 375))), 352px);
}

.ab-box2-sh {
    background: #1a3b5d;
    width: clamp(74.25px, calc(74.25px + (148.5 - 74.25) * ((100vw - 375px) / (750 - 375))), 148.5px);
    height: clamp(22px, calc(22px + (44 - 22) * ((100vw - 375px) / (750 - 375))), 44px);
    position: relative;
    margin: clamp(13px, calc(13px + (26 - 13) * ((100vw - 375px) / (750 - 375))), 26px) auto 0;
    color: #ffffff;
    text-align: center;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(14.14px, calc(14.14px + (28.27 - 14.14) * ((100vw - 375px) / (750 - 375))), 28.27px);
    line-height: 1.6;
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.live-160-120-live,
.live-160-120-live * {
    box-sizing: border-box;
}

.live-160-120-live {
    text-align: center;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(16.85px, calc(16.85px + (33.7 - 16.85) * ((100vw - 375px) / (750 - 375))), 33.7px);
    line-height: clamp(23.1px, calc(23.1px + (46.2 - 23.1) * ((100vw - 375px) / (750 - 375))), 46.2px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
    margin-top: clamp(12.5px, calc(12.5px + (25 - 12.5) * ((100vw - 375px) / (750 - 375))), 25px);
}

.live-160-120-live-span3 {
    color: #333333;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(16.85px, calc(16.85px + (33.7 - 16.85) * ((100vw - 375px) / (750 - 375))), 33.7px);
    line-height: clamp(23.1px, calc(23.1px + (46.2 - 23.1) * ((100vw - 375px) / (750 - 375))), 46.2px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.live-160-120-live-span4 {
    color: #db7320;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(16.85px, calc(16.85px + (33.7 - 16.85) * ((100vw - 375px) / (750 - 375))), 33.7px);
    line-height: clamp(23.1px, calc(23.1px + (46.2 - 23.1) * ((100vw - 375px) / (750 - 375))), 46.2px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.line-335,
.line-335 * {
    box-sizing: border-box;
}

.line-335 {
    margin-top: clamp(-0.52px, calc(-0.52px + (-1.04 - -0.52) * ((100vw - 375px) / (750 - 375))), -1.04px);
    border-style: solid;
    border-color: rgba(196, 198, 205, 0.80);
    border-width: clamp(0.52px, calc(0.52px + (1.04 - 0.52) * ((100vw - 375px) / (750 - 375))), 1.04px) 0 0 0;
    height: 0px;
    position: relative;
    max-width: clamp(294px, calc(294px + (588 - 294) * ((100vw - 375px) / (750 - 375))), 588px);
    margin: clamp(23.5px, calc(23.5px + (47 - 23.5) * ((100vw - 375px) / (750 - 375))), 47px) auto 0;
}

.ab-box-flex-item-txt {
    color: #333333;
    text-align: center;
    font-family: 'NotoSans-Medium', sans-serif;
    font-size: clamp(14.33px, calc(14.33px + (28.66 - 14.33) * ((100vw - 375px) / (750 - 375))), 28.66px);
    line-height: clamp(23.35px, calc(23.35px + (46.7 - 23.35) * ((100vw - 375px) / (750 - 375))), 46.7px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
    padding-top: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.ab-box-flex {
    display: flex;
    max-width: clamp(299px, calc(299px + (598 - 299) * ((100vw - 375px) / (750 - 375))), 598px);
    margin: clamp(27.5px, calc(27.5px + (55 - 27.5) * ((100vw - 375px) / (750 - 375))), 55px) auto 0;
    gap: clamp(7.5px, calc(7.5px + (15 - 7.5) * ((100vw - 375px) / (750 - 375))), 15px);
}

.rectangle-368 {
    background: #eef0f3;
    width: clamp(130px, calc(130px + (260 - 130) * ((100vw - 375px) / (750 - 375))), 260px);
    height: clamp(18.5px, calc(18.5px + (37 - 18.5) * ((100vw - 375px) / (750 - 375))), 37px);
    position: relative;
    margin: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px) auto;
}

.ab-box3-grid-item {
    text-align: center;
}

.haliitokyo {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(11.56px, calc(11.56px + (23.12 - 11.56) * ((100vw - 375px) / (750 - 375))), 23.12px);
    line-height: 1.7;
    text-align: center;
    font-weight: 400;
    position: relative;

}

.ab-box3-grid-item-1 {
    color: #333333;
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(19.39px, calc(19.39px + (38.78 - 19.39) * ((100vw - 375px) / (750 - 375))), 38.78px);
    line-height: 123.8%;
    font-weight: 400;
    position: relative;
}

.ab-box3-grid-item-2 {
    color: #333333;
    text-align: center;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(11.8px, calc(11.8px + (23.61 - 11.8) * ((100vw - 375px) / (750 - 375))), 23.61px);
    font-weight: 400;
    position: relative;
}

.ab-box3-grid {
    display: grid;
    grid-template-columns: clamp(135px, calc(135px + (270 - 135) * ((100vw - 375px) / (750 - 375))), 270px) clamp(135px, calc(135px + (270 - 135) * ((100vw - 375px) / (750 - 375))), 270px);
    gap: clamp(25px, calc(25px + (50 - 25) * ((100vw - 375px) / (750 - 375))), 50px) clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
    justify-content: center;
    margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
}

/* // about */

/* flow */
.flow {
    background: #ecedf0;
    padding: clamp(60px, calc(60px + (120 - 60) * ((100vw - 375px) / (750 - 375))), 120px) 0;
}

.flow-1 {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(19.83px, calc(19.83px + (39.66 - 19.83) * ((100vw - 375px) / (750 - 375))), 39.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.flow-2 {
    display: flex;
    justify-content: center;
    margin: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) 0 clamp(35px, calc(35px + (70 - 35) * ((100vw - 375px) / (750 - 375))), 70px);
}

.flow-2-flex {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 5px
}

.flow-2div-span4 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(41.62px, calc(41.62px + (83.25 - 41.62) * ((100vw - 375px) / (750 - 375))), 83.25px);
    line-height: clamp(35.25px, calc(35.25px + (70.49 - 35.25) * ((100vw - 375px) / (750 - 375))), 70.49px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.flow-2div-span5 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(34.45px, calc(34.45px + (68.89 - 34.45) * ((100vw - 375px) / (750 - 375))), 68.89px);
    line-height: clamp(35.25px, calc(35.25px + (70.49 - 35.25) * ((100vw - 375px) / (750 - 375))), 70.49px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.flow-2div-span6 {
    color: #333333;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(41.62px, calc(41.62px + (83.25 - 41.62) * ((100vw - 375px) / (750 - 375))), 83.25px);
    line-height: clamp(35.25px, calc(35.25px + (70.49 - 35.25) * ((100vw - 375px) / (750 - 375))), 70.49px);
    letter-spacing: 0.03em;
    font-weight: 500;
}

.rectangle-214 {
    background: #1d3f62;
    width: clamp(64.5px, calc(64.5px + (129 - 64.5) * ((100vw - 375px) / (750 - 375))), 129px);
    height: clamp(26px, calc(26px + (52 - 26) * ((100vw - 375px) / (750 - 375))), 52px);
    position: relative;
    box-shadow: 2px 4px 4px 0px rgba(0, 0, 0, 0.25);
    display: grid;
    place-content: center;
    top: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
    z-index: 1;
}

.step {
    color: #ffffff;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(14.5px, calc(14.5px + (29 - 14.5) * ((100vw - 375px) / (750 - 375))), 29px);
    line-height: clamp(30.44px, calc(30.44px + (60.88 - 30.44) * ((100vw - 375px) / (750 - 375))), 60.88px);
    letter-spacing: 0.04em;
    font-weight: 400;
    position: relative;
}

.flow-d-ttl {
    color: #333333;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(24.33px, calc(24.33px + (48.65 - 24.33) * ((100vw - 375px) / (750 - 375))), 48.65px);
    line-height: 143%;
    letter-spacing: 0.02em;
    font-weight: 500;
    position: relative;
    margin-bottom: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
}

.flow-d-txt {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.33px, calc(15.33px + (30.66 - 15.33) * ((100vw - 375px) / (750 - 375))), 30.66px);
    line-height: clamp(27.36px, calc(27.36px + (54.72 - 27.36) * ((100vw - 375px) / (750 - 375))), 54.72px);
    letter-spacing: 0;
    font-weight: 400;
    position: relative;
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.flow-d {
    display: grid;
    grid-template-columns: auto 1fr;
    margin: auto;
    max-width: clamp(330px, calc(330px + (660 - 330) * ((100vw - 375px) / (750 - 375))), 660px);
    gap: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);


    &+.flow-d {
        margin-top: clamp(40px, calc(40px + (80 - 40) * ((100vw - 375px) / (750 - 375))), 80px);
    }
}

.rectangle-422 {
    border-style: solid;
    border-color: #ff0105;
    border-width: 8px;
    height: clamp(45.5px, calc(45.5px + (91 - 45.5) * ((100vw - 375px) / (750 - 375))), 91px);
    position: relative;
}

.flow-d-r-a {
    position: absolute;
    width: 100%;
    bottom: clamp(60px, calc(60px + (120 - 60) * ((100vw - 375px) / (750 - 375))), 120px);
    right: clamp(5px, calc(5px + (10 - 5) * ((100vw - 375px) / (750 - 375))), 10px);
}

.flow-d-cta-img {
    box-shadow: 2.78px 2.78px 2.78px 0px rgba(0, 0, 0, 0.25);
    width: clamp(244.5px, calc(244.5px + (489 - 244.5) * ((100vw - 375px) / (750 - 375))), 489px);
    height: clamp(57.5px, calc(57.5px + (115 - 57.5) * ((100vw - 375px) / (750 - 375))), 115px);
}

.flow-wrap {
    position: relative;

    &::before {
        position: absolute;
        content: "";
        width: 1px;
        height: clamp(960px, calc(960px + (1920 - 960) * ((100vw - 375px) / (750 - 375))), 1920px);
        background-color: #333333;
        left: clamp(51.5px, calc(51.5px + (103 - 51.5) * ((100vw - 375px) / (750 - 375))), 103px);
        top: clamp(31px, calc(31px + (62 - 31) * ((100vw - 375px) / (750 - 375))), 62px);
    }
}

img.flow-d-img {
    width: clamp(240.5px, calc(240.5px + (481 - 240.5) * ((100vw - 375px) / (750 - 375))), 481px);
    height: clamp(151px, calc(151px + (302 - 151) * ((100vw - 375px) / (750 - 375))), 302px);
}

img.flow-d-img.flow-d-img-l {
    height: clamp(208.75px, calc(208.75px + (417.5 - 208.75) * ((100vw - 375px) / (750 - 375))), 417.5px);
}

/* // flow */

/* message */
.mess {
    padding: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px) 0;
    background: url(img/contents/AdobeStock_503094571.webp) no-repeat center center, #1D3E5F;
    background-blend-mode: color-burn;
    background-size: cover;
}

.line-343,
.line-343 * {
    box-sizing: border-box;
}

.line-343 {
    margin-top: -1px;
    border-style: solid;
    border-color: #e8daca;
    border-width: 1px 0 0 0;
    height: 0px;
    position: relative;
    max-width: clamp(286px, calc(286px + (572 - 286) * ((100vw - 375px) / (750 - 375))), 572px);
    margin: auto;
}

.mess-ttl {
    color: #e8daca;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(32.57px, calc(32.57px + (65.14 - 32.57) * ((100vw - 375px) / (750 - 375))), 65.14px);
    line-height: 134.5%;
    font-weight: 500;
    position: relative;
    padding: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px) 0 clamp(12.5px, calc(12.5px + (25 - 12.5) * ((100vw - 375px) / (750 - 375))), 25px);
}

.rectangle-406 {
    background: #ffffff;
    width: clamp(338.5px, calc(338.5px + (677 - 338.5) * ((100vw - 375px) / (750 - 375))), 677px);
    margin: auto;
    padding: clamp(22.5px, calc(22.5px + (45 - 22.5) * ((100vw - 375px) / (750 - 375))), 45px) clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
}

.message-txt,
.message-txt * {
    box-sizing: border-box;
}

.message-txt {
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
    position: relative;
}

.message-txt-span10 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span11 {
    color: #db7320;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span12 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span13 {
    color: #db7320;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span14 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span15 {
    color: #db7320;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span16 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span17 {
    color: #db7320;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.message-txt-span18 {
    color: #333333;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(15.11px, calc(15.11px + (30.23 - 15.11) * ((100vw - 375px) / (750 - 375))), 30.23px);
    line-height: 150%;
    font-weight: 400;
}

.mess-w {
    position: absolute;
    top: clamp(110px, calc(110px + (220 - 110) * ((100vw - 375px) / (750 - 375))), 220px);
    left: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px);
}

.message-img {
    vertical-align: bottom;
}

.messwt {
    color: #333333;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(14.84px, calc(14.84px + (29.67 - 14.84) * ((100vw - 375px) / (750 - 375))), 29.67px);
    line-height: clamp(20.47px, calc(20.47px + (40.93 - 20.47) * ((100vw - 375px) / (750 - 375))), 40.93px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.mess-line-342,
.mess-line-342 * {
    box-sizing: border-box;
}

.mess-line-342 {
    margin-top: clamp(-0.56px, calc(-0.56px + (-1.12 - -0.56) * ((100vw - 375px) / (750 - 375))), -1.12px);
    border-style: solid;
    border-color: #000000;
    border-width: clamp(0.56px, calc(0.56px + (1.12 - 0.56) * ((100vw - 375px) / (750 - 375))), 1.12px) 0 0 0;
    width: clamp(135.75px, calc(135.75px + (271.49 - 135.75) * ((100vw - 375px) / (750 - 375))), 271.49px);
    height: 0px;
    position: relative;
}

.messwname,
.messwname * {
    box-sizing: border-box;
}

.messwname {
    color: #333333;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(25.23px, calc(25.23px + (50.46 - 25.23) * ((100vw - 375px) / (750 - 375))), 50.46px);
    line-height: clamp(39.81px, calc(39.81px + (79.61 - 39.81) * ((100vw - 375px) / (750 - 375))), 79.61px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

.messwpr,
.messwpr * {
    box-sizing: border-box;
}

.messwpr {
    color: #333333;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(14.84px, calc(14.84px + (29.67 - 14.84) * ((100vw - 375px) / (750 - 375))), 29.67px);
    line-height: clamp(20.47px, calc(20.47px + (40.93 - 20.47) * ((100vw - 375px) / (750 - 375))), 40.93px);
    letter-spacing: 0.03em;
    font-weight: 500;
    position: relative;
}

img.message-img {
    width: clamp(338.5px, calc(338.5px + (677 - 338.5) * ((100vw - 375px) / (750 - 375))), 677px);
    height: clamp(235.5px, calc(235.5px + (471 - 235.5) * ((100vw - 375px) / (750 - 375))), 471px);
}

/* // message */

/* qa */
.qa {
    background: #ecedf0;
    position: relative;
    overflow: hidden;
    padding: clamp(60px, calc(60px + (120 - 60) * ((100vw - 375px) / (750 - 375))), 120px) 0 60px;
}

.qattl {
    color: #333333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(33.44px, calc(33.44px + (66.89 - 33.44) * ((100vw - 375px) / (750 - 375))), 66.89px);
    line-height: clamp(30px, calc(30px + (60 - 30) * ((100vw - 375px) / (750 - 375))), 60px);
    letter-spacing: 0.04em;
    font-weight: 500;
    position: relative;
    margin-bottom: clamp(45px, calc(45px + (90 - 45) * ((100vw - 375px) / (750 - 375))), 90px);
}

.qacard {
    background: #ffffff;
    position: relative;
    width: clamp(348px, calc(348px + (696 - 348) * ((100vw - 375px) / (750 - 375))), 696px);
    margin: auto;
    padding: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px) clamp(17.5px, calc(17.5px + (35 - 17.5) * ((100vw - 375px) / (750 - 375))), 35px);
}

.q {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    letter-spacing: 0.06em;
    font-weight: 400;
    position: relative;
}

.qttl {
    color: #333333;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(16.83px, calc(16.83px + (33.66 - 16.83) * ((100vw - 375px) / (750 - 375))), 33.66px);
    font-weight: 400;
    position: relative;
}

.plusbtn,
.plusbtn * {
    box-sizing: border-box;
}

.plusbtn {
    width: clamp(21.55px, calc(21.55px + (43.09 - 21.55) * ((100vw - 375px) / (750 - 375))), 43.09px);
    height: clamp(21.55px, calc(21.55px + (43.09 - 21.55) * ((100vw - 375px) / (750 - 375))), 43.09px);
    position: relative;
}

.ellipse-40 {
    background: #1d3f62;
    border-radius: 50%;
    width: clamp(21.55px, calc(21.55px + (43.09 - 21.55) * ((100vw - 375px) / (750 - 375))), 43.09px);
    height: clamp(21.55px, calc(21.55px + (43.09 - 21.55) * ((100vw - 375px) / (750 - 375))), 43.09px);
    position: absolute;
    left: 0px;
    top: 0px;
}

.plusicon {
    color: #ffffff;
    text-align: left;
    font-family: "Noto Sans JP", serif;
    font-size: clamp(11.2px, calc(11.2px + (22.41 - 11.2) * ((100vw - 375px) / (750 - 375))), 22.41px);
    font-weight: 400;
    position: absolute;
    left: clamp(5.17px, calc(5.17px + (10.34 - 5.17) * ((100vw - 375px) / (750 - 375))), 10.34px);
    top: clamp(2.59px, calc(2.59px + (5.17 - 2.59) * ((100vw - 375px) / (750 - 375))), 5.17px);
}

.qg {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

.qg-a {
    overflow: hidden;
    /* これを追加 */
    max-height: 0;
    /* これを追加 */
    transition: max-height 0.3s ease-in-out;
    /* これを追加 */
    opacity: 0;
    transition: opacity 0.3s ease-in-out, max-height 0.3s ease-in-out;
}

.qg-a.open {
    max-height: 500px;
    /* 一旦高めに設定しておき後でJSで変える */
    opacity: 1;
}

.plusicon {
    transition: transform 0.3s ease-in-out;
    /* プラスアイコンにもアニメーション */
}

.plusicon.open {
    transform: rotate(135deg);
    /* ×に回転 */
}

.qaicon {
    position: relative;
    top: 5px;
}


.line-103 {
    border-style: dashed;
    border-color: #a99072;
    border-bottom: 1px;
    height: 1px;
    width: 100%;
    position: relative;
}

.qacard {
    &+.qacard {
        margin-top: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
    }
}

.qg.qgg {
    border-top: 1px solid #eee;
    padding-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
    margin-top: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

/* // qa */

footer {
    max-width: 100%;
    height: clamp(70px, calc(70px + (140 - 70) * ((100vw - 375px) / (750 - 375))), 140px);
    display: grid;
    place-content: center;
    background: #fff;
}

.footer-icon {
    width: clamp(94px, calc(94px + (188 - 94) * ((100vw - 375px) / (750 - 375))), 188px);
    height: clamp(41.5px, calc(41.5px + (83 - 41.5) * ((100vw - 375px) / (750 - 375))), 83px);
}

img.group_1598658 {
    width: clamp(332px, calc(332px + (664 - 332) * ((100vw - 375px) / (750 - 375))), 664px);
    height: clamp(44px, calc(44px + (88 - 44) * ((100vw - 375px) / (750 - 375))), 88px);
}

.prob_box_in img.check {
    width: clamp(34px, calc(34px + (68 - 34) * ((100vw - 375px) / (750 - 375))), 68px);
    height: clamp(34px, calc(34px + (68 - 34) * ((100vw - 375px) / (750 - 375))), 68px);
}

.prob2-2-item img {
    width: clamp(26px, calc(26px + (52 - 26) * ((100vw - 375px) / (750 - 375))), 52px);
    height: clamp(26px, calc(26px + (52 - 26) * ((100vw - 375px) / (750 - 375))), 52px);
}

.review-img {
    width: clamp(308px, calc(308px + (616 - 308) * ((100vw - 375px) / (750 - 375))), 616px);
    height: clamp(230px, calc(230px + (460 - 230) * ((100vw - 375px) / (750 - 375))), 460px);
    object-fit: contain;
}

.rev-line {
    width: clamp(278.5px, calc(278.5px + (557 - 278.5) * ((100vw - 375px) / (750 - 375))), 557px);
    height: clamp(6px, calc(6px + (12 - 6) * ((100vw - 375px) / (750 - 375))), 12px);
}

.ph-check-duotone svg {
    width: clamp(13.5px, calc(13.5px + (27 - 13.5) * ((100vw - 375px) / (750 - 375))), 27px);
    height: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (750 - 375))), 20px);
}

img.ter-5125 {
    width: clamp(250.5px, calc(250.5px + (501 - 250.5) * ((100vw - 375px) / (750 - 375))), 501px);
    height: clamp(167px, calc(167px + (334 - 167) * ((100vw - 375px) / (750 - 375))), 334px);
}

img.r4 {
    width: clamp(250.5px, calc(250.5px + (501 - 250.5) * ((100vw - 375px) / (750 - 375))), 501px);
    height: clamp(167px, calc(167px + (334 - 167) * ((100vw - 375px) / (750 - 375))), 334px);
}

img.rsp-img {
    width: clamp(146px, calc(146px + (292 - 146) * ((100vw - 375px) / (750 - 375))), 292px);
    height: clamp(104px, calc(104px + (208 - 104) * ((100vw - 375px) / (750 - 375))), 208px);
}

.fl-btn {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
    width: clamp(352px, calc(352px + (704 - 352) * ((100vw - 375px) / (750 - 375))), 704px);
    height: clamp(82.5px, calc(82.5px + (165 - 82.5) * ((100vw - 375px) / (750 - 375))), 165px);
}

.fixed {
    position: fixed;
    z-index: 10;
    width: 100%;
    bottom: clamp(0.938rem, 4vw, 1.875rem);
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.visible {
    opacity: 1;
}

.bottomFixed {
    opacity: 0;
}

.r-item-c {
    margin-top: clamp(-10px, calc(-10px + (-20 - -10) * ((100vw - 375px) / (750 - 375))), -20px);
}

.add,
.add * {
    box-sizing: border-box;
}

.add {
    color: #ffffff;
    text-align: center;
    font-family: 'NotoSansJp-Medium', sans-serif;
    font-size: clamp(22.9px, calc(22.9px + (45.8 - 22.9) * ((100vw - 375px) / (750 - 375))), 45.8px);
    font-weight: 500;
    position: relative;
    margin-bottom: clamp(15px, calc(15px + (30 - 15) * ((100vw - 375px) / (750 - 375))), 30px);
    margin-top: clamp(32.5px, calc(32.5px + (65 - 32.5) * ((100vw - 375px) / (750 - 375))), 65px);
}

.size_initial{
    width: 90%;
    height: auto;
}