@charset "UTF-8";

/* =======================
共通
======================= */
/* フォント */
.ff-eb {
	font-family: "EB Garamond", serif !important;
	letter-spacing: 0.07em;
}
.ff-outfit {
	font-family: "Outfit", sans-serif !important;
}
.ff-mincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
}
.ff-zenkaku {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	font-weight: 500 !important;
}

/* 矢印 */
.is-style-btn_normal a {
	box-shadow: none;
	min-width: auto;
	color: #fff;
	border: 1px solid var(--color_main);
	letter-spacing: 0;
	margin-left: 0;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	font-size: 18px;
    padding: 7px 20px;
	width: min(100%, 340px);
	min-height: 65px;
	transition: 0.3s;
}
.is-style-btn_normal.round a {
    border-radius: 100px;
}
.is-style-btn_normal a::after {
	content: "";
	width: 14px;
	height: 11px;
	background: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
    position: absolute;
    top: 50%;
	right: 30px;
    transform: translateY(-50%);
}
.is-style-btn_normal a:hover {
	background: #fff;
	color: var(--color_main);
	box-shadow: none;
}
.is-style-btn_normal a:hover::after {
	background: var(--color_main);
}

.is-style-more_btn a {
    background: #F2FD97;
    border: 1px solid #535355;
    border-radius: 100px;
    width: min(100%, 340px);
    height: 65px;
    font-size: 18px;
    font-weight: 700;
    min-width: auto;
    line-height: 1;
    display: flex;
	align-items: center;
    justify-content: center;
	transition: 0.3s;
}
.is-style-more_btn a:after {
    content: "";
    width: 14px;
	height: 11px;
    background: #535355;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
    right: 30px;
}
.is-style-more_btn a:hover {
	color: #F2FD97;
	background: #535355;
}
.is-style-more_btn a:hover::after {
	background: #F2FD97;
}
/* 共通タグ */
.home {
	h2 {
		font-size: 35px;
		letter-spacing: 0.1em;
		margin-top: 0;
		margin-bottom: 0;
	}
	.swell-block-fullWide+.swell-block-fullWide {
		margin-top: 0;
	}
}
.post_content .title-en {
    font-size: clamp(35px, 6vw, 60px);
    letter-spacing: 0.07em;
    margin-bottom: 30px;
    font-weight: 400;
	line-height: 1.2;
}
.post_content .title-jp {
    font-size: clamp(16px, 1.8vw, 20px);
    font-weight: 700;
    letter-spacing: 0.03em;
    margin-bottom: 60px;
    margin-top: 0;
}

.post_content h3 {
	letter-spacing: 0.1em;
}
.post_content .is-style-section_ttl {
	letter-spacing: 0.1em;
}
.post_content p {
	letter-spacing: 0.02em;
	font-size: 16px;
}
.has-white-background-color {
	color: #535355;
}
.p-blogParts {
	margin-bottom: 0;
}
/* アニメーション */
.pattern-anime {
	opacity: 0;
	transition: 0.7s cubic-bezier(0, 0, 0.26, 1.08);
	&.show {
		opacity: 1;
		transform: none;
	}
}

/* アイコン */
.cmn__icon {
	align-items: flex-end;
	&.animation {
		opacity: 0;
		transition: 0.7s;
		&.show {
			opacity: 1;
		}
	}
	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: bottom;
	}
	p {
		font-size: 12px;
		font-weight: 500;
		line-height: 1;
	}
}

@media not all and (min-width: 960px) {
	.is-style-btn_normal a {
		border-radius: 3px;
		font-size: 14px;
		min-height: 55px;
		margin-inline: auto;
		width: min(100%, 300px);
	}
	.is-style-more_btn a {
		font-size: 16px;
		margin-inline: auto;
		height: 55px;
	}
	.is-style-more_btn a::after {
		width: 15px;
	}
	.home h2 {
		font-size: 23px;
	}
	.post_content p {
		font-size: 15px;
	}
	.cmn__icon {
		p {
			font-size: 10px;
		}
	}

}
@media print, screen and (min-width: 600px) {
	br.spview2 {
        display: none !important;
    }
}
.mark_yellow {
	background: linear-gradient(transparent 0%,var(--color_mark_yellow) 0%)
}
.mark_green {
	background: linear-gradient(transparent 0%,var(--color_mark_green) 0%)
}
.hide {
	display: none;
}
.block-editor-page .hide {
	opacity: 0.7;
}


/* =======================
投稿一覧
======================= */

/* メディア一覧 */

.-type-card.p-postList {
    display: flex;
    column-gap: 26px;
    row-gap: 56px;
	margin: 0;
    .p-postList__item {
        padding: 0;
        margin: 0;
        width: calc((100% - 52px) / 3) !important;
		position: relative;
    }
    .p-postList__item:nth-of-type(1)::before {
        content: "";
        width: 80px;
        height: 40px;
        background: url(/wp-content/uploads/2025/10/new.svg) no-repeat center/contain;
        position: absolute;
        left: 0;
        top: 0;
        transform: translate(-30%, -50%);
        z-index: 1;
    }
    .p-postList__item:nth-of-type(2)::before {
        content: "";
        width: 56px;
        height: 48px;
        background: url(/wp-content/uploads/2025/10/pickup.svg) no-repeat center/contain;
        position: absolute;
        left: 0;
        top: 0;
        transform: translate(-30%, -50%);
        z-index: 1;
    
    }
	.p-postList__thumb {
		height: auto;
		aspect-ratio: 362 / 186;
	}
	.c-postThumb__figure {
		height: 100%;
	}
    .p-postList__link {
        border: 1px solid #231815;
    }
    .c-postThumb__cat {
        font-size: 12px;
        font-weight: 700;
        border: 1px solid #535355;
        padding: 3px 10px;
        border-radius: 50px;
        background: #fff;
        color: #535355;
        line-height: 1.2;
        top: auto;
        right: auto;
        bottom: 12px;
        left: 15px;
    }
    .c-postThumb__cat:before {
        content: "#";
        color: #535355;
        font-size: 12px;
        font-weight: 700;
        margin: 0;
        font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }
    .p-postList__body {
        padding: 8px 10px;
        background: #fff;
        display: flex;
        gap: 20px;
    }
	.p-postList__title {
		font-size: 16px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		letter-spacing: 0;
	}
    .p-postList__meta {
        margin: 0;
        order: -1;
        align-items: flex-start;
    }
    .p-postList__times {
        padding: 0;
        margin: 0;
        opacity: 1;
    }
    .c-postTimes__posted {
        font-size: 13px;
        font-weight: 500;
        writing-mode: vertical-rl;
		padding-top: 5px;
    }
    .icon-posted:before {
        content: none;
    }
}

/* 記事一覧 */
.p-postList.-type-simple {
    border-top: none;
    padding-left: 25%;
	.p-postList__item:first-of-type {
		.p-postList__link {
			padding-top: 0;
			transition: 0.3s;
			&:hover {
				opacity: 0.7;
			}
		}
	}
    .p-postList__link {
        padding: 40px 0 20px;
        position: relative;
        border-bottom: none;
        &::after {
            content: "";
            width: 100vw;
            height: 1px;
            background: #23181580;
            position: absolute;
            right: 0;
            bottom: 0;
        }
        &:hover {
            background: none;
        }
    }
    .p-postList__body {
        display: flex;
        justify-content: space-between;
        gap: 10px;
    }
    .p-postList__meta {
        gap: 36px;
        margin: 0;
        order: 1;
		flex-shrink: 0;
    }
    .p-postList__times {
        opacity: 1;
        padding: 0;
        margin: 0;
        order: 1;
    }
    .c-postTimes__posted {
        font-size: 16px;
        font-weight: 500;
    }
    .icon-posted:before {
        content: none;
    }
    .p-postList__cat {
        padding: 0;
        margin: 0;
        font-size: 16px;
        font-weight: 700;
        color: #9FA0A0;
    }
    .icon-folder:before {
        content: none;  
    }
    .p-postList__title {
        font-size: 16px;
        font-weight: 700;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
    }
}

@media not all and (min-width: 960px) {
	.p-postListWrap .-type-card.p-postList {
		margin-inline: 5px;
		row-gap: 30px;
		column-gap: 20px;
		.p-postList__item {
			width: calc((100% - 20px) / 2) !important;
		}
		.p-postList__item:nth-of-type(1)::before {
			width: 74px;
			transform: translate(-23%, -50%);
		}
		.p-postList__item:nth-of-type(2)::before {
			
			transform: translate(-27%, -35%);
		}
		.p-postList__title {
			font-size: 15px;
		}
	}
	.p-postList.-type-simple {
		padding: 0;
		margin-right: 25px;
		.c-postTimes__posted {
			font-size: 14px;
		}
		.p-postList__body {
			flex-direction: column;
		}
		.p-postList__meta {
			justify-content: flex-end;
		}
		.p-postList__cat {
			font-size: 14px;
		}

		.p-postList__title {
			font-size: 14px;
		}
	}
}
@media not all and (min-width: 600px) {
	.p-postListWrap .-type-card.p-postList {
		.p-postList__item {
			width: 100% !important;
		}
	}
}

/* =======================
ヘッダー
======================= */
.l-header .l-header__inner, .l-fixHeader .l-fixHeader__inner {
	max-width: none;
	padding-right: 0;
	height: 75px;
}
.-series .l-header__logo {
	margin-right: clamp(10px, 1.5vw, 24px);
}
.-series .c-headLogo {
	margin-right: 0;
}
.c-headLogo__link {
	max-width: 126px;
}
.c-gnav {
	align-items: center;
}
.c-gnav>.menu-item {
	display: flex;
	align-items: center;

}
.c-gnav>.menu-item:first-of-type {
	border:none;
}
.c-gnav>.menu-item>a {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 5px;
	border-left: 1px solid #535355;
	height: auto;
}
.c-gnav>.menu-item>a:after {
	content: none;
}
.c-gnav>.menu-item>a .ttl {
	font-size: clamp(12px, 1vw, 14px);
	font-weight: 700;
}
.c-gnav>.menu-item-has-children>a {
	padding: 0 25px 0 10px;
}
.c-gnav>.menu-item-has-children>a::before{
	content: "";
	transform: none;
	background: none;
	width: 10px;
	height: 1px;
	background: #535355;
	position: absolute;
	top: 50%;
	left: auto;
	right: 8px;
	transform: translateY(-50%) rotate(90deg);
	transition: 0.3s;
}
.c-gnav>.menu-item-has-children>a::after{
	content: "";
	transform: none;
	background: none;
	width: 10px;
	height: 1px;
	background: #535355;
	top: 50%;
	left: auto;
	right: 8px;
	transform: translateY(-50%);
}
.c-gnav>.menu-item-has-children:hover>a::before{
	transform: none;
}
.c-gnav .nav-contact {
	height: 100%;
	border: none;
	margin-left: clamp(15px, 1.5vw, 30px);
}
.c-gnav .nav-contact a {
	padding: 30px clamp(20px, 2.5vw, 40px);
	background: #535355;
	color: #FFFFFF !important;
	border: 1px solid #535355;
	transition: 0.3s;
	height: 100%;
	font-family: "Outfit", sans-serif;
	font-size: 15px;
	letter-spacing: 0.01em;
	&:hover {
		background: none;
		color: #535355 !important;
	}
}

@media not all and (min-width: 960px) {
	.l-container .l-header__logo, .l-fixHeader__logo {
	padding-top: 0px;
	padding-left: clamp(20px,calc(50vw - 550px),200px);
}
	.l-header .l-header__inner, .l-fixHeader .l-fixHeader__inner {
		padding-bottom: 0;
		height: 54px;
	}
	.-series .l-header__logo {
		margin-right: auto;
	}
}


/* =======================
ハンバーガーメニュー
======================= */
.p-spMenu__inner {
	width: 100%;
	padding-top: 110px;
}
.-right .p-spMenu__inner {
	transform: translateX(100%);
	visibility: hidden;
	transition: opacity 0.5s, transform 0.5s, visibility 0s 1s;
}
.c-widget__title {
	display: none;
}
.p-spMenu {
	z-index: 100;
}
[data-spmenu=opened] .p-spMenu__inner {
	transform: none;
	opacity: 1;
	visibility: visible;
	
	transition: opacity 0.5s, transform 0.5s;
}
.c-iconBtn {
	gap: 6px;
}
.c-iconBtn__icon {
	background: url(/wp-content/uploads/2025/10/top-news_vector.png) no-repeat center/contain;
	width: 30px;
	height: 15px;
	&::before {
		content: none;
	}
}
.c-iconBtn__label {
	font-family: "Outfit", sans-serif !important;
	font-size: 12px;
	font-weight: 500;
}
.p-spMenu__body {
	padding-inline: 40px;
}
.c-spnav a {
	font-size: 16px;
	font-weight: 700;
	border: none;
}
.c-spnav a:hover {
	background: none;
}
.c-spnav a::before {
	content: "";
	width: 100vw;
	height: 1px;
	background: #ffffff80;
	position: absolute;
	bottom: 0;
	right: 0
}
.c-spnav a::after {
	content: ">";
	width: 2em;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7px;
}
.c-spnav .nav-contact a {
	background: #fff;
	color: #2A5F73;
	border-radius: 3px;
	max-width: 220px;
	margin-bottom: 17px;
	text-align: center;
	font-size: 14px;
}
.c-spnav .nav-download a {
	margin-top: 26px;
}
.c-spnav .nav-contact a::before {
	content: none;
}
.c-spnav .nav-contact a::after {
	content: "";
	width: 10px;
	height: 8px;
	background: #2A5F73;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
.menu-item-has-children > a::after {
	content: none;
}
.c-submenuToggleBtn {
	width: 100%;
}
.c-submenuToggleBtn:after {
	background: #fff;
	border: none;
	width: 15px;
	height: 1px;
	top: 50%;
	left: auto;
	right: 10px;
	transform: translateY(-50%);
	opacity: 1;
}
.c-submenuToggleBtn:before {
	content: "";
	width: 1px;
	height: 15px;
	background: #fff;
	top: 50%;
	left: auto;
	right: 17px;
	transform: translateY(-50%);
	position: absolute;
}
.c-submenuToggleBtn.is-opened:before {
	transform: translate(-50%, -50%) rotate(90deg);
}
.c-spnav .sub-menu {
	overflow: visible;
}

/* =======================
フッター
======================= */
/* フッター前パーツ */
.cmn__contact {
    padding-block: 120px 110px !important;
    h2 {
        margin-bottom: 80px;
    }
}
.cmn__contact-btns {
    margin-bottom: 54px;
	.is-style-btn_normal a {
		max-width: 320px;
		padding: 3px 10px;
	}
}
.cmn__contact-pattern1 {
	transform: rotate(38deg) translateX(-800px);
	width: 1000px;
	position: absolute;
	right: -309px;
    top: -258px;
	z-index: -1;
	transition: 0.7s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
	opacity: 0;
}
.cmn__contact-pattern2 {
	transform: rotate(38deg) translateX(800px);
	width: 1000px;
	position: absolute;
	right: -536px;
    top: 316px;
	z-index: -1;
	transition: 0.7s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
	opacity: 0;
}
.show :is(.cmn__contact-pattern1, .cmn__contact-pattern2) {
	transform: rotate(38deg);
	opacity: 1;
}
.cmn__contact-contents {
    border-radius: 30px;
    position: relative;
    background: url(/wp-content/uploads/2025/10/top-contact-1.jpg) no-repeat center/cover;
    padding-block: 100px 55px;
    .wp-block-cover__inner-container {
        position: static;
    }
    .title {
        h2 {
            padding-left: 126px;
            margin-bottom: 40px;
			margin-top: 0;
        }
        .ff-eb {
            writing-mode: vertical-rl;
            font-size: 46px;
			font-weight: 400;
            position: absolute;
            left: -1px;
            top: 50%;
            transform: translateY(-50%) rotate(180deg);
            padding: 16px 3px 16px 0px;
            line-height: 0.8;
        }
    }
    .text {
        p {
            position: relative;
            z-index: 1;
            font-size: 16px;
            font-weight: 500;
            line-height: 1.8;
            margin-bottom: 30px;
        }
        .is-style-btn_normal a {
            background: #fff;
            border-color: #fff;
            color: var(--color_main);
            &::after {
                background-color: var(--color_main);
            }
            &:hover {
                background: var(--color_main);
                color: #fff;
            }
            &:hover::after {
                background-color: #fff;
            }
        }
    }
}
@media not all and (min-width: 960px) {
	.cmn__contact {
		padding-block: 80px 0px !important;
		.swell-block-fullWide__inner {
			padding: 0;
		}
		h2 {
			margin-bottom: 12px;
		}
		.title-en {
			margin-bottom: 10px;
		}
		.title-jp {
			margin-bottom: 44px;
			font-size: 16px !important;
		}
	}
	.cmn__contact-btns {
		padding-inline: 20px;
		.is-style-btn_normal a::after {
			right: 10px;
		}
	}
	.cmn__contact-pattern1 {
		transform: rotate(38deg) translateX(-400px);
		width: 600px;
		right: -161px;
        top: -81px;
	}
	.cmn__contact-pattern2 {
		transform: rotate(38deg) translateX(400px);
		width: 600px;
		right: -356px;
        top: 316px;
	}
	.cmn__contact-contents {
		border-radius: 0;
		background-image: url(/wp-content/uploads/2025/10/contact-bg-sp.jpg);
		.title {
			h2 {
				padding-left: 0;
				margin-bottom: 30px;
				text-align: center !important;
			}
			.ff-eb {
				font-size: 35px;
				line-height: 0.7;
			}
		}
		.text {
			p {
				text-align: center;
				font-size: 14px;
			}
			.is-style-btn_normal a {
				max-width: 280px;
			}
		}
	}
}
@media not all and (min-width: 600px) {
	.cmn__contact-btns {
		padding-inline: 0px;
		.is-style-btn_normal a::after {
			right: 30px;
		}
	}
	.cmn__contact-pattern1 {
		transform: rotate(38deg) translateX(-400px);
		width: 400px;
		right: -112px;
        top: -101px;
	}
	.cmn__contact-pattern2 {
		transform: rotate(38deg) translateX(400px);
		width: 400px;
		right: -238px;
        top: 160px;
	}
}

/* トップへ戻るボタン */
.c-fixBtn {
	background: url(/wp-content/uploads/2025/10/top-back.png) no-repeat bottom/contain;
	width: 28px;
	height: 180px;
	border-radius: 0 !important;
	border: none;
	box-shadow: none;
	opacity: 1;
	overflow: visible;
	transition: 0.3s;
	position: relative;
	&:hover {
		background-color: transparent !important;
		opacity: 0.7;
	}
	i {
		display: none;
	}
}

@media not all and (min-width: 960px) {
	.p-fixBtnWrap {
		right: 0px;
		bottom: 0px;
	}
	.c-fixBtn {
		background: #2A5F73;
		width: 48px;
		height: 48px;
		&::after {
			content: "";
			background: url(/wp-content/uploads/2025/10/sp-top.png) no-repeat center/contain;
			width: 22px;
			height: 28px;
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
		}
		&:hover {
			background-color: #2A5F73 !important;
			opacity: 0.7;
		}
	}
}
/* フッター */
.l-footer {
	position: relative;
	&::before {
		content: "";
		width: 50%;
		height: 100%;
		background: url(/wp-content/uploads/2025/10/footer-pattern.svg) no-repeat bottom left/100% auto;
		position: absolute;
		left: 0;
		bottom: 0px;
		transform-origin: left bottom;
		transition: 0.7s;
	}
	&.show::before {
		transform: none;
	}
	.l-footer__widgetArea {
		padding-block: 88px 0;
	}
	.is-style-btn_normal a {
		border-radius: 50px;
		margin-left: 0;
	}
}
.footer__top {
	> .swell-block-columns__inner {
		justify-content: space-between;
	}
}
.footer__menu {
	width: 580px;
	p {
		font-size: 14px;
		color: var(--color_main);
		font-weight: 700;
		margin-bottom: 17px;
	}
	ul > li {
		font-size: 14px;
		color: var(--color_main);
		font-weight: 700;
		margin-bottom: 17px;
		margin: 0;
		list-style: none;
		position: relative;
		margin-bottom: 20px;
		&::before {
			content: "";
			width: 6px;
			height: 6px;
			background: var(--color_main);
			border-radius: 50%;
			position: absolute;
			top: 6px;
			left: -14px;
		}
		ul {
			margin-top: 10px;
			padding: 0;
			li {
				font-size: 12px;
				font-weight: 500;
				line-height: 1.8;
				margin-bottom: 0;
				&::before {
					content: none;
				}
			}
		}

	}
}
.footer__sns {
	width: fit-content !important;
	figure {
		margin-bottom: 34px;
	}
	.note {
		width: clamp(69px, 10vw, 112px);
	}
	.standfm {
		width: clamp(90px, 15vw, 162px);
	}
	.ameba {
		width: clamp(80px, 12vw, 130px);
	}
}
.footer__sns-bottom {
	margin-top: 66px;
	gap: 33px;
	figure {
		width: 38px;
	}
}
.footer__bottom {
	.footer__logo {
		width: clamp(244px, 40vw, 400px);
		margin-left: auto;
		margin-bottom: 4px;
	}
	.ff-eb {
		font-size: 14px;
		letter-spacing: 0.1em;
		font-weight: 400;
	}
}
.l-footer__foot {
	padding-block: 13px 50px;
	.copyright {
		color: var(--color_main);
		font-size: 14px;
		font-family: "Outfit", sans-serif !important;
		text-align: right;
	}
}

@media not all and (min-width: 960px) {
	.l-footer {
		&::before {
			width: min(115%, 600px);
			bottom: 0;
		}
		.l-footer__widgetArea {
			padding-block: 55px 0;
		}
	}
	.footer__top {
		margin-bottom: 60px;
	}
	.footer__menu {
		width: 100%;
	}
	.footer__sns {
		width: 100% !important;
		figure {
			margin: 0;
		}
	}
	.footer__sns-top {
		margin-bottom: 20px !important;
		> div {
			display: flex;
			align-items: center;
			gap: 30px;
		}
	}
	.footer__sns-bottom {
		margin-top: 0;
		gap: 26px;
		figure {
			width: 35px;
		}
	}
	.footer__bottom {
		.footer__logo {
			margin-bottom: 30px;
		}
		.ff-eb {
			font-size: 12px;
			padding-right: 20px;
		}
	}
	.l-footer__foot {
		padding-bottom: 55px;
		.copyright {
			font-size: 12px;
			padding-right: 20px;
		}
	}
}




/* =======================
トップページ
======================= */
.top {
	.lead {
		font-weight: 700;
	}
}

/* FV */
.top #content {
	padding-top: 0;
	margin-bottom: 0;
}
.top-fv {
	overflow: hidden;
	margin-bottom: 0;
}
.top-fv__content {
	margin-bottom: 0 !important;
	padding-block: 120px 110px;
	.text {
		padding-left: max(calc(50vw - 500px), 20px);
	}
	h1 {
		font-size: clamp(28px, 3vw, 37px);
		letter-spacing: 0.01em;
		margin-bottom: 20px;
		line-height: 1.5;
	}
	.text1 {
		font-weight: 700;
		font-size: 17px;
		line-height: 2;
		margin-bottom: 20px;
	}
	.ff-eb {
		font-size: 18px;
		letter-spacing: 0.01em;
		margin-bottom: 30px;
		line-height: 1.3;
		letter-spacing: 0.1em;
		font-weight: 400;
	}
	.is-style-btn_normal {
		margin-bottom: 0;
		a {
			font-size: 16px;
			width: min(100%, 250px);
			min-height: 45px;
			padding: 10px;
		}
	}
	.is-style-btn_normal a::after {
		width: 11px;
		height: 10px;
	}
	.fv__kazehiraku {
		position: absolute;
		width: clamp(240px, 30vw, 436px);
		z-index: 1;
        bottom: 0;
        transform: translateY(40%);
		svg {
			display: none;
		}
	}
	.img {
		position: relative;
		.img1 {
			position: absolute;
			width: 940px;
			top: -223px;
            left: -370px;
			z-index: -1;
			z-index: -1;
			.pattern {
				transition: 1s cubic-bezier(0, 0, 0.26, 1.08);
				transform: rotate(38deg) translateX(-600px);
				opacity: 0;
			}
		}
		.img2 {
			position: absolute;
			width: 940px;
			top: 296px;
            left: -185px;
			z-index: -1;
			.pattern {
				transform: rotate(38deg) translateX(-600px);
				z-index: -1;
				transition: 1s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
				opacity: 0;
			}
		}
		img {
			width: 100%;
		}
		
		.top-fv__icon1 {
			position: absolute;
			width: 170px;
			top: 30px;
            left: 535px;
			transform: translate(600px, 375px);
			transition: 0.7s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
			opacity: 0;
		}
		.top-fv__icon2 {
			flex-direction: row-reverse;
			align-items: center;
			gap: 11px;
			position: absolute;
			width: 160px;
			top: 16px;
            left: 173px;
			transform: translate(600px, 375px);
			transition: 1s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
			opacity: 0;
		}
		&.show {
			.pattern {
				transform: rotate(38deg);
				opacity: 1;
			}
			.top-fv__icon1, .top-fv__icon2 {
				transform: none;
				opacity: 1;
			}
		}
	}
}
@media not all and (min-width: 960px) {
	.top-fv__content {
		padding-block: 100px 70px;
		.text {
			padding-left: 40px;
		}
		.is-style-btn_normal a {
			margin-left: 0;
		}
		.fv__kazehiraku {
			transform: translateY(50%);
		}
		.img {
			position: static;
			.img1 {
				width: 600px;
				right: -51px;
                top: -5px;
                left: auto;
			}
			.img2 {
				width: 600px;
				right: -181px;
                top: 337px;
                left: auto;
			}
			.pattern {
				transform: rotate(38deg) translateX(-400px);
			}
			.top-fv__icon1 {
				width: 108px;
				top: -27px;
				right: 251px;
				left: auto;
				transform: translate(400px, 250px);
			}
			.top-fv__icon2 {
				width: 107px;
				top: -61px;
				left: 173px;
				transform: translate(400px, 250px);
			}
		}
	}
}

@media not all and (min-width: 600px) {
	.top-fv__content {
		padding-block: 90px 72px;
		position: relative;
		.text {
			padding-left: 20px;
		}
		.text1 {
			font-size: 16px;
			margin-bottom: 24px;
		}
		.ff-eb {
			font-size: 13px;
			margin-bottom: 50px;
		}
		.is-style-btn_normal a {
			width: min(100%, 210px);
			font-size: 14px;
			min-height: 40px;
		}
		.img {
			position: static;
			.img1 {
				width: 340px;
				top: -39px;
				right: 0;
			}
			.img2 {
				width: 340px;
				top: auto;
				bottom: 0px;
                right: -116px;
			}
			.top-fv__icon1 {
				width: 67px;
                top: 12px;
                right: 94px;
				p {
					transform: scale(0.8);
				}
			}
			.top-fv__icon2 {
				width: 71px;
                top: -27px;
                right: 170px;
                left: auto;
				p {
					transform: scale(0.8);
				}
			}
		}
	}
}

.img-slider, .img-slider2 {
	display: flex;
	margin-bottom: 0;
	> div {
		flex-wrap: nowrap;
		&.active {
			animation: 30s loop infinite linear;
		}
	}
	figure {
		border-radius: 20px;
		overflow: hidden;
		width: 570px;
		height: 100%;
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
}
@keyframes loop {
	0% {
		transform: none;
	}
	100% {
		transform: translateX(-25%);
	}
}

@media not all and (min-width: 960px) {
	.img-slider, .img-slider2 {
		figure {
			width: 270px;
			border-radius: 10px;
		}
	}
}

.img-slider2 {
	> div {
		&.active {
			animation: 60s loop2 infinite linear;
		}
	}
}
@keyframes loop2 {
	0% {
		transform: none;
	}
	100% {
		transform: translateX(-50%);
	}
}
/* イントロダクション */
.top-intro {
	padding-block: 50px 120px;
	margin-bottom: 0;
	position: relative;
}
.top-intro__pattern {
	position: absolute;
	top: -330px;
    left: 515px;
	width: 1100px;
	z-index: -1;
	transform: rotate(-25deg) translate(600px);
	transition: 1s 0.5s cubic-bezier(0, 0, 0.26, 1.08);
	opacity: 0;
}
.show .top-intro__pattern {
	transform: rotate(-25deg);
	opacity: 1;
}
.top-intro__icon {
	position: absolute;
	left: 629px;
    top: 282px;
	transition: 0.7s 1s;
	opacity: 0;
	flex-direction: column;
	gap: 5px;
	figure {
		width: 133px;
        height: 150px;
	}
}
.show .top-intro__icon {
	opacity: 1;
}
.top-intro__news {
	border: 1px solid rgb(83 83 85 / 25%);
	border-radius: 100px;
	box-shadow: 0 6px 11px rgb(0 0 0 / 7%);
	padding: 10px 30px;
	column-gap: 40px;
	row-gap: 0px;
	margin-bottom: 170px;
    background: #fff;
	.ff-outfit {
		font-weight: 500;
		font-size: 18px;
		border-right: 1px solid var(--color_text);
		padding-right: 40px;
		display: flex;
		align-items: center;
        flex-shrink: 0;
		letter-spacing: 0;
	}
    .p-postListWrap {
        flex-grow: 1;
    }
	.p-postList {
        padding-left: 0 !important;
		margin: 0;
        .p-postList__link {
            border: none;
            padding: 7px 0 !important;
            &::after {
                content: none;
            }
        }
        .p-postList__body {
            display: flex;
            align-items: center;
            justify-content: flex-start;
        }
        .p-postList__meta {
            order: 0;
        }
        .c-postTimes__posted {
            font-weight: 700;
        }
        .p-postList__cat {
            display: none;
        }
		.p-postList__title {
			overflow: hidden;
			display: -webkit-box;
			text-overflow: ellipsis;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 1;
		}
	}
}
.top-intro__who {
	h2 {
		font-size: 58px;
		font-weight: 500;
	}
	.lead {
		font-size: 24px;
		margin-bottom: 40px;
		font-weight: 500;
		span {
			font-size: 30px;
		}
	}
	.title-jp {
		letter-spacing: 0.03em;
		font-weight: 500;
		font-size: 24px;
		line-height: 1.7;
		margin-bottom: 40px;
		span {
			font-size: 30px;
		}
	}
	p {
		font-weight: 700;
		letter-spacing: 0.03em;
		line-height: 1.9;
	}
	.img {
		width: min(100%, 710px);
		margin-left: auto;
		margin-top: clamp(-90px, -3vw, -30px);
	}
	
}
@media not all and (min-width: 960px) {
	.top-intro {
		padding-block: 20px 100px;
	}
	.top-intro__pattern {
		top: -110px;
        left: 400px;
		width: 500px;
		transform: rotate(-25deg) translateX(400px);
	}
	.top-intro__icon {
		left: 444px;
        top: 182px;
		figure {
			width: 55px;
			height: 64px;
		}
	}
	.top-intro__news {
		flex-direction: column;
		padding: 10px 30px;
		.ff-outfit {
			display: none;
		}
		.p-postList {
			.p-postList__link {
				padding: 2px 0;
			}
			.p-postList__body {
				flex-direction: column;
				align-items: flex-start;
				gap: 0;
			}
			.c-postTimes__posted {
				font-size: 13px;
			}
			.p-postList__title {
				font-size: 13px;
			}
		}
	}
	.top-intro__who {
		.title-jp {
			font-size: 23px;
			margin-bottom: 35px;
			letter-spacing: 0.07em;
			span {
				font-size: 23px;
			}
		}
		.img {
			width: min(100%, 500px);
		}
	}
}
@media not all and (min-width: 600px) {
	.top-intro__pattern {
		top: -100px;
        left: 128px;
        width: 450px;
		transform: rotate(-25deg) translate(400px);
	}
	.top-intro__icon {
		left: 168px;
        top: 161px;
		figure {
			width: 55px;
			height: 64px;
		}
	}
	.top-intro__news {
		padding: 10px 13px;
	}
}
/* サービス一覧 */
.top-service {
	border-radius: clamp(20px, 4vw, 50px) clamp(20px, 4vw, 50px) 0 0;
	padding-block: 160px 200px !important;
	margin-bottom: 0;
	overflow: hidden;
	.title-en {
		margin-bottom: 16px;
	}
	.title-jp {
		margin-bottom: 220px;
	}
}
.top-service__icon {
	position: absolute;
	left: 836px;
	top: 184px;
	transition: 0.7s 0.5s;
	opacity: 0;
	figure {
		width: clamp(100px, 14vw, 150px);
		height: 170px;
	}
	p {
		transform: translateX(-5px);
	}
}
.top-service__pattern {
	width: 970px;
	position: absolute;
	z-index: -1;
	transition: 0.7s cubic-bezier(0, 0, 0.26, 1.08);
	opacity: 0;
	margin: 0;
	&.service__pattern1 {
		transform: rotate(134deg) translate(-800px);
		left: 205px;
        top: 236px;
	}
	&.service__pattern2 {
		transform: rotate(14.2deg) translate(-800px);
		left: -535px;
        top: 166px;
	}
	&.service__pattern3 {
		transform: rotate(-106deg) translate(-800px);
		top: 844px;
        left: -226px;
	}
	&.service__pattern4 {
		transform: translate(800px);
		bottom: -150px;
		right: -22%;
		&.show {
			transform: none;
		}
	}
}
.show {
	.top-service__icon {
		opacity: 1;
	}
	.top-service__pattern {
		opacity: 1;
		&.service__pattern1 {
			transform: rotate(134deg);
		}
		&.service__pattern2 {
			transform: rotate(14.2deg);
		}
		&.service__pattern3 {
			transform: rotate(-106deg);
		}
	}
}

.top-service__item {
	margin-bottom: 80px;
	.title {
		width: fit-content;
		padding: 5px 20px;
		align-items: center;
		gap: 20px;
		margin-bottom: 25px;
		.number {
			font-size: 26px;
			line-height: 1;
			font-weight: 400;
		}
		h3 {
			font-size: 26px;
			letter-spacing: 0.05em;
			flex-shrink: 0;
		}
		.english {
			font-size: 13px;
			font-weight: 300;
			letter-spacing: 0.1em;
		}
	}
	.content {
		border: 1px solid #231815;
		.img {
			figure, img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		.text {
			display: flex;
			flex-direction: column;
			> .wp-block-group {
				flex-grow: 1;
				border-left: 1px solid #231815;
				border-bottom: 1px solid #231815;
				margin-bottom: 0;
				background: #fff;
				padding: 30px 34px;
				display: flex;
				align-items: center;
				h4 {
					font-size: 22px;
					letter-spacing: 0.03em;
					margin-bottom: 10px;
				}
				p {
					font-size: 15px;
					font-weight: 700;
				}
			}
			ul {
				gap: 0;
			}
			li {
				a {
					margin-bottom: 0;
					padding: 10px 22px 10px 40px;
					border-left: 1px solid #231815;
					border-bottom: 1px solid #231815;
					background: #fff;
					font-weight: 700;
					min-height: 64px;
					span {
						transition: 0.3s;
					}
					svg {
						display: none;
					}
					&:hover {
						span {
							padding-left: 10px;
						}
					}
					&::after {
						content: "";
						width: 30px;
						height: 30px;
						background: url(/wp-content/uploads/2025/10/company-arrow.svg) no-repeat center/contain;
						flex-shrink: 0;
					}
				}
				&:last-of-type a {
					border-bottom: none;
					background: #2A5F73;
					color: #fff;
					&::after {
						width: 17px;
						height: 12px;
						clip-path: polygon(0 0, 100% 50%, 0 100%);
						background: #fff;
						margin-right: 4px;
					}
				}
				}
		}
	}
}
.top-service__item-company {
	.content {
		.img {
			figure, img {
				object-position: left;
			}
		}
	}
}
.top-service__item-personal .content .text li {
	a::after {
		background-image: url(/wp-content/uploads/2025/10/personal-arrow.svg);
	}
	&:last-of-type a{
		background: #ECE0D1;
		color: #535355;
		&::after {
			background: #535355;
		}
	}
}
.top-service__item-matching {
	.content .text li:last-of-type a {
		background: #535355;
	}
}
@media not all and (min-width: 960px) {
	.top-service {
		padding-block: clamp(80px, 12vw, 120px) !important;
		.title-en {
			margin-bottom: 30px;
		}
		.title-jp {
			margin-bottom: 90px;
		}
	}
	.top-service__icon {
		left: 538px;
        top: 100px;
		figure {
			width: 80px;
			height: 80px;
		}
	}
	.top-service__pattern {
		width: 600px;
		&.service__pattern1 {
			transform: rotate(134deg) translate(-600px);
			left: 100px;
            top: 157px;
		}
		&.service__pattern2 {
			transform: rotate(14.2deg) translate(-600px);
			left: -358px;
            top: 116px;
		}
		&.service__pattern3 {
			transform: rotate(-106deg) translate(-600px);
			top: 535px;
            left: -166px;
		}
		&.service__pattern4 {
			opacity: 0;
		}
	}
	.show {
		.top-service__pattern {
			&.service__pattern1 {
				transform: rotate(134deg);
			}
			&.service__pattern2 {
				transform: rotate(14.2deg);
			}
			&.service__pattern3 {
				transform: rotate(-106deg);
			}
		}
	}
	.top-service__item {
		.title {
			h3 {
				font-size: 22px;
			}
		}
		.content {
			.text {
				> .wp-block-group {
					h4 {
						font-size: 20px;
					}
				}
			}
		}
	}
}
@media not all and (min-width: 600px) {
	.top-service {
		.title-jp {
			margin-bottom: 70px;
		}
	}
	.top-service__icon {
		right: auto;
		left: 266px;
        top: 89px;
		figure {
			width: 60px;
			height: 60px;
		}
	}
	.top-service__pattern {
		width: 400px;
		&.service__pattern1 {
			transform: rotate(134deg) translate(-400px);
			left: -12px;
			top: 121px;
		}
		&.service__pattern2 {
			transform: rotate(14.2deg) translate(-400px);
			left: -317px;
			top: 91px;
			right: auto;
		}
		&.service__pattern3 {
			transform: rotate(-106deg) translate(-400px);
			top: 370px;
			right: auto;
			left: -190px;
		}
		&.service__pattern4 {
			opacity: 0;
		}
	}
	.show {
		.top-service__pattern {
			&.service__pattern1 {
				transform: rotate(134deg);
			}
			&.service__pattern2 {
				transform: rotate(14.2deg);
			}
			&.service__pattern3 {
				transform: rotate(-106deg);
			}
		}
	}
	.top-service__item {
		margin-bottom: 45px;
		.title {
			width: min(330px, 100%);
			margin-inline: auto;
			margin-bottom: 20px;
			.number {
				font-size: 24px;
			}
			h3 {
				font-size: 18px;
				line-height: 1;
			}
			.english {
				display: none;
			}
		}
		.content {
			.text {
				> .wp-block-group {
					border-top: 1px solid #231815;
					border-left: none;
					padding: 16px 23px;
					h4 {
						font-size: 16px;
						margin-bottom: 4px;
					}
					p {
						font-size: 13px;
						line-height: 1.5;
					}
				}
				li {
					a {
						border-left: none;
						padding: 10px 23px;
						font-size: 16px;
						min-height: 55px;
					}
					&:last-of-type a {
						&::after {
							width: 12px;
							height: 11px;
							margin-right: 8px;
						}
					}
				}
			}
			.img {
				figure, img {
					height: auto;
					aspect-ratio: 33 / 17;
				}
			}
		}
	}
}

/* ケーススタディ */
.top-case {
	border-radius: clamp(20px, 4vw, 50px) clamp(20px, 4vw, 50px) 0 0;
	position: relative;
	padding-block: 160px !important;
	margin-bottom: 0;
	&::before {
		content: "";
		width: 100%;
		height: 60px;
		position: absolute;
		top: -1px;
		left: 0;
		background: #ECECEA;
		z-index: -1;
	}
	h2 {
		margin-bottom: 70px;
	}
	.lead {
		font-size: 19px;
		font-weight: 700;
		margin-bottom: 170px;
	}
	.case__item:nth-of-type(4), .case__item:nth-of-type(5) {
		display: none;
	}
}
.top-case__icon {
	align-items: flex-start;
	gap: 16px;
	position: absolute;
	right: 0;
	top: -20%;
	transition: 0.7s;
	opacity: 0;
	transform: translateY(calc(-40% - 200px));
	&.show {
		opacity: 1;
		transform: translateY(-40%) !important;
	}
	figure {
		width: clamp(17px, 3vw, 45px);
		height: auto;
        aspect-ratio: 3 / 11;
		img {
			object-position: top;
		}
	}
}
.case__block {
	position: relative;
	margin-bottom: 86px;
	h3 {
		font-size: 23px;
		margin-bottom: 35px;
		letter-spacing: 0.03em;
		margin-top: 0;
	}
	.vertical {
		writing-mode: vertical-rl;
		line-height: 0.75;
		position: absolute;
		left: calc(50% - 50vw + var(--swl-scrollbar_width, 0)/2);
		top: 33px;
		font-size: 45px;
		font-weight: 300;
		padding: 17px 0;
		white-space: nowrap;
		&::before {
			content: "";
			width: 50px;
			height: 8px;
			background: var(--color_main);
			position: absolute;
			top: -25px;
			z-index: -1;
		}
	}
	.is-style-btn_normal a {
		margin-inline: auto;
	}
}
.top-case__pattern1 {
	position: absolute;
	left: 50%;
    top: -20%;
	z-index: -1;
	transform: translateX(calc( 50% + 800px));
	transition-duration: 1.3s;
	img {
		height: 730px;
		max-width: none;
	}
	&.show {
		transform: translateX(-50%);
	}
}
.top-case__pattern2 {
    position: absolute;
    right: 0;
    top: 20%;
    left: 20%;
	z-index: -1;
	transform: translateX(-800px);
	transition-duration: 1s;
	img {
		height: 530px;
		max-width: none;
	}
}
.case__items-wrapper {
	margin-bottom: 0;
}
ul.case__items {
	display: flex;
	gap: 40px;
	padding: 0 0 46px;
	flex-wrap: wrap;
}
.page ul.case__items {
	flex-wrap: nowrap;
}
.case__item {
	width: calc((100% - 80px) / 3);
	list-style: none;
	height: auto;
	/* min-width: 300px; */
	a {
		border: 1px solid #231815;
		display: flex;
		flex-direction: column;
		height: 100%;
		&:hover {
			img {
				transform: scale(1.1);
			}
			h4.is-style-section_ttl {
				span {
					background: linear-gradient(transparent 55%, #F2FD97 55%);
				}
			}
		}
	}
	figure {
		height: auto;
		aspect-ratio: 16 / 9;
		overflow: hidden;
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			transition: 0.3s;
		}
	}
	.case__text {
		padding: 20px 20px 18px;
		border-left: 20px solid #F7F8F8;
		background: #fff;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
	}
	.case__customer {
		font-size: 15px;
		font-weight: 500;
		margin-bottom: 18px;
	}
	h4.is-style-section_ttl {
		margin: 0 0 25px;
		font-size: 16px;
		letter-spacing: 0;
		line-height: 1.5;
		span {
			transition: 0.3s;
		}
	}
	.service__tag {
		display: flex;
		flex-wrap: wrap;
		gap: 7px;
		padding: 0;
		margin-top: auto;
		li {
			background: var(--color_main);
			padding: 2px 8px;
			border-radius: 10px;
			font-size: 12px;
			font-weight: 500;
			list-style: none;
			color: #fff;
			margin: 0;
		}
	}
}
.case__block-personal {
	.vertical::before {
		background: #D9C6B0;
	}
	.case__text {
		border-color: rgb(239 222 201 / 60%);
	}
	.service__tag li {
		background: #EFDEC9;
		color: #535355;
	}
}
@media (min-width: 2300px) {
	.top-case__pattern1 {
		img {
			width: 100vw;
			height: auto;
		}
	}
}
@media not all and (min-width: 960px) {
	.top-case {
		padding-block: clamp(80px, 12vw, 120px) !important;
		.title-en {
			margin-bottom: 20px;
		}
		.title-jp {
			margin-bottom: 40px;
		}
		.lead {
			font-size: 15px;
			margin-bottom: 100px;
		}
	}
	.top-case__icon {
		gap: 7px;
		right: 30px;
		top: -12%;
		transform: translateY(calc(-40% -100px));
	}
	.top-case__pattern1 {
		top: -12%;
		img {
			height: 500px;
		}
	}
	.top-case__pattern2 {
		img {
			height: 400px;
		}
	}
	.case__block {
		margin-bottom: 60px;
		.vertical {
			display: none;
		}
		h3 {
			font-size: 18px;
			margin-bottom: 5px;
		}
	}
	ul.case__items {
		gap: 10px;
		row-gap: 20px;
		width: calc(100vw - var(--swl-scrollbar_width, 0));
		margin-left: -4vw;
        padding-inline: 4vw !important;
	}
	.case__item {
		width: calc((100% - 10px) / 3);
	}
	.top-case {
		.case__item:nth-of-type(4), .case__item:nth-of-type(5) {
			display: block;
		}
	}
	.case__items-wrapper {
		display: flex;
	}
	.case__items.swiper-wrapper {
		gap: 0;
		width: auto;
		margin-inline: 0;
        padding-inline: 0 !important;
	}
	.case__item {
		width: auto;
	}
}
@media not all and (min-width: 600px) {
	.top-case {
		.title-en {
			margin-bottom: 10px;
		}
	}
	.top-case__pattern1 {
		img {
			height: 350px;
		}
	}
	.top-case__pattern2 {
		top: 32%;
		img {
			height: 300px;
		}
	}
}

/* ビジョン */
.top-vision {
	border-radius: clamp(20px, 4vw, 50px) clamp(20px, 4vw, 50px) 0 0;
	margin-bottom: 0;
	padding-block: 170px 0 !important;
	h2 {
		margin-bottom: 70px;
	}
	.lead {
		font-size: 40px;
		letter-spacing: 0.05em;
		margin-bottom: 90px;
	}
	p {
		font-weight: 700;
		margin-bottom: 100px;
		line-height: 2.1;
	}
	.is-style-btn_normal {
		margin-bottom: 180px;
	}
	.img-slider {
		figure {
			width: 400px;
		}
		&::after {
			content: "";
			width: 100%;
			height: 50%;
			background: #fff;
			position: absolute;
			left: 0;
			bottom: 0;
			z-index: -1;
		}
	}
}
.top-vision__pattern {
	position: absolute;
	left: 50%;
	bottom: 29%;
	z-index: -1;
	transform: translateX(-50%);
	transition-duration: 0.7s;
	transition-delay: 0.5s;
	opacity: 0;
	img {
		height: 640px;
		max-width: none;
	}
	&.show {
		opacity: 1;
		transform: translateX(-50%);
	}
}
.top-vision__icons {
	position: absolute;
	top: 0;
	right: 18%;
}
.top-vision__icon {
	gap: 13px;
	margin-bottom: 45px;
	align-items: flex-end;
	figure {
		width: 82px;
	}
	p {
		font-size: 9px;
		font-weight: 500;
	}
}
.top-vision__icon1 {
	figure {
		animation: icon1 6.5s infinite;
		transform-origin: bottom;
	}
}
.top-vision__icon2 {
	figure {
		animation: icon2 8.5s infinite;
	}
}
.top-vision__icon3 {
	figure {
		animation: icon6 9s infinite linear;
	}
}
.top-vision__icon4 {
	figure {
		animation: icon4 8s infinite;
	}
}
.top-vision__icon5 {
	figure {
		animation: icon4 7s infinite;
	}
}
.top-vision__icon6 {
	figure {
		animation: icon6 7.5s infinite;
		transform-origin: bottom left;
	}
}
.top-vision__icon7 {
	figure {
		animation: icon7 6s infinite;
	}
}
.top-vision__icon8 {
	figure {
		animation: icon8 9.5s infinite;
	}
}
@keyframes icon1 {
	0%, 100% {
		transform: none;
	}
	50% {
		transform: translateY(10px);
	}
}
@keyframes icon2 {
	0%, 100% {
		transform: scaleY(1);
	}
	50% {
		transform: scaleY(1.2);
	}	
}
@keyframes icon3 {
	0% {
		transform: none;
	}
	100% {
		transform: rotate(360deg);
	}	
}
@keyframes icon4 {
	0%, 100% {
		transform: none;
	}
	50% {
		transform: translateY(7px);
	}
}
@keyframes icon6 {
	0%, 100% {
		transform: none;
	}
	50% {
		transform: scale(1.1);
	}
}
@keyframes icon7 {
	0%, 100% {
		transform: scaleX(0.9);
	}
	50% {
		transform: scaleX(1.1);
	}
}
@keyframes icon8 {
	0%, 100% {
		transform: none;
	}
	50% {
		transform: translateY(-8px);
	}
}
@media (min-width: 2300px) {
	.top-vision__pattern {
		img {
			width: 100vw;
			height: auto;
		}
	}
}
@media not all and (min-width: 960px) {
	.top-vision {
		padding-block: clamp(80px, 12vw, 120px) 0px !important;
		.title-en {
			margin-bottom: 20px;
		}
		.title-jp {
			margin-bottom: 40px;
		}
		.lead {
			font-size: 24px;
			margin-bottom: 47vw;
		}
		p {
			margin-bottom: 60px;
		}
		.is-style-btn_normal {
			margin-bottom: 80px;
		}
		.img-slider {
			&::after {
				content: none;
			}
			figure {
				width: 300px;
			}
		}
	}
	.top-vision__pattern {
		bottom: 47%;
		img {
			height: 500px;
		}
	}
	.top-vision__icons {
		position: absolute;
		top: 15%;
		right: 0;
		width: 100%;
		height: 40vw !important;
	}
	.top-vision__icon {
		gap: 13px;
		margin-bottom: 45px;
		align-items: flex-end;
		figure {
			width: auto;
		}
	}
	.top-vision__icon1 {
		position: absolute;
		top: 0 !important;
		left: 61% !important;
		figure {
			img {
				width: 38px !important;
			}
		}
	}
	.top-vision__icon2 {
		position: absolute;
		top: 20% !important;
		left: 79% !important;
		figure {
			img {
				width: 58px !important;
			}
		}
	}
	.top-vision__icon3 {
		position: absolute;
		top: 24% !important;
		left: 58% !important;
		figure {
			img {
				width: 40px !important;
			}
		}
	}
	.top-vision__icon4 {
		position: absolute;
		top: 50% !important;
		left: 67% !important;
		figure {
			img {
				width: 43px !important;
			}
		}
	}
	.top-vision__icon5 {
		position: absolute;
		top: 30% !important;
		left: 39% !important;
		figure {
			img {
				width: 41px !important;
			}
		}
	}
	.top-vision__icon6 {
		position: absolute;
		top: 60% !important;
		left: 52% !important;
		figure {
			img {
				width: 30px !important;
			}
		}
	}
	.top-vision__icon7 {
		position: absolute;
		top: 80% !important;
		left: 71% !important;
		figure {
			img {
				width: 52px !important;
			}
		}
	}
	.top-vision__icon8 {
		position: absolute;
		top: 70% !important;
		left: 31% !important;
		figure {
			img {
				width: 37px !important;
			}
		}
	}
	@keyframes icon1 {
		0%, 100% {
			transform: none;
		}
		50% {
			transform: translateY(5px);
		}
	}
}
@media not all and (min-width: 600px) {
	.top-vision {
		.lead {
			margin-bottom: clamp(300px, 68vw, 400px);
		}
		.title-en {
			margin-bottom: 10px;
		}
	}
	.top-vision__pattern {
		bottom: 50%;
		img {
			height: 420px;
			margin-right: 100px;
		}
	}
	.top-vision__icons {
		height: min(68vw, 400px) !important;
	}
	.top-vision__icon {
		gap: 13px;
		margin-bottom: 45px;
		align-items: flex-end;
		figure {
			width: auto;
		}
	}
	.top-vision__icon1 {
		position: absolute;
		top: 0 !important;
		left: 55% !important;
		figure {
			img {
				width: 33px !important;
			}
		}
	}
	.top-vision__icon2 {
		position: absolute;
		top: 20% !important;
		left: 75% !important;
		figure {
			img {
				width: 53px !important;
			}
		}
	}
	.top-vision__icon3 {
		position: absolute;
		top: 24% !important;
		left: 45% !important;
		figure {
			img {
				width: 35px !important;
			}
		}
	}
	.top-vision__icon4 {
		position: absolute;
		top: 50% !important;
		left: 60% !important;
		figure {
			img {
				width: 38px !important;
			}
		}
	}
	.top-vision__icon5 {
		position: absolute;
		top: 30% !important;
		left: 25% !important;
		figure {
			img {
				width: 36px !important;
			}
		}
	}
	.top-vision__icon6 {
		position: absolute;
		top: 60% !important;
		left: 45% !important;
		figure {
			img {
				width: 25px !important;
			}
		}
	}
	.top-vision__icon7 {
		position: absolute;
		top: 80% !important;
		left: 60% !important;
		figure {
			img {
				width: 47px !important;
			}
		}
	}
	.top-vision__icon8 {
		position: absolute;
		top: 70% !important;
		left: 15% !important;
		figure {
			img {
				width: 32px !important;
			}
		}
	}
}

/* メディア */
.top-media {
	padding-block: 160px 0;
    margin-bottom: 0;
	position: relative;
	.lead {
		margin-bottom: 90px;
	}
    .p-postListWrap {
        margin-bottom: 80px;
    }
    .is-style-more_btn {
		margin-bottom: 85px;
		a {
			margin-inline: auto;
			margin-bottom: 85px;
		}
	}
}

.top-media__pattern {
	width: 54vw;
	position: absolute;
	right: calc(50% - 55vw);
	top: 0;
	z-index: -1;
	text-align: right;
	img {
		width: 100%;
		height: 100%;
	}
}
.top-media__icon {
	gap: 26px;
	position: absolute;
	right: 88px;
	right: calc(582px - 50vw);
	top: 140px;
	opacity: 0;
	transition: 0.7s;
	&.show {
		opacity: 1;
	}
	figure {
		width: clamp(45px, 10vw, 122px);
		height: clamp(45px, 10vw, 122px);
	}
}
.wp-block-group.kazehiraku-slider {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	border-top: 1px solid #535355;
	border-bottom: 1px solid #535355;
	padding: 13px 0;
	display: flex;
	> div {
		display: flex;
		align-items: center;
		white-space: nowrap;
		&.active {
			animation: 30s loop infinite linear;
		}
	}

    p {
        font-size: 45px;
        letter-spacing: 0.08em;
        margin-right: 36px;
		margin-bottom: 0;
		line-height: 1.2;
		font-weight: 400;
    }
    figure {
        width: 18px;
        margin-right: 50px;
		flex-shrink: 0;
		display: flex;
		margin-bottom: 0;
    }
	
}

@media not all and (min-width: 960px) {
	.top-media {
		padding-block: 130px 0 !important;
		.title-jp {
			margin-bottom: 40px;
		}
		.lead {
			margin-bottom: 45px;
		}
		.p-postListWrap {
			margin-bottom: 50px;
		}
		.p-postList__item {
			&:nth-of-type(5), &:nth-of-type(6) {
				display: none;
			}
		}
	}
	.top-media__pattern {
		width: 65vw;
	}
	.top-media__icon {
		gap: 9px;
		right: 0;
		top: 60px;
		p {
			transform: translateY(10px);
		}
	}
	.wp-block-group.kazehiraku-slider {
		padding: 7px 0;
		p {
			font-size: 25px;
			margin-right: 20px;
		}
		figure {
			width: 10px;
			margin-right: 27px;
		}
	}
}

@media not all and (min-width: 600px) {
	.top-media {
		.p-postList__item {
			&:nth-of-type(4) {
				display: none;
			}
		}
	}
}
/* ニュース */
.top-news {
    padding-block: 120px 110px !important;
	margin-bottom: 0;
	.title-en {
		margin-bottom: 90px;
	}
    h2 {
        position: relative;
        &::before {
            content: "" !important;
            width: 100vw;
            height: 1px;
            background: #231815;
            position: absolute;
            left: calc(50% - 50vw);
            top: -20px;
        }
    }
    .p-postListWrap {
        margin-bottom: 77px;
    }
    .is-style-btn_normal a {
        margin-left: auto;
    }
}
.top-news__icon {
	position: absolute;
	right: 0;
	top: 5%;
	transition: 0.7s 0.5s;
	z-index: 1;
	opacity: 0;
	transform: translateY(-100px);
	&.show {
		opacity: 1;
		transform: none;
	}
	figure {
		width: clamp(68px, 18vw, 210px);
		height: 95px;
	}
}

@media not all and (min-width: 960px) {
	.top-news {
		padding-block: clamp(80px, 12vw, 120px) !important;
		.title-en {
			margin-bottom: 47px;
		}
		.title-jp {
			margin-bottom: 50px;
		}
	}
	.top-news__icon {
		top: 2%;
		right: 30px;
		transform: translateY(-50px);
		figure {
			height: 53px;
		}
	}
}
@media not all and (min-width: 600px) {
	.top-news {
		padding-top: 100px !important;
	}
	.top-news__icon {
		top: -70px;
	}
}
/* note */
.top-note {
    padding-block: 130px 110px;
    margin-bottom: 0;
	position: relative;
    .logo {
        width: clamp(123px, 20vw, 212px);
        margin-left: 0;
        margin-bottom: 68px;
    }
    h2 {
        position: relative;
        &::before {
            content: "" !important;
            width: 100vw;
            height: 1px;
            background: #231815;
            position: absolute;
            left: calc(50% - 50vw);
            top: -20px;
        }
    }
    .is-style-more_btn {
		width: calc(100vw - var(--swl-scrollbar_width, 0) - 180px);
		left: calc(50% - 50vw + var(--swl-scrollbar_width, 0) + 180px / 2);
		a {
			margin-left: auto;
		}
    }
}
.top-note__icon {
	position: absolute;
	right: 0%;
	top: 8%;
	transition: 0.7s 0.5s;
	z-index: 1;
	opacity: 0;
	transform: translateY(-100px);
	align-items: flex-start;
	&.show {
		opacity: 1;
		transform: none;
	}
	figure {
		width: clamp(75px, 10vw, 116px);
		height: 185px;
	}
	p {
		padding-top: 15px;
	}
}
.note-block {
	left: calc(50% - 50vw + var(--swl-scrollbar_width, 0) + 180px / 2);
	width: calc(100vw - var(--swl-scrollbar_width, 0) - 180px);
	overflow: visible;
	margin-bottom: 90px;
	ul {
		padding: 0;
		align-items: stretch;
	}
	.swiper-button-prev, .swiper-button-next {
		color: #fff;
		background: #535355;
		width: 43px;
		height: 43px;
	}
	.swiper-button-next:after, .swiper-button-prev:after {
		font-size: 24px;
	}
	.swiper-button-prev {
		left: calc(-90px - (var(--swl-scrollbar_width, 0) / 2));
	}
	.swiper-button-next {
		right: calc(-90px + (var(--swl-scrollbar_width, 0) / 2));
	}
}
.note__item {
	height: auto;
	a {
		border: 1px solid #231815;
		border-right: none;
		display: block;
		height: 100%;
	}

}
.note__img {
	border-bottom: 1px solid #231815;
	height: auto;
	aspect-ratio: 19 / 10;
	img {
		display: block;
		width: 100%;
		height: 100%;
	}
}
.note__body {
	padding: 16px 10px;
	display: flex;
	gap: 20px;
	h3 {
		margin: 0;
		font-size: 16px;
		font-weight: 700;
	}
}
.note__data {
	font-size: 12px;
	font-weight: 500;
	order: -1;
	writing-mode: vertical-rl;
}
@media not all and (min-width: 1200px) {
	.note-block {
		left: auto;
		width: auto;
		.swiper-button-prev {
			left: calc((100% - 100vw + var(--swl-scrollbar_width, 0)) / 2);
		}
		.swiper-button-next {
			right: calc((100% - 100vw + var(--swl-scrollbar_width, 0)) / 2);
		}
	}
}
@media not all and (min-width: 960px) {
	.top-note {
		padding-block: clamp(80px, 12vw, 120px);
		.logo {
			margin-bottom: 60px;
		}
		.is-style-more_btn {
			width: auto;
			left: auto;
		}
	}
	.top-note__icon {
		transform: translateY(-50px);
		top: clamp(30px, 11vw, 130px);
		figure {
			height: 108px;
		}
	}
	.note-block {
		width: auto;
		left: auto;
		margin-bottom: 46px;
		.swiper-button-prev, .swiper-button-next {
			color: #fff;
			background: #535355;
			width: 30px;
			height: 30px;
		}
		.swiper-button-prev {
			left: -4vw;
		}
		.swiper-button-next {
			right: -4vw;
		}
		.swiper-button-next:after, .swiper-button-prev:after {
			font-size: 16px;
		}
	}
	.note__body {
		h3 {
			font-size: 15px;
		}
	}
}
@media not all and (min-width: 600px) {
	.top-note__icon {
		top: 60px;
		figure {
			width: 40px;
		}
	}
}