@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
*,
*:before,
*:after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    height: auto;
}

input,
select,
textarea {
    background-color: transparent;
    outline: none;
}

button {
    cursor: pointer;
    background-color: transparent;
    outline: none;
    border: 0;
}

html {
    font-size: 62.5%;
}

@media screen and (max-width: 750px) {
    html {
        font-size: calc(100vw / 75);
    }
}

body {
    font-family: "Hiragino Kaku Gothic Pro", "YuGothic", "游ゴシック", "Yu Gothic", Arial, sans-serif !important;
    background-color: #f9f9f9;
    min-height: 100vh;
    word-wrap: break-word;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #333333;
    font-feature-settings: "pwid" 1;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
    -webkit-text-size-adjust: 100%;
}

#wrapper {
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
}


/* .font-myriad {
  font-family: "myriad-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
} */

.poR {
    position: relative;
}

.poA {
    position: absolute;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.bg-white {
    background-color: #fff;
}

.yellow_line {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 78%, #fff782 0%) repeat scroll 0 0;
    /* background-position-y: -0.3rem; */
}

.bg_blue_light {
    background-color: #2eb6e3;
}

.bg_pink {
    background-color: #e14c68;
}

.bg_white {
    background-color: #fff;
}

.txt_blue_light {
    color: #2eb6e3;
}

.txt_pink {
    color: #e14c68;
}

.txt_yellow {
    color: #fffc00;
}

.txt_white {
    color: #fff;
}

.txt_red {
    color: #e80000;
}

.txt_orange {
    color: #f9600a;
}

.txt_bold {
    font-weight: bold;
}

.txt_center {
    text-align: center;
}

.pd20 {
    padding: 20px;
}

video.vcl02 {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    display: block;
}

.cta-link {
    position: absolute;
    top: 75.5%;
    left: 9.3%;
    z-index: 1;
    width: 82%;
}

.animate {
    animation-duration: 2s;
    animation-timing-function: ease-in;
    animation-iteration-count: infinite;
    margin-left: auto;
    margin-right: auto;
    animation-name: animate1;
    z-index: 1;
}

.pulse {
    animation-name: pulse;
}

@keyframes pulse {
    from,
    to {
        transform: scale3d(0.95, 0.95, 0.95);
    }
    50% {
        transform: scale3d(1, 1, 1);
    }
}

.fv-cta {
    top: 76%;
    text-align: center;
}

.fv-cta>a {
    padding-left: 2rem;
    display: inline-block;
    margin: 0 auto;
    width: 94%;
}

.fv-cta .note {
    font-size: 1.7rem;
    text-align: left;
    line-height: 1.3;
    padding: 0 4rem;
    margin-top: 3rem;
}

.sec02 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 6rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 6.8%;
    letter-spacing: -0.06em;
}

.sec02 .title .small {
    font-size: 4.8rem;
}

.sec02 .note {
    padding: 0 7rem 0 10rem;
    font-size: 1.8rem;
    line-height: 1.4;
    text-indent: -3rem;
    top: 84%;
    list-style: none;
    text-align: justify;
}

.sec04 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 7.8%;
}

.sec04 .titSub {
    font-family: "Noto Serif JP", serif;
    top: 16.5%;
    text-align: center;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1.6;
}

.sec04 .titSub>span {
    font-family: "Noto Serif JP", serif;
    line-height: 1.2;
    display: inline-block;
}

.sec04 .price {
    top: 39%;
    right: 0;
    padding: 0 8rem;
    text-align: center;
}

.sec04 .price .head {
    font-family: "Noto Serif JP", serif;
    font-size: 3.4rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
}

.sec04 .price .head>span {
    font-size: 4rem;
    display: inline-block;
    line-height: 1;
}

.sec04 .price ul {
    margin-top: 2rem;
    list-style: none;
}

.sec04 .price ul li {
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
    margin-top: 1rem;
}

.sec04 .price ul li>span {
    font-size: 3.2rem;
    display: inline-block;
    line-height: 1;
}

.sec04 .price ul li .font-myriad {
    font-size: 3.8rem;
    line-height: 1;
    display: inline-block;
    transform: translateY(0.2rem);
}

.sec04 .price .txt_note {
    font-size: 2rem;
    padding-right: 13rem;
    text-align: right;
    line-height: 1.8;
}

.sec04 .text {
    top: 78.2%;
    padding: 0 9rem;
}

.sec04 .text li {
    display: flex;
    gap: 1rem;
}

.sec04 .text li>span {
    font-size: 2.6rem;
    font-weight: 500;
}

.sec04 .text li>span:nth-child(1) {
    width: 24%;
}

.sec04 .text li>span:nth-child(2) {
    width: 76%;
}

.sec04 .note {
    top: 89%;
    padding: 0 6rem;
    font-size: 2rem;
    line-height: 1.7;
}

.sec05 .price {
    top: 10.5%;
    right: 0;
    padding: 0 8rem;
    text-align: center;
}

.sec05 .price .head {
    font-family: "Noto Serif JP", serif;
    font-size: 3.4rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
}

.sec05 .price .head>span {
    font-size: 4rem;
    display: inline-block;
    line-height: 1;
}

.sec05 .price ul {
    margin-top: 2rem;
    list-style: none;
}

.sec05 .price ul li {
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
    margin-top: 1rem;
}

.sec05 .price ul li>span {
    font-size: 3.2rem;
    display: inline-block;
    line-height: 1;
}

.sec05 .price ul li .font-myriad {
    font-size: 3.8rem;
    line-height: 1;
    display: inline-block;
    transform: translateY(0.2rem);
}

.sec05 .price .txt_note {
    font-size: 2rem;
    padding-right: 13rem;
    text-align: right;
    line-height: 1.8;
}

.sec05 .text {
    top: 69.5%;
    padding: 0 9rem;
}

.sec05 .text li {
    display: flex;
    gap: 1rem;
}

.sec05 .text li>span {
    font-size: 2.6rem;
    font-weight: 500;
}

.sec05 .text li>span:nth-child(1) {
    width: 24%;
}

.sec05 .text li>span:nth-child(2) {
    width: 76%;
}

.sec05 .note {
    top: 85.5%;
    padding: 0 6rem;
    font-size: 2rem;
    line-height: 1.7;
}


/* case 3 */

.sec06 .price {
    top: 8.2%;
    right: 0;
    padding: 0 8rem;
    text-align: center;
}

.sec06 .price .head {
    font-family: "Noto Serif JP", serif;
    font-size: 3.4rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
}

.sec06 .price .head>span {
    font-size: 4rem;
    display: inline-block;
    line-height: 1;
}

.sec06 .price ul {
    margin-top: 2rem;
    list-style: none;
}

.sec06 .price ul li {
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    line-height: 1.7;
    color: #e14c68;
    font-weight: 500;
    margin-top: 1rem;
}

.sec06 .price ul li>span {
    font-size: 3.2rem;
    display: inline-block;
    line-height: 1;
}

.sec06 .price ul li .font-myriad {
    font-size: 3.8rem;
    line-height: 1;
    display: inline-block;
    transform: translateY(0.2rem);
}

.sec06 .price .txt_note {
    font-size: 2rem;
    padding-right: 13rem;
    text-align: right;
    line-height: 1.8;
}

.sec06 .text {
    top: 53.5%;
    padding: 0 9rem;
}

.sec06 .text li {
    display: flex;
    gap: 1rem;
}

.sec06 .text li>span {
    font-size: 2.6rem;
    font-weight: 500;
}

.sec06 .text li>span:nth-child(1) {
    width: 24%;
}

.sec06 .text li>span:nth-child(2) {
    width: 76%;
}

.sec06 .note {
    top: 65.5%;
    padding: 0 6rem;
    font-size: 2rem;
    line-height: 1.7;
}

.sec07 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 7rem;
    line-height: 1.3;
    font-weight: 500;
    text-align: center;
    color: #e14c68;
    top: 62%;
}

.sec06 .btn-modal {
    bottom: 9.5%;
    text-align: center;
    transition: opacity 0.3s ease;
}

.sec06 .btn-modal:hover {
    opacity: 0.7;
}

.sec06 .btn-modal>button {
    width: 69rem;
    margin: 0 auto;
}


/* sec08 */

.sec08 .title {
    top: 32.8%;
    padding: 0 5rem;
    display: inline-flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sec08 .title>span {
    font-family: "Noto Serif JP", serif;
    font-size: 5rem;
    line-height: 1.2;
    font-weight: 500;
    color: #e14c68;
    display: inline-flex;
}

.sec08 .title>span>span {
    padding: 0 1rem 0.3rem;
    background-color: #fff;
    display: inline-block;
}

.sec08 .text {
    font-family: "Noto Serif JP", serif;
    font-size: 3.6rem;
    line-height: calc(80 / 36);
    font-weight: 500;
    top: 61%;
    max-width: 72%;
}


/* sec09 */

.sec09 .title {
    top: 38%;
    padding: 0 5rem;
    display: inline-flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sec09 .title>span {
    font-family: "Noto Serif JP", serif;
    font-size: 5rem;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #e14c68;
    display: inline-flex;
}

.sec09 .title>span>span {
    padding: 0 1rem 0.3rem;
    background-color: #fff;
    display: inline-block;
}

.sec09 .text {
    font-family: "Noto Serif JP", serif;
    font-size: 3.6rem;
    line-height: calc(75 / 36);
    font-weight: 500;
    top: 68%;
    max-width: 72%;
}

.sec09 .text>span {
    letter-spacing: 0.19em;
}


/* sec11 */

.sec11 .title {
    top: 33.5%;
    font-family: "Noto Serif JP", serif;
    font-size: 5.8rem;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #e14c68;
    text-align: center;
    padding-left: 3rem;
}


/* sec13 */

.sec13 .title {
    top: 1.2%;
    font-family: "Noto Serif JP", serif;
    font-size: 5rem;
    line-height: 1.9;
    font-weight: 500;
    text-align: center;
}

.sec13 .title>span {
    font-size: 6.8rem;
    line-height: 1;
}


/* sec14 */

.sec14 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 25.8%;
}


/* sec15 */

.sec15 .text {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    line-height: 2;
    font-weight: 500;
    text-align: justify;
    padding: 0 10rem;
    top: 46.5%;
}

.sec15 .title {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    top: 20%;
}

.sec15 .title>span {
    position: relative;
    font-family: "Noto Serif JP", serif;
    font-size: 4.5rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0;
    color: #e14c68;
    display: inline-flex;
    letter-spacing: 0;
}

.sec15 .title>span::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #e14c68;
    z-index: 1;
}


/* sec16 */

.sec16 .text {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    line-height: 2;
    font-weight: 500;
    text-align: justify;
    padding: 0 10rem;
    top: 44%;
}

.sec16 .title {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    top: 19.5%;
}

.sec16 .title>span {
    position: relative;
    font-family: "Noto Serif JP", serif;
    font-size: 4.5rem;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: 0;
    color: #e14c68;
    display: inline-flex;
    letter-spacing: 0;
}

.sec16 .title>span::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #e14c68;
    z-index: 1;
}


/* sec17 */

.sec17 .boxVideo {
    top: 68%;
    width: 80%;
}


/* sec_cta */

.sec_cta .title {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 3.5%;
}

.sec_cta ul {
    top: 21.5%;
    list-style: none;
    display: flex;
    gap: 2.5rem;
    justify-content: center;
}

.sec_cta ul li {
    text-align: center;
    color: #e14c68;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: calc(48 / 28);
    width: calc(100% / 3);
}

.sec_cta .text {
    top: 63.7%;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    line-height: calc(70 / 34);
    font-weight: bold;
    letter-spacing: 0.05em;
}

.sec_cta .text .txt_pink {
    font-size: 4rem;
    display: inline-block;
    line-height: 1;
}

.sec_cta .text .num {
    font-size: 4.5rem;
    display: inline-block;
    line-height: 1;
}

.sec_cta .text02 {
    top: 78.8%;
    width: 73%;
    font-size: 2.8rem;
    font-family: "Noto Serif JP", serif;
    line-height: 2.1;
    font-weight: 500;
}

.sec_cta .text02>.larg {
    font-size: 4.4rem;
    display: inline-block;
    line-height: 1.2;
}

.sec_cta .note {
    font-size: 1.6rem;
    width: 73%;
    top: 84%;
}

.sec_cta-btn {
    bottom: 1.5%;
}

.sec_cta-btn>a {
    padding-left: 3rem;
    display: inline-block;
    margin: 0 auto;
    width: 97.6%;
}


/* sec18 */

.sec18 .title {
    top: 56.6%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.sec18 .title>span {
    font-size: 5rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(55 / 50);
    font-weight: 500;
    display: inline-flex;
    letter-spacing: 0.05em;
}

.sec18 .title>span>span {
    background-color: #fff;
    padding: 0 1rem 0.4rem;
}


/* sec19 */

.sec19 .title {
    top: 48%;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 84%;
}

.sec19 .title>span {
    font-size: 5rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(55 / 50);
    font-weight: 500;
    display: inline-flex;
}

.sec19 .title>span>span {
    background-color: #fff;
    padding: 0 1rem 0.4rem;
}


/* sec20 */

.sec20 .title {
    top: 45%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5rem;
    width: 84%;
}

.sec20 .title>span {
    font-size: 5rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(55 / 50);
    font-weight: 500;
    display: inline-flex;
}

.sec20 .title>span>span {
    background-color: #fff;
    padding: 0 1rem 0.4rem;
}


/* sec21 */

.sec21 .text {
    font-size: 3.2rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(65 / 32);
    text-align: center;
    top: 80%;
    font-weight: 500;
}


/* sec23 */

.sec23 .title {
    font-size: 5rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(90 / 50);
    text-align: center;
    top: 30%;
    letter-spacing: 0.08em;
    font-weight: 500;
}

.sec23 .title .larg {
    font-size: 8rem;
    display: inline-block;
    line-height: calc(90 / 80);
}


/* sec25 */

.sec25 .title {
    font-size: 4rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(85 / 40);
    text-align: center;
    top: 26%;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.sec25 .title .larg {
    font-size: 6rem;
    display: inline-block;
    line-height: calc(90 / 80);
}

.sec25 .title sup {
    font-size: 1.5rem;
    top: -0.5rem;
    display: inline-block;
    position: absolute;
    right: -1rem;
    color: #333;
}

.sec25 .boxVideo {
    top: 34%;
    width: 77%;
}


/* sec26 */

.sec26 .title {
    font-size: 4rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(80 / 40);
    text-align: center;
    top: 10.5%;
    font-weight: 500;
}

.sec26 .title .larg {
    font-size: 5.4rem;
    display: inline-block;
    line-height: calc(90 / 80);
}


/* sec27 */

.sec27 .title {
    font-size: 4rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(80 / 40);
    text-align: center;
    top: 12.8%;
    font-weight: 500;
}

.sec27 .title .larg {
    font-size: 6rem;
    display: inline-block;
    line-height: calc(90 / 80);
}

.sec27 .text {
    font-size: 3.6rem;
    font-family: "Noto Serif JP", serif;
    line-height: calc(70 / 36);
    font-weight: 500;
    text-align: center;
    top: 61.5%;
}


/* sec28 */

.sec28 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 4.4%;
}

.sec28 .text01 {
    font-family: "Noto Serif JP", serif;
    font-size: 4.4rem;
    font-weight: 500;
    line-height: calc(70 / 44);
    text-align: center;
    top: 8.6%;
}

.sec28 .list {
    top: 35%;
    display: flex;
    justify-content: center;
    gap: 19rem 2rem;
    padding: 0 4rem;
    list-style: none;
    flex-wrap: wrap;
}

.sec28 .list>li {
    width: calc(100% / 2 - 2rem * 1 / 2);
    text-align: center;
    min-height: 9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1rem;
}

.sec28 .list>li:nth-child(2) {
    padding-left: 3rem;
}

.sec28 .list>li:nth-child(3) {
    padding-left: 3rem;
    padding-top: 6.3rem;
}

.sec28 .list>li:nth-child(4) {
    padding-top: 2rem;
}

.sec28 .list>li:nth-child(5) {
    padding-top: 1.7rem;
}

.sec28 .list>li:nth-child(6) {
    padding-top: 1rem;
}

.sec28 .list>li:nth-child(7) {
    padding-top: 6.4rem;
}

.sec28 .list>li>span {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    color: #e14c68;
    line-height: calc(40 / 28);
    font-size: 2.8rem;
    text-align: left;
}

.sec28 .list>li>span .small {
    font-size: 2rem;
}

.sec28 .list>li>span sup {
    color: #333;
    font-size: 1.5rem;
}

.sec28 .note {
    list-style: none;
    padding: 0 4rem;
    top: 88%;
}

.sec28 .note li {
    font-size: 1.8rem;
    line-height: calc(28 / 18);
    text-indent: -3rem;
    padding-left: 3rem;
}


/* sec30 */

.sec30 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 5.5rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 7.5%;
}

.sec30 .titSub {
    font-family: "Noto Serif JP", serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    color: #000;
    top: 20%;
}

.sec30 .titSub .num {
    font-size: 5.2rem;
    line-height: 1;
    display: inline-block;
}

.sec30 .text {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    width: 82%;
    font-size: 2.4rem;
    line-height: 1.5;
    top: 82%;
    text-align: center;
    padding-left: 1rem;
}


/* sec31*/

.sec31 .title {
    font-family: "Noto Serif JP", serif;
    font-size: 5rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    color: #e14c68;
    top: 3.6%;
}

.sec31 .note {
    top: 87%;
    width: 82%;
    text-indent: -1.5rem;
    padding-left: 1.5rem;
    text-align: justify;
    font-size: 1.8rem;
    line-height: calc(28 / 18);
}


/* sec32 */

.sec32 .sec32-btn {
    bottom: 4%;
}

.sec32 .sec32-btn>a {
    padding-left: 4rem;
    display: inline-block;
    margin: 0 auto;
    width: 97.6%;
}


/* sec34 */

.sec34 .text {
    font-family: "Noto Serif JP", serif;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    top: 72.3%;
}

.sec34 .text>span {
    padding: 0 0.5rem;
}

.sec34 .titSub {
    font-family: "Noto Serif JP", serif;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    color: #e14c68;
    top: 26.2%;
    letter-spacing: 0.05em;
}

.sec34 .titSub>.larg {
    font-size: 6rem;
    line-height: 1;
    display: inline-block;
}

.sec34 .sec34-btn {
    bottom: 3.2%;
}

.sec34 .sec34-btn>a {
    padding-left: 4rem;
    display: inline-block;
    margin: 0 auto;
    width: 97.6%;
}


/* sec34 add */

.sec34_add .title {
    top: 10.8%;
    padding: 0 4rem;
    font-family: "Noto Serif JP", serif;
    line-height: 1.7;
}

.sec34_add .title .titSub {
    font-size: 3.8rem;
    text-align: center;
    font-weight: 500;
}

.sec34_add .title .titTop {
    font-size: 5.8rem;
    font-weight: 500;
    display: block;
    line-height: 1.2;
}

.sec34_add .head {
    top: 37.5%;
    font-family: "Noto Serif JP", serif;
}

.sec34_add .head .headSmall {
    display: block;
    margin-bottom: 1.5rem;
}

.sec34_add .head .headSmall>span {
    position: relative;
    font-size: 2.8rem;
    font-weight: 500;
    color: #000;
    padding: 0 .5rem .5rem;
}

.sec34_add .head .headSmall>span::before {
    content: '';
    position: absolute;
    width: 100%;
    left: 50%;
    bottom: 0;
    height: 1px;
    transform: translateX(-50%);
    z-index: 1;
    background-color: #E14C68;
}

.sec34_add .head .headLarg {
    font-size: 5.8rem;
    font-weight: 500;
    display: block;
    line-height: 1.2;
}

.sec34_add .titStep {
    font-family: "Noto Serif JP", serif;
    font-size: 4.3rem;
    font-weight: 500;
    display: block;
    line-height: 1.3;
    width: 94%;
    padding-left: 5.5rem;
    padding-bottom: 1rem;
    text-indent: -4rem;
}

.sec34_add .titStep::before {
    content: '';
    position: absolute;
    width: 100%;
    left: 50%;
    bottom: 0;
    height: 1px;
    transform: translateX(-50%);
    z-index: 1;
    background-color: #E14C68;
}

.sec34_add .desc {
    font-family: "Noto Serif JP", serif;
    font-size: 2.6rem;
    font-weight: 500;
    display: block;
    line-height: 1.7;
}

.sec34_add .--02 .titStep {
    top: 4%;
}

.sec34_add .--02 .desc {
    top: 60%;
    width: 76%;
}

.sec34_add .--03 .titStep {
    top: 4%;
}

.sec34_add .--03 .desc {
    top: 71%;
    width: 76%;
}

.sec34_add .--03 .titMed {
    top: 60.3%;
    font-family: "Noto Serif JP", serif;
    font-size: 3.8rem;
    font-weight: 500;
    display: block;
    line-height: 1.7;
}

.sec34_add .--04 .titStep {
    font-size: 4rem;
    top: 8%;
}

.sec34_add .--05 .heading {
    font-family: "Noto Serif JP", serif;
    font-size: 6.6rem;
    font-weight: 500;
    display: block;
    line-height: 1.3;
    letter-spacing: 0.08em;
    top: 19%;
}

.sec34_add .--05 .desc {
    top: 34%;
    width: 80%;
    font-size: 2.4rem;
    line-height: 1.6;
}


/* sec35 */

.sec35 {
    padding: 10rem 0;
    background: linear-gradient(0deg, rgb(249, 249, 249) 0%, rgb(232, 233, 237) 100%);
}

.sec35 .title {
    margin-bottom: 5rem;
}

.maps {
    padding: 0 4rem;
}

.maps .accordion .at-item {
    border: 0.2rem solid #e14c68;
    overflow: hidden;
}

.maps .accordion .at-title {
    background-color: #e14c68;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 10rem;
    position: relative;
    cursor: pointer;
}

.maps .accordion .at-title::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1rem solid #fff;
    z-index: 1;
    transition: transform 0.3s ease;
}

.maps .accordion .at-title.active::before {
    transform: translateY(-50%) rotate(180deg);
}

.maps .accordion .at-item+.at-item {
    margin-top: 3rem;
}

.maps .accordion .at-title>h2 {
    font-size: 4rem;
    color: #fff;
    line-height: 1.5;
}

.maps .accordion .at-tab {
    padding: 3rem;
    display: none;
    background-color: #fff;
}

.maps .accordion .at-tab__inner {
    padding-bottom: 4rem;
}

.maps .accordion .at-tab__inner>h3 {
    font-size: 3.2rem;
    text-align: center;
    line-height: calc(60 / 32);
    font-weight: bold;
    margin: 7rem 0 1rem;
}

.maps .accordion .at-tab__inner>h3:nth-child(1) {
    margin: 2rem 0 1rem;
}

.maps .accordion .at-tab__inner table th,
.maps .accordion .at-tab__inner table td {
    font-size: 2.6rem;
    line-height: calc(40 / 26);
    display: block;
    text-align: left;
    font-weight: 500;
}

.maps .accordion .at-tab__inner table th {
    color: #e14c68;
    padding: 2rem 0 0;
}

.maps .accordion .at-tab__inner table td {
    padding: 0 0 2rem;
    border-bottom: 1px solid #e14c68;
}

.maps .accordion .at-tab__inner table tr:last-child td {
    border-bottom: none;
}

.maps .accordion .at-tab__inner table tr:last-child td>a {
    color: #333;
}

.maps .accordion .at-tab__inner .map_frame {
    height: 34.5rem;
}

.maps .accordion .at-tab__inner .map_frame iframe {
    width: 100%;
    height: 100%;
}

.maps .accordion .at-tab__inner .mapLink {
    margin-top: 4rem;
    padding: 0 1rem;
}

.maps .accordion .at-tab__inner .mapLink>a:hover {
    opacity: 0.8;
}


/* faq */

.faq {
    font-family: "Noto Serif JP", serif;
    background-color: #fff;
    padding: 10rem 0;
}

.faq .title {
    margin-bottom: 5rem;
}

.faq .title img {
    width: 28.4rem;
}

.faq .at-tab {
    display: none;
}

.faq .faqList {
    margin-top: 1rem;
    padding: 0 4rem;
}

.faq .at-title {
    border-bottom: solid 1px #e14c68;
    display: flex;
    align-items: center;
    gap: 2rem;
    color: #e14c68;
    padding: 2rem 0;
    position: relative;
    font-weight: 500;
    cursor: pointer;
}

.faq .at-title::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1rem solid #e14c68;
    z-index: 1;
    transition: transform 0.3s ease;
}

.faq .at-title.active::before {
    transform: translateY(-50%) rotate(180deg);
}

.faq .at-title .num {
    font-size: 5rem;
}

.faq .at-title h2 {
    font-size: 4rem;
    line-height: calc(60 / 40);
    font-weight: 500;
}

.faq .at-tab {
    font-size: 3.2rem;
    line-height: calc(65 / 32);
    text-align: justify;
    padding: 3rem 0;
}

.faq .at-tab ul {
    list-style: none;
    margin-top: 1rem;
}

.faq .at-tab ul li {
    font-size: 2.6rem;
    line-height: calc(55 / 28);
}


/* floating */

#floating {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 999;
    display: none;
}

.floating-inner {
    max-width: 75rem;
    margin: 0 auto;
    padding: 1rem 4rem 0;
}

.floating-inner>a {
    display: block;
    width: 90%;
    margin: 0 auto;
}


/* Modal styles */

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    padding: 4rem;
}

.modal-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.modal-content {
    background-color: white;
    width: 100%;
    max-width: 67rem;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 1.5rem 0 1.5rem 1.5rem;
}

.close-modal {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    position: absolute;
    background-color: #e14c68;
    top: -4rem;
    right: -4rem;
    cursor: pointer;
}

.close-modal::before,
.close-modal::after {
    content: "";
    position: absolute;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    z-index: 1;
}

.close-modal::before {
    width: 2rem;
    height: 0.2rem;
}

.close-modal::after {
    height: 2rem;
    width: 0.2rem;
}

.modal-body {
    overflow-y: auto;
    height: 100%;
    padding-right: 1.3rem;
}

.sample-content .boxIn+.boxIn {
    margin-top: 4rem;
}

.sample-content .price {
    margin-top: 2rem;
    background-color: #fff1f3;
    padding: 2rem 3rem;
}

.sample-content .price ul {
    list-style: none;
    border-bottom: 1px dashed #333333;
    padding: 1.5rem 0;
}

.sample-content .price ul:first-child {
    padding: 0 0 1.5rem;
}

.sample-content .price ul:last-child {
    border: none;
    padding: 1.5rem 0 0;
}

.sample-content .price ul>li {
    display: flex;
    font-size: 1.8rem;
}

.sample-content .price ul>li>span:nth-child(1) {
    width: 15rem;
    display: block;
}

.sample-content .price ul>li>span:nth-child(2) {
    width: calc(100% - 15rem);
    display: block;
}

.modal-body::-webkit-scrollbar {
    width: 0.6rem;
}

.modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 0.4rem;
}

.modal-body::-webkit-scrollbar-thumb {
    background: #afafaf;
    border-radius: 0.4rem;
}

@media screen and (max-width: 750px) {
    .close-modal {
        width: 5rem;
        height: 5rem;
    }
    .close-modal {
        top: -6rem;
        right: -3rem;
    }
    body.modal-open {
        overflow: hidden;
    }
}