@charset "UTF-8";

/* ===============================================
  top
=============================================== */

/* スマホ時の横スクロール防止（html のみ指定・他要素には影響させない） */
html.top {
	overflow-x: hidden;
}

/* ==============================
  mv slide（他swiperに影響しないようスコープ）
============================== */
.swiper-mv {
	position: relative;
}



/* MV用矢印：白・矢印型（固有クラスで他swiperに影響しない） */
.swiper-mv__prev,
.swiper-mv__next {
	color: var(--color-white)!important;
	position: relative;
}
@media (max-width: 767px) {
	.swiper-mv__prev,
	.swiper-mv__next {
		display: none !important;
	}
}

.swiper-mv__prev svg,
.swiper-mv__next svg {
	display: none;
}
.swiper-mv__prev::before,
.swiper-mv__prev::after,
.swiper-mv__next::before,
.swiper-mv__next::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1.8em;
	height: 0.45em;
	background: currentColor;
	transform-origin: center center;
}
.swiper-mv__prev::before,
.swiper-mv__prev::after {
	left: 30%;
	transform-origin: left center;
}
.swiper-mv__prev::before {
	transform: translateY(-50%) rotate(-45deg);
}
.swiper-mv__prev::after {
	transform: translateY(-100%) rotate(45deg);
}
.swiper-mv__next::before,
.swiper-mv__next::after {
	right: 30%;
	transform-origin: right center;
}
.swiper-mv__next::before {
	transform: translateY(-50%) rotate(45deg);
}
.swiper-mv__next::after {
	transform: translateY(-100%) rotate(-45deg);
}
.swiper-mv__logo {
	display: none;
	margin: 0;
	font-size: inherit;
}
@media (min-width: 768px) {
	.swiper-mv__logo {
		position: absolute;
		top: 40px;
		left: 4%;
		z-index: 10;
		display: block !important;
		width: clamp(20rem, 40%, 80rem);
		max-width: 100%;
		transition: opacity 0.3s ease;
	}
	.swiper-mv__logo a {
		display: block;
	}
	.swiper-mv__logo img {
		width: 100%;
		height: auto;
		display: block;
	}
}
.swiper-mv .swiper-slide {
	position: relative;
}
.swiper-mv__caption {
	position: absolute;
	bottom: 8%;
	left: 8%;
	right: auto;
	max-width: 90%;
	display: flex;
	flex-direction: column;
	gap: 0.4em;
	align-items: flex-start;
	z-index: 5;
}
/* 1つ1つ分けた帯 */
.swiper-mv__band {
	display: block;
	padding: 0.4em 0.8em;
	background: var(--color-white);
	color: var(--color-text);
	font-size: 1em;
	line-height: 1.5;
	border-radius: 2px;
}
@media (max-width: 767px) {
	.swiper-mv__band {
		display: none !important;
	}
}
/* 白い線と文字のボタン（透明背景） */
.swiper-mv__btn {
	padding: 0.5em 1.5em 0.5em 1.2em;
	border: 2px solid var(--color-white);
	color: #fff;
	font-size: 0.9em;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2em;
	transition: opacity 0.3s ease;
	position: relative;
	padding-right: 4.5em !important;
	margin-top: 1.5em;
}
.swiper-mv__btn:hover {
	opacity: 0.9;
}
.swiper-mv__btn:visited {
	color: var(--color-white)!important;
}
/* Swiper MVボタン：half-arrowを白に、少し太く、文字・ボタン線との重なり解消 */
.swiper-mv__btn.c-btn--arrow::after {
	filter: brightness(0) invert(1);
	right: 0.8em;
	background-position: center center;
}
.swiper-mv__btn.c-btn--arrow:hover::after {
	transform: translateY(-50%) translateX(4px);
}
.swiper-mv .swiper-slide img {
	height: auto;
	width: 100%;
}
@media (max-width: 767px) {
	.swiper-mv {
		aspect-ratio: 1 / 1;
	}
	.swiper-mv .swiper-slide {
		overflow: hidden;
	}
	.swiper-mv .swiper-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}
}


/* ==============================
  ticker
=============================== */
#custom-ticker {
	width: 100%;
	overflow: hidden;
	position: sticky;
	top: 0;
	z-index: 9999;
	display: flex;
	align-items: stretch;
	margin-top: 1em;
	line-height: 1;
	font-size: 0.9em;
}
.ticker__label {
	display: flex;
	align-items: center;
	padding: 0.2em 1em;
	font-weight: bold;
	flex-shrink: 0;
	border: 1px solid var(--color-gray-dark);
	margin-left: 1em;
	line-height: 1.4;
	align-self: center;
}
#ticker-inner {
	flex: 1;
	overflow: hidden;
	height: 2.8em;
	display: flex;
	align-items: flex-start;
}
.ticker__track {
	width: 100%;
	transition: transform 0.4s ease;
}
.ticker__item {
	display: flex;
	align-items: center;
	height: 2.8em;
	padding: 0 1em;
	text-decoration: none;
	color: var(--color-text);
	font-size: 0.95em;
	line-height: 1.4;
	box-sizing: border-box;
	gap: 1em;
}
.ticker__date {
	flex-shrink: 0;
}
.ticker__txt {
	flex: 1;
	min-width: 0;
}
.ticker__item:hover {
	color: var(--color-link-hover);
}
.ticker__item:hover .ticker__date {
	color: inherit;
}

/* ハンバーガーメニュー表示時: ティッカーを背面に */
body.u-overflow-hidden #custom-ticker {
	z-index: 1;
}

/* スマホ時：ラベル非表示、右→左に横スクロール */
@media (max-width: 767px) {
	.ticker__label {
		display: none;
	}
	#custom-ticker {
		margin-left: 0;
	}
	#ticker-inner {
		height: 2.5em;
		align-items: center;
	}
	.ticker__track--horizontal {
		display: inline-flex;
		flex-direction: row;
		flex-wrap: nowrap;
		white-space: nowrap;
		animation: ticker-horizontal 20s linear infinite;
	}
	.ticker__track--horizontal:hover {
		animation-play-state: paused;
	}
	.ticker__item--horizontal {
		display: inline-flex;
		align-items: center;
		height: auto;
		padding: 0 4em 0 0;
		flex-shrink: 0;
	}
	.ticker__item--horizontal .ticker__txt {
		white-space: nowrap;
	}
}
@keyframes ticker-horizontal {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.heading-ttl__img--v, .heading-ttl__img--h {
	width: clamp(20rem, 50vw, 80rem);
	margin: 0 auto;
}

@media (min-width: 768px){
	.heading-ttl__img--v {
		width: 9.8vw;
		height: auto;
	}
	.heading-ttl__img--h {
		width: 25vw;
		height: auto;
	}
	.voice .heading-ttl__img--v {
		width: 9.8vw;
		height: auto;
	}
}
@media (min-width: 768px) and (max-width:1279px) {
	.voice .heading-ttl__img--v {
		width: 25vw!important;
		height: auto;
	}
}

.voice-card__name {
	text-align: center;
	font-size: 1.2em;
	padding-top: 1em;
}

.top-btn--arrow-v {
    position: relative;
    padding-bottom: 2em !important;
}

/* 縦書き時：親幅に合わせて矢印を中央配置 */
@media (min-width: 768px) {
    .info .info__ttl-link .top-btn--arrow-v {
        display: block;
        width: 100%;
        text-align: center;
    }
}

.top-btn--arrow-v::after {
    content: '';
    position: absolute;
    left: 50%;
    right: auto;
    top: auto;
    bottom: 0;
    transform: translateX(-50%);
    width: 2.5em;
    height: 1em;
    background-image: url("/common/img/half-arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: transform 0.3s ease;
}

@media (hover: hover) {
    .top-btn--arrow-v:hover::after {
        transform: translateX(calc(-50% + 16px));
    }
}


.top__inner-txt{
	width: 100%;
}
@media (min-width: 960px) {
	.top__inner-txt{
		width: 24em;
		max-width: 100%;
		margin: 0 auto;
	}
}


/* ==============================
	index-for
============================== */
section.index-for {
	background-image: url('/img/bg_index-for.jpg');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	padding-top: 1em;
}
.index-for__item{
	width: 80%;
	margin: 0 auto;
	margin-top: 5em;
}
.index-for__link {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
	gap: 1em;
	width: 100%;
}
.index-for__item:nth-child(2) .index-for__link {
	flex-direction: row;
}

@media (min-width: 768px) {
	.index-for__container {
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1.1;
	}
	.index-for__item {
		position: absolute;
		width: 50%;
		margin: 0;
	}
	.index-for__link {
		gap: 0.5em;
	}
	.index-for__item:nth-child(2) .index-for__link {
		flex-direction: row-reverse;
	}
	.index-for__item-img {
		width: 18em;
		min-width: 18em;
		max-width: 18em;
		flex-shrink: 0;
	}
	.index-for__item:nth-child(1) {
		top: 0;
		left: 0%;
	}
	.index-for__item:nth-child(2) {
		top: 30%;
		right: 0%;
	}
	.index-for__item:nth-child(3) {
		top: 58%;
		left: 13%;
		right: auto;
	}
}

@media (min-width: 960px) {
	.index-for__container {
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1;
	}
	.index-for__item:nth-child(1) {
		top: 8%;
		left: 1%;
	}
	.index-for__item:nth-child(2) {
		top: 30%;
		right: 0%;
	}
	.index-for__item:nth-child(3) {
		top: 58%;
		left: 13%;
		right: auto;
	}
}


.index-for__item-ttl--v, .index-for__item-ttl--h {
	writing-mode: vertical-rl;
}

/* フキダシ画像：スマホ時は--vと--hで共通（縦書きテキストの右上） */
.index-for__item-ttl--v, .index-for__item-ttl--h {
	position: relative;
}
.index-for__item-ttl--v::before,
.index-for__item-ttl--h::before {
	content: "";
	position: absolute;
	top: -2.5em;
	right: -2em;
	width: 4em;
	height: 2.5em;
	background-image: url("/img/img_index-for-ttl-v-bubble.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

@media (min-width: 768px) {
	.index-for__item-ttl--h {
		writing-mode: horizontal-tb;
		white-space: nowrap;
	}
	.index-for__item-ttl--h {
		text-align: center;
	}
	/* 768px以上：--hは別の位置・画像（横書きテキストの左上） */
	.index-for__item-ttl--h::before {
		top: -2.2em;
		left: -2em;
		right: auto;
		background-image: url("/img/img_index-for-ttl-h-bubble.png");
	}
}

.index-for__item:nth-child(-n+2) .index-for__item-ttl {
    writing-mode: vertical-rl;
}

.index-for__item-img {
	width: clamp(10rem, 30vh, 40rem);
}
.index-for__link {
	display: flex;
	color: inherit !important;
	text-decoration: none;
}
.index-for__link:hover,
.index-for__link:visited {
	color: inherit !important;
}


/* ==============================
	product
============================== */
section.product {
	padding-top: 23%;
	background-image: url('/img/bg_product.jpg');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
}

.wrap_scroll {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-top: 15px;
    padding-bottom: 1em;
}
@media (min-width: 960px) {
	.wrap_scroll {
		margin-top: -2em;
	}
}

.wrap_scroll .scroll {
    display: flex;
    gap: 10px;
    animation: scroll 30s linear infinite;
    width: max-content;
}

.wrap_scroll .scroll > div {
    position: relative;
    width: calc((100vw - (2 * 10px)) / 3);
    height: calc((100vw - (2 * 10px)) / 3);
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: center center;
    will-change: transform;
}

.wrap_scroll__overlay {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.4em;
    background-color: color-mix(in srgb, var(--color-primary) 80%, transparent);
    color: var(--color-white);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.wrap_scroll .scroll > div:hover .wrap_scroll__overlay {
    opacity: 1;
}

.wrap_scroll__overlay-name {
    margin: 0 0 0.5em;
    font-weight: 900;
    font-size: 1em;
    line-height: 1.3;
}

.wrap_scroll__overlay-row {
    margin: 0.15em 0;
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1.4;
}

.wrap_scroll .slide01 { background-image: url('/img/img_slide-veg01.png'); }
.wrap_scroll .slide02 { background-image: url('/img/img_slide-veg02.png'); }
.wrap_scroll .slide03 { background-image: url('/img/img_slide-veg03.png'); }
.wrap_scroll .slide04 { background-image: url('/img/img_slide-veg04.png'); }
.wrap_scroll .slide05 { background-image: url('/img/img_slide-veg05.png'); }
.wrap_scroll .slide06 { background-image: url('/img/img_slide-veg06.png'); }
.wrap_scroll .slide07 { background-image: url('/img/img_slide-veg07.png'); }
.wrap_scroll .slide08 { background-image: url('/img/img_slide-veg08.png'); }
.wrap_scroll .slide09 { background-image: url('/img/img_slide-veg09.png'); }
.wrap_scroll .slide10 { background-image: url('/img/img_slide-veg10.png'); }
.wrap_scroll .slide11 { background-image: url('/img/img_slide-veg11.png'); }
.wrap_scroll .slide12 { background-image: url('/img/img_slide-veg12.png'); }
.wrap_scroll .slide13 { background-image: url('/img/img_slide-veg13.png'); }
.wrap_scroll .slide14 { background-image: url('/img/img_slide-veg14.png'); }

@media (min-width: 768px) {
    .wrap_scroll .scroll {
        gap: 20px;
    }
    .wrap_scroll .scroll > div {
        width: calc((100vw - (4 * 20px)) / 5);
        height: calc((100vw - (4 * 20px)) / 5);
    }
}
@media (min-width: 960px) {
    .wrap_scroll .scroll {
        gap: 30px;
    }
    .wrap_scroll .scroll > div {
        width: calc((100vw - (5 * 30px)) / 6);
        height: calc((100vw - (5 * 30px)) / 6);
    }
}
@media (min-width: 1280px) {
    .wrap_scroll .scroll {
        gap: 40px;
    }
    .wrap_scroll .scroll > div {
        width: calc((100vw - (7 * 40px)) / 8);
        height: calc((100vw - (7 * 40px)) / 8);
    }
}

/* 横スクロールのアニメーション定義 */
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50%)); }
}

/* ポヨンと跳ねるアニメーション定義 */
@keyframes bounce {
    0%, 100% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-15px) scale(1.05); }
    50% { transform: translateY(-5px) scale(1.02); }
    75% { transform: translateY(-12px) scale(1.03); }
    85% { transform: translateY(-3px) scale(1.01); }
}

/* JSで付与されるクラス */
.bouncing {
    animation: bounce 0.4s cubic-bezier(0.36, 0, 0.66, -0.56);
    z-index: 1;
    position: relative;
    will-change: transform;
}

.product__caption {
	text-align: right;
	font-size: 0.75em;
}


/* ==============================
	roadmap
============================== */
section.roadmap {
    background-image: url('/img/bg_roadmap.jpg');
    background-repeat: no-repeat;
    background-position: left bottom;
	padding-bottom: 50%;
    background-size: 90% auto;
}

@media (min-width: 960px) {
	section.roadmap {
		background-position: left center;
		padding-bottom: 0;
		background-size: 50% auto;
	}
}

.roadmap__illust {
    width: 15%;
    margin-left: auto;
}
/* ==============================
	number
============================== */
section.number {
    background-image: url('/img/bg_number.jpg');
    background-repeat: no-repeat;
    background-position: right bottom;
	padding-bottom: 50%;
    background-size: 90% auto;
}

@media (min-width: 960px) {
	section.number {
		background-position: right center;
		padding-bottom: 0;
		background-size: 50% auto;
	}
}

.number__illust {
    width: 15%;
    margin-right: auto;
}


/* ==============================
	voice
============================== */
.voice .p-voiceimg__badge--top {
    width: clamp(4.5rem, 10vw, 9rem);
    height: clamp(4.5rem, 10vw, 9rem);
    padding: 0.5em 0.6em;
    top: -1.2em;
    left: -1em;
    font-size: clamp(0.6em, 1.5vw, 1em);
    gap: 0.2em;
}
.voice .p-voiceimg__badge--top .p-voiceimg__badge-category {
    font-size: clamp(.9rem, 1vw, 1em);
}
.voice .p-voiceimg__badge--top .p-voiceimg__badge-year {
    font-size: clamp(.8rem, .85vw, 1em);
}
@media (max-width: 767px) {
    .voice .p-voiceimg__badge--top .p-voiceimg__badge-year {
        display: none;
    }
}

@media (min-width: 768px) {
	.voice .p-voiceimg__badge--top {
		width: clamp(3.5em, 7vw, 6em);
		height: clamp(3.5em, 7vw, 6em);
		font-size: clamp(0.6em, 1.5vw, 1em);
	}
	.voice .p-voiceimg__badge--top .p-voiceimg__badge-category {
		font-size: clamp(.9rem, 1vw, 1em);
	}
	.voice .p-voiceimg__badge--top .p-voiceimg__badge-year {
		font-size: clamp(.8rem, .85vw, 1em);
	}
}

.voice .p-voiceimg__name {
	text-align: center;
}


.voice__container {
    width: 100;
    margin: 0 auto;
}
.voice__item-txt {
    width: 88%;
    margin: 0 auto;
    transition: all 0.3s ease-in-out;
}

@media (min-width: 768px) {
	.voice-inner {
		width: 94%;
		margin-left: 0;
		margin-right: auto;
	}
}
@media (min-width: 1280px) {
	.voice__container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 2em;
		width: 96%;
		max-width: none;
		margin-left: 0;
		margin-right: auto;
	}
	.voice__item-txt {
		flex: 0 0 auto;
		order: 2;
		width: auto;
		max-width: 280px;
		min-width: 0;
		margin: 0;
	}
	.voice__item-slider {
		flex: 1 1 0%;
		order: 1;
		min-width: 0;
		overflow-x: hidden;
		overflow-y: visible;
		padding-right: 2em;
		padding-top: 2em;
	}
}

.voice .swiper {
	width: 100%;
	height: auto;
	margin: 2em auto;
	overflow-x: hidden;
	overflow-y: visible;
}

.voice .swiper-slide {
	width: 80%;
	height: auto;
	margin-left: auto;
	margin-right: 0;
	padding-top: 2em;
	padding-left: 1.5em;
	color: #fff;
	font-weight: bold;
	opacity: 1;
	transition: opacity 0.3s ease;
}
.voice .swiper-slide a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}
.voice .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.voice .voice-card .p-voiceimg__img img {
	opacity: 0.8;
}
@media (hover: hover) {
	.voice .voice-card:hover .p-voiceimg__img img {
		transform: scale(1.05);
	}
}

.voice .swiper-slide-active {
	opacity: 1;
}
@media (min-width: 1280px) {
	.voice .swiper-slide-prev,
	.voice .swiper-slide-active,
	.voice .swiper-slide-next {
		opacity: 1;
	}
}


/* ==============================
	others
============================== */




/* ==============================
	info
============================== */
@media (min-width: 768px) {
	.info .info__ttl,
	.info .info__ttl-link,
	.info .info__ttl-link a {
		writing-mode: vertical-rl;
	}
}
@media (min-width: 768px) {
    .info__heading {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        height: 100%;
    }

    .info .info__ttl,
    .info .info__ttl-link {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        margin-left: 0;
        margin-right: 0;
    }

    .info .info__ttl-link {
        margin-top: 2em;
        text-align: left;
    }
}

.info .p-info-card__item-link {
    display: flex;
    flex-direction: column;
    gap: 1em;
    text-decoration: none;
    color: inherit;
}
.info .p-info-card__item-link .p-info-card__item-img {
    order: 1;
}
.info .p-info-card__item-link .p-info-card__item-txt {
    order: 2;
}
.info .p-info-card__cat[href] {
    text-decoration: none;
}
.info .p-info-card__cat[href]:hover {
    color: var(--color-link-hover);
}

@media (hover: hover) and (max-width: 767px) {
    .info .info__heading .top-btn--arrow-v:hover::after {
        transform: translateY(-50%) translateX(8px);
    }
}

@media (max-width: 767px) {
    .info .info__container {
        display: flex;
        flex-direction: column;
        gap: 1.5em;
    }
    .info .info__container .c-column__item {
        width: 100%;
        min-width: 0;
    }
    .info .info__heading {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        gap: 1em;
    }
    .info .info__heading .info__ttl {
        margin: 0;
        flex-shrink: 0;
    }
    .info .info__heading .info__ttl-link {
        margin: 0;
        flex-shrink: 0;
    }
    .info .info__heading .top-btn--arrow-v {
        padding-bottom: 0 !important;
        padding-right: 3em !important;
    }
    .info .info__heading .top-btn--arrow-v::after {
        left: auto;
        right: 0;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
    }
    .info .info__list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4em;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .info .info__list li {
        width: 100%;
        min-width: 0;
    }
    .info .p-info-card__item {
        padding: 0 0 1.5em 0;
        overflow: hidden;
        width: 100%;
        min-width: 0;
    }
    .info .p-info-card__item-link {
        padding: 0;
        width: 100%;
        min-width: 0;
    }
    .info .p-info-card__item-link .p-info-card__item-img {
        order: 1;
    }
    .info .p-info-card__item-txt {
        padding: 0 1em;
        order: 2;
    }
    .info .p-info-card__caption {
        padding: 0 1em;
    }
    .info .p-info-card__item-img {
        position: relative;
        display: block;
        width: 100%;
        min-width: 0;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        flex-shrink: 0;
        margin-bottom: 1em;
        border-radius: clamp(20px, 4.5vw, 40px);
    }
    .info .p-info-card__item-img img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }
}

.info .info__list.c-column {
	gap: 1em;
}

@media (max-width: 767px) {
	.info .info__list.c-column {
		gap: 2em;
	}
}

/* ==============================
	rss-sec（真庭農業普及指導センター 新着情報）
============================== */
.rss-sec__ttl {
	margin-bottom: .5em;
}

.rss-sec__list {
	font-size: 0.95em;
}

.rss-sec__items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rss-sec__item {
	margin-bottom: 0.2em;
	padding-bottom: 0.2em;
	border-bottom: 1px solid var(--color-gray-light);
}

.rss-sec__item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.rss-sec__date {
	display: inline-block;
	margin-right: 0.5em;
	font-size: 0.9em;
	color: var(--color-text);
}

.rss-sec__link {
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
	color: var(--color-link);
	text-decoration: none;
}

.rss-sec__link .c-icon {
	flex-shrink: 0;
}

.rss-sec__link:hover {
	color: var(--color-link-hover);
	text-decoration: underline;
}

.rss-sec__error {
	color: var(--color-gray-dark);
	font-size: 0.9em;
}

/* ==============================
	sns
============================== */
section.sns {
	border-bottom: 1px solid var(--color-gray-dark);
}

.sns__inner {
background-image: linear-gradient(to right, #28A838, #80D02B);
background-repeat: no-repeat;
background-size: 100% 30%;
background-position: bottom;
padding-top: 4em;
margin-bottom: 4em;
border-top: 1px solid var(--color-gray-dark);
}

.sns__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}
.sns__container .sns__list {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 1em;
}
.sns__container .sns__list ul {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
@media (min-width: 768px) {
	.sns__container {
		flex-direction: row;
	}
}

/* SnapWidget */
.sns__snapwidget {
	position: relative;
	z-index: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	aspect-ratio: 1020 / 255;
}

.sns__snapwidget .snapwidget-widget {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: none;
	overflow: hidden;
}

