@charset "utf-8";
/* 固定ページh1調整 */
.page p.text {
    line-height: 1.75;
}

p.text a,
p li a,
.entry-content p a {
    color: var(--color-primary);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

.main-contents {
    overflow: hidden;
}

/* ---------
ほおずきの会について
------------------------------------ */
.page.about h1 {
    margin-bottom: var(--wh40);
}

.page.about h1 img {
    width: calc(var(--wh10) * 30);
    padding: 0 var(--wh20);
}

.page.about .page-content {
    background-image: url('../img/about/bg_message.webp');
    background-size: 100% auto;
    background-position: center min(250px, 3.5%);
    background-repeat: no-repeat;
    padding:0 !important;
}

.page.about .idea-cont p {
    width: calc(var(--wh10) * 31);
    margin: var(--wh40) auto;
    font-size: calc(var(--wh10) * 1.5);
    letter-spacing: 0.125em;
    line-height: 2.5;
}

.page.about .idea-cont h3 {
    margin-top: var(--wh50);
}

.page.about .idea-cont h3 img {
    width: calc(var(--wh10) * 28);
    margin: 0 auto var(--wh20);
}

.page.about .chronology-cont {
    margin: calc(var(--wh50) * 2) auto;
    background-color: var(--color-bg-light);
    position: relative;
}

.page.about .chronology-cont::before,
.page.about .chronology-cont::after {
    content: '';
    position: absolute;
    width: 600px;
    height: 290px;
    border-radius: 50%;
    background-color: var(--color-bg-light);
    z-index: 0;
}

.page.about .chronology-cont::before {
    top: calc(var(--wh50) * -1);
    left: calc((600px - 100vw)/-2);
}

.page.about .chronology-cont::after {
    bottom: calc(var(--wh50) * -1);
    left: calc((600px - 100vw)/-2);
}

@media (min-width: 431px) {
    .page.about .chronology-cont::before,
    .page.about .chronology-cont::after {
        left: calc((600px - 430px)/-2);
    }
}

.page.about .chronology-cont h3 {
    font-size: calc(var(--wh10) * 2.8);
    font-weight: var(--font-extra-bold);
    letter-spacing: 0.1em;
    position: relative;
    z-index: 1;
    text-align: center;
    margin-top: calc(var(--wh10) * 10);
}

.page.about .chronology-cont h3::before {
    content: '';
    position: relative;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(var(--wh10) * 4.6);
    height: calc(var(--wh10) * 7);
    background: url('../img/about/icon_hozukin_beige.png') no-repeat center center;
    background-size: contain;
    display: block;
}

.page.about .chronology-cont .chronology-list {
    position: relative;
    z-index: 1;
    padding: var(--wh20);
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--wh15);
}

.page.about h2.ttl {
    font-size: calc(var(--wh10) * 2.8);
    font-weight: var(--font-extra-bold);
    letter-spacing: 0.1em;
    text-align: center;
}

.chronology-list li {
    display: flex;
    align-items: center;
    flex-direction: row;
    width: 100%;
    column-gap: calc(var(--wh10) * 0.8);
}

.chronology-list li .year {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: var(--wh10);
    width: calc(var(--wh10) * 7.72);
    height: calc(var(--wh10) * 7.2);
    background-image: url('../img/about/icon_fukidashi.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-family: var(--font-en);
    position: relative;
    z-index: 1;
    margin-bottom: 0;
}

.chronology-list li .year::before {
    content: '';
    position: absolute;
    width: calc(var(--wh10) * 2.4);
    height: calc(var(--wh10) * 0.85);
    top: 1em;
    left: 50%;
    transform: translate(-50%, -50%);
}

.chronology-list li.showa .year::before {
    background-image: url('../img/about/deco_year_showa.png');
    background-size: contain;
}

.chronology-list li.heisei .year::before {
    background-image: url('../img/about/deco_year_heisei.png');
    background-size: contain;
}

.chronology-list li.reiwa .year::before {
    background-image: url('../img/about/deco_year_reiwa.png');
    background-size: contain;
}

.chronology-list li .year::after {
    content: '';
    position: absolute;
    width: calc(var(--wh10) * 0.4);
    height: 150%;
    top: 1em;
    left: 47%;
    transform: translate(-50%, 53%);
    background-color: var(--color-primary);
    z-index: -2;
}

.chronology-list li.showa .year::after {
    background-color: var(--color-yellow);
}

.chronology-list li.heisei .year::after {
    background-color: var(--color-secondary);
}

.chronology-list li:last-child .year::after {
    height: 40%;
    transform: translate(-50%, 200%);
    background: repeating-linear-gradient(
        to bottom,
        var(--color-primary) 0,
        var(--color-primary) 4px,  /* 4pxの線 */
        transparent 4px,           /* 線の終わり */
        transparent 12px           /* 4pxの線 + 8pxの間隔 */
    );
    background-size: 4px 12px;
    background-repeat: repeat-y;
}

.chronology-list li .year time {
    font-size: calc(var(--wh10) * 1.8);
    font-weight: var(--font-bold);
    letter-spacing: 0.025em;
    line-height: 1;
    color: var(--color-primary);
    position: relative;
    top: 0;
    left: -0.1em;
}

.chronology-list li .year span {
    background-color: var(--color-yellow);
    color: var(--color-white);
    font-size: calc(var(--wh10) * 0.9);
    letter-spacing: 0.4em;
    line-height: 1;
    padding: calc(var(--wh10) * 0.2) calc(var(--wh10) * 0.3) calc(var(--wh10) * 0.1);
    border-radius: 9999px;
    position: relative;
    top: calc(var(--wh10) * 0.3);
    left: calc(var(--wh10) * -0.2);
}

.chronology-list li.heisei .year span {
    background-color: var(--color-secondary);
}

.chronology-list li.reiwa .year span {
    background-color: var(--color-primary);
}

.chronology-list li .year span {
    font-size: calc(var(--wh10) * 1.2);
    font-weight: var(--font-bold);
    letter-spacing: 0.025em;
}

.chronology-list li .text {
    width: calc(100% - calc(var(--wh10) * 7.72));
}

.chronology-list li .text p {
    margin-bottom: var(--wh10);
    position: relative;
    padding-left: calc(var(--wh10) * 1.2 + var(--wh10) * 0.6);
}

.chronology-list li .text p::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.2em;
    width: calc(var(--wh10) * 1.52);
    height: calc(var(--wh10) * 1.84);
    background-image: url('../img/common/icon_hozuki_l.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    margin-right:var(--wh10) * 0.6;
}

.chronology-list li .text em {
    color: var(--color-primary);
    font-weight: var(--font-bold);
}

.page.about .activities {
    text-align: center;
}

.page.about .activities .text {
    position: relative;
    margin-top: var(--wh30);
}

.page.about .activities p.text::before {
    content: '';
    position: absolute;
    top: -25%;
    left: 3%;
    width: 95%;
    height: 100%;
    background: url(../img/top/deco_activity_head.png) no-repeat top center;
    background-size: contain;
}

.page.about .activities p.text::after {
    content: '';
    position: absolute;
    bottom: -45%;
    left: 5%;
    width: 90%;
    height: 100%;
    background: url(../img/top/deco_activity_foot.png) no-repeat bottom center;
    background-size: contain;
}

.page.about .activities .btn {
    margin:var(--wh20) auto calc(var(--wh10) * 10);
}

/* サポートの形 */
.page.about .support {
    background-color: var(--color-bg-light);
    position: relative;
    margin-top: var(--wh50);
}

.page.about .support em {
    color: var(--color-accent);
    font-weight: var(--font-bold);
}

.page.about .support .ttl {
    position: relative;
    top: calc(var(--wh50) * -1);
    left: 0;
    background: url('../img/about/ttl_shisen_h2.png') no-repeat;
    background-size: 100%;
    height: calc(var(--wh10) * 20);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    padding-top: var(--wh25);
    letter-spacing: 0.05em;
    line-height: 1.32;
}

.page.about .support > .text {
    text-align: center;
    margin-top: calc(var(--wh20) * -1);
    margin-bottom: var(--wh40);
}

.page.about .support-list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    border: 2px solid var(--color-primary);
    border-radius: calc(var(--wh10) * 4.5);
    margin: 0 var(--wh20);
    box-shadow: 0 3px 0 rgba(30, 184, 115, 1);
    background-color: var(--color-white);
}

.page.about .support-list li {
    width: 100%;
}

.page.about .support-list li a {
    height: calc(var(--wh10) * 9.2);
    padding: var(--wh10);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    gap: var(--wh15);
    color: var(--color-primary);
    font-size: calc(var(--wh10) * 1.8);
    font-weight: var(--font-bold);
    letter-spacing: 0.05em;
    line-height: 1.32;
    position: relative;
}

.page.about .support-list li:first-child a {
    background-image: linear-gradient(
        to right,
        rgba(30, 184, 115, 0.4) 2px,
        transparent 2px,
        transparent 6px
    );
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}

.page.about .support-list li a::after {
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    width: calc(var(--wh10) * 2.4);
    height: calc(var(--wh10) * 2.4);
    border-radius: 9999px;
    box-shadow: 0px 3px 0px var(--color-primary);
    border: 1px solid var(--color-primary);
    content: '▼';
    font-size: calc(var(--wh10) * 0.9);
    color: var(--color-primary);
    position: absolute;
    right: var(--wh20);
    top: 50%;
    transform: translateY(-50%);
    padding-top: calc(var(--wh10) * 0.2);
    padding-left: calc(var(--wh10) * 0.2);
    transition: var(--transition);
}

.page.about .support-list li img {
    width: calc(var(--wh10) * 7.5);
    height: auto;
}

/* ボランティア */
.page.about .volunteer-cont,
.page.about .supporting-cont {
    margin-top: var(--wh50);
    padding: 0 var(--wh40);
    background-image: url(../img/common/deco_branch.webp), url(../img/common/deco_branch.webp);
    background-repeat: no-repeat, no-repeat;
    background-position: -55% 480px, 155% 480px;
    background-size: 40%, 40%;
    padding: 0 calc(var(--wh10) * 4.5);
    text-align: justify;
}

.page.about .supporting-cont {
    padding-bottom: var(--wh50);
}

.page.about .volunteer-cont .full-bleed,
.page.about .supporting-cont .full-bleed {
    margin-inline: calc(var(--wh10) * 4.5 * -1);
}

.page.about .volunteer-cont h3,
.page.about .supporting-cont h3 {
    font-size: calc(var(--wh10) * 2.4);
    font-weight: var(--font-extra-bold);
    letter-spacing: 0.05em;
    color: var(--color-primary);
    text-align: center;
    margin: var(--wh40) auto var(--wh30);
}

.page.about .volunteer-cont h4,
.page.about .supporting-cont h4 {
    font-size: var(--wh20);
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    color: var(--color-primary);
    text-align: center;
    margin: var(--wh60) auto var(--wh20);
    padding-bottom: var(--wh20);
    background-image: linear-gradient(
        to right,
        rgba(30, 184, 115, 1) 2px,
        transparent 2px,
        transparent 6px
    );
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}
.page.about .hozuki-volunteer-list .volunteer-info,
.page.activities .contents-info {
    padding: calc(var(--wh10) * 0.4) calc(var(--wh10) * 1.5) calc(var(--wh10) * 0.8) var(--wh50);
    margin-bottom: var(--wh15);
    position: relative;
    background-color: var(--color-white);
    border-radius: 9999px;
}

.page.activities .activity-contents-list,
.page.activities .activity-contents-text {
    margin: var(--wh30) var(--wh40);
}

.page.activities .contents-info {
    background-color: var(--color-bg-light);
}

.page.about .hozuki-volunteer-list .volunteer-info::before,
.page.activities .contents-info::before {
    content: '';
    position: absolute;
    left: var(--wh10);
    top: 50%;
    transform: translateY(-50%);
    width: calc(var(--wh10) * 3.2);
    height: calc(var(--wh10) * 3.2);
    background-position: center;
    
}
.page.about .hozuki-volunteer-list .volunteer-info::before,
.chiiki .contents-info::before { 
    background-image: url('../img/common/icon_hozuki.webp');
    background-size: contain;
    background-repeat: no-repeat;
}
.group-home .contents-info::before {
    background-image: url('../img/common/icon_group.webp');
    background-size: contain;
    background-repeat: no-repeat;
}
.helper .contents-info::before { 
    background-image: url('../img/common/icon_helper.webp');
    background-size: contain;
    background-repeat: no-repeat;
}
.soudan .contents-info::before { 
    background-image: url('../img/common/icon_soudan.webp');
    background-size: contain;
    background-repeat: no-repeat;
}

.page.about .support h5,
.page.activities .contents-info h4 {
    font-size: calc(var(--wh10) * 1.7);
    font-weight: var(--font-bold);
    margin-top: 0;
}
.chiiki .contents-info h4 { color: var(--color-accent);}
.group-home .contents-info h4 { color: var(--color-secondary);}
.helper .contents-info h4 { color: #F0B63F;}
.soudan .contents-info h4 { color: #C67847;}

.page.about .hozuki-volunteer-list .volunteer-info h5 + p,
.page.activities .contents-info h4 + p {
    font-family: var(--font-en);
    font-size: calc(var(--wh10) * 1.3);
    font-weight: var(--font-medium);
    line-height: 1.4;
    color: var(--color-secondary);
    margin-bottom: 0;
}

.page.activities .contents-info h4 + p {
    color: var(--color-primary);
}

.page.about .hozuki-volunteer-list img,
.page.activities .activity-contents-list img,
.page.activities .activity-contents img {
    display: block;
    width: 92%;
    height: auto;
    margin: 0 auto var(--wh20);
    -webkit-mask-image: url('../img/common/clip_ph.svg');
    mask-image: url('../img/common/clip_ph.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.page.activities h5 {
    font-size: calc(var(--wh10) * 1.6);
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0 0 var(--wh10);
}

.page.about .hozuki-volunteer-list .text,
.page.about h4 + .text,
.page.activities .activity-contents-list .text,
.page.activities .activity-contents-list h4 + .text,
.page.activities .activity-contents-text-list .text,
.page.activities .activity-contents-text-list h4 + .text {
    width: 92%;
    margin: 0 auto;
    margin-bottom: var(--wh35);
    letter-spacing: 0.1em;
    line-height: 1.88;
}

.page.about .support .btn {
    width: 105%;
    left: -2.5%;
    margin: var(--wh20) auto calc(var(--wh10) * 10);
}

.page.about .support .supporting-cont h5 {
    padding-left: var(--wh40);
    margin-bottom: var(--wh15);
    position: relative;
}

.page.about .support .supporting-cont h5::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(var(--wh10) * 3.2);
    height: calc(var(--wh10) * 3.2);
    background: url('../img/common/icon_hozuki.webp') no-repeat center;
    background-size: contain;
}

.page.about .support .contact-info {
    padding: var(--wh20) var(--wh30);
    background-image: url('../img/common/clip_ph.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: var(--wh40);
}

.page.about .support .contact-info p {
    margin-bottom: var(--wh10);
    line-height: 1.3;
}

.page.about .support .contact-info p:last-child {
    margin-bottom: 0;
}

.page.about .support .contact-info p em {
    font-size: calc(var(--wh10) * 1.6);
    font-weight: var(--font-bold);
    color: var(--color-primary);
}

.page.about .support .contact-info .main-info {
    font-size: calc(var(--wh10) * 1.6);
    line-height: 1.15;
}

.page.about .support .contact-info .main-info .number {
    font-family: var(--font-en);
    font-size: calc(var(--wh10) * 2);
    font-weight: var(--font-bold);
}

.page.about .support .contact-info .main-info .sub-info {
    font-size: calc(var(--wh10) * 1.3);
    letter-spacing: 0.1em;
}

.page.about .recruit {
    position: relative;
    padding: var(--wh20) 0;
    text-align: center;
}

.page.about .recruit::before {
    content: '';
    display: block;
    padding: 0 var(--wh40);
    background: url(../img/top/access_icons_head.png) no-repeat center top;
    background-size: contain;
    width: 100%;
    height: var(--wh80);
    position: relative;
    
}

.page.about .recruit::after {
    content: '';
    display: block;
    padding: 0;
    background: url(../img/top/deco_scroll_foot.png) no-repeat center top;
    background-size: cover;
    width: 100%;
    height: var(--wh15);
    position: absolute;
    top: calc(var(--wh10) * -1);
}

.page.about .recruit p.lead-text {
    margin: 0 auto var(--wh20);
}

.page.about .recruit .btn {
    width: calc(var(--wh10) * 33);
    margin: var(--wh30) auto calc(var(--wh60) * 2);
}

.page.about .branch {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: url('../img/about/bg_branch_cut.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 100%;
    height: calc(var(--wh10) * 15.1);
    transform: rotate(0deg);
}

.page.about .activities + .illust-hozukinchan {
    position: absolute;
    z-index: 1;
    top: calc(var(--wh10) * 5);
    left: calc(var(--wh10) * 13);
}

.page.about .recruit + .illust-hozukinchan {
    z-index: 1;
    width: calc(var(--wh10) * 7);
    height: calc(var(--wh10) * 8.2);
    top: calc(var(--wh10) * -10.5);
    left: calc(var(--wh10) * 13);
}

/* ---------
　　活動内容
------------------------------------ */
.page.activities .main-contents h1 {
    margin-bottom: var(--wh40);
}

.page.activities .main-contents h1 img {
    width: calc(var(--wh10) * 26);
    padding: 0 var(--wh20);
}

.page.activities .main-contents .lead-text {
    width: 100%;
    height: calc(var(--wh10) * 24);
    padding-bottom: var(--wh35);
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('../img/activities/bg_kv.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    text-align: center;
}

.page.activities .activities-menu {
    background-color: var(--color-bg-light);
    padding: var(--wh40) var(--wh20) var(--wh50);
}

.page.activities .activities-menu .ttl-img {
    width: calc(var(--wh10) * 24);
    height: auto;
    margin: 0 auto;
    padding: 0 auto var(--wh25);
}

.page.activities .activities-list {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: var(--wh25) auto 0;
    border: 2px solid var(--color-primary);
    border-radius: calc(var(--wh10) * 4.5);
    background-color: var(--color-white);
    box-shadow: 0px 4px 0px var(--color-primary);
}

.page.activities .activities-list li {
    position: relative;
}

.page.activities .activities-list li::after {
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    width: calc(var(--wh10) * 2.4);
    height: calc(var(--wh10) * 2.4);
    border-radius: 9999px;
    box-shadow: 0px 3px 0px var(--color-primary);
    border: 1px solid var(--color-primary);
    content: '▼';
    font-size: calc(var(--wh10) * 0.9);
    color: var(--color-primary);
    position: absolute;
    right: var(--wh15);
    top: 50%;
    transform: translateY(-50%);
    padding-top: calc(var(--wh10) * 0.2);
    padding-left: calc(var(--wh10) * 0.2);
    transition: var(--transition);
}

.page.activities .activities-list li.group-home {
    width: calc(50% - var(--wh20));
}

.page.activities .activities-list li:not(:first-child) {
    background-image: linear-gradient(
        to right,
        rgba(30, 184, 115, 0.4) 2px,
        transparent 2px,
        transparent 6px
    );
    background-size: 8px 2px;
    background-repeat: repeat-x;
    width: 100%;
}

.page.activities .activities-list li a {
    transition: all 0.3s ease;
}

.page.activities .activities-list .inner {
    width: 100%;
    min-height: calc(var(--wh10) * 13.4);
    padding: var(--wh20) var(--wh25) var(--wh20) var(--wh20);
}

@media (min-width: 430px) {
    .page.activities .activities-list .inner {
        padding: var(--wh20) var(--wh40);
    }
}

.page.activities .activities-list .ttl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(var(--wh10) * 0.8);
    font-size: calc(var(--wh10) * 1.8);
    font-weight: var(--font-bold);
    letter-spacing: 0.05em;
    line-height: 1.15;
    color: var(--color-primary);
    margin-bottom:  calc(var(--wh10) * 0.5);
    padding-left: 0;
    position: relative;
    transform: translateX(calc(var(--wh10) * -1));
}

.page.activities .activities-list .ttl span.note {
    font-size: calc(var(--wh10) * 1.2);
    font-weight: var(--font-medium);
    letter-spacing: 0.1em;
}

.page.activities .activities-list .ttl img {
    max-width: calc(var(--wh10) * 4.2);
    max-height: calc(var(--wh10) * 4.6);
}

.page.activities .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-content: center;
    justify-content: center;
}

.page.activities .activities-menu .tags {
    justify-content: flex-start;
    margin-left: var(--wh20);
}

.page.activities .tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: calc(var(--wh10) * 1.3);
    font-weight: var(--font-bold);
    letter-spacing: 0.2em;
    height: calc(var(--wh10) * 2.2);
    padding: calc(var(--wh10) * 0.4) var(--wh10);
    border-radius: 9999px;
}

.page.activities .chiiki .tags span {
    background-color: rgba(249, 130, 54, 0.1);
    color: var(--color-accent);
}
.page.activities .group-home .tags span {
    background-color: rgba(110, 203, 28, 0.1);
    color: var(--color-secondary);
}
.page.activities .helper .tags span {
    background-color: rgba(240, 182, 63, 0.1);
    color: rgba(240, 182, 63, 1);
}
.page.activities .soudan .tags span {
    background-color: rgba(198, 120, 71, 0.1);
    color: rgba(198, 120, 71, 1);
}

/* 各活動 */
.page.activities .activities-cont {
    position: relative;
}

.page.activities .activities-cont::before {
    content: '';
    display: block;
    background: url(../img/top/access_icons_head.png) no-repeat center top;
    background-size: contain;
    width: 100%;
    height: var(--wh60);
    margin-top: var(--wh10);
}

.page.activities .activities-cont h2.ttl {
    font-size: calc(var(--wh10) * 2.8);
    font-weight: var(--font-extra-bold);
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom:  calc(var(--wh10) * 1);
    padding-left: 0;
    position: relative;
    text-align: center;
}

.page.activities .activities-cont h2.ttl::before {
    content: '';
    position: relative;
    left: 0;
    top: 0;
    display: block;
    background: url(../img/common/icon_hozuki.webp) no-repeat center top;
    background-size: contain;
    width: var(--wh60);
    height: var(--wh60);
    margin: var(--wh20) auto var(--wh10);
}

.page.activities .activities-cont.group-home h2.ttl::before {
    background: url(../img/common/icon_group.webp) no-repeat center top;
    background-size: contain;
}
.page.activities .activities-cont.helper h2.ttl::before {
    background: url(../img/common/icon_helper.webp) no-repeat center top;
    background-size: contain;
}
.page.activities .activities-cont.soudan h2.ttl::before {
    background: url(../img/common/icon_soudan.webp) no-repeat center top;
    background-size: contain;
}

.page.activities .lead .tags {
    margin-bottom: var(--wh20);
}

.page.activities .lead-img {
    position: relative;
}

.page.activities .lead-img::before,
.page.activities .lead-img::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3vw;
    left: 0;
}

.page.activities .lead-img::before {
    top: -1%;
    background: url(../img/common/deco_ph_top.webp) no-repeat top center;
    background-size: 100%;
}

.page.activities .lead-img::after {
    bottom: -1%;
    background: url(../img/common/deco_ph_bottom.webp) no-repeat bottom center;
    background-size: 100%;
}

.page.activities .lead .copy-text {
    font-size: calc(var(--wh10) * 2.2);
    font-weight: var(--font-extra-bold);
    margin-top: var(--wh30);
    letter-spacing: 0.1em;
    line-height: 1.75;
    text-align: center;
}

.page.activities .activities-cont.chiiki .copy-text {
    color: var(--color-accent);
}

.page.activities .activities-cont.group-home .copy-text {
    color: var(--color-secondary);
}

.page.activities .activities-cont.helper .copy-text {
    color: rgba(240, 182, 63, 1);
}

.page.activities .activities-cont.soudan .copy-text {
    color: rgba(198, 120, 71, 1);
}

.page.activities .lead .copy-text + .text  {
    padding: 0 var(--wh20);
}

.page.activities .activities-cont .activities-info {
    background: url(../img/activities/bg_info.webp) no-repeat center top;
    background-size: 100%;
    padding: var(--wh25) var(--wh30);
}

.page.activities .activities-cont .activities-info .note {
    font-size: calc(var(--wh10) * 1.2);
}

.page.activities .schedule-cont {
    margin-top: calc(var(--wh50) * 2);
    margin-bottom: calc(var(--wh50) * 2);
    background-color: var(--color-bg-light);
    position: relative;
}

.page.activities .schedule-cont::before,
.page.activities .schedule-cont::after {
    content: '';
    position: absolute;
    width: 600px;
    height: 290px;
    border-radius: 50%;
    background-color: var(--color-bg-light);
    z-index: 0;
}

.page.activities .schedule-cont::before {
    top: calc(var(--wh50) * -1);
    left: calc((600px - 100vw)/-2);
}

.page.activities .schedule-cont::after {
    bottom: calc(var(--wh50) * -1);
    left: calc((600px - 100vw)/-2);
}

@media (min-width: 431px) {
    .page.activities .schedule-cont::before,
    .page.activities .schedule-cont::after {
        left: calc((600px - 430px)/-2);
    }
}

.page.activities h3.ttl {
    font-size: var(--wh20);
    font-weight: var(--font-bold);
    letter-spacing: 0.1em;
    position: relative;
    text-align: center;
    background-image: linear-gradient(
        to right,
        rgba(30, 184, 115, 1) 2px,
        transparent 2px,
        transparent 6px
    );
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: center bottom;
    width: calc(100% - var(--wh40) * 2);
    margin: 0 auto;
    padding-bottom: var(--wh20);
}

.page.activities .schedule-cont h3::before {
    content: '';
    position: relative;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(var(--wh10) * 4.5);
    height: calc(var(--wh10) * 4.5);
    display: block;
}

.page.activities .chiiki .schedule-cont h3 span,
.page.activities .chiiki .schedule-list .color-text {
    color: var(--color-accent);
}
.page.activities .group-home .schedule-cont h3 span,
.page.activities .group-home .schedule-list .color-text {
    color: var(--color-secondary);
}
.page.activities .helper .schedule-cont h3 span,
.page.activities .helper .schedule-list .color-text {
    color: #F0B63F;
}
.page.activities .soudan .schedule-cont h3 span,
.page.activities .soudan .schedule-list .color-text {
    color: #C67847;
}

.page.activities .chiiki .schedule-cont h3::before {
    background: url('../img/common/icon_hozuki.webp') no-repeat center center;
    background-size: contain;
}
.page.activities .group-home .schedule-cont h3::before {
    background: url('../img/common/icon_group.webp') no-repeat center center;
    background-size: contain;
}
.page.activities .helper .schedule-cont h3::before {
    background: url('../img/common/icon_helper.webp') no-repeat center center;
    background-size: contain;
}
.page.activities .soudan .schedule-cont h3::before {
    background: url('../img/common/icon_soudan.webp') no-repeat center center;
    background-size: contain;
}

.page.activities .schedule-cont .schedule-list {
    position: relative;
    z-index: 1;
    padding: var(--wh20) 0 var(--wh10);
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--wh15);
    width: calc(100% - var(--wh40) * 2);
    margin: 0 auto;
}

.schedule-list::after {
    content: '';
    position: absolute;
    width: calc(var(--wh10) * 0.4);
    height: 90%;
    top: 5%;
    left: calc(var(--wh10) * 3.6);
    z-index: 0;
    background-color: var(--color-accent);
}

.group-home .schedule-list::after {
    background-color: var(--color-secondary);
}

.helper .schedule-list::after {
    background-color: #F0B63F;
}

.soudan .schedule-list::after {
    background-color: var(--color-primary);
}

.schedule-list li {
    display: flex;
    flex-direction: row;
    width: 100%;
    column-gap: calc(var(--wh10) * 0.8);
    line-height: 1.15;
}

.schedule-list li .year {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: calc(var(--wh10) * 7.72);
    height: calc(var(--wh10) * 7.2);
    background-image: url('../img/about/icon_fukidashi.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-family: var(--font-en);
    font-size: calc(var(--wh10) * 1.5);
    font-weight: var(--font-semibold);
    letter-spacing: 0.04em;
    color: var(--color-primary);
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    padding-right: calc(var(--wh10) * 0.4);
}

.schedule-list li .text p {
    font-size: var(--wh15);
    font-weight: var(--font-bold);
    line-height: 1.4 ;
    margin-top: var(--wh15);
    margin-bottom: var(--wh10);
}

.schedule-list li .text p .color-text {
    font-size: calc(var(--wh10) * 1.4);
    font-weight: var(--font-medium);
}

.schedule-list li .text figcaption {
    font-size: var(--wh14);
    margin-bottom: var(--wh10);
    color: var(--color-accent);
}

.schedule-list .sun,
.schedule-list .moon {
    position: relative;
}

.schedule-list .sun::after {
    content: '';
    position: absolute;
    top: 5%;
    right: 0%;
    transform: translate(50%, 0);
    width: calc(var(--wh10) * 3.6);
    height: calc(var(--wh10) * 3.6);
    background: url('../img/activities/illust_sun.png') no-repeat center center;
    background-size: contain;
}

.group-home .schedule-list .sun::after {
    top: 5%;
    right: -50%;
}

.schedule-list figure img[src*="thumb"] {
    width: calc(var(--wh10) * 7.6);
    height: auto;
    position: absolute;
}

.group-home .schedule-list .text {
    position: relative;
}

.group-home .schedule-list li:nth-child(3) figure img {
    left: 110%;
    top: -60%;
}

.group-home .schedule-list li:nth-child(4) figure img {
    left: 150%;
    top: -20%;
}

.group-home .schedule-list li:nth-child(7) figure img {
    left: 110%;
    top: -60%;
}

.schedule-list .moon::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 150%;
    transform: translate(-50%, 0);
    width: calc(var(--wh10) * 5.2);
    height: calc(var(--wh10) * 4.1);
    background: url('../img/activities/illust_moon.png') no-repeat center center;
    background-size: contain;
}

.group-home .schedule-list .moon::after {
    top: 0%;
    left: 350%;
}

.group-home .schedule-list li:nth-child(8) .sun::after {
    top: -170%;
    left: 80%;
}

.activities-cont .btn-s {
    padding: var(--wh20) var(--wh10) var(--wh40);
}

.activity-contents-text-list {
    font-size: calc(var(--wh10) * 1.4);
    letter-spacing: 0.1em;
    line-height: 1.88;
    color: var(--color-text);
    margin-bottom: var(--wh20);
}

.activity-contents-text-list li {
    background: url('../img/activities/icon_list_group-home.jpg') no-repeat left calc(var(--wh10) * 1.1);
    background-size: calc(var(--wh10) * 0.62) calc(var(--wh10) * 0.63);
    padding-left: 1em;
}

.helper .activity-contents-text-list li {
    background: url('../img/activities/icon_list_helper.jpg') no-repeat left calc(var(--wh10) * 1.1);
    background-size: calc(var(--wh10) * 0.62) calc(var(--wh10) * 0.63);
}

.activity-contents .left-ph,
.activity-contents .right-ph {
    width: calc(var(--wh10) * 25);
    height: calc(var(--wh10) * 14);
    margin-inline-start: 0;
    margin-inline-end: 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

.activity-contents .left-ph {
    margin-left: auto;  
}

.activity-contents .left-ph {
    margin-right: 0;  
}

.helper .activity-contents h3.ttl {
    margin-top: var(--wh30);
}

.helper .schedule-list li .text p {
    margin-bottom: var(--wh70);
}

.helper .schedule-list li:last-child .text p {
    margin-bottom: 0;
}

.helper .schedule-list li:nth-child(2) {
    padding-left: var(--wh60);
}

.helper .schedule-list li figure {
    position: relative;
    top: -30%;
    left: 105%
}

.helper .schedule-list li:nth-child(2) figure:nth-of-type(2) {
    left: 90%;
}

.helper .schedule-list li:nth-child(2) figure:nth-of-type(3) {
    left: 115%;
}

.activities-info .number a {
    font-family: var(--font-en);
    font-size: calc(var(--wh10) * 1.8);
    font-weight: var(--font-semibold);
    letter-spacing: 0.1em;
}

.activities-info *:last-child {
    margin-bottom: 0;
}

.soudan .activities-info {
    background: url(../img/activities/bg_info.webp) no-repeat center top;
    background-size: cover !important;
}

.soudan .activity-contents {
    margin-top: var(--wh50);
}





/* ---------
ブログ一覧
------------------------------------  */
.archive .page-content{
    width: 100%;
}

.archive h1 img {
    width: calc(var(--wh10) * 28.5);
    height: auto;
}

.archive .category-tag-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--wh10) calc(var(--wh10) * 0.8);
    margin: var(--wh40) auto var(--wh50);
}

.category-tag-list li {
    position: relative;
}

.category-tag-list li a {
    display: inline-flex;
    align-items: center;
    padding: calc(var(--wh10) * 0.8) calc(var(--wh10) * 1.2) calc(var(--wh10) * 0.8) var(--wh25);
    border: 2px solid rgba(30, 184, 115, 0.15);
    border-radius: 9999px;
    background-color: var(--color-white);
    color: var(--color-primary);
    font-size: calc(var(--wh10) * 1.4);
    font-weight: var(--font-bold);
    letter-spacing: 0.15em;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease; /* ホバー効果用 */
}

.category-tag-list li a.active {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: rgba(30, 184, 115, 1);
}

.category-tag-list li a::before {
    content: "";
    position: absolute;
    left: 10px; /* 左から10pxの位置に */
    top: 50%; /* 縦方向中央に */
    transform: translateY(-50%); /* 縦方向中央に調整 */
    width: calc(var(--wh10) * 1.2);
    height: calc(var(--wh10) * 1.2);
    border-radius: 50%;
    background-color: rgba(30, 184, 115, 0.15);
    background-image: url('../img/news/icon_check_off.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%; /* アイコンのサイズ調整 */
}

.category-tag-list li a.active::before {
    background-color: rgba(255, 255, 255, 1);
    background-image: url('../img/news/icon_check_on.svg'); /* 白いチェックマークの画像に変更 */
}

@media (hover: hover) and (pointer: fine) {
    .category-tag-list li a:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
        border-color: var(--color-primary);
    }
}

.archive .blog-list {
    background-color: var(--color-white);
    margin-bottom: var(--wh50);
}
.archive .blog-list li {
    position: relative;
    padding: var(--wh15) var(--wh50) var(--wh15) 0;
}

.archive .blog-list li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-image: linear-gradient(
        to right,
        rgba(30, 184, 115, 0.4) 2px,
        transparent 2px,
        transparent 6px
    );
    background-size: 8px 2px;
    background-repeat: repeat-x;
}

.archive .blog-list li:last-child::after {
    display: none;
}

.archive .blog-list a {
    gap: 0.5em;
}

.archive .blog-list a::after {
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    width: calc(var(--wh10) * 2.4);
    height: calc(var(--wh10) * 2.4);
    border-radius: 9999px;
    box-shadow: 0px 3px 0px var(--color-primary);
    border: 1px solid var(--color-primary);
    content: '▶︎';
    font-size: calc(var(--wh10) * 0.9);
    color: var(--color-primary);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding-left: calc(var(--wh10) * 0.3);
    transition: var(--transition);
}

@media (hover: hover) and (pointer: fine) {
    .archive .blog-list a:hover::after {
        box-shadow: 0px 0px 0px var(--color-primary);
    }
}

.archive .item-wrapper {
    width: 100%;
}

.archive .blog-list .meta {
    margin-bottom: var(--wh10)
}

.archive .blog-list time {
    margin-left: 0;
}

.archive .blog-list .tag-cat {
    font-size: calc(var(--wh10) * 1.1);
}

.archive .blog-list .title {
    font-size: calc(var(--wh10) * 1.4);
    line-height: 1.75;
    color: var(--color-primary);
}

/* icon背景カラー */
.archive .blog-list .thumb {
    background-color: #FEF7E1;
}
.archive .blog-list .thumb.icon.volunteer {
    background-color: #FEF7E1;
}
.archive .blog-list .thumb.icon.job {
    background-color: #E8F7DC;
}
.archive .blog-list .thumb.icon.event {
    background-color: #FEEDE0;
}
.archive .blog-list .thumb.icon.report,
.archive .blog-list .thumb.icon.info {
    background-color: #DBF4E9;
}

/* リンクボタン */
.pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--wh80);
    margin-bottom: var(--wh80);
    position: relative;
}

.pagination a {
    width: calc(var(--wh80) * 2 + var(--wh10));
    display: flex;
    align-items: center;
    justify-content: right;
    padding: var(--wh20) var(--wh25) var(--wh20) var(--wh10);
    color: var(--color-primary);
    border: 2px solid currentColor;
    border-radius: 9999px 0 0 9999px;
    font-size: var(--wh16);
    font-weight: var(--font-bold);
    letter-spacing: 0.15em;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    position: relative;
    background: var(--color-white);
    left: calc(var(--wh10) * -0.2);
}

.pagination .prev {
    position: absolute;
    left: calc(var(--wh10) * -0.4);
}

.pagination .prev a {
    border-radius: 0 9999px  9999px 0;
}

.pagination .next {
    position: absolute;
    right: calc(var(--wh10) * -0.4);
}

.pagination .next a {
    border-radius: 9999px 0 0 9999px;
    right: calc(var(--wh10) * 0.4);
}

.pagination .prev a::after {
    padding-top: calc(var(--wh10) * 0.55);
    padding-left: calc(var(--wh10) * 0.25);
    transform: rotate(-90deg) translateY(50%);
    position: absolute;
    left: 0;
}

.pagination .next a::after {
    padding-top: calc(var(--wh10) * 0.55);
    padding-left: calc(var(--wh10) * 0.25);
    border-radius: 9999px;
    font-family: var(--font-en);
    font-size: var(--wh10);
    text-align: center;
    background: var(--color-primary);
    color: var(--color-white);
    transform: rotate(90deg) translateY(-50%);
    z-index: 1;
}

.archive .back-link .btn-s {
    margin: var(--wh20) 0;
    letter-spacing: 0.06em;
}

/* ---------
個人情報保護方針
.privacy
------------------------------------ */
.privacy h1 {
    font-size: calc(var(--wh10) * 2.6);
    font-weight: var(--font-extra-bold);
    margin-bottom: var(--wh30);
}

.privacy .page-content h2 {
    font-size: calc(var(--wh10) * 1.8);
    font-weight: var(--font-bold);
    line-height: 1.55;
    margin-top: calc(var(--wh10) * 3);
    margin-bottom: calc(var(--wh10) * 1.6);
}

.privacy .page-content h3 {
    font-size: calc(var(--wh10) * 1.5);
    font-weight: var(--font-bold);
    letter-spacing: 0.15em;
    margin-bottom: calc(var(--wh10) * 0.5);
}

.privacy .page-content p {
    letter-spacing: 0.15em;
}

.privacy .address-cont {
    color: var(--color-text);
    margin-bottom: calc(var(--wh10) * 4);
}

.privacy .address-cont h4 {
    font-size: calc(var(--wh10) * 1.5);
    font-weight: var(--font-bold);
    letter-spacing: 0.15em;
    color: var(--color-text);
    margin-bottom: calc(var(--wh10) * 0.5);
}

.privacy .address-cont li {
    font-size: calc(var(--wh10) * 1.4);
    letter-spacing: 0.15em;
    margin-bottom: calc(var(--wh10) * 0.5);
}

/* ---------
フォーム
.contact
------------------------------------ */
.iframe-wrapper iframe {
    width: 100%;
    min-height: 100svh;
}

.page.contact h1 {
    margin-bottom: var(--wh30);
}

.page.contact h1 img {
    width: calc(var(--wh10) * 42.8 / 2);
}

/* フォーム長さ調整 */
@media (max-width: 414px) {
    .page .full-bleed iframe { height: 1900px; }
}
@media (min-width: 430px) {
    .page .full-bleed iframe { height: 1850px; }
}


/* ---------
404
------------------------------------ */
.error404 .page-content {
    text-align: center;
    padding: 0 var(--wh20);
}