/*
Theme Name: 株式会社 FEAT.
Template: lightning
Author: 株式会社 FEAT.
Version: 0.6.1
*/

/**************************************
 * 共通
***************************************/
:root {
	--main-color: #08264A;
	--sub-color: #F6B11C;
}
.noto-sans-jp {
	font-family: "Noto Sans JP", sans-serif;
}
.inter {
	font-family: "Inter", sans-serif;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
}
.site-body {
	padding: 0;
	margin-top: 0 !important;
}
.site-body-container {
	padding: 0;
	max-width: 1380px;
	width: 96%;
}
.main-section {
	margin-bottom: 0;
}
.vk_outer_container {
	padding: 0 !important;
	max-width: 100% !important;
}
.wp-block-group__inner-container {
	max-width: 100% !important;
}
.sns_fix_box {
	position: fixed;
	top: 29.5%;
	right: 0px;
	transform: translateY(-50%);
	z-index: 2;
}
.fix_sns_item a {
	background: #3ACD01;
	color: #fff;
	border-radius: 10px 0 0 10px;
	padding: 13px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-weight: bold;
	transition: opacity .3s;
}
.fix_sns_item a:hover {
	opacity: .7;
}
.fix_sns_item a img {
	width: 35.86px;
}
#page_top {
	display: none !important;
}
@media screen and (max-width: 1024px) {
	.site-body-container {
		width: 90%;
	}
	.sns_fix_box {
		right: 50%;
		transform: translateX(50%);
		top: unset;
		bottom: 10px;
		max-width: 500px;
    	width: 90%;
	}
	.fix_sns_item a {
		writing-mode: horizontal-tb;
		font-size: 14px;
		padding: 10px 20px;
		border-radius: 5px;
		gap: 5px;
	}
	.fix_sns_item a img {
		width: 24px;
	}
}

/* タイトル */
.title01_box {
	position: relative;
	padding-bottom: 0.5rem;
    margin-bottom: 2rem;
}
.title01_box::before {
	content: '';
	width: 35px;
	height: 2px;
	background: var(--sub-color);
	position: absolute;
	bottom: 0;
	left: 0;
}
.title01_box.center::before {
	left: 50%;
	transform: translateX(-50%);
}
.title01 {
	font-size: 30px;
	line-height: 1;
	margin-bottom: 0.7rem !important;
	color: var(--main-color);
}
h1 {
	font-size: 32px;
}
h2 {
	font-size: 30px;
}
h3 {
	font-size: 28px;
}
h4 {
	font-size: 26px;
}
h5 {
	font-size: 24px;
}
@media screen and (max-width: 1024px) {
	.title01 {
		font-size: 28px;
		margin-bottom: 5px !important;
	}
	h1 {
		font-size: 24px;
	}
	h2 {
		font-size: 22px;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 18px;
	}
	h5 {
		font-size: 17px;
	}
}
@media screen and (max-width: 767px) {
	.title01 {
		margin-bottom: 0 !important;
	}
	.title01,
	.sub_title01 {
		text-align: center !important;
	}
	.title01_box::before {
		left: 50%;
		transform: translateX(-50%);
	}
	h1 {
		font-size: 22px;
	}
	h2 {
		font-size: 20px;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 17px;
	}
	h5 {
		font-size: 16px;
	}
}

/* ボタン */
.btn01 .vk_button_link_txt {
	position: relative;
	text-decoration: none !important;
}
.btn01 .vk_button_link_txt::before {
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: background .3s;
}
.btn01 a {
	transition: color .3s;
}
.btn01 a:hover {
	color: var(--sub-color) !important;
}
.btn01 a:hover .vk_button_link_txt::before {
	background: var(--sub-color);
}

/* テーブル */
.table01 td {
	padding: 26px 0 17px;
    border: none;
    font-size: 16px;
}
.table01 tr:first-child td {
	padding: 17px 0;
}
.table01 td:first-child {
	width: 140px;
	border-bottom: 1px solid var(--sub-color);
}
.table01 td:last-child {
	width: calc(100% - 140px);
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
@media screen and (max-width: 1024px) {
	.table01 td {
		font-size: 14px;
		padding: 20px 0 10px;
	}
	.table01 tr:first-child td {
		padding: 10px 0;
	}
	.table01 td:first-child {
		width: 90px;
	}
	.table01 td:last-child {
		width: calc(100% - 90px);
	}
}
@media screen and (max-width: 767px) {
	.table01 td,
	.table01 tr {
		display: block;
		width: 100% !important;
	}
	.table01 tr {
		position: relative;
		padding: 10px 0;
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
	.table01 tr::before {
		content: '';
		width: 50px;
		height: 1px;
		background: var(--sub-color);
		position: absolute;
		bottom: -1px;
		left: 0;
	}
	.table01 td {
		border-bottom: none !important;
		padding: 0 !important;
	}
}



/**************************************
 * ヘッダー
***************************************/
.site-header {
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.header_scrolled .site-header {
	background: rgba(255, 255, 255, .7);
}
.site-header-container {
	max-width: 96%;
	padding: 0.9rem 0;
	display: flex;
    align-items: center;
}
.header_scrolled .site-header-container--scrolled--logo-and-nav-container {
	padding: .6rem 0;
}
.site-header-sub {
	display: flex !important;
	order: 1;
	margin: 0;
	padding-left: 30px;
}
.site-header-logo {
	padding-top: 0;
	margin-bottom: 0;
}
.site-header-logo img {
	max-height: 48px;
}
.sns_items {
	gap: 10px;
}
.sns_items figure {
	max-width: 30px;
}
.global-nav {
	flex: 1;
	margin: 0;
}
.global-nav ul {
	justify-content: flex-end;
	width: auto !important;
}
.global-nav ul .menu-item {
	width: auto;
	border: none;
}
.global-nav ul .menu-item:first-child {
	border-left: none !important;
}
.global-nav ul .menu-item::before {
	display: none !important;
}
.global-nav ul .menu-item a {
	color: var(--main-color);
	padding: 14px 0.5rem !important;
	transition: color .3s;
}
.global-nav ul .menu-item a:hover {
	color: var(--sub-color);
}
.global-nav ul .menu-item a strong {
	font-size: 16px;
}

.vk-mobile-nav-menu-btn {
/* 	display: block !important; */
	width: 45px;
	height: 45px;
    right: 10px !important;
    top: 7.5px !important;
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-btn-black.svg") center 50% no-repeat transparent;
/* 	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
	border: none !important
}
.vk-mobile-nav-menu-btn.menu-open {
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-black.svg") center 50% no-repeat transparent;
	border: none !important;
}
/* body.device-pc .vk-mobile-nav {
	display: block !important;
} */
.vk-mobile-nav {
	max-width: 500px;
	padding: 3rem 25px 45px 25px;
	background: #fff;
	overflow: hidden;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	left: calc(100% - 500px);
}
.vk-mobile-nav nav ul li a {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: #000;
}
.vk-mobile-nav nav ul li a,
.vk-mobile-nav nav>ul {
	border-color: #000;
}
body {
	position: relative;
}
body::before {
	content: '';
	width: 100%;
	height: 100vh;
	background: #000;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	transition: all .3s;
	pointer-events: none;
	z-index: 1001;
}
body:has(.vk-mobile-nav-open)::before {
	opacity: .7;
	pointer-events: auto;
}
.sp_logo {
	max-width: 260px;
	margin-bottom: 2rem;
}
.vk-mobile-nav .sns_items figure {
	max-width: 40px;
}
@media screen and (max-width: 1024px) {
	.site-header-container {
		padding: 10px 0 !important;
		width: 90%;
	}
	.site-header-logo img {
		max-height: 40px;
	}
	.vk-mobile-nav-menu-btn {
		width: 45px;
		height: 45px;
	}
}
@media screen and (max-width: 992px) {
	.site-header-sub {
		display: none !important;
	}
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
	}
	body {
		padding-top: 60px;
	}
	.header_scrolled .site-header {
		background: #fff;
	}
	.header_scrolled .site-header-logo {
		display: block !important;
	}
}
@media screen and (max-width: 767px) {
	.vk-mobile-nav {
		max-width: 80%;
	}
	.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
		left: 20%;
	}
	.vk-mobile-nav nav ul li a {
		font-size: 16px;
		padding: 15px 5px;
	}
	.sp_logo {
		max-width: 180px;
	}
}







/**************************************
 * フッター
***************************************/
.site-footer {
	border-top: none;
}
.site-footer-container {
	padding-top: 2rem;
	max-width: 1380px;
	width: 96%;
}
.site-footer .widget_media_image:has(.footer_logo) {
	margin-bottom: 2.6rem;
}
.footer_logo figure {
	max-width: 266px;
	margin: 0 auto;
}
.site-footer .widget_nav_menu:has(.menu) {
	margin-bottom: 2.7rem;
}
.site-footer .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.site-footer .menu a {
	padding: 5px 8px !important;
	font-weight: bold;
	font-size: 16px;
	border: none;
	transition: color .3s;
}
.site-footer .menu a:hover {
	color: var(--sub-color);
}
.site-footer .widget_nav_menu>div>ul li.current_page_item>a,
.site-footer .widget_nav_menu>div>ul li a:hover {
	background: transparent !important;
}
.footer_sns_items {
	gap: 30px;
	justify-content: center;
}
.footer_sns_items a,
.sns_items a {
	transition: opacity .3s;
}
.footer_sns_items a:hover,
.sns_items a:hover {
	opacity: .7;
}
.footer_sns_items figure {
	max-width: 50px;
}
.footer_sns_items figure img {
	width: 100%;
}
.site-footer-copyright {
	padding: 2.8rem 0 3rem;
}
.site-footer-copyright p {
	margin: 0;
	font-family: "Inter", sans-serif;
    font-size: 16px;
	opacity: .7;
}
@media screen and (max-width: 1024px) {
	.site-footer .widget_media_image:has(.footer_logo) {
		margin-bottom: 2rem;
	}
	.footer_logo figure {
		max-width: 220px;
	}
	.footer_sns_items {
		gap: 20px;
	}
	.footer_sns_items figure {
		max-width: 40px;
	}
	.site-footer .widget_nav_menu:has(.menu) {
		margin-bottom: 2rem;
	}
	.site-footer .menu a {
		font-size: 14px;
	}
	.site-footer-copyright {
		padding: 2.8rem 0 5rem;
	}
	.site-footer-copyright p {
		font-size: 14px;
	}
}
@media screen and (max-width: 767px) {
	.site-footer-content {
		padding-top: 3rem;
	}
	.footer_logo figure {
        max-width: 200px;
    }
	.site-footer .menu {
		border-top: 1px solid #fff;
	}
	.site-footer .menu li {
		width: 100%;
	}
	.site-footer .menu a {
		border-bottom: 1px solid #fff;
		padding: 10px !important;
		text-align: center;
	}
}


/**************************************
 * ページヘッダー
***************************************/
.page_fv_box {
	position: relative;
	width: 100vw;
	margin: auto calc(50% - 50vw);
}
.page_fv_img {
	position: relative;
	margin-bottom: 0;
}
.page_fv_img::before {
	content: '';
	width: 100%;
	height: 100%;
	background: var(--main-color);
	opacity: .6;
	position: absolute;
	top: 0;
	left: 0;
}
.page_fv_img img {
	width: 100%;
}
.page_fv_title {
	font-size: 42px;
	color: #fff;
	letter-spacing: 0.12em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
@media screen and (max-width: 1024px) {
	.page_fv_title {
		font-size: 32px;
	}
}
@media screen and (max-width: 767px) {
	.page_fv_title {
		font-size: 24px;
	}
	.page_fv_img.wp-block-image img:not([style*=object-fit]) {
		height: 200px !important;
		object-fit: cover;
	}
}

/**************************************
 * トップページ
***************************************/
/* FV */
.fv_box {
	position: relative;
	width: 100vw;
	margin: auto calc(50% - 50vw);
}
.fv_slider .swiper-slide {
	padding: 0;
}
.fv_img {
	margin: 0;
}
.fv_img img {
	width: 100%;
}
.fv_text_box {
	width: 100vw;
    margin: 0 calc(50% - 50vw);
	position: absolute;
    top: 3.1vw;
    left: 4.6vw;
	z-index: 1;
}
.fv_title_box {
	position: relative;
	padding-bottom: 1.8rem;
	margin-bottom: 1.8rem !important;
}
.fv_title_box::before {
	content: '';
    width: 38px;
    height: 3px;
    background: var(--sub-color);
    position: absolute;
    bottom: 0;
    left: 0;
}
.fv_title {
	font-size: 2.777vw;
    line-height: 1.5;
	color: var(--main-color);
	text-shadow: 2px 3px 5px #fff;
	margin-bottom: 0.6vw !important;
}
.fv_sub_title {
	font-family: "Inter", sans-serif;
	font-size: 1.041vw;
}
.fv_text {
	font-size: 1.111vw;
	line-height: 1.625;
}
@media screen and (max-width: 1024px)  {
	.fv_text_box {
		left: 3%;
	}
	.fv_title_box {
		padding-bottom: 1vw;
    	margin-bottom: 2vw !important;
	}
	.fv_title {
		font-size: 3.5vw;
		line-height:  1.3;
		margin-bottom: 1.2vw !important;
	}
	.fv_sub_title  {
		font-size: 1.5vw;
	}
	.fv_text {
		font-size: 1.6vw;
		text-shadow: 0 0 5px #fff;
	}
}
@media screen and (max-width: 767px) {
/* 	.fv_img.wp-block-image img:not([style*=object-fit]) {
		height: 70vh !important;
		object-fit: cover;
	} */
	.fv_slider {
		margin-bottom: 2rem;
	}
	.fv_text_box {
		position: static;
		width: 90%;
		margin: 0 auto;
	}
	.fv_title_box {
		position: static;
		padding-bottom: 10px;
        margin-bottom: 20px !important;
	}
	.fv_title {
		font-size: 24px;
		line-height:  1.3;
		margin-bottom: 15px !important;
	}
	.fv_sub_title  {
		font-size: 14px;
	}
	.fv_text {
		font-size: 14px;
	}
}

/* 記事コンテント */
.post_content {
	padding-top: 0;
	padding-bottom: 0;
}
.post_box > .wp-block-group__inner-container {
	position: relative;
	display: flex;
	gap: 60px;
	padding: 5rem 0 4.5rem;
}
.post_box > .wp-block-group__inner-container::before {
	content: '';
	width: 1px;
	height: 100%;
	background: #F2F2F2;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.post_item {
	width: calc((100% - 60px) / 2) ;
	gap: 20px;
	margin-bottom: 0;
}
.post_item > .wp-block-column:has(.title01_box) {
	flex-basis: 117px !important;
}
.post_item > .wp-block-column {
	flex-basis: calc(100% - 137px) !important;
}
.news_list {
	margin-bottom: 1.7rem;
}
.vk_post-postType-news {
	padding: 1.16rem 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	cursor: pointer;
}
.vk_post-postType-news:first-child {
	border-top: 1px solid rgba(0,0,0,0.2);
}
.vk_post-postType-news .postListText_date {
	min-width: 80px;
	font-weight: 500;
	color: #000;
}
.vk_post-postType-news .postListText_title {
	font-size: 16px;
	line-height: 1.2 !important;
}
.vk_post-postType-news .postListText_title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	color: #000;
	text-decoration: none;
	font-weight: 500;
	transition: color .3s;
}
.vk_post-postType-news:hover .postListText_title a {
	color: var(--sub-color) !important;
}
.vk_posts-postType-blog {
	margin: 0 0 0.7rem;
	gap: 20px;
}
.vk_posts-postType-blog .vk_post-postType-blog {
	margin: 0;
	width: calc((100% - 40px) / 3);
	border-radius: 0;
	border: none;
	cursor: pointer;
	transition: opacity .3s;
}
.vk_posts-postType-blog .vk_post_imgOuter {
	aspect-ratio: 1 / .75;
}
.vk_posts-postType-blog .vk_post_body {
	padding: 1rem 0;
    display: flex;
    flex-direction: column;
}
.vk_posts-postType-blog .vk_post_date {
	order: -1;
    font-size: 14px;
    font-weight: 500;
    color: #000;
    margin-top: 0;
}
.vk_posts-postType-blog .vk_post_title  {
	margin-top: .6rem !important;
	line-height: 1.2;
	font-size: 16px;
}
.vk_posts-postType-blog .vk_post_title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	color: #000;
	transition: color .3s;
}
.vk_post-postType-blog:hover {
	opacity: .7;
}
@media screen and (max-width: 1024px) {
	.post_box > .wp-block-group__inner-container {
		padding: 4rem 0;
		flex-wrap: wrap;
		gap: 40px;
	}
	.post_box > .wp-block-group__inner-container::before {
		display: none;
	}
	.post_item {
		width: 100%;
	}
	.vk_post-postType-news {
		padding: 15px 0;
	}
	.vk_post-postType-news .postListText_title {
		font-size: 14px;
	}
	.vk_posts-postType-blog {
		margin-bottom: 1.7rem;
	}
	.vk_posts-postType-blog .vk_post_body {
		padding: .5rem 0;
	}
	.vk_posts-postType-blog .vk_post_title {
		margin-top: 0.3rem !important;
		font-size: 14px;
	}
}
@media screen and (max-width: 767px) {
	.post_content .post_item {
		flex-wrap: wrap !important;
		gap: 0;
	}
	.post_item > .wp-block-column:has(.title01_box),
	.post_item > .wp-block-column {
		flex-basis: 100% !important;
	}
	.vk_posts-postType-blog .vk_post-postType-blog {
		width: calc((100% - 20px) / 2);
	}
	.vk_posts-postType-blog .vk_post-postType-blog:last-child {
		display: none;
	}
	.vk_posts-postType-blog .vk_post_date,
	.vk_post-postType-news .postListText_date {
		font-size: 12px;
	}
}

/* CONCEPT */
.concept_content {
	padding-top: 3.4rem;
	padding-bottom: 3.4rem;
}
.concept_box {
	max-width: 1265px;
    margin: 0 auto;
	gap: 3%;
}
.concept_box > .wp-block-column:has(.concept_text) {
	flex-basis: 40% !important;
}
.concept_box > .wp-block-column:has(.concept_img) {
	flex-basis: 57% !important;
}
.concept_img {
	margin-bottom: 0;
}
.concept_img img {
	width: 100%;
}
.concept_text {
	line-height: 1.625;
}
@media screen and (max-width: 1024px) {
	.concept_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.concept_box > .wp-block-column:has(.concept_text) {
		flex-basis: 52% !important;
	}
	.concept_box > .wp-block-column:has(.concept_img) {
		flex-basis: 45% !important;
	}
}
@media screen and (max-width: 767px) {
	.concept_content .concept_box {
		flex-wrap: wrap !important;
		gap: 2rem;
	}
	.concept_box > .wp-block-column:has(.concept_text),
	.concept_box > .wp-block-column:has(.concept_img) {
		flex-basis: 100% !important;
	}
}

/* SERVICE */
.service_content {
	padding-top: 5.1rem;
	padding-bottom: 5.1rem;
}
.service_items {
	max-width: 1280px;
    margin: 0 auto;
}
.service_content .title01_box {
	margin-bottom: 3rem;
}
.service_items > .row {
	margin: 0;
	gap: 40px;
}
.service_items .vk_gridColumn_item {
	padding: 0;
	flex: 0 0 calc((100% - 40px) / 2);
	max-width: 100%;
}
.service_item .wp-block-columns {
	gap: 3.5%;
	margin-bottom: 0;
	height: 100%;
}
.service_item .wp-block-columns > .wp-block-column:has(.service_img) {
	flex-basis: 48.5% !important;
}
.service_item .wp-block-columns > .wp-block-column:has(.service_text) {
	flex-basis: 48% !important;
	padding: 30px 20px;
	padding-left: 0;
}
.service_img {
	margin-bottom: 0;
	height: 100%;
}
.service_img.wp-block-image img:not([style*=object-fit]) {
	height: 100% !important;
	object-fit: cover !important;
}
.service_title {
	font-size: 24px;
    color: var(--main-color);
    margin-bottom: .6rem !important;
}
.service_sub_title {
	color: var(--sub-color);
	line-height: 1.4;
    margin-bottom: .8rem;
}
.service_text {
	font-size: 14px;
}
@media screen and (max-width: 1024px) {
	.service_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.service_items {
		max-width: 800px;
	}
	.service_items .vk_gridColumn_item {
		flex: 0 0 100%;
	}
	.service_item .wp-block-columns {
		align-items: center !important;
	}
	.service_title {
		margin-bottom: .2rem !important;
	}
	.service_sub_title {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.service_items {
		max-width: 500px;
	}
	.service_item .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 0;
	}
	.service_item .wp-block-columns > .wp-block-column:has(.service_img),
	.service_item .wp-block-columns > .wp-block-column:has(.service_text) {
		flex-basis: 100% !important;
	}
	.service_img.wp-block-image img:not([style*=object-fit]) {
		aspect-ratio: 1 / .6;
	}
	.service_item .wp-block-columns > .wp-block-column:has(.service_text) {
		padding: 20px 10px;
	}
	.service_title {
		font-size: 22px;
	}
}

/* GREETING */
.greeting_content {
	padding-top: 5.3rem;
	padding-bottom: 5.1rem;
}
.greeting_content .title01_box {
	margin-bottom: 3.4rem;
}
.greeting_item {
	max-width: 1080px;
    margin: 0 auto;
	gap: 3.8%;
}
.greeting_item > .wp-block-column:has(.greeting_img) {
	flex-basis: 48.2% !important;
}
.greeting_item > .wp-block-column:has(.greeting_text) {
	flex-basis: 48% !important;
}
.greeting_img {
	margin-bottom: 0;
}
.greeting_img img {
	width: 100%;
}
.greeting_title {
	font-size: 18px;
    color: var(--main-color);
}
.greeting_text {
	line-height: 1.5;
	margin-bottom: 0;
}
.greeting_name {
	margin-top: 1.2rem;
	margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.greeting_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.greeting_content .title01_box {
		margin-bottom: 2.5rem;
	}
	.greeting_item > .wp-block-column:has(.greeting_img) {
		flex-basis: 44.2% !important;
	}
	.greeting_item > .wp-block-column:has(.greeting_text) {
		flex-basis: 52% !important;
	}
}
@media screen and (max-width: 767px) {
	.greeting_content .greeting_item {
		flex-wrap: wrap !important;
		gap: 1.5rem;
	}
	.greeting_item > .wp-block-column:has(.greeting_img),
	.greeting_item > .wp-block-column:has(.greeting_text) {
		flex-basis: 100% !important;
	}
	.greeting_name {
		margin-top: 2rem;
	}
}

/* COMPANY */
.company_content {
	padding-top: 5.4rem;
	padding-bottom: 3.6rem;
}
.company_content .title01_box {
	margin-bottom: 3.4rem;
}
.company_item {
	max-width: 1080px;
    margin: 0 auto;
	gap: 3.6%;
}
.company_item > .wp-block-column:has(.table01) {
	flex-basis: 50% !important;
}
.company_item > .wp-block-column:has(.map) {
	flex-basis: 46.4% !important;
}
.map {
	margin-bottom: 0;
	height: 100%;
}
@media screen and (max-width: 1024px) {
	.company_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.company_content .title01_box {
		margin-bottom: 2.5rem;
	}
}
@media screen and (max-width: 767px) {
	.company_content .title01_box {
		margin-bottom: 2rem;
	}
	.company_content .company_item {
		flex-wrap: wrap !important;
		gap: 1rem;
	}
	.company_item > .wp-block-column:has(.table01),
	.company_item > .wp-block-column:has(.map) {
		flex-basis: 100% !important;
	}
	.map {
		aspect-ratio: 1 / .7;
	}
}

/* BANNER */
.banner_slider {
	width: 100vw;
	margin: auto calc(50% - 50vw);
	background: var(--main-color);
}
.banner_slider .swiper-wrapper {
	transition-timing-function: linear;
}
.banner_slider .wp-block-group__inner-container,
.banner_slider .wp-block-image:where(:not(.alignfull,.alignwide)) {
	max-width: unset !important;
	width: 100%;
}
.banner_slider figure {
	margin-bottom: 0;
}
.banner_slider figure img {
	width: 100%;
}

/**************************************
 * お知らせ
***************************************/
.page-header,
.breadcrumb,
.archive-header {
	display: none !important;
}
.post-type-news .main-section,
.post-type-blog .main-section {
	padding-top: 5.2rem;
	padding-bottom: 8rem;
	max-width: 1080px;
	margin: 0 auto;
}
.pagination {
	margin-top: 4rem;
}
.page-numbers li {
	font-size: 16px;
}
ul.page-numbers li {
	margin: 0 5px;
	overflow: visible;
}
ul.page-numbers li span.page-numbers.current {
	background-color: var(--main-color);
	color: #fff;
}
ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
	background-color: #fff;
	border-radius: 50% !important;
	width: 40px;
    height: 40px;
	color: #3D2C1E;
	font-weight: 400;
	padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
ul.page-numbers li a.next,
ul.page-numbers li a.prev {
	padding-bottom: 5px;
}
@media screen and (max-width: 1024px) {
	.post-type-news .main-section,
	.post-type-blog .main-section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}
@media screen and (max-width: 767px) {
	ul.page-numbers li {
		margin: 0 3px;
	}
	.page-numbers li {
		font-size: 13px;
	}
	ul.page-numbers li a,
	ul.page-numbers li span.page-numbers {
		width: 35px;
		height: 35px;
		font-size: 13px;
	}
	ul.page-numbers li a.next,
	ul.page-numbers li a.prev {
		padding-bottom: 3px;
	}
}

/*****************************************
 * エラーページ
******************************************/
.error_content {
	padding-top: 5.2rem;
	padding-bottom: 8rem;
}
.error_text {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 1px;
}
@media screen and (max-width: 1024px) {
	.error_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}
@media screen and (max-width: 767px) {
	.error_text {
		font-size: 15px;
	}
}


/***********************************************
 * アニメーション
***********************************************/
.delay1 {
	transition-delay: 0.1s !important;
}
.delay2 {
	transition-delay: 0.2s !important;
}
.delay3 {
	transition-delay: 0.3s !important;
}
.delay4 {
	transition-delay: 0.4s !important;
}
.delay5 {
	transition-delay: 0.5s !important;
}
.delay6 {
	transition-delay: 0.6s !important;
}
.delay7 {
	transition-delay: 0.7s !important;
}
.delay8 {
	transition-delay: 0.8 !important;
}
.delay9 {
	transition-delay: 0.9s !important;
}
.delay10 {
	transition-delay: 1s !important;
}

.animate_en span {
	display: inline-block;
	overflow: hidden;
	transform: translateY(70%);
	opacity: 0;
	transition: all .3s var(--char-index);
}
.animate_en.class_active span {
	opacity: 1;
	transform: translate(0);
}
.animate_en span.space {
	display: inline;
}

/* opacity */
.class_key.opacity {
	opacity: 0;
	transition: all .3s;
}
.opacity.class_active {
	opacity: 1;
}

/* ふわっと上 */
.class_key.up {
	transform: translateY(30px);
	opacity: 0;
	transition: all .3s;
}
.up.class_active {
	transform: translateY(0);
	opacity: 1;
}

/* ふわっと下 */
.class_key.down {
	transform: translateY(-30px);
	opacity: 0;
	transition: all .3s;
}
.down.class_active {
	transform: translateY(0);
	opacity: 1;
}

/* 右から左 */
.class_key.right {
	transform: translateX(30px);
	opacity: 0;
	transition: all .5s;
}
.right.class_active {
	transform: translateX(0);
	opacity: 1;
}

/* 左から右 */
.class_key.left {
	transform: translateX(-30px);
	opacity: 0;
	transition: all .5s;
}
.left.class_active {
	transform: translateX(0);
	opacity: 1;
}

/* マスク */
.class_key.mask {
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    mask-size: 340% 340%;
    -webkit-mask-size: 340% 340%;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: 130% 130%;
    -webkit-mask-position: 130% 130%;
}
.class_active.mask {
	animation: mask-animation 0.8s linear forwards;
}
@keyframes mask-animation {
	0% {
		mask-position: 130% 130%;
    	-webkit-mask-position: 130% 130%;
		mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
	}
	99% {
		mask-position: 0 0;
    	-webkit-mask-position: 0 0;
		mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
	}
	100% {
		mask-image: unset;
		-webkit-mask-image: unset;
	}
}









