/* CSS Document */

/* --------------------
 *   main
 * -------------------- */

 .index_section01 {
    background: url('../images/index_section01_back1.jpg');
    background-position: top; /* 背景画像の位置を指定 */
    background-repeat: repeat; /* 背景画像を繰り返し表示する設定 */
    background-size: 56rem; /* 背景画像のサイズを指定 */
    background-attachment: fixed; /* 背景画像を固定 */
    position: relative;
}

/* 以下背景画像を固定 */

/* .index_section01 {
    background: url('../images/flower.jpg');
    background-position: top;
    background-repeat: no-repeat; 
    background-size: cover;
    background-attachment: fixed; 
    position: relative;
} */


.index_section01 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    transform: translate(-1.2rem, -4.5rem);
}

.index_section01 .section_block1 {
    position: relative;
    text-align: center;
    transform: translateY(-4rem);
}

.index_section01 .section_block2 {
    background: url('../images/index_section01_back2.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 11rem 11rem;
    background-color: #fff;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    position: relative;
    margin: -3.6rem 2.8rem 0;
}

.index_section01 .section_block2::before {
    background-color: #07b99a;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3.6rem;
    height: 100%;
}

.index_section01 .section_block2::after {
    border: 0.1rem solid #787878;
    content: '';
    position: absolute;
    top: 1.3rem;
    left: 1.4rem;
    width: calc(100% - 2.6rem);
    height: calc(100% - 2.4rem);
}

.index_section01 .section_block3 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 76.5rem;
    padding-left: 0.5rem;
}

.index_section01 .section_list {
    list-style: none;
    width: 100%;
    height: 60.6rem;
    margin: 0 auto;
    padding-top: 4rem;
    padding-left: 2.8rem;
}

.index_section01 .section_list li {
    font-family: sans-serif, system-ui;
    font-size: 2.9rem;
    font-weight: 600;
    line-height: 4rem;
    white-space: normal;
    position: relative;
    padding: 0 2rem 2.5rem;
}

.index_section01 .section_list li:nth-child(3) {
    padding-bottom: 27rem;
}

.index_section01 .section_list li::before {
    content: '●';
    font-size: 1.6rem;
    position: absolute;
    top: 0;
    left: -0.1rem;
    text-shadow:
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff;
}

.index_section01 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section01 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(1.9rem, 23.6rem);
}

.index_section01 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(20.4rem, 23.6rem);
}

.index_section01 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(39.7rem, -1.7rem);
    z-index: 1;
}

.index_section01 .section_sprinkle li:nth-child(4) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(47.2rem, 38rem);
}

.index_section01_head {
    width: 78.2rem;
    height: 38.4rem;
}

.index_section01_hero {
    width: 39.2rem;
    height: 39.2rem;
}

.index_section01_text1 {
    width: 74.2rem;
    height: 12.9rem;
}

.index_section01_text2 {
    width: 24rem;
    height: 17.2rem;
}

.index_section01_text3 {
    width: 78.6rem;
    height: 50.3rem;
}

.index_section01_back {
    background: url('../images/index_section01_back1.jpg');
    background-position: top; /* 背景画像の位置を指定 */
    background-repeat: repeat; /* 背景画像を繰り返す設定 */
    background-size: 56rem; /* 背景画像のサイズを指定 */
    background-attachment: fixed; /* 背景画像を固定 */
    position: relative;
    padding: 0 2.8rem;
    z-index: 1;
}



/* プレゼント背景部分

.index_section01_back {
    background: url('../images/flower.jpg');
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
    padding: 0 2.8rem;
    z-index: 1;
}
 */

.index_section02 {
    position: relative;
}

.index_section02 section {
    background-color: #e13d81;
    background-image: repeating-linear-gradient(135deg, transparent, transparent 0.6rem, #e44c8a 0.6rem, #e44c8a 1rem);
}

.index_section02 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    transform: translate(-4.8rem, -6.7rem);
    z-index: 1;
}

.index_section02 .section_block1 {
    background-color: #fff;
    position: relative;
    width: calc(100% - 10rem);
    margin: -7.8rem 2.2rem 0;
    padding-bottom: 3rem;
}

.index_section02 .section_block2 {
    background-color: #fff;
    position: relative;
    width:  calc(100% - 10rem);
    margin: 0 2.2rem;
    padding-bottom: 3rem;
}

.index_section02 .section_block3 {
    background-color: #fff;
    position: relative;
    width:  calc(100% - 10rem);
    margin: -0.7rem 2.2rem 0;
}

.index_section02 [class^='section_block'] h3 {
    background-color: #e13d81;
    border-radius: 1rem;
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    width: 16.7rem;
    height: 6.6rem;
    padding-top: 0.6rem;
    padding-left: 1.2rem;
}

.index_section02 [class^='section_block'] h4 {
    font-family: 'Noto Sans JP', sans-serif, system-ui;
    font-size: 5.4rem;
    font-weight: bold;
    letter-spacing: -0.25rem;
    padding-left: 1.6rem;
    padding-bottom: 1rem;
    transform: translateY(-0.5rem);
}

.index_section02 .section_block2 h4 {
    font-size: 5.1rem;
    letter-spacing: -0.3rem;
    line-height: 1.25;
}

.index_section02 .section_block3 h4 {
    font-size: 5.6rem;
}

.index_section02 .section_block3 h4 .index_section02_strong_color {
    letter-spacing: -0.9rem;
}

.index_section02 [class^='section_block'] p {
    font-family: 'Noto Sans JP', sans-serif, system-ui;
    font-size: 2.9rem;
    font-weight: bold;
    line-height: 1.55;
    padding-left: 1.6rem;
    padding-bottom: 1rem;
    transform: translateY(-0.5rem);
}

.index_section02 .section_block4 p {
    font-family: sans-serif, system-ui;
    font-size: 3.5rem;
    font-weight: normal;
    line-height: 1.45;
    text-align: left;
    padding-top: 4rem;
    padding-left: 3.6rem;
}

.index_section02 .section_block4 p span {
    color: #e13d81;
}

.index_section02 .section_block4 {
    background-color: #fff;
    text-align: center;
    position: relative;
    width: calc(100% - 10rem);
    margin: 0 2.2rem 2.3rem;
    padding-top: 3.5rem;
    height: 51rem;
}

.index_section02 .section_border {
    display: flex;
    align-items: center;
    position: relative;
    height: 10rem;
}

.index_section02 .section_block2 .index_section02_border {
    transform: translateY(-6.2rem);
}

.index_section02 .section_block3 .index_section02_border {
    transform: translateY(-5.8rem);
}

.index_section02 .section_image {
    position: absolute;
    top: 9rem;
    right: -1rem;
}

.index_section02 .section_block2 .section_image,
.index_section02 .section_block3 .section_image {
    transform: translateY(-4rem);
}

.index_section02 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.index_section02 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(36.4rem, 26rem);
}

.index_section02 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(23.6rem, 56.6rem);
}

.index_section02 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(65rem, 82.8rem);
}

.index_section02 .section_sprinkle li:nth-child(4) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(23.2rem, 93.5rem);
}

.index_section02 .section_sprinkle li:nth-child(5) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(64rem, 123rem);
}

.index_section02_clip {
    height: 16.5rem;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 60% 50%, 50% 100%, 40% 50%, 0 50%);
}

.index_section02_strong_color {
    color: #df3a75;
}

.index_section02_border {
    width: 74.1rem;
    height: 0.6rem;
}

.index_section02_deco1 {
    width: 6rem;
    height: 8.4rem;
}

.index_section02_deco2 {
    width: 21.6rem;
    height: 6.6rem;
}

.index_section02_deco3 {
    width: 10.4rem;
    height: 5.8rem;
}

.index_section02_deco4 {
    width: 20.2rem;
    height: 7rem;
}

.index_section02_deco5 {
    width: 8.8rem;
    height: 5.8rem;
}

.index_section02_head {
    width: 80rem;
    height: 27rem;
}

.index_section02_pc1 {
    width: 36.9rem;
    height: 20.9rem;
}

.index_section02_pc2 {
    width: 36.9rem;
    height: 20.9rem;
}

.index_section02_pc3 {
    width: 36.9rem;
    height: 20.9rem;
}

.index_section02_point1 {
    width: 14.5rem;
    height: 5.7rem;
}

.index_section02_point2 {
    width: 15.2rem;
    height: 5.7rem;
}

.index_section02_point3 {
    width: 15rem;
    height: 5.7rem;
}

.index_section03 {
    background: url('../images/index_section03_back.jpg');
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    width: 100%;
    height: 167rem;
    margin-top: -8.4rem;
}

.index_section03 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 28.5rem;
    transform: translate(6.4rem, 3.8rem);
}

.index_section03 .section_head::before {
    border-top: 0.7rem solid #d85782;
    border-bottom: 0.7rem solid #d85782;
    background-color: #fff;
    content: '';
    position: absolute;
    top: 0.5rem;
    left: -10rem;
    width: 120vw;
    height: 26.4rem;
    transform: rotate(-5deg);
    z-index: 0;
}

.index_section03 .section_block1 {
    position: relative;
    text-align: center;
    padding: 11.5rem 0 0;
}

.index_section03 .section_block2 {
    border: 0.7rem solid #d85782;
    border-radius: 0.7rem;
    position: relative;
    margin: 0 2rem;
}

.index_section03 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section03 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(0rem, 20.2rem);
}

.index_section03 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(58rem, 45.2rem);
}

.index_section03 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(17.8rem, 49rem);
    z-index: 1;
}

.index_section03 .section_list {
    background-color: #fff;
    list-style: none;
    width: 100%;
    margin: 0 auto;
    padding: 5rem;
    padding-top: 5.8rem;
    padding-left: 9.5rem;
}

.index_section03 .section_list li {
    font-size: 5rem;
    font-weight: normal;
    line-height: 1.3;
    white-space: normal;
    position: relative;
    padding: 0 1.5rem;
}

.index_section03 .section_list li:nth-child(1) {
    padding-left: 2.4rem;
    letter-spacing: 0.1rem;
    padding-bottom: 3.7rem;
}

.index_section03 .section_list li:nth-child(2) {
    letter-spacing: -0.3rem;
    padding-bottom: 3rem;
}

.index_section03 .section_list li:nth-child(3) {
    letter-spacing: -0.1rem;
    padding-bottom: 3rem;
}

.index_section03 .section_list li:nth-child(4) {
    letter-spacing: -0.05rem;
    padding-bottom: 3rem;
}

.index_section03 .section_list li:nth-child(5) {
    letter-spacing: 0.1rem;
}

.index_section03 .section_list li div {
    border: 0.5rem solid #4b4b4b;
    border-radius: 0.5rem;
    content: '';
    position: absolute;
    top: 0;
    left: -6.3rem;
    width: 5.8rem;
    height: 5.8rem;
}

.index_section03 .section_list li div::before {
    border-left: 1.6rem solid #fff;
    content: '';
    position: absolute;
    top: -1.4rem;
    left: 3.6rem;
    width: 2rem;
    height: 4.2rem;
    transform: rotate(-135deg);
}

.index_section03 .section_list li div::after {
    border-top: 0.5rem solid #1db89a;
    border-left: 0.5rem solid #1db89a;
    content: '';
    position: absolute;
    top: -1.4rem;
    left: 2.6rem;
    width: 2rem;
    height: 4.8rem;
    transform: rotate(-135deg);
}

.index_section03 .section_list small {
    font-size: 4.6rem;
}

.index_section03 .section_list li::before {
    content: '';
    position: absolute;
    top: 0.75rem;
    left: -3rem;
    width: 3rem;
    height: 100%;
}

.index_section03_strong_color {
    color: #e01a6d;
}

.index_section03_head {
    position: relative;
    width: 51.5rem;
    height: 26.2rem;
}

.index_section03_picture1 {
    width: 43.9rem;
    height: 55.1rem;
}

.index_section03_picture2 {
    width: 51.2rem;
    height: 31.1rem;
}

.index_section03_picture3 {
    width: 25.9rem;
    height: 35.9rem;
}

.index_section03_text1 {
    width: 71.9rem;
    height: 8.4rem;
}

.index_section04 {
    position: relative;
    padding-bottom: 3rem;
}

.index_section04 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}

.index_section04 .section_block1 {
    position: relative;
    text-align: center;
    padding: 5.3rem 0 1.7rem;
}

.index_section04 .section_block2 {
    position: relative;
    display: flex;
    height: 54.2rem;
}

.index_section04 .section_block2 > div:nth-child(1) {
    transform: translate(4rem, 7.5rem);
}

.index_section04 .section_block2 > div:nth-child(2) {
    transform: translate(12rem, 5.1rem);
}

.index_section04 .section_block2 > div:nth-child(1) span {
    display: block;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    width: 35.4rem;
    height: 40.3rem;
    transform: rotate(-4.5deg);
}

.index_section04 .section_block2 > div:nth-child(2) span {
    display: block;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    width: 28.5rem;
    height: 44.1rem;
    transform: rotate(4.5deg);
}

.index_section04 .section_block3 {
    position: relative;
    padding: 0 3rem;
}

.index_section04 .section_block3 p {
    font-size: 3.7rem;
    letter-spacing: -0.05rem;
    line-height: 1.68;
}

.index_section04 .section_block3 p span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section04 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section04 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(3rem, 25.5rem);
}

.index_section04 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(74.8rem, 30rem);
}

.index_section04 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(32rem, 81.5rem);
}

.index_section04 .section_sprinkle li:nth-child(4) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(75.3rem, 77.3rem);
}

.index_section04_deco1 {
    width: 8.9rem;
    height: 12.9rem;
}

.index_section04_deco2 {
    width: 5.9rem;
    height: 9.2rem;
}

.index_section04_deco3 {
    width: 7.5rem;
    height: 4.1rem;
}

.index_section04_deco4 {
    width: 4.6rem;
    height: 7.5rem;
}

.index_section04_head {
    width: 75.5rem;
    height: 15rem;
}

.index_section04_picture1 {
    width: 35.4rem;
    height: 40.3rem;
    transform: rotate(4.3deg);
}

.index_section04_picture2 {
    width: 28.5rem;
    height: 44.1rem;
    transform: rotate(-4.3deg);
}

.index_section04_text {
    width: 79.8rem;
    height: 11.4rem;
}

.index_section05 {
    position: relative;
    filter: drop-shadow(0 0.8rem 0.4rem rgba(69, 69, 69, 0.3));
    z-index: 2;
}

.index_section05 section {
    background-color: #c8f7fd;
    padding-bottom: 13.5rem;
    clip-path: polygon(0 0, 100% 0, 100% 97.2%, 65% 97.2%, 50% 99.7%, 35% 97.2%, 0 97.2%);
}

.index_section05 section::after {
    background-color: #fdccc8;
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 103.5rem;
    clip-path: polygon(0 0, 95% 52%, 100% 45%, 100% 100%, 64% 100%, 0 18%);
    z-index: 0;
}

.index_section05 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}

.index_section05 .section_block1 {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 4rem 4rem 0 0;
    position: relative;
    margin: -1rem 1rem 0;
    z-index: 1;
}

.index_section05 .section_block1 p {
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    padding: 1rem 1.5rem 10.2rem;
}

.index_section05 .section_block1 p span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section05 .section_block2 {
    background-color: rgba(255, 255, 255, 0.9);
    position: relative;
    margin: -1rem 1rem 0;
    padding-bottom: 9.4rem;
    z-index: 1;
}

.index_section05 .section_block2 h3 {
    background-color: #d95682;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif, system-ui;
    font-size: 4.5rem;
    letter-spacing: 0.2rem;
    line-height: 1.4;
    width: 80.1rem;
    height: 15.5rem;
    margin-left: -0.2rem;
    padding: 1rem 2rem;
    box-shadow: 0.4rem 0.5rem 0 #a71e4c;
}

.index_section05 .section_block3 {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 0 0 4rem 4rem;
    position: relative;
    margin: 0 1rem;
    z-index: 1;
}

.index_section05 .section_block3 p {
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    padding: 1rem 1.5rem 6.4rem;
}

.index_section05 .section_block3 p span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section05 .section_image {
    position: relative;
    text-align: center;
    transform: translate(1.3rem, 3.5rem);
}

.index_section05_head {
    width: 84rem;
    height: 137.5rem;
}

.index_section05_image {
    width: 81.3rem;
    height: 64.1rem;
}

.index_section06 {
    filter: drop-shadow(0 0.8rem 0.4rem rgba(69, 69, 69, 0.3));
    position: relative;
    margin-top: -10rem;
    z-index: 1;
}

.index_section06 section {
    background: url('../images/index_section06_back.jpg');
    background-position: top;
    background-repeat: repeat;
    background-size: contain;
    clip-path: polygon(0 0, 100% 0, 100% 94.7%, 64% 94.7%, 49% 99.7%, 35% 94.7%, 0 94.7%);
}

.index_section06 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 14rem 0 3rem;
}

.index_section06 .section_block1 {
    position: relative;
    padding-top: 106.5rem;
}

.index_section06 .section_block1 p {
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    padding: 1rem 2.5rem 24.4rem;
}

.index_section06 .section_block1 p .section_underline {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section06 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section06 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(1.5rem, 0);
}

.index_section06 .section_sprinkle li:nth-child(1) span {
    background-color: #fff;
    display: block;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    width: calc(78.4rem + 2.4rem);
    height: calc(52.3rem + 2.4rem);
    padding: 1.2rem;
}

.index_section06 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(4rem, 45.2rem);
}

.index_section06 .section_sprinkle li:nth-child(2) span {
    background-color: #fff;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    width: calc(42.7rem - 2.4rem);
    height: calc(56.9rem - 1.2rem);
    transform: rotate(-5.6deg);
}

.index_section06 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(43.4rem, 54.2rem);
}

.index_section06 .section_sprinkle li:nth-child(3) span {
    background-color: #fff;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    width: calc(38.4rem - 1.2rem);
    height: calc(40.9rem + 1.2rem);
    transform: rotate(4deg);
}

.index_section06_head {
    width: 72.7rem;
    height: 35.8rem;
}

.index_section06_photo1 {
    width: 78.4rem;
    height: 52.3rem;
}

.index_section06_photo2 {
    width: 42.7rem;
    height: 56.9rem;
    transform: rotate(5.3deg);
}

.index_section06_photo3 {
    width: 38.4rem;
    height: 40.9rem;
    transform: rotate(-3.7deg);
}

.index_section07_shadow {
    filter: drop-shadow(0 0.8rem 0.4rem rgba(69, 69, 69, 0.3));
}

.index_section07_back {
    background: url('../images/index_section07_back.jpg');
    background-position: top;
    background-repeat: repeat;
    background-size: contain;
    clip-path: polygon(0 0, 100% 0, 100% 97%, 65% 97%, 50% 99.7%, 36% 97%, 0 97%);
}

.index_section07_back .index_section02 {
    padding: 0 2.8rem 19rem;
}

.index_section07 {
    position: relative;
    margin-top: -13.5rem;
    z-index: 0;
}

.index_section07 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}

.index_section07 .section_block1 {
    position: relative;
    text-align: center;
    padding: 14rem 0 1.5rem;
}

.index_section07 .section_block2 {
    position: relative;
    padding-top: 62rem;
}

.index_section07 .section_block3 {
    position: relative;
    text-align: center;
    padding: 8.5rem 0 14.3rem;
}

.index_section07 .section_block2 p {
    background-color: #fff;
    border-radius: 4rem;
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    margin: 9rem 1.5rem 0;
    padding: 2rem 1.5rem 1.5rem;
}

.index_section07 .section_block2 p span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section07 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section07 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(37rem, 1rem);
}

.index_section07 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(11.6rem, 6.5rem);
}

.index_section07 .section_sprinkle li:nth-child(3) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(2rem, 35rem);
}

.index_section07_head {
    width: 79.4rem;
    height: 27rem;
}

.index_section07_picture1 {
    width: 52rem;
    height: 31.2rem;
}

.index_section07_picture2 {
    width: 24.4rem;
    height: 37.9rem;
}

.index_section07_picture3 {
    width: 47rem;
    height: 71.4rem;
}

.index_section07_text1 {
    width: 68.5rem;
    height: 22rem;
}

.index_section07_text2 {
    width: 80rem;
    height: 22.3rem;
    transform: translateX(0.8rem);
}

.index_section09 {
    position: relative;
    padding-bottom: 7rem;
}

.index_section09 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    margin-top: -4.5rem;
    padding-left: 6rem;
    z-index: 1;
}

.index_section09 .section_sprinkle::after {
    background-color: #fff8c7;
    content: '';
    position: absolute;
    top: 1.6rem;
    left: 0;
    width: 100vw;
    height: 15.6rem;
    z-index: -1;
}

.index_section09 .section_block1 {
    position: relative;
    background-color: #1db89a;
    background-image: repeating-linear-gradient(135deg, transparent, transparent 0.6rem, #31bea3 0.6rem, #31bea3 1rem);
    margin: -2.4rem 3rem;
    padding: 2rem 0 3rem;
    z-index: 1;
}

.index_section09 .section_block1 p {
    background-color: #fff;
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    margin: 0 1.5rem;
    padding: 2.5rem 3.5rem 7.5rem;
    padding-right: 2rem;
}

.index_section09 .section_block1 p span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section09 .section_sprinkle {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.index_section09 .section_sprinkle li:nth-child(1) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(1rem, -5rem);
    z-index: 0;
}

.index_section09 .section_sprinkle li:nth-child(2) {
    position: absolute;
    top: auto;
    left: auto;
    transform: translate(60.8rem, 14.7rem);
    z-index: 2;
}

.index_section09_deco1 {
    width: 11.1rem;
    height: 17.1rem;
}

.index_section09_deco2 {
    width: 22.5rem;
    height: 23.6rem;
}

.index_section09_head {
    width: 77.4rem;
    height: 39.9rem;
}

.index_section10 {
    position: relative;
}

.index_section10 .section_head1 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    transform: translate(-1rem, 0rem);
}

.index_section10 .section_head1 span {
    position: relative;
    transform: translate(0.8rem, 5rem);
    z-index: 2;
}

.index_section10 .section_head2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}

.index_section10 .section_head2 span:nth-of-type(1) {
    display: block;
    position: relative;
    padding: 6.2rem 0 1rem;
    width: 100vw;
}

.index_section10 .section_head2 span:nth-of-type(2) {
    position: absolute;
    top: 2.5rem;
    right: 2.8rem;

}

.index_section10 .section_head2 span:nth-child(1)::before {
    background-color: #ffee7a;
    box-shadow: 0 0.3rem #b7a31d;
    content: '';
    position: absolute;
    top: 5.7rem;
    left: -2.8rem;
    width: 100%;
    height: 4.5rem;
    z-index: -1;
}

.index_section10 .section_block1 {
    background-color: #fff;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    position: relative;
    margin: -6.3rem 0 0;
    margin-right: 5.6rem;
    z-index: -1;
}

.index_section10 .section_block1::before {
    background-color: #07b99a;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4.6rem;
    height: 100%;
}

.index_section10 .section_block1::after {
    border: 0.1rem solid #787878;
    content: '';
    position: absolute;
    top: 3rem;
    left: 3rem;
    width: calc(100% - 6rem);
    height: calc(100% - 6rem);
}

.index_section10 .section_block1 p {
    font-family: sans-serif, system-ui;
    font-size: 2.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12rem;
    padding-bottom: 3rem;
    padding-left: 1.8rem;
}

.index_section10 .section_block2 {
    background-color: #d95682;
    color: #fff;
    font-size: 7.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 12.8rem;
    margin: 9.3rem 0 1rem;
    margin-left: -3rem;
    box-shadow: 0 0.3rem #b42857;
    text-shadow: 0.4rem 0.4rem 0.2rem #b42857;
}

.index_section10 .section_block2::before {
    background-color: #fff;
    content: '';
    position: absolute;
    top: 6.6rem;
    right: 56.5rem;
    width: 100vw;
    height: 0.3rem;
    box-shadow: 0.2rem 0.2rem 0.2rem #b42857;
}

.index_section10 .section_block2::after {
    background-color: #fff;
    content: '';
    position: absolute;
    top: 6.6rem;
    left: 55.4rem;
    width: 100vw;
    height: 0.3rem;
    box-shadow: 0.2rem 0.2rem 0.2rem #b42857;
}

.index_section10 .section_block3 {
    background-color: #fff;
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    position: relative;
    margin: 1.7rem 0 8rem;
    margin-right: 5.6rem;
    z-index: -1;
}

.index_section10 .section_block3::before {
    background-color: #d95682;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5rem;
}

.index_section10 .section_block3::after {
    border: 0.1rem solid #787878;
    content: '';
    position: absolute;
    top: 3rem;
    left: 3rem;
    width: calc(100% - 6rem);
    height: calc(100% - 6rem);
}

.index_section10 .section_block3 p:nth-of-type(1) {
    font-family: sans-serif, system-ui;
    font-size: 2.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 13rem;
    padding-bottom: 3rem;
}

.index_section10 .section_block3 p:nth-of-type(2) {
    font-size: 3.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.68;
    margin: 0 1.5rem;
    padding: 0 3.5rem 5.8rem;
    padding-right: 2rem;
}

.index_section10 .section_block3 p:nth-of-type(2) span {
    background: linear-gradient(transparent 80%, #fff8c7 80%);
    line-height: 1;
    display: inline;
}

.index_section10 .section_list {
    list-style: none;
    width: 100%;
    margin: 0 auto;
    padding-top: 4.55rem;
    padding-left: 4.5rem;
}

.index_section10 .section_list li {
    font-family: sans-serif, system-ui;
    font-size: 2.9rem;
    font-weight: 600;
    line-height: 4rem;
    white-space: normal;
    position: relative;
    padding: 0 2rem 2.5rem;
}

.index_section10 .section_list li:nth-child(2) {
    padding-bottom: 4rem;
}

.index_section10 .section_list li::before {
    content: '●';
    font-size: 1.6rem;
    position: absolute;
    top: 0;
    left: -0.5rem;
    text-shadow:
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff,
        0 0 0.5rem #fff, 0 0 0.5rem #fff;
}

.index_section10 .section_flex {
    display: flex;
    justify-content: space-evenly;
    position: relative;
    padding-left: 3rem;
    padding-right: 1rem;
}

.index_section10 .section_block3 .section_flex {
    padding-top: 4.3rem;
}

.index_section10_head {
    width: 43.7rem;
    height: 28.6rem;
}

.index_section10_image1 {
    width: 30.1rem;
    height: 45.9rem;
}

.index_section10_image2 {
    width: 25.9rem;
    height: 38.1rem;
}

.index_section10_medal1 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_medal2 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_medal3 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_medal4 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_medal5 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_medal6 {
    width: 20.8rem;
    height: 20.8rem;
}

.index_section10_text1 {
    width: 59.4rem;
    height: 3.4rem;
}

.index_section10_text2 {
    width: 53.3rem;
    height: 28.3rem;
    transform: translate(-14.4rem, 0.5rem);
}

.index_section11 {
    background-color: #ffd9d6;
    position: relative;
    box-shadow:
        0 0 2.5rem #fff8c7, 0 0 2.5rem #fff8c7,
        0 0 2.5rem #fff8c7, 0 0 2.5rem #fff8c7;
    z-index: 1;
}

.index_section11 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 7.5rem 0 4.3rem;
    padding-right: 1.5rem;
}

.index_section11 [class^='section_block'] {
    position: relative;
}

.index_section11 .section_icon {
    text-align: center;
}

.index_section11 .section_deco {
    position: absolute;
    top: 1rem;
    left: 5.6rem;
    text-align: center;
}

.index_section11 h3 {
    font-size: 7.4rem;
    letter-spacing: -0.1rem;
    text-align: center;
    position: relative;
    padding: 4.6rem 0 2rem;
    text-shadow: 0.3rem 0.5rem #fff;
}

.index_section11 h3::after {
    border-top: 0.3rem solid #4d4c4c;
    content: '';
    position: absolute;
    left: calc((100vw - 75rem) / 2);
    bottom: -1.2rem;
    width: 75rem;
}

.index_section11 h4 {
    font-size: 4rem;
    letter-spacing: -0.2rem;
    line-height: 1.5;
    text-align: center;
    position: relative;
    padding: 2.6rem 0 6.3rem;
}

.index_section11 .section_block3 h4 {
    padding-bottom: 11.6rem;
}

.index_section11 p {
    font-size: 3.8rem;
    line-height: 1.65;
    padding: 0 7.2rem;
}

.index_section11 p span {
    color: #de0e61;
    text-decoration: underline;
}

.index_section11 [class^='section_block'] > span {
    display: block;
    font-size: 2.8rem;
    white-space: normal;
    line-height: 1.65;
    padding: 2rem 7.2rem 16.5rem;
}

.index_section11 .section_block2 > span {
    padding-bottom: 14.8rem;
}

.index_section11 .section_block3 > span {
    padding-bottom: 14.5rem;
}

.index_section11 .section_block4 > span {
    padding-top: 4.2rem;
    padding-bottom: 20rem;
}

.index_section11 .section_block5 > span {
    padding-top: 4rem;
    padding-bottom: 11rem;
}

.index_section11_deco {
    width: 68.9rem;
    height: 35.5rem;
}

.index_section11_head {
    width: 62.7rem;
    height: 11.5rem;
}

.index_section11_icon1 {
    width: 38.9rem;
    height: 38.9rem;
}

.index_section11_icon2 {
    width: 38.9rem;
    height: 38.9rem;
}

.index_section11_icon3 {
    width: 38.9rem;
    height: 38.9rem;
}

.index_section11_icon4 {
    width: 38.9rem;
    height: 38.9rem;
}

.index_section11_icon5 {
    width: 39rem;
    height: 38.9rem;
}

.index_section12_back {
    background: url('../images/index_section12_back.jpg');
    background-position: top;
    background-repeat: repeat;
    background-size: contain;
    background-attachment: fixed;
}

.index_section12_back .index_section02 {
    padding: 0 2.8rem 10.2rem;
}

.index_section12 {
    position: relative;
}

.index_section12 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 8.8rem 0 7.4rem;
}

.index_section12 [class^='section_block'] {
    position: relative;
    margin: 0 3rem;
}

.index_section12 .section_block1 dl {
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    margin-bottom: 6rem;
}

.index_section12 .section_block2 dl {
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    margin-bottom: 6rem;
}

.index_section12 .section_block3 dl {
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    margin-bottom: 7rem;
}

.index_section12 .section_block4 dl {
    box-shadow: 0.1rem 0.3rem 1.5rem rgba(120, 120, 120, 0.42);
    margin-bottom: 6rem;
}

.index_section12 dt {
    background-color: #d95682;
    display: flex;
    align-items: center;
}

.index_section12 .section_block1 dt {
    padding-top: 2rem;
    padding-bottom: 4.5rem;
}

.index_section12 .section_block2 dt {
    align-items: flex-start;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}

.index_section12 .section_block3 dt {
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
}

.index_section12 .section_block4 dt {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.index_section12 dd {
    background-color: #fff;
    display: flex;
    align-items: flex-start;
}

.index_section12 .section_block1 dd {
    padding-top: 3.2rem;
    padding-bottom: 5rem;
}

.index_section12 .section_block2 dd {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.index_section12 .section_block3 dd {
    padding-top: 2rem;
    padding-bottom: 5rem;
}

.index_section12 .section_block4 dd {
    padding-top: 2.5rem;
    padding-bottom: 6.5rem;
}

.index_section12 dt > span {
    background-color: #fff;
    border-radius: 3.6rem;
    content: '';
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 7.1rem;
    height: 7.1rem;
    margin-left: 1.2rem;
    margin-right: 2rem;
}

.index_section12 .section_block2 dt > span {
    transform: translateY(1rem);
}

.index_section12 .section_block3 dt > span {
    transform: translateY(-2rem);
}

.index_section12 .section_block4 dt > span {
    transform: translateY(-2rem);
}

.index_section12 dd > span {
    background-color: #d95682;
    border-radius: 3.6rem;
    content: '';
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 7.1rem;
    height: 7.1rem;
    margin-left: 1.2rem;
    margin-right: 2rem;
}

.index_section12 dt p {
    color: #fff;
    font-size: 4.8rem;
    letter-spacing: -0.2rem;
    line-height: 1.35;
    padding-right: 3rem;
}

.index_section12 dd p {
    font-size: 3.8rem;
    line-height: 1.62;
    padding: 0rem 0;
    padding-right: 2.5rem;
}

.index_section12_A {
    width: 4.3rem;
    height: 4.4rem;
}

.index_section12_Q {
    position: relative;
    width: 4rem;
    height: 4.7rem;
}

.index_section12_head {
    width: 49.3rem;
    height: 24.4rem;
}

.index_section13 {
    position: relative;
}

.index_section13 .section_head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 16rem;
}

.index_section13 .section_block1 {
    position: relative;
}

.index_section13_head {
    width: 79.7rem;
    height: 61.1rem;
}

.row.mx-auto.page_frame {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.section_block1, .section_block2, .section_block3 {
    flex: 1 1 calc(33% - 20px);
    box-sizing: border-box;
    margin: 10px;
}

@media (max-width: 768px) {
    .section_block1, .section_block2, .section_block3 {
        flex: 1 1 calc(50% - 20px);
    }
}

@media (max-width: 500px) {
    .section_block1, .section_block2, .section_block3 {
        flex: 1 1 100%;
    }
}

.section_flex {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); /* メダルの最小幅を設定 */
    gap: 20px; /* 各メダルの間隔 */
    justify-content: center; /* 中央揃え */
    max-width: 100%; /* 親要素の幅にフィット */
    margin: 0 auto; /* 全体を中央に配置 */
    padding: 0 10px; /* 左右の余白 */
    box-sizing: border-box; /* ボックスサイズを調整 */
}


.section_flex > div {
    max-width: 100%; /* 各画像のコンテナが親コンテナからはみ出ないように調整 */
    box-sizing: border-box;
    text-align: center; /* 画像を中央揃えに */
}

.section_flex img {
    width: 100%; /* 画像が親の幅に収まるようにする */
    height: auto; /* アスペクト比を維持 */
    display: block; /* 画像の下に空白が出ないように */
}

.section_block2 h4 .highlight-text {
    font-size: 3.8rem; /* フォントサイズを調整 */
    color: #d95682; /* 色の変更例 */
    line-height: 1.2; /* 行間の調整 */
    display: inline-block; /* 必要に応じて表示方法を変更 */
}

.section_sprinkle_custom {
    list-style: none;
    display: flex;
    justify-content: center; /* 中央揃え */
    align-items: flex-start; /* 子要素の垂直位置を開始位置に揃える */
    gap: 2px; /* 画像間の間隔を設定 */
    padding: 0;
    margin-top: 20px; /* 全体を下に下げる */
}

.section_sprinkle_custom {
    list-style: none;
    display: flex;
    justify-content: center; /* 画像の中央揃え */
    align-items: flex-start; /* 子要素の垂直位置を揃える */
    gap: 20px; /* 画像間のスペースを設定 */
    padding: 0;
    margin-top: 20px; /* 全体を下に移動 */
}

.section_sprinkle_custom li {
    position: relative; /* transformを使用するためにrelativeを設定 */
}

/* 画像を個別に左右に移動 */
.section_sprinkle_custom li:nth-child(1) img {
    transform: translateX(-10px); /* 左に10px移動 */
}

.section_sprinkle_custom li:nth-child(2) img {
    transform: translateX(5px); /* 右に5px移動 */
}

.section_sprinkle_custom li:nth-child(3) img {
    transform: translateX(15px); /* 右に15px移動 */
}

.img-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
}

.img-responsive {
    max-width: 100%;
    height: auto;
    display: block;
}

/* PCのスタイル */
@media (min-width: 768px) {
    .img-wrapper {
        padding: 40px 0; /* PCでは上下の余白を広げる */
    }
}

/* スマートフォンのスタイル */
@media (max-width: 767px) {
    .img-wrapper {
        padding: 10px 0; /* スマホでは余白を狭くする */
    }
}

.custom-space {
    margin-top: -50px;
    margin-bottom: 30px;
    text-align: center;  /* 画像を中央に配置するため */
}

.custom-space1 {
    margin-top: -30px;
    margin-bottom: -20px;
    text-align: center;  /* 画像を中央に配置するため */
}

.custom-space2 {
    margin-top: -30px;
    margin-bottom: 20px;
    text-align: center;  /* 画像を中央に配置するため */
}

.custom_size_image {
    width: 1000px; /* 必要に応じて調整 */
    height: auto; /* アスペクト比を維持したい場合 */
}

.custom-space4 {
    margin-top: 0px;
    margin-bottom: 20px;
    text-align: center;  /* 画像を中央に配置するため */
}

.background-container {
    position: relative;
    background-image: url('../images/flower.jpg'); /* 背景画像のパス */
    background-size: cover; /* 背景画像をコンテナにフィットさせる */
    background-attachment: fixed; /* 背景画像を固定 */
    background-repeat: no-repeat; /* 背景画像を繰り返さない */
    background-position: center center; /* 背景画像の位置を中央に設定 */
    /* height: 2150px;  *//* 要素の高さを500ピクセルに設定 */
    width: 100%; /* 要素の幅を親要素の幅に合わせる */
    /* 必要に応じてコンテナの高さや幅を設定 */
}

.background-container img {
    max-width: 100%;
    height: auto;
    display: block; /* ブロックレベル要素にする */
    margin: auto; /* 左右のマージンを自動に設定して中央に配置 */
}

.background-container p {
    position: relative; /* テキストを前面に表示 */
    color: rgb(18, 8, 8); /* テキストの色を設定（背景に合わせて変更） */
    /* その他のテキストスタイルを設定 */
}