/*
Theme Name: handbird
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.1em;
	overflow-x: clip;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt";
}
li a, p a {
	text-decoration: none;
	cursor: pointer;
}
a { transition: 0.5s; }
a:hover {
	opacity: 0.6;
}
a[href^="tel:"] {
	pointer-events: none;
}
ul li::marker {
	color: #eea659;
}
li:not(:last-child) {
	margin-bottom: 1rem;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
.wp-block-table :is(th, td) {
	margin: 0;
	padding: 0;
	border: none;
	text-align: left;
	vertical-align: top;
}
.outfit, .casestudy-main_txt-box::before, .vk_faq .vk_faq_title:before {
	font-family: "Outfit", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.widget {
	margin-bottom: 0 !important;
}
.wrap_in, .post-list.vk_posts-mainSection {
	width: 1000px;
	margin: 0 auto;
}
.site-body {
	padding-bottom: 0;
}
.white-ttl span {
	background-color: white;
	padding: 0.5rem;
	line-height: 2;
}
.yellow_bg, .site-body-bottom {
	background-color: #fff8dc;
	position: relative;
}
.yellow_bg::before, .yellow_bg::after, .site-body-bottom::before, .page-header::after {
	content: '';
	background: url(assets/img/wave_bg.svg) bottom center / cover no-repeat;
	position: absolute;
	left: 0;
	width: 100%;
	height: 114px;
}
.yellow_bg::before, .site-body-bottom::before {
	top: -114px;
}
.yellow_bg::after, .page-header::after {
	bottom: -114px;
	transform: rotate(180deg);
}
.orange_btn, .white_btn {
	position: relative;
	width: fit-content;
}
:where(.orange_btn, .white_btn).vk_button .vk_button_link.btn,
.top-casestudy_box .orange_btn, .modal-close-bottom.orange_btn,
.smf-action .smf-button-control__control, .nav-links .white_btn {
	font-weight: 700;
	padding: 1rem 5rem 1rem 2rem;
	border-radius: calc(infinity * 1px);
	position: relative;
}
.white_btn.vk_button .vk_button_link.btn, .nav-links .white_btn {
	background-color: white;
	border: 2px solid #63ba9d;
}
:where(.orange_btn, .white_btn)::before,
.smf-action .smf-button-control__control::before,
:where(.swiper-button-prev, .swiper-button-next)::before {
	content: '';
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 5%;
	width: 33px;
	height: 33px;
	border-radius: calc(infinity * 1px);
	background-color: white;
	z-index: 2;
}
.white_btn::before {
	background-color: #fbf9f3;
}
:where(.orange_btn, .white_btn)::after,
.smf-action .smf-button-control__control::after,
:where(.swiper-button-prev, .swiper-button-next)::after {
	content: '';
	position: absolute;
	margin: auto;
	background: url(assets/img/arrow.svg) center / contain no-repeat;   
	top: 0;
	bottom: 0;
	right: 10%;
	width: 10px;
	height: 9px;
	z-index: 2;
}
.white-wave_bg {
	background: white url(assets/img/wave_bg2.svg) top center / 100% no-repeat;
	padding: 5rem 0 7rem;
	position: relative;
}
.white-wave_cloud01 {
	left: 5%;
	top: 85%;
	width: 17%;
}
.white-wave_cloud02 {
	right: 0;
	top: 85%;
	width: 20%;
}
.white-wave_cloud01, .white-wave_cloud02 {
	position: absolute;
	height: auto;
	display: inline-block;
	animation: cloudAnim 5s ease-in-out infinite;
	will-change: transform;
}
.white-wave_cloud02 {
	animation-delay: 3s;
}
@keyframes cloudAnim {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-15px);
	}
}
:is(.white-wave_cloud01, .white-wave_cloud02) img {
	width: 100%;
}
.green_ttl {
	background-color: #63ba9d;
	color: white;
	border-radius: 20px 20px 0 0;
	padding: 0.7rem 0;
	margin-bottom: 2rem !important;
}
.white-content_box {
	background-color: white;
	border-radius: 20px;
	padding-bottom: 2rem;
	margin-bottom: 5rem !important;
}
.fade-in-up {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease-out;
}

.fade-in-up.visible {
	opacity: 1;
	transform: translateY(0);
}



/*
#####################
	header
#####################
*/
.vk_slider_item .vk_slider_item-background-area:not([class*=-background-color]) {
	background-color: inherit;
}
.header_scrolled .site-header-logo {
	display: block;
	padding-left: 1.5vw;
}
.container.site-header-container {
	max-width: 100vw;
	padding: 0 3vw 1rem 3vw;
}
.header_scrolled .container.site-header-container {
	padding: 0;
}
.site-header {
	box-shadow: none;
}
.site-header-logo {
	position: relative;
}

#menu-item-44 a {
	padding-left: 0;
	padding-right: 0;
}
#menu-item-44 img {
	width: 30px;
	height: 30px;
}
#menu-item-41 a {
	background-color: #3fb48d;
	color: white;
}
#menu-item-21 a {
	background-color: #f06c90;
	color: white;
	text-align: left;
	border-bottom-right-radius: 10px;
}
:is(.device-pc, .device-mobile) .global-nav-list>li>a {
	padding: 23px 0.8vw;
}
.header_scrolled .site-header {
	margin-left: 3vw;
	margin-right: 3vw;
	width: 94vw;
	max-width: 94vw;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
.global-nav-list>li .global-nav-name {
	font-size: clamp(11px, 0.9vw, 14px);
}
.vk-menu-acc li {
	margin-bottom: 0 !important;
}



/*
#####################
	top
#####################
*/
/*　MV　*/
.char {
	opacity: 0;
	display: inline-block;
	transform: translateY(1em);
	animation: fadeInUp 0.5s ease forwards;
}
@keyframes fadeInUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.mv_block {
	position: relative;
}
.mv_block:before {
	content: "";
	display: block;
	padding-top: 85%;
}
.mv_block :where(h1, h2, .area-img_box) {
	position: absolute;
	z-index: 1;
	left: 3vw;
}
.mv_block h1 {
	font-size: clamp(30px, 5vw, 62px);
	font-weight: 900;
	line-height: 1.3;
	top: clamp(80px, 15vw, 300px);
}
.mv_block h1 span {
	font-size: 80%;
}
.mv_block h2 {
	font-size: clamp(20px, calc(2.2px + 2.3vw), 30px);
	top: clamp(400px, 35vw, 600px);
}
.area-img_box {
	width: 25%;
	top: clamp(500px, 50vw, 800px);
	left: 5vw;
	animation: cloudAnim 5s ease-in-out infinite;
}
.area-img_box img {
	width: 100%;
	height: auto;
}
.mv-img_box {
	width: 70vw;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	animation: cloudAnim 10s ease-in-out infinite;
}
.mv_illust {
	position: absolute;
	z-index: 1;
}
.mv_illust img {
	width: 3.5vw;
}
.mv_illust01 {
	top: 34%;
	right: 36vw;
	animation: mv_illust01 3s ease-in-out infinite;
}
@keyframes mv_illust01 {
	0% { transform: rotate(0deg); }
	25% { transform: rotate(-2deg); }
	50% { transform: rotate(0deg); }
	75% { transform: rotate(2deg); }
	100% { transform: rotate(0deg); }
}
.mv_illust02 {
	top: 15%;
	right: 48vw;
	animation: mv_illust02 3s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}
@keyframes mv_illust02 {
	0% { transform: translate(0, 0); }
	25% { transform: translate(-2.5px, -1.5px); }
	50% { transform: translate(-5px, 0); }
	75% { transform: translate(-7.5px, -1.5px); }
	100% { transform: translate(-10px, 0); }
}
.mv_illust03 {
	top: 76%;
	right: 51vw;
	animation: mv_illust02 3s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
	animation-delay: 1.5s;
}
.mv_illust04 {
	top: 25%;
	right: 15vw;
	animation: mv_illust01 3s ease-in-out infinite;
	animation-delay: 1.5s;
}
.mv_illust04 img {
	width: 5.5vw;
}
.mv_illust05 {
	top: 59%;
	right: 43vw;
	animation: mv_illust01 3s ease-in-out infinite;
	animation-delay: 1.5s;
}
.mv_illust05 img {
	width: 7.5vw;
}
/*　車のある日常を　*/
.top-casestudy_block {
	position: relative;
	z-index: 0;
	height: max(1200 / 1200 * 100vw, 1200px);
}
:where(.top-casestudy_block, .top-about_block) h2 {
	font-size: clamp(30px, 5vw, 60px);
	font-weight: 900;
	line-height: 1.2;
	background: url(assets/img/top-casestudy_ttl-bg.svg) bottom left 97px / 407px auto no-repeat;
	padding-bottom: 3rem;
	position: relative;
	letter-spacing: 0.1em;
}
.top-casestudy_block h2::before {
	content: '';
	background: url(assets/img/cloud01.svg) center / contain no-repeat;
	position: absolute;
	width: 325px;
	height: 167px;
	top: 0;
	left: -15%;
	z-index: -1;
}
.top-casestudy_block h2::after {
	content: '';
	background: url(assets/img/illust_01.png) center / contain no-repeat;
	position: absolute;
	width: 146px;
	height: 126px;
	top: -30px;
	left: 40%;
}
.top-casestudy_block h4 {
	writing-mode: vertical-rl;
	width: 97%;
}
.top-casestudy_box, .top-casestudy_box :is(h3, p, .orange_btn), .top-casestudy_img {
	position: absolute;
}
.top-casestudy_box {
	width: max(430 / 1200 * 100vw, 430px);
}
.top-casestudy_box h3 {
	font-size: clamp(20px, 2.5vw, 30px);
}
.top-casestudy_box p {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 700;
}
.top-casestudy01_box {
	top: 5%;
	right: 7vw;
}
.top-casestudy01_box h3 {
	top: 70%;
	left: -350px;
}
.top-casestudy01_box p {
	top: 90%;
	left: -340px;
}
.top-casestudy01_box .orange_btn {
	top: 120%;
	left: -100px;
}
.top-casestudy02_box {
	top: 37%;
	left: 0;
}
.top-casestudy02_box h3 {
	top: 55%;
	left: max(410 / 1200 * 100vw, 410px);
	width: 100vw;
}
.top-casestudy02_box p {
	top: 75%;
	left: max(420 / 1200 * 100vw, 420px);
	width: 100%;
}
.top-casestudy02_box .orange_btn {
	top: 95%;
	left: max(500 / 1200 * 100vw, 500px);
	width: 197px;
}
.top-casestudy03_box {
	top: 63%;
	right: 2vw;
}
.top-casestudy03_box h3 {
	top: 50%;
	left: -320px;
}
.top-casestudy03_box p {
	top: 70%;
	left: -315px;
}
.top-casestudy03_box .orange_btn {
	top: 98%;
	left: -200px;
}
.top-casestudy_img {
	bottom: 5%;
	left: 5vw;
	width: 15vw;
}
.top-casestudy_box .orange_btn, .modal-close-bottom.orange_btn {
	background-color: #eea659;
	color: #fff;
}

/*　安心して運転を楽しんで　*/
.top-about_block {
	margin-top: 10rem;
}
.top-about_block h2 {
	background: url(assets/img/top-about_ttl-bg.svg) bottom left 255px / 406px auto no-repeat;
	margin-bottom: 0 !important;
}
.birdAnim {
	position: absolute;
	width: 102px;
	height: 97px;
	top: -30px;
	left: 48%;
	animation: birdMove 5s linear infinite;
	will-change: transform, opacity;
}
@keyframes birdMove {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
	20% {
		opacity: 1;
		transform: translate3d(-16px, calc(-12px + 2px), 0) rotate(-3deg);
	}
	35% {
		opacity: 1;
		transform: translate3d(-25px, calc(-19px - 2px), 0) rotate(-4deg);
	}
	50% {
		opacity: 1;
		transform: translate3d(-40px, calc(-30px + 2px), 0) rotate(-6deg);
	}
	60% {
		opacity: 1;
		transform: translate3d(-48px, calc(-36px - 2px), 0) rotate(-6.5deg);
	}
	70% {
		opacity: 1;
		transform: translate3d(-56px, calc(-42px + 2px), 0) rotate(-7deg);
	}
	80% {
		opacity: 0;
		transform: translate3d(-64px, calc(-48px - 2px), 0) rotate(-8deg);
	}
	100% {
		opacity: 0;
		transform: translate3d(-80px, -60px, 0) rotate(-10deg);
	}
}

.top-about_block h4 {
	writing-mode: vertical-rl;
	position: absolute;
	top: 0;
	right: 3%;
}
.top-about_column {
	background-color: white;
	border-radius:30px;
	padding: 2rem 5rem;
	position: relative;
	margin-bottom: 8rem !important; 
}
:is(.top-about01, .top-about02, .top-about03)::before {
	content: '';
	position: absolute;
	margin: auto;
	width: clamp(120px, 25vw, 320px);
	height: clamp(120px, 25vw, 320px);
	border-radius: calc(infinity * 1px);
	background-color: #fbd7e1;
	z-index: -1;
}
.top-about01 {
	margin-top: 3rem !important;
}
.top-about01:before {
	top: clamp(-95px, -10vw, -48px);
	right: 5%;
}
.top-about02:before {
	top: clamp(-73px, -10vw, -40px);
	left: -7%;
}
.top-about03:before {
	top: clamp(-95px, -10vw, -48px);
	right: -8%;
}
.step-number {
	font-size: clamp(29px, 4vw, 42px);
	line-height: 1;
}
.top-about_column h3 {
	font-size: clamp(20px, 2.5vw, 26px);
}

/*　料金プラン　*/
.top-price_block {
	padding: 10rem 10vw 15vw 10vw;
	background: 
		url(assets/img/top-price_bg-top.jpg) right 0 top / contain no-repeat,
		url(assets/img/top-price_bg-btm.jpg) right 0 bottom / contain no-repeat,
		url(assets/img/top-price_bg.jpg) right 0 center / contain repeat-y;
	position: relative;
}
.top-price_car-illust01 {
	position: absolute;
	z-index: 1;
	top: 2%;
	left: 30vw;
	animation: driveRightToLeft 8s linear infinite;
}
@keyframes driveRightToLeft {
	0% {
		opacity: 0;
		transform: translateX(120%);
	}
	5% {
		opacity: 1;
		transform: translateX(110%);
	}
	95% {
		opacity: 1;
		transform: translateX(-110%);
	}
	100% {
		opacity: 0;
		transform: translateX(-120%);
	}
}
:is(.top-price_car-illust01, .top-price_car-illust02) img {
	width: 6vw;
}
.top-price_car-illust02 {
	position: absolute;
	z-index: 1;
	top: min(1060 / 1200 * 100vw, 1060px);
	right: 30vw;
	animation: driveLeftToRight 8s linear infinite;
}
@keyframes driveLeftToRight {
	0% {
		opacity: 0;
		transform: translateX(-120%);
	}
	5% {
		opacity: 1;
		transform: translateX(-110%);
	}
	95% {
		opacity: 1;
		transform: translateX(110%);
	}
	100% {
		opacity: 0;
		transform: translateX(120%);
	}
}
.top-price_block h2 {
	font-size: clamp(28px, 3vw, 48px);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.top-price_block h3 {
	text-align: right;
	font-size: clamp(17px, 2.5vw, 30px);
}
.top-price_block h4 {
	font-size: clamp(16px, 2vw, 24px);
	margin-bottom: 3rem !important;
}
.price-course_column, .contact_column {
	border-top: 2px solid white;
	border-bottom: 2px solid white;
	padding: 1rem 0;
	margin-bottom: 5rem !important;
}
.price-course_column .wp-block-column {
	padding: 4rem 0;
}
.price-course_column .wp-block-column:not(:last-child) {
	border-right: 2px solid white;
}
.price-amount {
	font-size: 1.125rem;
	font-weight: 700;
}
.price-amount span {
	font-size: clamp(32px, 4vw, 48px);
	padding-right: 0.5rem;
}
.price-includ_box p {
	margin-bottom: 0 !important;
	font-size: clamp(15px, 1.5vw, 20px);
	font-weight: 700;
	background-color: #fbf9f3;
	border-radius: calc(infinity * 1px);
	padding: 0.7rem 0;
	width: 20%;
	text-align: center;
}

/*　お客様の声　*/
.top-voice_block :is(h2, h3), .top-price_block h3 {
	margin-bottom: 0 !important;
	letter-spacing: 0.1em;
}
.top-voice_block h2 {
	font-size: clamp(26px, 4vw, 42px);
	font-weight: 900;
	line-height: 1.2;
	margin-right: 3rem;
}
.top-voice_block h3 {
	position: relative;
	font-size: clamp(16px, 2.5vw, 24px);
}
.top-voice_block h3::after {
	content: '';
	background: url(assets/img/illust_04.png) center / contain no-repeat;
	position: absolute;
	width: 90px;
	height: 75px;
	top: 5px;
	right: -43%;
}
/* slider */
.voice-slider {
	padding: 40px 0;
}
.swiper {
	width: 100%;
	overflow: hidden;
}
.swiper-wrapper {
	display: flex;
	transition-timing-function: ease;
	gap: 2rem;
}
.voice-slider .swiper-slide {
	transition: transform 0.3s;
	flex-shrink: 0;
	width: auto;
	height: 320px !important;
}
.swiper-pagination {
	display: none;
}
.swiper-button-prev {
	left: 3% !important;
}
.swiper-button-next {
	right: 2% !important;
}
:is(.swiper-button-prev, .swiper-button-next)::before {
	border: 1px solid #eea659;
	width: 48px;
	height: 48px;
}
:is(.swiper-button-prev, .swiper-button-next)::after {
	width: 15px;
	height: 14px;
	right: 18px;
}
.swiper-button-prev::after {
	transform: scale(-1, 1);
}


/*　代表メッセージ　*/
.top-profile_block {
	position: relative;
	margin-top: 10rem;
}
.top-profile_block::before {
	content: '';
	background: url(assets/img/top-profile_ttl-bg.svg) bottom center / cover no-repeat;
	position: absolute;
	top: -3rem;
	right: -2rem;
	width: 444px;
	height: 96px;
}
.top-profile_box {
	display: inline-block;
	text-align: left;
}
.top-profile_box h2 {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 900;
	margin: 0;
}
.top-profile_box p {
	margin: 0;
	text-align: right;
}
.top-profile_block p span {
	color: #63ba9d;
	font-size: 1.375rem;
	font-weight: 700;
	padding-left: 1rem;
}
.top-profile_img {
	position: absolute;
	top: 0;
	right: -10%;
	z-index: -1;
	width: 35%;
}
.top-profile_block .white_btn {
	margin-left: 0 !important;
}



/*
#####################
	modal
#####################
*/
body.modal-open { /* 背景スクロール無効 */
	position: fixed;
	width: 100%;
	overflow-y: scroll;
	top: 0;
}
#modal-wrapper { /* モーダル全体 */
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	display: none;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.8);
	z-index: 9999;
	transition: opacity 0.3s ease !important;
}
#modal-wrapper.active { /* 表示時 */
	display: flex;
	opacity: 1;
}
#modal-wrapper.fade-out { /* 閉じるとき */
	opacity: 0;
}
#modal-content { /* モーダル内容 */
	position: relative;
	background: #fff;
	padding: 20px;
	width: 90%;
	max-width: 1200px;
	max-height: 90vh;
	border-radius: 12px;
	overflow: visible;
	box-sizing: border-box;
	transform: scale(0.9);
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
	scrollbar-width: thin;
	scrollbar-color: #f4e092 #fff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}
#modal-content::-webkit-scrollbar {
	width: 8px;
}
#modal-content::-webkit-scrollbar-track {
	background: #fff;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px #fff;
}

#modal-content::-webkit-scrollbar-thumb {
	background-color: #f4e092;
	border-radius: 10px;
	border: 2px solid #fff;
}
#modal-scroll {
	max-height: calc(90vh - 40px);
	overflow-y: auto;
	padding-right: 12px;
	scrollbar-width: thin;
	scrollbar-color: #f4e092 #fff;
	position: relative;
}
/* ポップアップ風にアニメーション */
#modal-wrapper.active #modal-content {
	transform: scale(1);
	opacity: 1;
}
#modal-wrapper.fade-out #modal-content {
	transform: scale(0.9);
	opacity: 0;
}
/* 閉じるボタン */
#modal-close {
	position: absolute;
	top: -25px;
	right: -25px;
	background: #eea659;
	border-radius: calc(infinity * 1px);
	width: clamp(40px, 8vw, 80px);
	height: clamp(40px, 8vw, 80px);
	text-align: center;
	cursor: pointer;
	z-index: 10000;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
	transition: background 0.2s ease;
	border: none;
	color: white;
}
#modal-close::before {
	content: '';
	display: block;
	width: clamp(11px, 2vw, 22px);
	height: clamp(11px, 2vw, 22px);
	margin: clamp(15px, 2.5vw, 28px) auto;
	background: url(assets/img/close_icon.svg) center / contain no-repeat;
}
.modal-footer {
	text-align: center;
	margin-top: 3rem;
}
.modal-close-bottom.orange_btn {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	border: none;
	margin: 0 auto;
	cursor: pointer;
}
.modal-close-bottom.orange_btn::after {
	content: '';
	right: 11.5%;
	width: 12px;
	height: 12px;
	-webkit-mask: url(assets/img/close_icon.svg) center / contain no-repeat;
	mask: url(assets/img/close_icon.svg) center / contain no-repeat;
	background: #1a1a1a;
}

.modal-article {
	padding: 3rem 0;
}
.modal-article h2 {
	text-align: center;
	color: #eea659;
	font-weight: 700;
}
.casestudy-intro_block h3 {
	font-size: clamp(14px, 2vw, 24px);
}
/*　事例モーダル
-------------------------------------*/
.modal-article h2 {
	font-size: clamp(20px, 5vw, 40px);
	margin-bottom: 0;
}
.casestudy-intro_block h3 {
	margin-bottom: 3rem !important;
}
.casestudy-check_block {
	background-color: #fbf9f3;
	margin: 7rem 10vw 5rem;
	padding-bottom: 2rem;
	border-radius: 0 0 20px 20px;
}
.casestudy-check_block h4 {
	font-size: 1.25rem;
	padding-left: 3rem;
}
.casestudy-check_block ul li {
	margin-left: 3rem !important;
	font-weight: 700;
	margin-bottom: 1rem;
}
.casestudy-main_block {
	padding: 0 5vw 7rem;
	counter-reset: number 0;
}
.casestudy-main_box {
	position: relative;
	margin-bottom: 7rem !important;
}
.casestudy-main_box img {
	width: 60%;
	position: relative;
	z-index: -2;
}
.casestudy-main_txt-box {
	position: absolute;
	top: 12rem;
	left: 40%;
	width: 60%;
}
.casestudy-main_txt-box::before {
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero) " ";
	font-size: 3.75rem;
	position: absolute;
	z-index: -1;
	top: -3.5rem;
	left: 27%;
	color: #f09cb3;
}
.casestudy-main_txt-box h3 {
	position: relative;
	font-size: clamp(18px, 2vw, 24px);
}
:is(.lesson1_bg, .lesson2_bg)::before {
	content: '';
	position: absolute;
	height: 58px;
	top: -5rem;
	left: 41%;
	z-index: -2;
}
.lesson1_bg::before {
	background: url(assets/img/lesson1.svg) center / contain no-repeat;
	width: 165px;	
}
.lesson2_bg::before {
	background: url(assets/img/lesson2.svg) center / contain no-repeat;
	width: 175px;
}
.casestudy-main_txt-box .white_btn {
	margin-left: 0 !important;
	margin-top: 2rem;
}

/*　お客様の声モーダル
-------------------------------------*/
#modal-content[data-post-type="voice"]::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(70px, 8vw + 30px, 145px);
	height: clamp(69px, calc(9.5vw + 18px), 143px);
	background: url('assets/img/voice-modal_illust01.png') center / contain no-repeat;
	z-index: 1;
}
#modal-content[data-post-type="voice"]::after {
	content: '';
	position: absolute;
	bottom: 5%;
	right: 5%;
	width: clamp(64px, calc(6vw + 20px), 107px);
	height: clamp(53px, calc(5.5vw + 20px), 88px);
	background: url('assets/img/illust_04.png') center / contain no-repeat;
	z-index: 1;
}
#modal-content[data-post-type="voice"] .modal-article h2 {
	font-size: clamp(18px, 3.5vw, 32px);
}



/*
#####################
	page
#####################
*/
.page-header {
	background-color: #fff8dc;
	margin-top: -6rem;
	padding-top: 8rem;
	margin-bottom: 10rem;
	text-align: left;
}
h1.page-header-title {
	text-align: left;
}
.page-subttl {
	position: absolute;
	top: -21rem;
	z-index: 2;
	right: 0;
	font-size: clamp(11px, 2vw, 18px);
}

/*　料金プラン
-------------------------------------*/
.price-mv_block, .instructors-mv_block {
	position: relative;
}
.price-mv_bubble, .price-mv_car {
	position: absolute;
}
.price-mv_bubble {
	top: -7rem;
	right: 0;
	display: inline-block;
	transform-origin: left bottom;
	animation: bubble 6s linear infinite;
}

@keyframes bubble {
	0%   { transform: rotate(0deg); }
	12.5% { transform: rotate(2deg); }
	25%  { transform: rotate(0deg); }
	37.5% { transform: rotate(-2deg); }
	50%  { transform: rotate(0deg); }
	62.5% { transform: rotate(2deg); }
	75%  { transform: rotate(0deg); }
	87.5% { transform: rotate(-2deg); }
	100% { transform: rotate(0deg); }
}
.price-mv_car {
	bottom: 0;
	right: 0;
	width: 30%;
	animation: carDrive 5s linear infinite;
	will-change: transform, opacity;
}
@keyframes carDrive {
	0% {
		opacity: 0;
		transform: translateX(0) translateY(0) rotate(0deg);
	}
	10% {
		opacity: 1;
		transform: translateX(-40px) translateY(-1px) rotate(-0.3deg);
	}
	25% { transform: translateX(-100px) translateY(1px) rotate(0.2deg); }
	40% { transform: translateX(-160px) translateY(-1.5px) rotate(-0.2deg); }
	60% { transform: translateX(-220px) translateY(1px) rotate(0.3deg); }
	70% {
		transform: translateX(-270px) translateY(-1px) rotate(-0.1deg);
		opacity: 1;
	}
	75% {
		transform: translateX(-300px) translateY(0px) rotate(0deg);
		opacity: 1;
	}
	90% {
		transform: translateX(-300px) translateY(0px) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translateX(-300px) translateY(0px) rotate(0deg);
		opacity: 0;
	}
}
.price-ttl_group {
	margin-bottom: 3rem !important;
}
.price-ttl_group h2 {
	font-size: clamp(26px, 5vw, 36px);
	line-height: 1.2;
	margin-right: 3rem;
}
.price-ttl_group h3 {
	font-size: 1.125rem;
}
.price-ttl_group :is(h2, h3) {
	margin-bottom: 0 !important;
}
.lesson-time_block, .payment-method_block {
	margin-bottom: 8rem;
}
.lesson-time_box {
	background-color: #fff8dc;
	padding: 2rem;
	border-radius: 20px;
	position: relative;
	z-index: 2;
}
.guarantee_block .white-content_box {
	padding-top: 2rem;
}
.guarantee_block .price-includ_box p {
	font-weight: 700;
}

/*　お客様の声
-------------------------------------*/
.entry-title {
	text-align: center;
	color: #eea659;
	font-size: clamp(18px, 3.5vw, 32px);
}
.entry-meta, .vk_posts.next-prev {
	display: none;
}
.voice-main_block {
	background-color: white;
	padding: 5rem;
	border-radius: 30px;
	margin-bottom: 2rem !important;
}
.vk_balloon {
	position: relative;
	margin-top: 5rem !important;
}
.vk_balloon:first-child {
	margin-top: 0 !important;
}
.vk_balloon_icon_name {
	position: absolute;
	top: -2rem;
	font-size: clamp(11px, calc(1vw + 9px), 14px);
	font-weight: 700;
}
.vk_balloon-position-left .vk_balloon_icon_name {
	left: clamp(88px, calc(7vw + 40px), 135px);
}
.vk_balloon-position-right .vk_balloon_icon_name {
	right: clamp(88px, calc(7vw + 40px), 135px);
}
.vk_balloon_content {
	padding: 1.5rem 2rem;
}
.vk_balloon_icon:not(:empty) {
    -ms-flex-preferred-size: 115px;
	flex-basis: 115px;
}
.vk_balloon_icon_image {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border: 2px solid #63ba9d;
	background-color: white;
}
.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}
.nav-previous, .nav-next {
	position: relative;
}
.nav-links p {
	margin-bottom: 0 !important;
	font-weight: 700;
}
.nav-links .white_btn::before, .nav-links .white_btn::after {
	content: none;
}
.nav-links .white_btn {
	padding: 0;
}
.nav-links .white_btn a {
	padding: 1rem 3rem;
	display: block;
}
.nav-previous::before, .nav-next::before {
	content: '';
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: -50px;
	width: 33px;
	height: 33px;
	border-radius: calc(infinity * 1px);
	background-color: #63ba9d;
	z-index: 2;
}
.nav-next::before {
	right: -50px;
	left: auto;
}
.nav-previous::after, .nav-next::after {
	content: '';
	position: absolute;
	margin: auto;
	mask: url(assets/img/arrow.svg) center / contain no-repeat;
	background-color: white;
	top: 0;
	bottom: 0;
	right: -39px;
	width: 10px;
	height: 9px;
	z-index: 2;
}
.nav-previous::after {
	left: -39px;
	right: auto;
	transform: scale(-1, 1);
}
.post-list.vk_posts-mainSection {
	justify-content: space-between;
}
.post-list.vk_posts-mainSection a {
	width: 31%;
	margin-bottom: 2rem !important;
}
.post-list.vk_posts-mainSection .col-12, .voice-slider .swiper-slide {
	background-color: #fff8dc;
	padding: 1.5rem;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(137, 137, 137, 0.1);
}
.post-list.vk_posts-mainSection .col-12::before,
.voice-slider .swiper-slide::before {
	content: '';
	position: absolute;
	margin: auto;
	width: 40%;
	aspect-ratio: 1 / 1;
	left: 50%;
	transform: translateX(-50%);
	border-radius: calc(infinity * 1px);
	background-color: white;
}
.post-thumbnail, .post-excerpt, .voice-slider .thumbnail, .voice-slider .excerpt {
	text-align: center;
}
:is(.post-thumbnail, .voice-slider .thumbnail) img {
	width: 50%;
	aspect-ratio: 1 / 1;
	position: relative;
	z-index: 1;
}
.post-excerpt, .voice-slider .excerpt {
	font-weight: 700;
	margin: 1rem 0 .5rem !important;
}
.post-title {
	margin-bottom: 0 !important;
}
.post-type-voice .page-subttl {
	font-weight: 700;
	top: -1rem;
}



/*　インストラクター紹介
-------------------------------------*/
.instructors-name_group p {
	margin-bottom: 0 !important;
	font-weight: 700;
}
.instructors-name_group h2 {
	margin-bottom: 2rem !important;
}
.instructors-mv_main {
	width: clamp(250px, 30vw, 400px);
	height: clamp(250px, 30vw, 400px);
	border-radius: 50%;
	overflow: hidden;
	display: block !important;
}
.instructors-mv_main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.instructors-mv_bird, .instructors-mv_tree, .instructors-mv_car {
	position: absolute;
	z-index: 2;
}
.instructors-mv_bird {
	top: 0;
	left: clamp(37px, calc(-98.5px + 36vw), 335px);
	width: clamp(55px, 6vw, 85px);
}
.instructors-mv_tree {
	bottom: 0;
	left: clamp(40px, calc(-110px + 40vw), 370px);
	width: clamp(88px, 8vw, 120px);
}
.instructors-mv_car {
	bottom: 0;
	left: clamp(185px, calc(-26px + 53vw), 650px);
	width: clamp(130px, 18vw, 190px);
}
.message_box {
	padding: 3rem;
	margin-top: 3rem;
	margin-bottom: 5rem;
	box-shadow: 0 2px 8px rgba(137, 137, 137, 0.1);
}
.instructors-profile_table tr {
	border-bottom: 2px solid white;
}
.instructors-profile_table :is(th, td) {
	padding: 2rem;
}
.instructors-profile_table th {
	color: #f09cb3;
	font-size: 1.5rem;
	text-align: left;
	width: 40%;
}

/*　よくある質問
-------------------------------------*/
.faq-anchor_box {
	position: sticky;
	top: 10rem;
	padding-left: 0;
}
.faq-anchor_box li {
	list-style: none;
	text-align: center;
	background-color: white;
	padding: 1rem 0;
	border-radius: 50px;
}
.faq-anchor_box li a {
	display: block;
	width: 100%;
	font-weight: 700;
	color: #1a1a1a;
	font-size: clamp(10px, 1.5vw, 16px);
}
.faq-content_box {
	position: relative;
}
.faq-content_box::before {
	content: '';
	position: absolute;
	top: -1rem;
	right: 0;
	width: clamp(84px, 8vw, 120px);
	height: 98px;
	background: url('assets/img/illust_04.png') center / contain no-repeat;
	z-index: -1;
}
.faq-content_box h2 {
	font-size: 1.5rem;
	margin-bottom: 3rem !important;
}
.vk_faq {
	padding: .8rem 2rem 1.3rem;
	position: relative;
	background-color: white;
	border-radius: 20px;
}
.vk_faq .vk_faq_title {
	padding: .8rem 1rem .8em 3rem;
	cursor: pointer;
	position: relative;
	border: none;
}
.vk_faq .vk_faq_title:before {
	color: #eea659;
	font-size: 2.25rem;
}
.vk_faq .vk_faq_title:after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 1.2rem;
	color: #eea659;
}
.vk_faq .vk_faq_title.open:after {
	content: "−";
	color: #eea659;
}
.vk_faq .vk_faq_content {
	display: none;
	transition: none;
	background-color: #fff8dc;
	border-radius: 10px;
	margin-top: 1rem;
	padding: 1rem 1.5rem;
}
.vk_faq .vk_faq_content:before {
	content: none;
}

/*　会社概要
-------------------------------------*/
.company_table {
	margin: 0 10vw;
}
.company_table :is(th, td) {
	padding: 2rem;
}
.company_table th {
	color: #63ba9d;
	border-bottom: 2px solid #63ba9d;
	width: 25%;
}
.company_table td {
	border-bottom: 1px solid #eeeeee;
}

/*　ご予約・お問い合わせ
-------------------------------------*/
.flow-step_column {
	margin-top: 5rem;
	margin-bottom: 7rem;
	position: relative;
}
.flow-step_column::after {
	content: '';
	position: absolute;
	width: 60%;
	height: 5px;
	top: 50%;
	left: 50%;
	background-color: #f09cb3;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.flow-step_box {
	background-color: white;
	padding: 2rem;
	border-radius: 30px;
	box-shadow: 0 2px 8px rgba(137, 137, 137, 0.1);
	position: relative;
}
.flow-step_box .orange_btn {
	width: 100%;
}
.flow-step_box .orange_btn.vk_button .vk_button_link.btn {
	padding: .8rem 3rem .8rem 1rem;
	width: 100%;
}
.speech-bubble {
	position: absolute;
	background: #ffffff;
	border: 2px solid #63ba9d;
	border-radius: 50%;
	width: 75px;
	height: 75px;
	line-height: 75px;
	text-align: center;
	top: -2rem;
	right: 1rem;
	font-weight: 700;
}
.speech-bubble::before {
	content: '';
	position: absolute;
	bottom: -11px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 6px 0 6px;
	border-color: #ffffff transparent transparent transparent;
	z-index: 1;
}
.speech-bubble::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 7px 0 7px;
	border-color: #63ba9d transparent transparent transparent;
}
.flow-step03 .speech-bubble {
	border-color: #f09cb3
}
.flow-step03 .speech-bubble::after {
	border-color: #f09cb3 transparent transparent transparent;
}
.flow-step04::before {
	content: '';
	position: absolute;
	bottom: 1.5rem;
	left: 30%;
	width: 214px;
	height: 55px;
	background: url('assets/img/completion.svg') center / contain no-repeat;
}
.contact-line_column {
	padding: 0 30%;
}
.contact_column .wp-block-column {
	padding: 2rem 0;
}
:is(.contact-line_info-box, .contact-line_qr-box).wp-block-column {
	border: none !important;
	padding: 0;
}
:is(.contact-line_info-box, .contact-line_qr-box) figure {
	margin: 0 !important;
}
.contact-line_info-box a {
	background-color: #06c755;
	color: white;
	padding: 1rem 0;
	border-radius: 50px;
	width: 100%;
	display: block;
	margin-top: 1rem;
}
.contact-tel_block .fot_tel-close {
	margin: 1rem auto .5rem !important;
	width: fit-content;
	display: block;
}
.contact-mail_block :where(.contact-mail_intro-txt, form) {
	margin-left: 15% !important;
	margin-right: 15% !important;
}
/*　form　*/
.contact-mail_block .smf-form--business .smf-item {
	border-right: none;
	border-left: none;
	padding: 1.5rem 0;
}
.contact-mail_block .smf-form--business .smf-item__col--label {
	background-color: transparent;
	border-right: none;
}
.contact-mail_block .smf-item--divider {
	border-bottom: none;
}
.smf-item__description {
	color: var(--wp--preset--color--vk-color-custom-2);
}
.smf-label:not(:last-child) {
	margin-bottom: 1.5rem;
}
.smf-radio-button-control__label,
.smf-checkbox-control__label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.smf-radio-button-control__control,
.smf-checkbox-control__control {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.smf-radio-button-control__label::before,
.smf-checkbox-control__label::before {
	content: '';
	display: inline-block;
	width: 27px;
	height: 27px;
	border: 1px solid #3fb48d;
	border-radius: 50%;
	background-color: #fff;
	transition: all 0.3s ease;
	position: relative;
	text-align: center;
	line-height: 27px;
}
.smf-checkbox-control__label::before {
	border-radius: 4px;
}
.smf-radio-button-control__control:checked + .smf-radio-button-control__label::before,
.smf-checkbox-control__control:checked + .smf-checkbox-control__label::before {
	content: "\f00c";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 20px;
	color: #3fb48d;
}
.smf-action .smf-button-control__control {
	background: var(--wp--preset--color--vk-color-primary);
	border: none;
	color: white;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
}
form p {
	margin-bottom: 0 !important;
}
.smf-button-control__control[data-action="back"] {
	background-color: #6d6c6b;
}

/*　空き状況確認
-------------------------------------*/
.fc .fc-toolbar-title {
	font-size: clamp(18px, 2vw, 24px);
}
.fc .fc-button-primary {
	background-color: #eea659;
	border-color: #eea659;
}
.fc-today-button.fc-button.fc-button-primary {
	background-color: #434343;
	border-color: #434343;
}
.fc .fc-button-primary:hover, .fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
	background-color: #de8321;
	border-color: #de8321;
}
.fc-col-header-cell {
	background-color: #63ba9d;
}
.fc-col-header-cell-cushion {
	color: white;
}
.fc-theme-standard td, .fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
	border: none;
}
.fc .fc-daygrid-day.fc-day-today {
	background-color: transparent;
}
.fc .fc-daygrid-day-top {
	flex-direction: row;
}
.fc-day-today a {
	color: white;
	background-color: #eea659;
	border-radius: 50%;
}


/*
#####################
	footer
#####################
*/
.site-footer {
	display: none;
}
.site-body-bottom {
	margin-top: 12rem !important;
	padding-top: 3rem;
}
.fot_column {
	position: relative;
	display: inline-block;
	background-color: white;
	padding: 2rem 0;
	border-radius: clamp(10px, 3.5vw, 30px);
	box-shadow: 0 2px 8px rgba(137, 137, 137, 0.1);
}
.fot_column .fot-info_in-column .fot-arrow_icon {
	transition: transform 0.3s ease;
	display: block;
	width: 20px;
}
.fot_column a:hover ~ .fot-info_in-column .fot-arrow_icon {
	transform: translateX(10px);
}
.fot-icon {
	width: 70px;
}
.fot-ttl_en {
	font-size: clamp(15px, 2vw, 20px);
}
.fot-ttl_en, .fot_tel-number, .fot_tel-close, .fot-info_column h1 {
	margin-bottom: 0 !important;
}
.fot_column h3 {
	font-size: clamp(12px, 1.5vw, 16px);
}
.fot-tel_column {
	padding: 2rem 3rem;
	margin-top: 24px !important;
	margin-bottom: 5rem !important;
}
.fot-tel_column .fot-icon {
	margin: 0;
}
.fot_tel-number {
	font-size: 1.875rem;
}
.fot_tel-close {
	display: inline-block;
	border-radius: 100px;
	border: solid 1px #e0e0e0;
	font-size: clamp(10px, 1.2vw, 14px);
	padding: 0.1rem 0.5rem;
}
.fot_tel-attention, .fot-info_column {
	font-size: clamp(10px, 1.2vw, 14px);
}
.menu-fot_nav-container ul {
	display: flex;
	flex-wrap: wrap;
}
.menu-fot_nav-container ul li {
	width: 50%;
}
.fot-info_column {
	padding-bottom: 5rem;
}
.widget_nav_menu>div>ul li a {
	border: none;
}
.widget_nav_menu>div>ul li.current_page_item>a,
.widget_nav_menu>div>ul li a:hover {
	background: none;
}
.fot-info_column .fot-icon {
	width: calc(40px + 2rem);
	height: calc(40px + 2rem);
	background-color: white;
	padding: 1rem;
	border-radius: calc(infinity * 1px);
}
.fot-logo img {
	width: 85%;
}
.page_top_btn {
	width: 69px;
	height: 73px;
	box-shadow: none;
	background-color: transparent;
	background: url(assets/img/to-top-btn.png) center / contain no-repeat;
}



/*************************** レスポンシブ開始　***************************/
@media (min-width: 1200px) {
	:root{ --vk-width-container : 1230px; }
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1230px;
	}
	.sp_fot-nav {
		display: none;
	}
}

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
	.wrap_in, .post-list.vk_posts-mainSection { width: 100% }
	.top-casestudy_block h2::after {
		left: 44%;
	}
	.top-casestudy_block {
		height: 1400px;
	}
	.top-casestudy01_box {
		top: 9%;
	}
	.top-casestudy02_box {
		top: 43%;
	}
	.top-casestudy03_box {
		top: 72%;
	}
	.top-price_car-illust02 {
		top: 90%;
	}
	.white-wave_cloud01 {
		left: -5%;
		top: 82%;
		width: 40%;
	}
	.white-wave_cloud02 {
		right: -30%;
		top: 80%;
		width: 50%;
	}
	.top-profile_img {
		top: 35%;
	}
	.sp_fot-nav {
		display: none;
	}
}

@media screen and (max-width: 991.98px) {
	.wrap_in, .post-list.vk_posts-mainSection { width: 100% }
	a[href^="tel:"] {
		pointer-events: auto;
		text-decoration: none;
	}
	
	/*　header
	-------------------------------------*/
	.vk-mobile-nav-menu-btn {
		border: 1px solid #63ba9d;
		background: white url(assets/img/menu-btn.svg) center / contain no-repeat;
	}
	.vk-mobile-nav-menu-btn.menu-open {
		border: 1px solid #63ba9d;
		background: white url(assets/img/menu-close.svg) center / contain no-repeat;
	}
	.vk-mobile-nav {
		background-color: #fff8dc;
	}
	.vk-mobile-nav nav>ul, .vk-mobile-nav nav ul li a {
		border: none;
	}
	.vk-mobile-nav nav>ul li {
		padding: 0 12%;
		font-size: 120%;
		font-weight: 700;
	}
	.sp-nav_fot-info {
		background-color: white;
		border-radius: 10px;
		box-shadow: 0 2px 8px rgba(137, 137, 137, 0.1);
		padding: .5rem 1rem;
	}
	.sp-nav_fot-info h3 {
		font-size: 90%;
	}
	.site-header-logo img {
		margin-left: 0;
	}
	.sp_sub-nav li {
		padding-left: 12%;
		list-style: none;
	}
	/*　top
	-------------------------------------*/
	.top-casestudy_block {
		height: 1500px;
	}
	.top-casestudy_block h2::after {
		top: -81px;
		left: 45%;
	}
	.top-casestudy01_box {
		top: 12%;
	}
	:is(.top-casestudy01_box, .top-casestudy03_box) h3 {
		left: -230px;
	}
	.top-casestudy02_box {
		top: 44%;
	}
	:is(.top-casestudy01_box, .top-casestudy03_box) p {
		left: -220px;
	}
	.top-casestudy03_box {
		top: 71%;
	}
	.top-casestudy_img {
		bottom: 0;
	}
	.top-price_car-illust01, .top-price_car-illust02 {
		display: none;
	}
	.top-price_block .ttl-flex {
		margin-bottom: 2rem;
	}
	.top-price_block h2 {
		margin-bottom: 0;
	}
	.top-price_block h3 {
		text-align: left;
	}
	.ttl-flex {
		flex-direction: column;
		align-items: stretch;
	}
	.price-course_column {
		flex-direction: column;
	}
	:is(.price-course_column, .contact_column) .wp-block-column:not(:last-child) {
		border-right: none;
		border-bottom: 2px solid white;
	}
	.price-course_column {
		gap: 0;
		padding: 0;
	}
	.price-course_column .wp-block-column {
		padding: 2rem 0;
	}
	.price-includ_box .ttl-flex {
		flex-direction: row;
	}
	.price-includ_box p {
		width: 26%;
	}
	.top-voice_block h3::after {
		top: -150%;
		right: auto;
    }
	.white-wave_cloud01 {
		left: -5%;
		top: 82%;
		width: 50%;
	}
	.white-wave_cloud02 {
		right: -30%;
		top: 80%;
		width: 60%;
	}
	.top-profile_img {
		top: 40%;
		z-index: 5;
	}
	.casestudy-intro_block figure,
	.casestudy-main_box img {
		width: 80%;
	}
	.casestudy-main_txt-box::before {
		left: 67%;
	}
	:is(.lesson1_bg, .lesson2_bg)::before {
		left: 61%;
		top: -7rem;
	}
	/*　page
	-------------------------------------*/
	.post-name-price h2 {
		margin-bottom: 1rem !important;
	}
	.price-mv_bubble {
		width: 40%;
	}
	.flow-step_column {
		flex-direction: column;
	}
	.flow-step_column::after {
		height: 60%;
		width: 5px;
	}
	.step-number {
		margin-bottom: 0 !important;
	}
	.flow-step01 .orange_btn {
		width: fit-content;
		margin: 0 auto;
	}
	.flow-step04::before {
		left: 60%;
		bottom: -0.5rem;
	}
	.contact-mail_block form {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
	.contact-line_column {
		padding: 0 15%;
	}
	/*　footer
	-------------------------------------*/
	.sp_fot-nav {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 10000;
		display: flex;
		justify-content: space-between;
		gap: 0;
		width: 100%;
		text-align: center;
	}
	.sp_fot-nav div {
		width: 50%;
		display: flex;
		align-items: center;
	}
	.sp_fot-nav div a {
		display: block;
		width: 100%;
		padding: .7rem 0;
		color: white;
		font-weight: 700;
	}
	.sp_fot-nav_left {
		background-color: #3fb48d;
	}
	.sp_fot-nav_right {
		background-color: #f06c90;
	}
	.fot-tel_column {
		flex-direction: column;
	}
	.fot-tel_info-group {
		text-align: center;
	}
	.page_top_btn {
		bottom: 10%;
	}
}

@media screen and (min-width: 768px) {
	.fot-info_in-column {
		flex-direction: column;
	}
}

@media screen and (max-width: 781.98px) {
	.pc, .pc2 { display: none !important; }
	.sp { display: block !important; }
	.sp2 { display: inline-block !important; }
	.flex-item-1 { order: 1; }
	.flex-item-2 { order: 2; }

	.mv-img_box, .mv_block :where(h1, h2),
	.top-casestudy_box, .top-casestudy_box :is(h3, p, .orange_btn), .top-casestudy_img {
		position: relative;
	}
	.mv_block:before {
		content: none;
	}
	.mv_block :is(h1, h2) {
		top: auto;
	}
	.mv_block h1 {
		margin-bottom: 1rem !important
	}
	.mv-img_box {
		margin-bottom: 17rem !important;
		width: 130vw;
		margin-left: -6vw;
	}
	.mv-img_box .wp-block-image img {
		max-width: 130vw;
	}
	.mv_illust img {
		width: 6.5vw;
	}
	.mv_illust02 {
		right: calc(36vw + 24vw);
	}
	.mv_illust03 {
		right: 64vw;
	}
	.mv_illust04 img {
		width: 10.5vw;
	}
	.mv_illust04 {
		right: -3vw;
	}
	.mv_illust05 img {
		width: 13.5vw;
	}
	.mv_illust05 {
		right: 49vw;
	}
	.area-img_box {
		left: -2vw;
		top: 87%;
		width: 42%;
	}
	.top-casestudy_block {
		height: auto;
	}
	.top-casestudy_block h4 {
		position: absolute;
		right: 3%;
		top: 5rem;
	} 
	.top-casestudy_box {
		width: 75vw;
		top: auto;
		right: auto;
		padding-bottom: 5rem;
	}
	.top-casestudy_box figure {
		margin-bottom: 1rem;
	}
	.top-casestudy_box h3, .top-casestudy_box p, .top-casestudy_box .orange_btn {
		top: auto;
		left: auto;
	}
	.top-casestudy_box h3 {
		margin-bottom: .5rem !important;
	}
	.top-casestudy01_box, .top-casestudy03_box {
		margin-left: 5% !important;
	}
	.top-casestudy02_box {
		margin-right: 5% !important;
	}
	.top-casestudy_img {
		left: 20vw;
		width: 35vw;
	}
	.top-about_block h2 {
		background-position: bottom left 121px;
	}
	.top-about_block h4 {
		top: 6rem;
		z-index: 2;
	}
	.top-about_column figure {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.price-includ_box .ttl-flex {
		flex-direction: column;
	}
	.price-includ_box p {
		width: 60%;
		margin: 0 auto;
	}
	.top-profile_block::before {
		top: -6rem;
	}
	.top-profile_img {
		top: 44%;
		z-index: 1;
	}
	.casestudy-main_box {
		margin-bottom: 2rem !important;
	}
	.casestudy-main_txt-box {
		position: relative;
		top: -1rem;
		right: auto;
		left: 3rem;
		width: 100%;
	}
	.faq-anchor_box {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.faq-anchor_box li {
		width: 49%;
	}
}

@media screen and (max-width: 480px) {
	.btn {
		text-align: left;
	}
	/*　top
	-------------------------------------*/
	.area-img_box {
		top: clamp(600px, 70vh, 800px);
		width: 60%;
	}
	.top-casestudy_block h2 {
		background-position: bottom left 42px;
		background-size: 220px auto;
	}
	.top-casestudy_block h2::before {
		width: 207px;
		height: 107px;
	}
	.top-casestudy_block h2::after {
		width: 95px;
		height: 83px;
		left: 68%;
		top: -25px
	}
	.top-about_block h2 {
		background-size: 215px auto;
		padding-bottom: 2rem;
	}
	.birdAnim {
		width: 20%;
		left: 83%;
	}
	.top-about_column {
		padding: 2rem;
		margin-bottom: 5rem !important;
	}
	.top-price_block {
		padding: 7rem 5vw 9rem;
		background:
			url(assets/img/top-price_bg-top.jpg) right 0 top / 230% auto no-repeat,
			url(assets/img/top-price_bg-btm.jpg) right 15% bottom / 200% auto no-repeat;
	}
	.top-price_block h4 {
		margin-bottom: 2rem !important;
	}
	.white-content_box {
		padding-bottom: 1rem;
	}
	.top-voice_block h3::after {
		right: 10%;
	}
	.swiper-wrapper {
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
	}
	.white-wave_cloud01 {
		top: 95%;
		width: 60%;
	}
	.white-wave_cloud02 {
		top: 92%;
		width: 70%;
	}
	.top-profile_block::before {
		background-size: 80% auto;
		right: -4rem;
	}
	.top-profile_img {
		position: relative;
		top: -3rem;
		right: auto;
		width: 55%;
		margin-left: 0 !important;
	}
	
	.casestudy-check_block {
		margin: 3rem 0 5rem;
	}
	.casestudy-check_block h4 {
		padding-left: 0;
		text-align: center;
	}
	.casestudy-check_block ul li {
		margin-left: 1rem !important;
	}
	.casestudy-main_block {
		padding: 0;
	}
	.casestudy-main_box img {
		width: 100%;
	}
	.casestudy-main_txt-box {
		top: -2rem;
		left: 1rem;
	}
	.casestudy-main_txt-box::before {
		left: -1rem;
	}
	:is(.lesson1_bg, .lesson2_bg)::before {
		left: 28%;
		top: -4rem;
    }
	#modal-scroll {
		padding-right: 1rem;
	}
	/*　page
	-------------------------------------*/
	.page-header {
		padding-top: 6rem;
	}
	.page-subttl {
		top: -15rem;
	}
	.price-mv_car {
		animation-name: carDriveMobile;
	}
	@keyframes carDriveMobile {
		0% {
			opacity: 0;
			transform: translateX(0) translateY(0) rotate(0deg);
		}
		10% {
			opacity: 1;
			transform: translateX(-20px) translateY(-1px) rotate(-0.3deg);
		}
		25% { transform: translateX(-50px) translateY(1px) rotate(0.2deg); }
		40% { transform: translateX(-80px) translateY(-1.5px) rotate(-0.2deg); }
		60% { transform: translateX(-110px) translateY(1px) rotate(0.3deg); }
		70% {
			transform: translateX(-135px) translateY(-1px) rotate(-0.1deg);
			opacity: 1;
		}
		75% {
			transform: translateX(-150px) translateY(0px) rotate(0deg);
			opacity: 1;
		}
		90% {
			transform: translateX(-150px) translateY(0px) rotate(0deg);
			opacity: 1;
		}
		100% {
			transform: translateX(-150px) translateY(0px) rotate(0deg);
			opacity: 0;
		}
	}
	.message_box {
		padding: 2rem;
	}
	:is(.instructors-profile_table, .company_table) :is(th, td) {
		display: block;
		width: 100%;
	}
	.instructors-profile_table td {
		padding-top: 0;
		padding-left: 4rem;
	}
	.company_table {
		margin: 0;
	}
	.company_table td, .smf-form--business .smf-item__col--label {
		border: none;
	}
	.flow-step04::before {
		width: 136px;
	}
	.contact-line_info-box {
		flex-basis: 100% !important;
	}
	.smf-form--business .smf-item__col--label {
		padding-bottom: 0;
	}
	.post-type-voice .page-subttl {
		top: 4rem;
	}
	.post-list.vk_posts-mainSection a {
		width: 47%;
	}
	.post-excerpt, .post-title {
		font-size: 11px;
	}
	.voice-main_block {
		padding: 3rem 2rem;
	}
	.nav-links {
		transform: scale(0.75);
		transform-origin: top center;
	}
	.vk_balloon_content {
		max-width: 100%;
	}
	/*　footer
	-------------------------------------*/
	.fot_column {
		padding: 2rem 1rem;
	}
	.fot-info_in-column {
		gap: 1rem;
	}
	.fot-info_in-column .has-text-align-center {
		text-align: left;
	}
	.fot-info_column {
		text-align: center;
	}
	.fot-tel_info-group p {
		margin-top: 1rem;
	}
}

@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
	.device-mobile .global-nav-list>li {
		padding: 0;
	}
	:is(.device-pc, .device-mobile) .global-nav-list>li>a {
		padding: 20px 0.8vw;
	}
	:is(#menu-item-44, #menu-item-21) a {
		padding: 12px 0.8vw;
	}
}