/*
Theme Name: soraniwa
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

/*
#####################
	common
#####################
*/
.pc { display: block !important; }
.pc2 { display: inline-block !important; }
.sp, .sp2 { display: none !important; }

body, html {
	color: #1a1a1a;
	position: relative;
	z-index: 0;
	letter-spacing: 0.15em;
	overflow-x: clip;
	font-feature-settings: "palt";
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
h1, h2, h3, h4, .toppan, .global-nav, .area-catch, .vk_button .vk_button_link.btn,
.vk-mobile-nav, .smf-action button, .page-header-title {
	font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
	font-weight: 900;
	font-style: normal;
}
h1, h2, h3, h4 {
	letter-spacing: 0.2em;
}
p {
	line-height: 1.8;
	font-size: 0.875em;
}
p a {
	text-decoration: none;
}
a {
	transition: 0.3s;
}
a:hover {
	transform: translateY(-5px);
	opacity: 0.8;
	transition: 0.3s;
}
.widget {
	margin-bottom: 0;
}
.main-section--margin-bottom--on {
	margin-bottom: 0;
}
:is(.white_btn, .green_btn).vk_button .vk_button_link.btn {
	font-size: 0.875em !important;
	font-weight: 700;
	padding: 1rem 5rem 1rem 1.5rem;
	position: relative;
}
:where(.white_btn, .green_btn).vk_button .vk_button_link.btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
	width: 14px;
	height: 10px;
}
.white_btn.vk_button .vk_button_link.btn::after {
	background: url(/wp-content/uploads/arrow.svg) center / contain no-repeat;
}
.green_btn.vk_button .vk_button_link.btn::after {
	mask: url(/wp-content/uploads/arrow.svg) center / contain no-repeat;
	background-color: white;
}
.vk_button_link_txt {
	text-align: left;
}
table {
	border: none;
}
.wp-block-table tr {
	border-bottom: 1px solid #58a3cb;
}
.wp-block-table tr:first-child {
	border-top: 1px solid #58a3cb;
}
table :is(th,td) {
	text-align: left;
	border: none;
}
table th {
	vertical-align: top;
}
.wp-block-table td, .wp-block-table th {
	border: none;
	padding: 2rem;
}
.wp-block-table th {
	color: #a6a6a6;
	font-weight: 400;
	width: 25%;
}



/*
#####################
	header
#####################
*/
.home .container.site-header-container {
	position: absolute;
}
body:not(.header_scrolled) .container.site-header-container {
	top: 2rem;
}
.home .site-header-logo {
	display: none;
}
.header_scrolled .site-header-logo {
	display: block;
}
.site-header {
	box-shadow: none;
	position: relative;
}
.global-nav-list>li:last-child a {
	background-color: #004626;
	color: white;
	border-radius: 5px;
}
.header_scrolled .container.site-header-container {
	align-items: center;
	padding-left: 15px;
	padding-right: 25px;
	background-color: rgba(255,255,255,0.1);
	backdrop-filter: blur(10px);
}
.header_scrolled .site-header-logo img {
	max-height: 75px;
}
.header_scrolled .site-header {
	box-shadow: none;
	background-color: initial;
}



/*
#####################
	top
#####################
*/
.home .site-body {
	padding: 0;
}
/*　トップMV　*/
.mv_block {
	background: url(/wp-content/uploads/mv_bg.jpg) center / cover no-repeat;
	z-index: -1;
	height: 150vh;
}
.mv-logo img {
	width: 225px;
	padding: 2.5rem 0 0 2rem;
}
.mv_block h2 {
	font-size: clamp(30px, 4vw, 72px);
	margin-top: 56vh !important;
	margin-bottom: 0.5rem !important;
	z-index: 1;
	position: relative;
	letter-spacing: 0.1em;
}
.mv_block h2 span {
	font-size: clamp(24px, 4vw, 48px);
	padding-left: 2rem;
	letter-spacing: 0.2em;
}
.mv_block h1 {
	font-size: 1rem;
	font-family: inherit;
	font-weight: inherit;
	z-index: 1;
	position: relative;
}
.mv-video {
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	top: calc(50% - 25vh);
	mask-image: url(/wp-content/uploads/mv-mask.svg);
	mask-repeat: no-repeat;
	mask-position: center top;
	mask-size: 40%;
	-webkit-mask-image: url(/wp-content/uploads/mv-mask.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center top;
	-webkit-mask-size: 40%;
	z-index: 0;
}
.mv-video video {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/*　空庭造園ができること　*/
.top-service_block {
	padding-top: 60vh;
	padding-bottom: 3000px;
	position: relative;
	height: 100%;
}
.top-service_block video {
	position: fixed;
	object-fit: cover;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: -2;
}
.top-service_block h2 {
	color: white;
	position: absolute;
	left: 5vw;
	top: 15rem;
}
.top-service_conbox {
	background-color: rgba(255,255,255,0.4);
	width: clamp(350px, 32vw, 450px);
	padding: 2rem 0;
	border-radius: 5px;
	box-shadow: 0px 0px 10px 0px rgba(35, 105, 142, 0.4);
	position: absolute;
	backdrop-filter: blur(10px);
}
.top-service_conbox img {
	padding-left: 2rem;
}
.top-service_conbox h3 {
	padding: 1rem 2rem 0 2rem;
}
.top-service_conbox p {
	padding: 0 2rem;
}
.s_conbox01 {
	top: 0;
	left: 25vw;
}
.s_conbox02 {
	top: 10rem;
	right: 0;
}
.s_conbox02::before {
	content: '';
	background: url(/wp-content/uploads/character.png) center / contain no-repeat;
	width: 90px;
	height: 121px;
	position: absolute;
	top: -6rem;
	right: 0;
}
.s_conbox03 {
	top: 40rem;
	left: 28vw;
}
.s_conbox04 {
	top: 53rem;
	right: 0;
}
.s_conbox05 {
	top: 79rem;
	left: 25vw;
}
.s_conbox06 {
	top: 100rem;
	right: 0;
}
.s_conbox07 {
	top: 118rem;
	left: 28vw;
}
.s_conbox08 {
	top: 140rem;
	right: 0;
}

/*　施工実績　*/
.top-works_block {
	padding-top: 10rem;
	position: relative;
}
.top-works_block::after {
	content: url(/wp-content/uploads/soraniwa_bg.svg);
	position: absolute;
	top: 5rem;
	right: 5%;
	filter: brightness(0) saturate(100%) invert(98%) sepia(76%) saturate(6367%) hue-rotate(168deg) brightness(100%) contrast(82%);
	opacity: 0.3;
}
:is(.top-service_block, .top-works_block, .top-area_column, .service-recommend_block, .service-content_block) h2, .cta-tel {
	font-size: clamp(28px, 4vw, 36px);
	position: relative;
}
.top-works_block h2 {
	padding-left: 8rem;
	z-index: 2;
}
.top-works_block h2::before {
	content: '';
	background: url(/wp-content/uploads/character.png) center / contain no-repeat;
	width: 70px;
	height: 130px;
	position: absolute;
	left: 0;
	top: 0;
}
.top-works_slider :is(.vk_slider .swiper-button-next, .vk_slider .swiper-button-prev) {
	background: url(/wp-content/uploads/arrow2.svg) center / contain no-repeat;
	width: clamp(25px, 4vw, 60px);
	height: clamp(40px, 4vw, 100px);
	filter:drop-shadow(0 0 5px rgba(35, 105, 142, 0.4));
}
.swiper-button-next {
	transform: scale(-1, 1);
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
	content: '';
}
.top-works_slider.swiper {
	overflow: visible;
	top: 2rem;
}
.top-works_slider .swiper-wrapper {
	gap: 4rem;
	left: -16rem;
}
.top-works_slider .swiper-slide-active {
	top: 5rem;
}
.top-works_slider .wp-block-vk-blocks-slider-item {
	background-color: #58a3cb;
	border-radius: 10px;
	padding-bottom: 5rem;
}
.top-works_slider .vk_slider_item .vk_slider_item-background-area:not([class*=-background-color]) {
	background-color: inherit;
}
.top-works_slider .vk_slider_item_container {
	padding-left: 0;
	padding-right: 0;
}
.top-works_slider .wp-block-vk-blocks-slider-item img {
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 40%;
	border-bottom-right-radius: 40%;
	width: 100%;
	height: clamp(350px, 35vw, 600px);
}
.top-works_info-box {
	background-color: rgba(255,255,255,0.4);
	backdrop-filter: blur(10px);
	position: absolute;
	bottom: -3.5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 95%;
	border-radius: 5px;
	padding: 2rem;
}
.top-works_info-box .taxonomy-works-type a {
	color: white;
	font-size: 0.875em;
	text-decoration: none;
	border: 1px solid white;
	border-radius: calc(infinity * 1px);
	padding: 0.5rem;
	pointer-events: none
}
.top-works_block .vk_button {
	position: absolute;
	top: 10rem;
	right: 15%;
	z-index: 5;
}
.top-works_info-box h4 a {
	color: white;
	font-size: 1.125rem;
	line-height: 1.5;
	margin-top: 1.5rem;
}
/*　代表挨拶　*/
.president_block {
	padding: 15rem 0;
	overflow: hidden;
	position: relative;
}
.president_block::before {
	content: '';
	background: url(/wp-content/uploads/president_bg.svg) center center / contain no-repeat;
	width: 1277px;
	height: 1219px;
	position: absolute;
	top: 7%;
	left: -6%;
	animation: spin 40s linear infinite reverse;
	z-index: 0;
}
@keyframes spin{
	0%   {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}
.president_column {
	color: white;
	z-index: 1;
	position: relative;
	gap: 3rem;
}
.president_column img {
	width: 80%;
	height: auto;
}
.president_column h2 {
	margin-top: 2rem !important;
	font-size: clamp(14px, 4vw, 18px);
}
:is(.top-service_conbox, .president_column) h3, .news_block h2 {
	font-size: clamp(22px, 4vw, 28px);
}
.biography_box {
	position: relative;
}
.biography_box::before {
	content: '';
	background: url(/wp-content/uploads/character.png) center / contain no-repeat;
	width: 102px;
	height: 137px;
	position: absolute;
	left: 0;
	top: -1rem;
	z-index: 1;
}
.biography_column {
	background-color: rgba(255, 255, 255, 0.4);
	padding: 2rem 3rem;
	border-radius: 5px;
	position: absolute;
	top: -2rem;
	right: 0;
	backdrop-filter: blur(10px);
	width: 70%;
	z-index: 1;
}
:is(.biography_column, .service-recommend_column) h4 {
	font-size: clamp(14px, 4vw, 18px);
}
/*　対応エリア　*/
.top-area_block {
	background: url(/wp-content/uploads/area_bg.jpg) center center / cover no-repeat;
	padding: 13rem 0 8rem;
}
.top-area_column {
	position: relative;
}
.top-area_column::after {
	content: '';
	background: url(/wp-content/uploads/character.png) center / contain no-repeat;
	width: 132px;
	height: 177px;
	position: absolute;
	right: 0;
	bottom: -4rem;
}
.top-area_block .area-catch {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-feature-settings: initial;
	font-size: clamp(20px, 4vw, 28px);
	color: white;
	position: absolute;
	height: 13rem;
	top: -10rem;
	left: 30%;
}
.area-catch span {
	background-color: #58a3cb;
	padding: 0.8rem;
}
.top-area_column h2 {
	line-height: 2;
}
.map_img img {
	position: absolute;
	top: -17rem;
}
/*　お知らせ　*/
.top-youtube_block, .news_block, .insta_block {
	padding: 10rem 0;
}
.news_block .green_btn.vk_button .vk_button_link.btn {
	padding-right: 3rem;
}
.news_block ul li {
	border-top: 1px solid #58a3cb;
	padding: 2rem 0;
}
.news_block ul li:last-child {
	border-bottom: 1px solid #58a3cb;
}
.news_block ul li time {
	font-size: 13px;
	color: #a6a6a6;
}



/*
#####################
	page
#####################
*/
.container.site-header-container {
	max-width: 100vw;
}
:is(.post-name-company, .post-name-service) .page-header, .breadcrumb {
	display: none;
}
.page-header, .page-head_block {
	position: relative;
	padding: 5rem 0;
}
:is(.page-header, .page-head_block)::before {
	opacity: 0.1;
	z-index: -1;
}
.page-head_block h2 {
	color: #58a3cb;
	font-size: clamp(16px, 10vw, 21px);
	padding-left: 3rem;
}
.page-head_block h1 {
	font-size: clamp(30px, 4vw, 72px);
	letter-spacing: 0.1em;
}

/*　事業内容
-------------------------------------*/
.service-recommend_block, .contact-tel_block {
	background: url(/wp-content/uploads/area_bg.jpg) center center / cover no-repeat;
	padding: 8rem 0;
}
.service-recommend_block h2 {
	color: #ffffff;
	text-shadow: 1px 1px 10px rgba(35, 105, 142, 0.8);
	margin-bottom: 5rem !important;
}
.service-recommend_column {
	background-color: rgba(255, 255, 255, 0.4);
	padding: 3rem;
	border-radius: 5px;
	backdrop-filter: blur(10px);
	margin-top: 2rem !important;
}
.service-recommend_column h4 {
	color: #58a3cb;
	margin-bottom: 0.4rem !important;
}
.service-recommend_column h3 {
	font-size: clamp(20px, 4vw, 28px);
}
.service-anchor_block {
	background-color: rgba(162,208,233,0.3);
	padding: 5rem 0;
}
.service-anchor_block .wp-block-columns.is-layout-flex {
	flex-wrap: wrap !important;
}
.service-anchor_box {
	background-color: white;
	border-radius: 5px;
	padding-bottom: 2rem;
	width: 23%;
	flex-basis: auto !important;
}
.service-anchor_mainimg.wp-block-image img:not([style*=object-fit]) {
	width: 100%;
	height: 200px !important;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	object-fit: cover;
}
p.service-anchor_number {
	color: #58a3cb;
	display: inline-block;
	border-radius: 30px;
	padding: 0 1rem;
	border: 1px solid #58a3cb;
}
.service-anchor_arrow {
	filter: brightness(0) saturate(100%) invert(60%) sepia(87%) saturate(290%) hue-rotate(160deg) brightness(85%) contrast(85%);
	transform: rotate(90deg);
	height: 10px;
	width: 14px;
}
.service-anchor_box h3 {
	margin-bottom: 1rem !important;
}
.service-anchor_box :where(h3, p) {
	padding: 0 2rem;
}
.service-anchor_box .wp-block-columns {
	margin-bottom: 1rem !important;
	padding: 0 2rem;
}
.service-main_block {
	margin-top: 10rem;
}
.service-main_img.wp-block-image img:not([style*=object-fit]) {
	width: 100%;
	height: clamp(250px, 25vw, 500px) !important;
	border-radius: 10px;
	object-fit: cover;
}
.service-main_column h2 {
	background-color: #58a3cb;
	padding: 0.5rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-feature-settings: initial;
	font-size: clamp(24px, 4vw, 36px);
	color: white;
	margin-top: -10rem;
	margin-left: 3rem !important;
}
.service-main_column p {
	margin: 2rem 2rem 0 0 !important;
}
.service-example_box {
	background-color: #a2d0e9;
	padding: 1.5rem 2rem;
	margin-top: 2rem !important;
	border-radius: 10px;
	position: relative;
	width: 95%;
	overflow: hidden;
}
.service-example_box::before {
	content: '';
	background: url(/wp-content/uploads/mv-mask.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(172deg) brightness(106%) contrast(101%);
	opacity: 0.1;
	width: 150%;
	height: 150%;
}
.service-example_box h3 {
	color: white;
	font-size: clamp(14px, 4vw, 18px);
}
:is(.service-example_box, .service-content_block) ul {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding-left: 0;
}
.service-example_box ul li {
	background-color: white;
	border-radius: 5px;
	padding: 0.5rem;
	margin-right: 10px;
	font-size: 0.875rem;
	font-weight: 700;
}
.service-content_block {
	background: url(/wp-content/uploads/service-con_bg.jpg) center / cover no-repeat;
	padding: 5rem 0 10rem;
	margin-top: 10rem !important;
	color: white;
}
.service-content_block h2 {
	margin-bottom: 0 !important;
}
.service-content_block h3 {
	text-shadow:1px 1px 0 #004626, -1px -1px 0 #004626,-1px 1px 0 #004626, 1px -1px 0 #004626,0px 1px 0 #004626,  0-1px 0 #004626,-1px 0 0 #004626, 1px 0 0 #004626;
	font-size: clamp(18px, 4vw, 24px);
}
.service-content_block ul {
	justify-content: space-between;
	font-size: clamp(14px, 4vw, 18px);
	flex-wrap: wrap;
}
.service-content_block ul li {
	background-color: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(10px);
	padding: 1rem 0;
	border-radius: calc(infinity * 1px);
	width: 19%;
	text-align: center;
}

.president_name {
	font-size: clamp(20px, 4vw, 28px);
	padding-right: 1rem;
}
.president_name span {
	font-size: clamp(14px, 1.4vw, 18px);
	padding-right: 1rem;
}

/*　施工実績・お知らせ
-------------------------------------*/
.post-type-works .vk_posts {
	gap: 5%;
}
.post-type-works :is(.vk_posts, .vk_post) {
	margin-left: 0;
	margin-right: 0;
}
.post-type-works .vk_posts .vk_post-col-lg-12 {
	width: 30%;
}
.post-type-works .vk_posts:not(.next-prev) .vk_post .vk_post_imgOuter:before {
	padding-top: 130%;
}
.vk_posts:not(.next-prev) .vk_post_imgOuter_singleTermLabel, .post-type-works .vk_post_excerpt,
.post-type-works :is(.vk_post_date, .vk_post_btnOuter),
.entry-meta-item-updated, .entry-meta-item-author, .post-template-default .entry-footer {
	display: none;
}
:is(.blog, .post-type-post) .card {
	flex-direction: row;
}
:is(.blog, .post-type-post) .main-section .vk_posts .vk_post-col-lg-12 {
	gap: 3rem;
}
:is(.blog, .post-type-post) .main-section .vk_post .vk_post_imgOuter:before {
	width: 280px;
}
.single-works th {
	width: 40%;
	padding-right: 0;
}

/*　お問い合わせ
-------------------------------------*/
.contact-tel_tel-box {
	width: 40%;
	padding: 1rem 0;
	border-radius: 10px;
	margin-bottom: 2rem !important;
}
.smf-form--business .smf-item__col--label {
	background-color: #a2d0e9;
}
.smf-item__label__text {
	color: white;
	font-weight: 700;
}
.smf-item__description {
	background-color: white;
	padding: 0.2rem 0.5rem;
	color: #004626;
	display: inline-block;
	border-radius: 5px;
	font-size: 0.75rem;
}
.smf-action .smf-button-control__control {
	background: #58a3cb;
	color: white;
	font-size: clamp(14px, 1.4vw, 18px);
	letter-spacing: 0.15em;
	padding: 0.5rem 3rem;
}


/*
#####################
	footer
#####################
*/
.cta_block {
	background-color: #002946;
	padding: 10rem 0;
	color: white;
	position: relative;
}
:where(.cta_block, .page-header, .page-head_block)::before {
	content: '';
	background: url(/wp-content/uploads/soraniwa_bg.svg) center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	filter: brightness(0) saturate(100%) invert(98%) sepia(76%) saturate(6367%) hue-rotate(168deg) brightness(100%) contrast(82%);
	opacity: 0.05;
	width: 110%;
	height: 100%;
}
.cta_block::after {
	content: '';
	background: url(/wp-content/uploads/character.png) center / contain no-repeat;
	width: 80px;
	height: 150px;
	position: absolute;
	left: 5rem;
	bottom: 3rem;
}
.cta_column .wp-block-column {
	padding: 3rem 0;
	z-index: 2;
	position: relative;
}
.cta_column .wp-block-column:first-child {
	border-right: 1px solid #58a3cb;
	padding-left: 2rem;
}
.cta_column .wp-block-column:nth-child(2) {
	padding-left: 5vw;
}
.cta_block p {
	margin-bottom: 0 !important;
}
.cta-tel a {
	color: white;
}
.footer_block {
	padding: 8rem 0;
	background-color: white;
}
.footer_block .footer_column div.wp-block-column:first-child {
	border-right: 1px solid #a6a6a6;
}
.footer_block .fot-btn_column div.wp-block-column:first-child {
	border-right: none;
}
.footer_block img {
	width: 70%;
	margin-bottom: 1rem;
}
p.copyright {
	font-size: 0.75rem;
}
.fot_btn.vk_button .vk_button_link.btn {
	width: 100%;
	padding: 1.5rem 0;
}
#menu-sub_nav {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
#menu-sub_nav li a {
	border-bottom: none;
	padding-left: 0;
	padding-right: 1.3rem;
}
#menu-sub_nav li:last-child a {
	padding-right: 0;
}
.widget_nav_menu>div>ul li a:hover, .widget_nav_menu>div>ul li.current_page_item>a {
	background-color: inherit;
}
.outside-banner a {
	border: 1px solid #a6a6a6;
	padding: 1rem 2rem;
}
.site-footer {
	display: none;
}
.page_top_btn, .scrolled .page_top_btn {
	right: 0;
	background-color: #004626;
	background-image: none;
	box-shadow: none;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	color: white;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	width: auto;
	height: auto;
	font-size: 0.875em;
	padding: 2.5rem 0.5rem 1rem;
	z-index: 1000;
}
.page_top_btn::after {
	content: '';
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%) rotate(-90deg);
	width: 14px;
	height: 10px;
	mask: url(/wp-content/uploads/arrow.svg) center / contain no-repeat;
	background-color: white;
}







/*************************** レスポンシブ開始　***************************/
.device-mobile .global-nav-list>li:last-child a {
	padding: 14px 1.5em;
}
.device-mobile .global-nav-list>li:last-child {
	padding-top: 0;
	padding-bottom: 0;
}

@media (min-width: 1200px) {
	:root{ --vk-width-container : 1230px; }
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1230px;
	}
}

@media screen and (max-width: 1199.98px) {
	.top-service_block h2, .top-service_conbox {
		position: relative;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.top-service_conbox {
		width: 100%;
		margin-bottom: 5rem !important;
	}
	.top-works_block .vk_button {
		position: absolute;
		top: 10rem;
		right: 15%;
	}
}

@media screen and (max-width: 991.98px) {
	/*　common
	-------------------------------------*/
	.pc, .pc2 { display: none !important; }
	.sp { display: block !important; }
	.sp2 { display: inline-block !important; }
	/*　header
	-------------------------------------*/
	.vk-mobile-nav {
		padding: 2rem;
		background-color: #004626;
	}
	.vk-mobile-nav::after {
		content: '';
		background: url(/wp-content/uploads/soraniwa_bg.svg) center / contain no-repeat;
		position: absolute;
		bottom: 3%;
		right: 5%;
		filter: brightness(0) saturate(100%) invert(98%) sepia(76%) saturate(6367%) hue-rotate(168deg) brightness(100%) contrast(82%);
		opacity: 0.05;
		width: 300px;
		height: 50px;
	}
	.vk-mobile-nav img {
		width: 70%;
		margin: 0 auto;
		filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(0%) hue-rotate(12deg) brightness(104%) contrast(112%);
	}
	.vk-mobile-nav nav>ul, .vk-mobile-nav nav ul li a {
		color: white;
		border: none;
	}
	.vk-mobile-nav-menu-btn.position-right {
		right: 3%;
		top: 2%;
	}
	.vk-mobile-nav-menu-btn {
		border-radius: calc(infinity * 1px);
		border-color: #004626;
	}
	/*　top
	-------------------------------------*/
	.mv_block {
		height: 100vh;
	}
	.top-service_block {
		padding-top: 50vh;
		padding-bottom: 15vh;
		height: auto;
	}
	.top-works_block {
		padding: 8rem 0 5rem;
	}
	.top-works_block .vk_button {
		text-align: center;
		position: relative;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.top-works_block h2::before {
		top: -3rem;
	}
	.top-works_slider.swiper {
		top: 0;
		margin-bottom: 3rem;
	}
	.top-works_slider .swiper-wrapper {
		gap: inherit;
		left: 0;
	}
	.top-works_slider .swiper-slide-active {
		top: 0;
	}
	.top-works_slider .container {
		margin-left: 0 !important;
		margin-right: 0 !important;
		min-width: 100vw;
	}
	.president_block {
		padding: 6rem 0 8rem; 
	}
	.president_column figure {
		text-align: center;
	}
	.biography_column {
		top: 2rem;
		width: 80%;
	}
	.top-area_block .area-catch {
		height: 15rem;
		left: 40%;
	}
	.top-youtube_block, .news_block, .insta_block {
		padding: 5rem 0;
	}
	.cta_block {
		padding: 1rem 0;
	}
	.cta_block::after {
		width: 76px;
		height: 103px;
		left: 2rem;
		bottom: 4rem;
	}
	.cta_column .wp-block-column {
		padding: 1.5rem 0;
	}
	.cta_column .wp-block-column:nth-child(2) {
		padding-left: 0;
	}
	.service-content_block ul li {
		width: 32%;
	}
}

@media screen and (min-width: 820px) and (max-width: 1199.98px) {
	.biography_column {
		top: 2rem;
	}
	.cta_column .wp-block-column:first-child h2 {
		font-size: 20px;
	}
	.cta-tel a {
		font-size: 30px;
	}
	.service-anchor_box .wp-block-columns .wp-block-column:first-child {
		flex-basis: 45%;
	}
	.footer_block .footer_column div.wp-block-column:first-child {
		border: none;
	}
}

@media screen and (min-width: 820px) and (max-width: 991.98px) {
	.cta_column .white_btn.vk_button .vk_button_link.btn {
		padding-right: 3.5rem;
	}
}

@media screen and (max-width: 819.98px) {
	.president_block {
		padding: 5rem 0 9rem; 
	}
	.president_column img {
		width: 40%;
		margin: auto;
	}
	.biography_column {
		padding: 1rem 2rem;
		top: -18rem;
		width: 100%;
		gap: 1rem;
	}
	.top-area_block {
		padding: 38rem 0 5rem;
	}
	.map_img img {
		top: -40rem;
	}
	.top-area_block .area-catch {
		left: 60%;
	}
	.cta_column h2, .cta_column .wp-block-column:nth-child(2) {
		text-align: center;
	}
	.cta_column .wp-block-column:first-child {
		border: none;
		padding-left: 0;
	}
	.footer_block {
		padding: 4rem 0;
	}
	.footer_block .footer_column div.wp-block-column:first-child {
		border:none;
	}
	.menu-sub_nav-container {
		display: none;
	}
	.service-main_column {
		gap: 0;
	}
	.service-main_column h2 {
		margin-bottom: 0;
	}
	.service-content_block {
		margin-top: 5rem !important;
	}
	.service-content_block h3 {
		margin-top: 1rem;
	}
	.post-name-company .biography_column {
		position: relative;
		top: 5rem;
	}
	.post-name-company .biography_box::before {
		top: -3rem;
	}
}

@media screen and (min-width: 782px) and (max-width: 819.98px) {
	.president_column img {
		width: 90%;
	}
	.map_img img {
		left: 0;
	}
	.cta_column {
		flex-direction: column;
	}
	.service-anchor_box .wp-block-columns {
		flex-direction: column-reverse;
		gap: 0;
	}
}

@media screen and (max-width: 767.98px) {
	body p {
		font-size: 90%;
	}
	.wp-block-table :is(th, td) {
		display: block;
		width: 100%;
	}
	.wp-block-table th {
		padding: 1.5rem 2rem 0.5rem;
	}
	.wp-block-table td {
		padding: 0.5rem 2rem 1.5rem;
	}
	.page-header, .page-head_block {
		padding: 2rem 0;
	}
	
	.mv-logo img {
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
	}
	.mv_block h2 span {
		display: block;
		padding-left: 0;
	}
	.mv-video {
		top: 50%;
	}
	.mv_block h2 {
		margin-top: 30vh !important;
	}
	.top-works_block::after {
		content: '';
		background: url(/wp-content/uploads/soraniwa_bg.svg) center / contain no-repeat;
		width: 365px;
		height: 48px;
		top: 4rem;
		left: 5%;
		right: 0;
	}
	.biography_column {
		top: -24rem;
	}
	.top-area_block {
		padding: 20rem 0 4rem;
	}
	.map_img img {
		top: -22rem;
	}
	.top-area_block .area-catch {
		right: 10%;
		left: 0;
		z-index: 5;
	}
	.top-area_column h2 {
		line-height: 1.2;
		z-index: 5;
	}
	.top-area_column::after {
		width: 75px;
		height: 100px;
	}
	.service-anchor_box {
		width: 100%;
	}
	:is(.service-example_box, .service-content_block) ul {
		flex-wrap: wrap;
	}
	.service-content_block ul li {
		width: 48%;
	}
	.post-type-works .vk_posts .vk_post-col-lg-12 {
		width: 47%;
	}
	.contact-tel_tel-box {
		width: 80%;
	}
	.smf-item__col.smf-item__col--label {
		display: flex;
	}
	.smf-item__description {
		margin-top: 0;
		margin-left: 1rem;
	}
	:is(.blog, .post-type-post) .card {
		flex-direction: column;
	}
	:is(.blog, .post-type-post) .main-section .vk_posts .vk_post-col-lg-12 {
		gap: 0;
	}
	:is(.blog, .post-type-post) .main-section .vk_post .vk_post_imgOuter:before {
		width: auto;
	}
}

@media screen and (min-width: 640px) and (max-width: 767.98px) {
	.smf-item__col.smf-item__col--label {
		flex-direction: column;
		align-items: flex-start;
	}
	.smf-item__description {
		margin-left: 0;
		margin-top: 0.5rem;
	}
}
