@charset "UTF-8";

/* activity ---------------------------------------*/

.activity {
    padding-bottom: 12.8vw;
}

.activityintroduction {
    padding: 9vw 0 15vw;
}

.activityintroduction-lead {
    width: 84.9vw;
    margin: 0 0 0 auto;
    padding-bottom: 0.8vw;
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.activityintroduction-lead-title {
    font-size: max(2.188vw,24px);
    line-height: 2.3;
    letter-spacing: 0.08em;
    flex: 1;
}

.activityintroduction-lead-detail {
    padding-top: 1.2vw;
    width: 57.29vw;
}

.activityintroduction-lead-image {
    width: 100%;
}

.activityintroduction-lead-image img {
    width: 100%;
}

.activityintroduction-lead-text {
    padding: 4.5vw 0 4.5vw 6.2vw;
    font-size: max(0.833vw,14px);
    line-height: 3.7;
    letter-spacing: 0.1em;
}

.activityintroduction-footerimage {
    width: 57.29vw;
}

.activityintroduction-footerimage img {
    width: 100%;
}

.activityculture-inner {
    width: 69.79vw;
    margin: 0 auto;
}

.activityculture-title {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 3.4vw;
    margin-bottom: 4.3vw;
}

.activityculture-title-sub {
    font-size: max(0.833vw,14px);
    padding-right: 4vw;
    position: relative;
    line-height: 1;
    letter-spacing: 0.1em;
}

.activityculture-title-sub::after {
    display: block;   
	content: '';
	background: #000; 
	width: 2.5vw;
	height: 1px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.activityculture-title-main {
    font-size: max(2.188vw,24px);
    line-height: 2.1;
    letter-spacing: 0.1em;
}

.activity-list {
    display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
    gap: 2.2vw 5.225%;
    margin-bottom: 2.2vw;
}

.activity-list-item {
    width: 29.85%;
}

.activity-list-item-image {
    width: 100%;
}

.activity-list-item-image img {
    width: 100%;
}

.activity-list-item-title {
    margin-top: 1.2vw;
    font-size: max(0.938vw,15px);
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding-bottom: 1.4vw;
    position: relative;
}

.activity-list-item-title::after {
    display: block;   
	content: '';
	background: #000; 
	width: 12.5%;
	height: 1px;
	position: absolute;
	left: 0;
    bottom: 0;
}

.activityordinary,.activitychild {
    width: 69.79vw;
    margin: 10.5vw auto 0;
}

.activityordinary-title,.activitychild-title {
    font-size: max(1.563vw,20px);
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin-bottom: 4.3vw;
}

.activityseason {
    width: 69.79vw;
    margin: 10.5vw auto 0;
}

.activityspring,.activitysummer,.activityautumn,.activitywinter {
    margin-top: 13vw;
}

.activityhead {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
    margin-bottom: 3vw;
}

.activityhead-title {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
    flex-direction: column;
	gap: 0.8vw;
    margin-bottom: 3vw;
    width: 40.6%;
    min-width: 300px;
}

.activityspring .activityhead-title,.activitysummer .activityhead-title,.activityautumn .activityhead-title,.activitywinter .activityhead-title {
    margin-bottom: 0.5vw;
}

.activityhead-title-sub {
    font-size: max(0.833vw,14px);
    padding-right: 4.5vw;
    position: relative;
    line-height: 1;
    letter-spacing: 0.1em;
}

.activityhead-title-sub::after {
    display: block;   
	content: '';
	background: #000; 
	width: 2.7vw;
	height: 1px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.activityhead-title-main {
    font-size: max(2.083vw,22px);
    line-height: 2.2;
    letter-spacing: 0.15em;
}

.activityhead-title-main b {
    font-size: max(3.125vw,36px);
    font-weight: 400;
}

.activityhead-title-main.is-spring b {
    color: #EF3C87;
}

.activityhead-title-main.is-summer b {
    color: #0FA71A;
}

.activityhead-title-main.is-autumn b {
    color: #BA8408;
}

.activityhead-title-main.is-winter b {
    color: #0895A0;
}

.activityhead-list-wrapper {
    flex: 1;
}

.activityhead-list li {
    font-size: max(0.833vw,12px);
    line-height: 2.5;
    letter-spacing: 0.1em;
    display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}

.activityhead-list li::before {
	content: '・';
	width: 1em;
    height: 2em;
    position: relative;
    top: -0.2vw;
}

.activityhead-spring {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.activityhead-spring .activityhead-list {
    min-width: 14vw;
}

.activityhead-summer {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.activityhead-summer .activityhead-list {
    min-width: 13.5vw;
}

.activityhead-autumn {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.activityhead-autumn .activityhead-list {
    min-width: 14vw;
}

.activityhead-winter {
    display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.activityhead-winter .activityhead-list {
    min-width: 14vw;
}


/* pc only */
@media screen and (min-width: 768px){
}


/* sp only */
@media screen and (max-width: 767px){

    /* activity ---------------------------------------*/

    .activityintroduction {
        padding: 0 0 25.8vw;
    }

    .activityintroduction-lead {
        width: 100%;
        margin: 0 auto;
        padding-bottom: 0;
        display: block;
    }

    .activityintroduction-lead-title {
        width: 74.359vw;
        font-size: 4.615vw;
        margin: 0 auto;
        line-height: 2.2;
        letter-spacing: 0.1em;
        flex: 1;
        padding: 24vw 0;
    }

    .activityintroduction-lead-detail {
        width: 100%;
        padding-top: 0;
    }

    .activityintroduction-lead-image {
        width: 93.589vw;
        margin: 0 0 0 auto;
    }

    .activityintroduction-lead-image img {
        width: 100%;
    }

    .activityintroduction-lead-text {
        padding: 17vw 0 18vw 0;
        width: 74.359vw;
        margin: 0 auto;
        font-size: 3.077vw;
        line-height: 2.95;
        letter-spacing: 0.1em;
    }

    .activityintroduction-footerimage {
        width: 93.589vw;
        margin: 0 auto 0 0;
    }

    .activityculture-inner {
        width: 80.18vw;
        margin: 0 auto;
    }

    .activityculture-title {
        gap: 5vw;
        margin-bottom: 17.5vw;
        padding-left: 6.5vw;
    }

    .activityculture-title-sub {
        font-size: 2.4vw;
        padding-right: 11vw;
        letter-spacing: 0.08em;
    }

    .activityculture-title-sub::after {
        width: 6.5vw;
        height: 0.5px;
    }

    .activityculture-title-main {
        font-size: 4.615vw;
        letter-spacing: 0.1em;
    }

    .activity-list {
        gap: 9vw 5.9%;
        margin-bottom: 9vw;
    }

    .activity-list.has-full-image {
        gap: 5.128vw 5.9%;
    }

    .activity-list-item {
        width: 47.05%;
    }

    .activity-list-item.is-full {
        width: 100%;
    }

    .activity-list-item-title {
        font-size: 2.564vw;
        letter-spacing: 0.02em;
        line-height: 1.8;
        margin-top: 5vw;
        padding-bottom: 5vw;
        position: relative;
    }

    .activity-list-item-title::after {
        width: 15.625%;
        height: 0.5px;
    }

    .is-full .activity-list-item-title::after {
        width: 7%;
    }

    .activityordinary,.activitychild {
        width: 80.18vw;
        margin: 19.5vw auto 0;
    }

    .activityordinary-title,.activitychild-title {
        font-size: 4.103vw;
        letter-spacing: 0.1em;
        margin-bottom: 10vw;
    }

    .activityseason {
        width: 80.18vw;
        margin: 31vw auto 0;
    }

    .activityhead {
        display: block;
        margin-bottom: 10.5vw;
        padding-left: 6.5vw;
    }

    .activityspring .activityhead,.activitysummer .activityhead,.activityautumn .activityhead,.activitywinter .activityhead {
        margin-bottom: 17.5vw;
    }

    .activityhead-title {
        gap: 3.4vw;
        margin-bottom: 8vw;
        width: 100%;
        min-width: unset;
    }

    .activityspring .activityhead-title,.activitysummer .activityhead-title,.activityautumn .activityhead-title,.activitywinter .activityhead-title {
        margin-bottom: 8vw;
    }

    .activityhead-title-sub {
        font-size: 2.4vw;
        padding-right: 11vw;
        letter-spacing: 0.08em;
    }

    .activityhead-title-sub::after {
        width: 6.5vw;
        height: 0.5px;
    }

    .activityhead-title-main {
        font-size: min(4.615vw,18px);
        font-size: 4.615vw;
        line-height: 2.2;
        letter-spacing: 0.1em;
    }

    .activityhead-title-main b {
        font-size: min(7.692vw,30px);
        font-size: 7.692vw;
    }

    .activityhead-list li {
        font-size: 3.077vw;
        line-height: 2.92;
        letter-spacing: 0.15em;
    }

    .activityhead-list li::before {
        width: 1.2em;
        height: 2.92em;
    }

    .activityhead-spring {
        display: block;
    }

    .activityhead-spring .activityhead-list {
        min-width: unset;
    }

    .activityhead-summer {
        display: block;
    }

    .activityhead-summer .activityhead-list {
        min-width: unset;
    }

    .activityhead-autumn {
        display: block;
    }

    .activityhead-autumn .activityhead-list {
        min-width: unset;
    }

    .activityhead-winter {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .activityhead-winter .activityhead-list {
        min-width: 12vw;
    }

}


/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}