/*
Theme Name: 富良野自然塾
Template: lightning
Author: 株式会社 FEAT.
Version: 0.6.1
*/

/*************************************
 * 共通
**************************************/
:root {
	--main-color: #004831;
}
body {
	font-family: "Noto Serif JP", sans-serif;
	background-color: #FDFCF8;
}
.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
	padding: 0;
}

/* タイトル */
.title01 {
	position: relative;
    font-size: 32px;
	padding-top: 35px;
    padding-bottom: .8rem;
	margin-bottom: 3rem;
}
.title01::before {
	content: '';
	width: 60px;
	height: 1px;
	background: var(--main-color);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.title01::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 32px;
	aspect-ratio: 503 / 526;
	background: url("../lightning-child/img/tree.png") center / contain no-repeat;
}

/* 画像 */
.img01 img {
	border: 3px solid var(--main-color);
	border-radius: 15% 0 15% 0;
}

/* ボタン */
.btn01 a {
	background:#004831 !important;
	font-weight: bold;
	min-width: 230px !important;
}
.btn02 a {
	background: #004831 !important;
	padding: 15px 30px !important;
}
.btn02.vk_button .vk_button_link_caption {
	font-weight: bold;
}

/* ページヘッダー */
.page-header {
	background-position: 50% 80%;
	background-position: center;
	min-height: 278px;
}
.site-header-container {
	margin: 0 auto;
	max-width: 1280px;
	max-height:57.99;
}
.site-header-logo {
	font-size:25.6px;
}
.device-pc .global-nav-list>li>a {
	padding: 19.2px;
}
.site-header-container {
	margin: 0 auto;
	max-width: 1280px;
}
.site-header-logo {
	font-size:25.6px;
}
.device-pc .global-nav-list>li>a {
	padding: 19.2px;
}
.global-nav-name {
	font-weight: bold;
}
.global-nav .current-menu-item > a .global-nav-name {
	color: #004831;
}
.global-nav .current-menu-item > a:hover .global-nav-name{
	color: #fff;
}
.site-header-container .menu-item a:hover {
	background:#004831;
	color:#fff;
}
.device-pc .global-nav-list > li > a {
  height: 69.44px;
  display: flex;
  align-items: center;
  padding: 0 12.2px;
}
.global-nav-list > li.current-menu-item:before,
.global-nav-list > li.current_page_item:before {
  display: none !important;
}
.global-nav-list > li:before {
  display: none !important;
}
.page-header h1.page-header-title {
	position: relative;
    padding-bottom: 1.56rem;
	font-size:44px;
}
.page-header h1.page-header-title::before {
	content: '';
	width: 60px;
	height: 1px;
	background: var(--main-color);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.device-mobile .global-nav-list>li {
    padding: 14px 1.5em;
}
.vk-mobile-nav-menu-btn {
	background: url('../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-btn-white.svg') center 30% no-repeat var(--main-color);
	width: 40px;
	height: 40px;
	border: 1px solid #fff;
	border-radius: 50%;
}
.vk-mobile-nav-menu-btn.menu-open {
	border-color: #fff;
    background: url('../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-white.svg') center 30% no-repeat var(--main-color);
}

/* テントレンタル内容 */
.bg_page_fv_content {
	padding-top: 2rem;
    padding-bottom: 1.6rem;
}
.bg_page_fv_item {
	justify-content: space-between;
	gap: 0;
	padding: 0 30px;
	margin-bottom: 0;
}
.bg_page_fv_title {
	font-size: 44px;
	font-weight: 400;
	text-align: center !important;
}
.bg_page_fv_img {
	margin-bottom: 0;
}
.bg_page_fv_img img {
	mask-image: url('../../../wp-content/uploads/2026/02/shape.png');
	-webkit-mask-position: 50% 50%;
    mask-position: 50% 50%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.full_page_fv_img_box {
	position: relative;
	width: 100vw;
	margin: auto calc(50% - 50vw);
	background: #00d084;
}
.full_page_fv_img_box > .wp-block-group__inner-container {
	max-width: unset;
}
.full_page_fv_title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 65px;
}
.full_page_fv_img {
	opacity: .7;
	margin-bottom: 0;
}
.full_page_fv_img.wp-block-image img:not([style*=object-fit]) {
	width: 100%;
	height: 425px !important;
	object-fit: cover;
}
.global-nav-name {
	font-weight: bold;
}
.site-body-container {
	max-width: 1280px !important;
	width: 90%;
	padding: 0;
}

.tent_rental_title {
	margin-bottom: 5px;
}

/*************************************
 * トップページ
**************************************/
/* 富良野自然塾とは */
.top_about_box {
	width: 100vw;
	margin: auto calc(50% - 50vw);
}
.top_about_items {
	position: relative;
	gap: 5%;
}
.top_about_items::before {
	content: "";
    position: absolute;
    bottom: 20px;
    right: -35px;
    width: 110px;
    transform: scale(-1, 1);
    aspect-ratio: 787 / 980;
    background: url(../lightning-child/img/deer.png) center / contain no-repeat;
}

/* お知らせ */
.news_contents {
	position: relative;
	background-color: #fff;
	width: 800px;
    padding: 20px 40px;
	margin: 0 auto;
    border: 3px solid #006400;
    border-radius: 10px;
}
.news_contents::before {
	content: "";
    position: absolute;
    top: -19px;
    right: -50px;
    width: 80px;
    aspect-ratio: 266 / 235;
    background: url(../lightning-child/img/bird2.png) center / contain no-repeat;
}

/* ご予約・お問い合わせ */
.inquiry_content {
	padding-top: 2rem;
	padding-bottom: 2rem;
	overflow: visible;
}
.inquiry_content > div > .vk_outer_container {
	position: relative;
}
.inquiry_content > div > .vk_outer_container::before {
	content: "";
    position: absolute;
    bottom: -60px;
    left: -80px;
    width: 150px;
    aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff0f5;
	z-index: -1;
}
.inquiry_content > div > .vk_outer_container::after {
	content: "";
    position: absolute;
    top: -90px;
    right: -130px;
    width: 230px;
    aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #f0faf2;
	z-index: -1;
}
.box_columns > .wp-block-column {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #fffbe6;
    padding: 2rem 2rem !important;
    margin: 0 auto;
	border: 3px solid var(--wp--preset--color--luminous-vivid-orange);
	border-radius: 15px;
}
.box_columns > .wp-block-column.tel_box::before {
	content: "";
    position: absolute;
    top: -31px;
    left: 3px;
    width: 65px;
    aspect-ratio: 444 / 401;
    background: url(../lightning-child/img/butterfly.png) center / contain no-repeat;
}
.box_columns > .wp-block-column.pamphlet_box::before {
	content: "";
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 100px;
    aspect-ratio: 55 / 27;
    background: url(../lightning-child/img/tsukushi.png) center / contain no-repeat;
}
.inquiry_title {
	margin-bottom: 1rem;
}
.pamphlet_box .inquiry_title {
	margin-bottom: 2rem;
}
.call_number {
	margin-bottom: 0;
	font-size: 50px;
	line-height: 1;
	margin-bottom: 1rem;
}
.call_number a {
	text-decoration: none;
}
.pamphlet_content {
	padding-top: 0;
}
.box_columns > .wp-block-column .btn02 a {
	min-width: 270px;
}

/* 体験するカード */
.experience_item > .vk_gridColumn_item_inner {
	box-shadow: 0 0 35px 0 #0000001a;
}

/* フィールドマップ */
.field_map_img {
	max-width: 900px;
	margin: 0 auto;
}

/* 環境への取り組み */
.zero_carbon_box {
	position: relative;
}
.zero_carbon_box::before {
	content: "";
    position: absolute;
    top: -40px;
    right: -28px;
    width: 65px;
    aspect-ratio: 601 / 529;
    background: url(../lightning-child/img/risu.png) center / contain no-repeat;
}
.zero_carbon_box::after {
	content: "";
    position: absolute;
    bottom: 0;
    right: -35px;
    width: 60px;
    aspect-ratio: 423 / 575;
    background: url(../lightning-child/img/leaf2.png) center / contain no-repeat;
}
.zero_carbon_box > .wp-block-group__inner-container {
	max-width: unset !important;
}
.zero_carbon_box > .wp-block-group__inner-container::before {
	content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 80px;
    aspect-ratio: 242 / 113;
    background: url(../lightning-child/img/leaf5.png) center / contain no-repeat;
}
.zero_carbon_title {
	color: var(--main-color);
	font-size: 26px;
}
.zero_carbon_sub {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: .5rem;
}

/* 呼ぶカード */
.call_items {
	max-width: 46rem;
	margin: 0 auto;
}
.call_items .call_item {
	margin-bottom: 40px;
}
.call_item_img figure {
	margin-bottom: 0 !important;
}
.call_item_img img {
	width:100%;
}
.call_item_text {
	font-weight: bold;
}
.call_item  > .vk_gridColumn_item_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-shadow: 0 0 35px 0 #0000001a;
	border: 3px solid #F8B600;
	border-radius: 10px;
	overflow: hidden;
}
.call_item > .vk_gridColumn_item_inner:hover {
	box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}

/* FAQカード */
.faq_item a {
	cursor: pointer;
}
.faq_item > .vk_gridColumn_item_inner {
	position: relative;
	padding: 20px;
	border: 2px solid var(--main-color);
	border-radius: 10px;
	box-shadow: 0 0 35px 0 #0000001a;
}
.faq_item.icon_bee > .vk_gridColumn_item_inner::before {
	content: "";
    position: absolute;
    top: -40px;
    left: 0;
    transform: rotate(-9deg);
    width: 90px;
    aspect-ratio: 995 / 286;
    background: url(../lightning-child/img/bee.png) center / contain no-repeat;
}
.faq_item.icon_bird > .vk_gridColumn_item_inner::before {
	content: "";
    position: absolute;
    bottom: -18px;
    right: -16px;
    width: 45px;
    aspect-ratio: 409 / 514;
    background: url(../lightning-child/img/rabbit.png) center / contain no-repeat;
}
.faq_item > .vk_gridColumn_item_inner > .has-text-align-center {
	margin: 0;
}
.faq_item > .vk_gridColumn_item_inner:hover {
	box-shadow: 0 7px 35px 0 #00000026;
}

/* YouTube */
.youtube_movie {
	display: block;
	width: 100%;
	max-width: 900px;
	aspect-ratio: 16 / 9;
	margin: 0 auto;
}

/* 見出し背景色 */
.gray_background_color {
	background: var(--main-color);
	color: #fff;
	padding: 28.8px;
	font-size: 32px;
	border-radius: 10px;
}

/* アクセス */
.access_content {
	padding-bottom: 0;
}
.access_map {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 2;
	margin: 0 auto;
}


/* 特別協賛 */
.sponsorship_content > div > .vk_outer_container {
	background: #f0faf2;
    max-width: 650px !important;
    padding: 2rem 2rem !important;
    margin: 0 auto;
	border: 3px solid var(--main-color);
	border-radius: 20px;
}
.sponsorship_title {
	font-size: 24px;
}
.sponsorship_img {
	width:300px;
	margin:0 auto;
}
/*************************************
 * お知らせ
**************************************/
body.news-template-default .site-body.site-body--padding-vertical--off,
body.news-template-default .site-body.site-body--padding-vertical--off.siteContent-base-on {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.entry-header {
	display: none;
}
.wp-block-pullquote{
	padding: 28px 18px;
	margin: 28px auto;
	border-top: 2px solid #004831;
	border-bottom: 2px solid #004831;
	text-align: center;
}
.wp-block-pullquote blockquote{
	margin: 0;
	background-color: #fff !important;
}
.wp-block-pullquote p{
	margin: 0 0 14px;
	line-height: 1.3;
}
.wp-block-pullquote p .sme-font-size{
	font-size: 35px;
	letter-spacing: .02em;
}
.wp-block-pullquote cite{
	display: block;
	margin-top: 10px;
	font-style: normal;
	line-height: 1.7;
	opacity: .9;
}
.wp-block-pullquote{
  border-left: none !important;
}
.wp-block-pullquote blockquote{
	border-left: none !important;
}

/*************************************
 * 富良野自然塾とは
**************************************/
/* メッセージ */
.message_box::before {
	content: "";
    position: absolute;
    bottom: -35px;
    left: -130px;
    width: 230px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #f0faf2;
    z-index: -1;
}
.message_box > .wp-block-group__inner-container {
	max-width: unset !important;
}
.message_img_box {
	position: relative;
	margin-bottom: 2rem;
}
.message_img {
	position: relative;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.message_img img {
	width: 100%;
}
.message_post {
	font-size: 20px;
	margin-bottom: 0;	
}
.message_name {
	font-size: 28px;
	font-weight: bold;
}

/* 自然返還事業 */
.return_img_column,
.education_img {
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.return_img_column figure img,
.education_img img {
	width: 100%;
}
.return_img_column {
	position: relative;
}
.return_img_column::before {
	content: "";
    position: absolute;
    top: -19px;
    right: -50px;
    width: 80px;
    aspect-ratio: 266 / 235;
    background: url(../lightning-child/img/bird2.png) center / contain no-repeat;
	z-index: 1;
}
.return_img_column > .row {
	position: relative;
	gap: 1rem 5rem;
	margin: 0;
}
.return_img_column > .row::before {
	content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: #333;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    width: 30px;
	aspect-ratio: 1 / 2;
}
.return_img_column > .row > .wp-block-vk-blocks-grid-column-item {
	width: calc((100% - 5rem)/2);
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	padding: 0;
}
.education_img {
	position: relative;
	padding-bottom: 20px;
}
.education_img::before {
	content: "";
    position: absolute;
    bottom: 15px;
    left: -10px;
    width: 110px;
    aspect-ratio: 326 / 227;
    background: url(../lightning-child/img/bear.png) center / contain no-repeat;
	z-index: 1;
}
.yellow_border_box {
	background-color: #fffcee;
	padding: 2rem 2rem !important;
	margin-top: 3rem;
	border-radius: 20px;
}

/* 分校 */
.school_map {
	width: 100%;
	max-width: 700px !important;
	aspect-ratio: 7 / 5;
}

/* 起草文 */
.draft_img {
	position: relative;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
}
.draft_img::before {
	content: "";
    position: absolute;
    bottom: 13px;
    left: -36px;
    width: 85px;
    aspect-ratio: 922 / 811;
    background: url(../lightning-child/img/bird1.png) center / contain no-repeat;
	z-index: 1;
}
.draft_img::after {
	content: "";
    position: absolute;
    bottom: -20px;
    right: -25px;
    width: 100px;
    aspect-ratio: 787 / 980;
    background: url(../lightning-child/img/deer.png) center / contain no-repeat;
	z-index: 1;
}
.draft_img figure {
	position: relative;
}
.draft_img figure::before,
.draft_img figure::after {
	content: "";
    position: absolute;
    background-color: #fff0f5;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    z-index: -1;
}
.draft_img figure::before {
    top: -60px;
    right: -80px;
    width: 150px;
}
.draft_img figure::after {
    top: 85px;
    right: -105px;
    width: 60px;
}
.draft_img img {
	position: relative;
	background-color: #fff;
	width: 100%;
	padding: 2rem 5rem;
	border: 3px solid var(--main-color);
	border-radius: 15px;
	overflow: hidden;
}

/* 協賛 */
.school_sponsorship_box {
	max-width: 650px;
	margin-left: auto;
	margin-right: auto;
}
.school_sponsorship_box img {
	width: 100%;
}

/* グリッドアイテム */
.shizen_panel .row {
	margin:0;
}
.shizen_panel .vk_gridColumn_item {
	padding: 0 15px;
	margin-bottom: 30px;
}
.shizen_panel .vk_gridColumn_item > .vk_gridColumn_item_inner {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 2px solid #F8B600;
	border-radius: 10px;
	box-shadow: 0 0 35px 0 #0000001a;
	overflow: hidden;
	transition: .3s;
}
.shizen_panel .vk_gridColumn_item > .vk_gridColumn_item_inner:hover {
	box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}
.shizen_panel .vk_gridColumn_item figure {
	flex-shrink: 0;
	height: 100px;
	overflow: hidden;
	margin: 0;
	background: #F7F7F7;
	display: flex;
	align-items: center;
	justify-content: center;
}
.shizen_panel .vk_gridColumn_item img {
	width: 100%;
	object-fit:cover;
	display: block;
}
.shizen_panel .vk_gridColumn_item p {
	margin: 0;
	font-size: 16px;
}

/* グリッドアイテム */
.grid_items .grid_item {
	margin-bottom: 40px;
}
.grid_item .vk_gridColumn_item {
	padding: 0 15px;
	margin-bottom: 30px;
}
.grid_items .grid_item > .vk_gridColumn_item_inner {
	display: flex;
    flex-direction: column;
	background: #fff;
	box-shadow: 0 0 35px 0 #0000001a;
	border: 3px solid #F8B600;
	border-radius: 10px;
	overflow: hidden;
	transition: .3s;
}
.grid_items .grid_item > .vk_gridColumn_item_inner:hover {
	box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}
.grid_items .grid_item > .vk_gridColumn_item_inner h6 {
	padding:10px 20px;
}
/* .grid_items .grid_item > .vk_gridColumn_item_inner p {
	padding:10px 10px;
} */
.grid_items .grid_item_content,
.grid_items .grid_item > .vk_gridColumn_item_inner .grid_item_content,
.call_items .call_item > .vk_gridColumn_item_inner .call_item_content {
	height: 100%;
	padding: 10px 20px;
}
.grid_items.big_space .grid_item_content,
.grid_items.big_space .grid_item > .vk_gridColumn_item_inner .grid_item_content,
.call_items.big_space .call_item > .vk_gridColumn_item_inner .call_item_content {
	padding: 20px 25px;
}
.grid_items .content_middle .grid_item_content,
.grid_items .grid_item.content_middle > .vk_gridColumn_item_inner .grid_item_content,
.call_items .call_item.content_middle > .vk_gridColumn_item_inner .call_item_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 70px;
}
.grid_item_img {
	margin: 0;
}
.grid_item_title {
	font-size: 20px;
	margin-bottom: 0;
	padding-bottom: 0 !important;
}
.grid_item_title + .grid_item_text {
	margin-top: .5rem;
}
.grid_item_text + .grid_item_text {
	margin-top: 1rem;
}
.grid_item_text {
	margin: 0;
}

/* スタッフテーブル */
.table01 {
	max-width: 900px;
	margin: 0 auto;
	margin-bottom: 2rem;
}
.table01 table {
	background-color: #fff;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin: 0 auto;
}
.table01 td {
	vertical-align: top;
	font-size: 16px;
	padding: 25px 20px !important;
	border: none;
}
.table01 tr {
	border-bottom: 1px solid #e5e5e5;
}
.table01 tr:last-child {
	border-bottom: none;
}
.table01 td:first-child {
	font-weight: bold;
	width: 160px;
	background: #004831;
	color: #fff;
}
.table01 td:last-child {
	padding-left: 20px !important;
}
.table01 .wp-element-caption {
	font-size: 14px;
	margin-top: 10px;
}

/*************************************
 * 体験する
**************************************/
/* 環境教育プログラム */
.grid_items.program_items {
	position: relative;
}
.grid_items.program_items::before {
	content: "";
    position: absolute;
    bottom: 70px;
    right: 20px;
    width: 20%;
    aspect-ratio: 1053 / 740;
    background: url(../lightning-child/img/cow.png) center / contain no-repeat;
}

/* sdgs */
.sdgs_img {
	position: relative;
	max-width: 500px;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
}
.sdgs_img::before {
	content: "";
    position: absolute;
    bottom: 5px;
    left: -80px;
    width: 50px;
    aspect-ratio: 423 / 575;
    background: url(../lightning-child/img/leaf2.png) center / contain no-repeat;
}
.sdgs_img::after {
	content: "";
    position: absolute;
    top: -25px;
    right: -125px;
    width: 110px;
    transform: rotate(-5deg);
    aspect-ratio: 549 / 433;
    background: url(../lightning-child/img/tool_set.png) center / contain no-repeat;
}
.sdgs_img figure {
	margin-bottom: 0 !important;
}
.sdgs_img img {
	background-color: #fff;
	width: 100%;
	padding: 10px;
	border-radius: 10px;
}

/* 料金 */
.program_fee_content {
	overflow: visible;
}
.program_fee_content > div > .vk_outer_container {
	position: relative;
}
.program_fee_content > div > .vk_outer_container::before {
	content: "";
    position: absolute;
    top: -120px;
    right: -170px;
    width: 330px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #f0faf2;
    z-index: -1;
}
.program_fee_content > div > .vk_outer_container::after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-9deg);
    width: 100px;
    aspect-ratio: 995 / 286;
    background: url(../lightning-child/img/bee.png) center / contain no-repeat;
}

/* 教育関係 */
.education_content .education_items {
	position: relative;
}
.education_content .education_items::before,
.education_content .education_items::after {
	content: "";
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 80px;
    aspect-ratio: 242 / 113;
    background: url(../lightning-child/img/leaf5.png) center / contain no-repeat;
}
.education_content .education_items::after {
	content: "";
    position: absolute;
    bottom: calc(100% + 31px);
    right: 0;
    width: 26px;
    transform: rotate(45deg);
    aspect-ratio: 99 / 133;
    background: url(../lightning-child/img/tentoumushi.png) center / contain no-repeat;
}

/* 企業 */
.company_content .company_items {
	position: relative;
}
.company_content .company_items::before {
	content: "";
    position: absolute;
    top: -55px;
    right: -95px;
    width: 65px;
    transform: rotate(-26deg);
    aspect-ratio: 373 / 488;
    background: url(../lightning-child/img/flower.png) center / contain no-repeat;
}
.company_content .company_items::after {
	content: "";
    position: absolute;
    bottom: -75px;
    left: -110px;
    width: 220px;
   aspect-ratio: 458 / 469;
    background: url(../lightning-child/img/leaf_circle.png) center / contain no-repeat;
	z-index: -1;
}

/* カスタムプラン */
.custom_plan_content {
	position: relative;
}
.custom_plan_content::before {
	content: "";
    position: absolute;
    top: 70px;
    right: 0;
    width: 300px;
	aspect-ratio: 295 / 193;
    background: url(../lightning-child/img/mountain.png) center / contain no-repeat;
	z-index: -1;
}
.custom_plan_content .grid_items {
	position: relative;
}
.custom_plan_content .grid_items::before {
	content: "";
    position: absolute;
    bottom: 50px;
    right: 4%;
    width: 38%;
	aspect-ratio: 2197 / 664;
    background: url(../lightning-child/img/picnic.png) center / contain no-repeat;
}
.custom_plan_content .grid_items::after {
	content: "";
    position: absolute;
    bottom: 230px;
    right: 11%;
    width: 6%;
    aspect-ratio: 266 / 235;
    background: url(../lightning-child/img/bird2.png) center / contain no-repeat;
}
.custom_plan_content .grid_items > .row {
	margin-left: 0;
	margin-right: 0;
}
.custom_plan_content .grid_items > .row > .grid_item {
	position: relative;
}
.custom_plan_content .grid_items > .row > .grid_item:nth-child(1)::before {
	content: "";
    position: absolute;
    bottom: -35px;
    left: -100px;
    width: 100px;
    aspect-ratio: 1 / 1;
    transform: rotate(70deg);
    background: url(../lightning-child/img/leaf3.png) center / contain no-repeat;
	z-index: 1;
}
.custom_plan_content .grid_items > .row > .grid_item:nth-child(4)::before {
	content: "";
    position: absolute;
    bottom: -50px;
    right: -90px;
    width: 90px;
    aspect-ratio: 117 / 113;
    transform: rotate(56deg);
    background: url(../lightning-child/img/leaf6.png) center / contain no-repeat;
	z-index: 1;
}

/*************************************
 * 呼ぶ
**************************************/
.peace_img_columns {
	position: relative;
}
.peace_img_columns::before {
	content: "";
    position: absolute;
    top: -40px;
    left: -80px;
    width: 55px;
    transform: rotate(-15deg);
    aspect-ratio: 344 / 509;
    background: url(../lightning-child/img/takenoko.png) center / contain no-repeat;
	z-index: 1;
}
.peace_img_columns::after {
	content: "";
    position: absolute;
    bottom: -40px;
    right: -75px;
    width: 90px;
    aspect-ratio: 62 / 63;
    background: url(../lightning-child/img/leaf4.png) center / contain no-repeat;
	z-index: 1;
}

/* 講話 */
.lecture_items > .row,
.lecture_items {
	position: relative; 
	overflow: visible;
}
.lecture_items > .row::before {
	content: "";
    position: absolute;
    bottom: 80px;
    right: 0;
    width: 280px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #f0faf2;
    z-index: -1;
}
.lecture_items::before {
	content: "";
    position: absolute;
    bottom: 100%;
    left: 18px;
    width: 75px;
    aspect-ratio: 922 / 811;
    background: url(../lightning-child/img/bird1.png) center / contain no-repeat;
}
.lecture_items::after {
	content: "";
    position: absolute;
    bottom: 45px;
    right: 5px;
    width: 160px;
    aspect-ratio: 55 / 27;
    background: url(../lightning-child/img/tsukushi.png) center / contain no-repeat;
}

/*************************************
 * スタッフ紹介
**************************************/
/* スタッフ紹介 */
.staff_item + .staff_item {
	margin-top: 3rem;
}
.staff_item .wp-block-media-text__content {
	position: relative;
}
.staff_item .wp-block-media-text__content::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
}
.staff_item.staff1 .wp-block-media-text__content::before {
	width: 90px;
    aspect-ratio: 1053 / 740;
    background: url(../lightning-child/img/cow.png) center / contain no-repeat;
	transform: scale(-1, 1);
}
.staff_item.staff2 .wp-block-media-text__content::before {
	width: 65px;
    aspect-ratio: 444 / 401;
    background: url(../lightning-child/img/butterfly.png) center / contain no-repeat;
}
.staff_item.staff3 .wp-block-media-text__content::before {
	width: 60px;
    aspect-ratio: 266 / 235;
    background: url(../lightning-child/img/bird2.png) center / contain no-repeat;
}
.staff_item.staff4 .wp-block-media-text__content::before {
	width: 70px;
    aspect-ratio: 922 / 811;
    background: url(../lightning-child/img/bird3.png) center / contain no-repeat;
}
.staff_item img {
	border: 3px solid var(--main-color);
	border-radius: 15% 0 15% 0;
}
.staff_item.staff1 img {
	border-color: #008e66;
}
.staff_item.staff2 img {
	border-color: var(--wp--preset--color--pale-pink);
}
.staff_item.staff3 img {
	border-color: var(--wp--preset--color--vk-color-primary);
}
.staff_item.staff4 img {
	border-color: var(--wp--preset--color--luminous-vivid-orange);
}
.staff_name {
	font-size: 20px;
	margin-bottom: 0;
}
.staff_nickname {
	font-size: 16px;
}
.last_staff_name {
	margin-bottom: 1.5rem;
}

.staff_img {
	position: relative;
	margin-top: 5rem;
}
.staff_img::before {
	content: "";
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 100px;
    aspect-ratio: 835 / 803;
    background: url(../lightning-child/img/fox.png) center / contain no-repeat;
}
.staff_img figure::before {
	content: "";
    position: absolute;
    bottom: -25px;
    left: 69px;
    width: 85px;
    transform: rotate(-6deg);
    aspect-ratio: 118 / 133;
    background: url(../lightning-child/img/tree2.png) center / contain no-repeat;
}
.staff_img figure::after {
	content: "";
    position: absolute;
    bottom: -25px;
    left: -70px;
    width: 140px;
    transform: rotate(-6deg);
    aspect-ratio: 118 / 133;
    background: url(../lightning-child/img/tree2.png) center / contain no-repeat;
}
.staff_img img {
	width: 100%;
}

/* 募集要項 */
.recruit_table {
	position: relative;
	overflow: visible;
}
.recruit_table::before {
	content: "";
    position: absolute;
    bottom: 100%;
    right: 30px;
    width: 50px;
    aspect-ratio: 423 / 575;
    background: url(../lightning-child/img/leaf2.png) center / contain no-repeat;
	z-index: 1;
}
.recruit_table::after {
	content: "";
    position: absolute;
    bottom: calc(100% + 20px);
    left: 10px;
    width: 70px;
	transform: scale(-1, 1);
    aspect-ratio: 695 / 357;
    background: url(../lightning-child/img/tool.png) center / contain no-repeat;
	z-index: 1;
}


/*************************************
 * 賛助会員募集
**************************************/
/* 賛助会員 */
.members_content {
	position: relative;
}
.members_content::before {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 380px;
    aspect-ratio: 215 / 216;
    background: url(../lightning-child/img/leaf_ver.png) center / contain no-repeat;
    opacity: .9;
}
.members_table {
	position: relative;
	overflow: visible;
}
.members_table::before {
	content: "";
    position: absolute;
    top: -10px;
    right: -60px;
    width: 80px;
    transform: rotate(25deg);
    aspect-ratio: 117 / 113;
    background: url(../lightning-child/img/leaf6.png) center / contain no-repeat;
}
.members_table::after {
	content: "";
    position: absolute;
    bottom: -10px;
    left: -50px;
    width: 65px;
    transform: rotate(-20deg);
    aspect-ratio: 44 / 47;
    background: url(../lightning-child/img/leaf12.png) center / contain no-repeat;
}
.flow_img {
	--row-width: 120vw;
	--img-num: 6;
	--gap: .5vw;
	width: 100vw;
	margin: 4rem calc(50% - 50vw) 2rem;
	overflow: hidden;
}
.flow_img .row {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	margin: 0;
	animation: flow_img_scroll 35s linear infinite;
}
.flow_img .vk_gridColumn_item {
	flex: 0 0 auto;
	width: calc(var(--row-width)/var(--img-num));
	padding: 0 var(--gap);
}
.flow_img .vk_gridColumn_item figure {
	margin-bottom: 0;
}
.flow_img .vk_gridColumn_item:nth-child(odd) img {
	margin-top: 3rem;
}
.flow_img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}
@keyframes flow_img_scroll{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(calc(var(--row-width)*-1));
	}
}

/* 季刊誌 */
.book_content {
	padding-top: 4rem;
}
.magazine_title {
	position: relative;
}
.magazine_title::before {
	content: "";
    position: absolute;
    top: -34px;
    right: -79px;
    width: 37px;
    transform: rotate(48deg);
    aspect-ratio: 59 / 129;
    background: url(../lightning-child/img/leaf10.png) center / contain no-repeat;
}
.magazine_title::after {
	content: "";
    position: absolute;
    bottom: 5px;
    left: -53px;
    width: 30px;
    transform: rotate(-33deg);
    aspect-ratio: 59 / 129;
    background: url(../lightning-child/img/leaf10.png) center / contain no-repeat;
}
.magazine_imgs {
	position: relative;
}
.magazine_imgs::before {
	content: "";
    position: absolute;
    bottom: -15px;
    right: -15px;
    width: 47px;
    transform: rotate(33deg);
    aspect-ratio: 132 / 259;
    background: url(../lightning-child/img/leaf11.png) center / contain no-repeat;
    z-index: 1;
}

/*************************************
 * 関連
**************************************/
.book_item .wp-block-image {
	background: #D9D9D9;
}
.book_item .wp-block-image figure {
	margin-bottom: 0;
}
.relation_imgs {
	margin-bottom: 3rem;
}
.relation_imgs .wp-block-image img,
.relation_imgs .wp-block-image img:not([style*=object-fit]) {
	width: 100%;
	height: 65px !important;
	object-fit: contain !important;
}


/*************************************
 * よくある質問
**************************************/
.faq_item.wp-block-vk-blocks-faq2 {
	background-color: #fff;
	border: 2px solid var(--main-color);
	border-radius: 5px;
}
.vk_faq.vk_faq-accordion-close .vk_faq_title::after,
.vk_faq.vk_faq-accordion-open .vk_faq_title::after {
	right: 3rem;
}


/*************************************
 * 体験プランのご案内
**************************************/
/* メインタイトル */
.plan_main_title {
	font-size: 65px;
}
.plan_main_text {
	font-size: 28px;
}

/***********************************************
 * プログラム一覧
************************************************/
.program_btns .wp-block-vk-blocks-button a {
	width: 180px;
}

/* 学校関係の皆様 */
.bg_bar_title {
	position: relative;
	border-radius: 0;
	background: #fffbe6;
	border-left: 5px solid var(--wp--preset--color--luminous-vivid-orange);
}
#school.program_box .bg_bar_title::before {
	content: "";
    position: absolute;
    top: -45px;
    right: 5px;
    width: 110px;
    transform: rotate(-5deg);
    aspect-ratio: 549 / 433;
    background: url(../lightning-child/img/tool_set.png) center / contain no-repeat;
}
#company.program_box .bg_bar_title::before {
	content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 130px;
    transform: scale(-1, 1);
    aspect-ratio: 1053 / 740;
    background: url(../lightning-child/img/cow.png) center / contain no-repeat;
}
#personal.program_box .bg_bar_title::before {
	content: "";
    position: absolute;
    bottom: 10px;
    right: 15px;
    width: 60px;
    aspect-ratio: 423 / 575;
    background: url(../lightning-child/img/leaf2.png) center / contain no-repeat;
}
#personal.program_box .bg_bar_title::after {
	content: "";
    position: absolute;
    bottom: 65px;
    right: 80px;
    width: 35px;
    aspect-ratio: 444 / 401;
    background: url(../lightning-child/img/butterfly.png) center / contain no-repeat;
	border: none !important;
}
.program_box {
	padding-top: 60px;
}
.program_box .vk_tab .vk_tab_labels_label {
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}
.program_box .vk_tab .vk_tab_labels_label.vk_tab_labels_label-state-active {
	color: var(--main-color);
}
.program_box .vk_tab .vk_tab_labels_label > div {
	padding: 11px 26px;
}
.program_items h6 {
	font-size: 18px;
	margin-bottom: 10px;
}
.program_box h4 {
	font-size: 28px;
}
.program_box .underline {
	font-size: 30px;
	border-bottom: 1px solid #eee;
	padding-bottom: .8rem;
}
.program_items > .row {
	margin: 0;
	gap: 0 28px;
}
.program_items .wp-block-vk-blocks-grid-column-item {
	flex: 0 0 calc((100% - 56px) / 3);
	max-width: 100%;
	padding: 0;
}
.program_items .program_text_box {
	padding: 1rem;
}
.vk_tab_bodys > .wp-block-vk-blocks-tab-item > .wp-block-group {
	padding: 40px 40px !important;
}
.vk_tab_bodys > .wp-block-vk-blocks-tab-item > .wp-block-group .grid_item > .vk_gridColumn_item_inner {
	box-shadow: none;
}
.program_slider figure {
	margin-bottom: 0;
}

/* フッター */
.footer-nav {
	background-color: #fff;
}
.footer-nav .menu-item a {
	font-size: 12.8px;
}
.footer-nav .menu-item a:hover {
	text-decoration: underline;
}
.site-footer-copyright {
	background: #333333;
	max-width: 100% !important;
}
.site-footer-copyright p {
	font-size: 14px;
	color: #fff;
}

/* フッターバナー */
.footer_top_banner {
	padding-top: 5rem;
}
.footer_top_banner_items {
	max-width: 800px;
	margin: 0 auto;
}
.footer_top_banner_items > .row {
	margin: 0;
	gap: 28px;
}
.footer_top_banner_items .wp-block-vk-blocks-grid-column-item {
	position: relative;
	flex: 0 0 calc((100% - 28px) / 2);
	max-width: 100%;
	padding: 0;
}
.footer_top_banner_items p {
	font-size: 24px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 100%;
    text-align: center;
    padding: 1rem;
	z-index: 2;
}
.footer_top_banner_items figure {
	position: relative;
}
.footer_top_banner_items figure::before {
	content: '';
    inset: 0;
    background: #000;
    opacity: .3;
    position: absolute;
    z-index: 1;
	transition: opacity .3s;
}
.footer_top_banner_items img {
	aspect-ratio: 1 / .5;
    object-fit: cover;
}
.footer_top_banner_items .wp-block-vk-blocks-grid-column-item:hover figure::before {
	opacity: .5;
}
.site-footer {
    border-top: 1px solid #eee;
}
	
/* トップに戻る */
.page_top_btn {
	box-shadow: 0 0 0 0;
	background-color: #004831;
}

/***********************************************
 * 一般のお客さま FAQ
************************************************/
.faq_content > div > .vk_outer_container {
	position: relative;
}
.faq_content.faq_general > div > .vk_outer_container::before {
	content: "";
    position: absolute;
    top: 23px;
    right: 120px;
    width: 40px;
    aspect-ratio: 444 / 401;
    background: url(../lightning-child/img/butterfly.png) center / contain no-repeat;
}
.faq_content.faq_general > div > .vk_outer_container::after {
	content: "";
    position: absolute;
    top: 50px;
    right: 0;
    width: 130px;
    aspect-ratio: 295 / 193;
    background: url(../lightning-child/img/mountain.png) center / contain no-repeat;
    z-index: -1;
}
.faq_content.faq_agency > div > .vk_outer_container::before {
	content: "";
    position: absolute;
    top: 90px;
    left: 0;
    transform: rotate(-10deg);
    width: 100px;
    aspect-ratio: 995 / 286;
    background: url(../lightning-child/img/bee.png) center / contain no-repeat;
}
.faq_content.faq_agency > div > .vk_outer_container::after {
	content: "";
    position: absolute;
    top: 20px;
    right: 0;
    width: 130px;
    transform: rotate(-5deg);
    aspect-ratio: 549 / 433;
    background: url(../lightning-child/img/tool_set.png) center / contain no-repeat;
    z-index: -1;
}
.vk_faq .vk_faq_content-accordion-open {
	margin-bottom: 0;
}
.faq_item.vk_faq .vk_faq_title::before {
	font-family: "Noto Serif JP", sans-serif;
	color: #333;
}
.faq_item.vk_faq .vk_faq_content:before {
	font-family: "Noto Serif JP", sans-serif;
	color: #cf2e2e;
}

/*************************************
 * お問い合わせ
**************************************/
.contact_progress,
.input_area,
.confirm_area,
.thanks_area {
	width: 85%;
	max-width: 850px;
	margin: 0 auto;
}
.contact_progress {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3rem;
}
.contact_progress::before {
	content: '';
	display: block;
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: calc(100% - 150px);
	height: 2px;
	background-color: var(--main-color);
	z-index: -1;
}
.progress_item {
	font-size: 18px;
	width: 150px;
	text-align: center;
}
.progress_num {
	display: inline-block;
	color: var(--main-color);
	background-color: #fff;
	font-weight: bold;
	line-height: 1.7rem;
	width: 2rem;
	height: 2rem;
	margin-bottom: .5rem;
	border: 2px solid var(--main-color);
	border-radius: 50%;
}
.progress_item.active .progress_num {
	color: #fff;
	background-color: var(--main-color);
}
.progress_text {
	font-weight: bold;
	margin-bottom: 0;
}
.progress_item.active .progress_text {
	color: var(--main-color);
}
.contact_table,
.contact_table tr,
.contact_table tr th,
.contact_table tr td {
	font-size: 1rem;
	text-align: left;
	padding: .6rem 0;
	border: none;
}
.contact_title {
	color: var(--main-color);
	margin-bottom: 1rem;
}
.contact_table p {
	margin-bottom: 0;
}
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	background: #faf8f7;
	padding: 1em;
	margin-bottom: 0;
	border: 1px solid var(--main-color);
	border-radius: 5px;
}
textarea {
	line-height: 1.6;
	resize: none;
}
.contact_table tr th {
	font-weight: 700;
	letter-spacing: .01em;
	width: 15.85em;
}
.contact_table tr th .imp {
	display: inline-block;
	color: #fff;
	background-color: var(--main-color);
	font-size: .875em;
    font-weight: 700;
    line-height: 1;
    padding: .2em .4em;
	margin-left: 8px;
	border-radius: 5px;
}
.wpcf7-not-valid-tip {
	font-size: .875em;
}
.privacy_policy {
	font-size: 14px;
	letter-spacing: .38em;
	max-height: 157px;
	padding: 16px;
	margin-bottom: 1.2rem;
	border: 1px solid #c8c8c8;
    overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.policy_box + .policy_box {
	margin-top: 1rem;
}
.policy_box .title {
	font-weight: 600;
}
.privacy-check {
	text-align: center;
	margin-top: 1rem;
}
.privacy-check .wpcf7-list-item {
	letter-spacing: .01em;
	margin-left: 0;
}
.privacy-check .wpcf7-list-item > label {
	display: flex;
	align-items: center;
	gap: .5em;
}
.privacy-check .wpcf7-list-item input[type="checkbox"] {
	width: 1.5em;
    height: 1.5em;
}
.contact_btn_box {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 2.7rem;
}
.submit_box {
	display: inline-block;
	background-color: var(--main-color);
	text-align: center;
	min-width: 357px;
	padding: 0;
	border: 1px solid var(--main-color);
	border-radius: 100px;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	cursor: pointer;
	box-shadow: 3px 3px 7px rgba(177, 177, 177, .86);
}
.submit_box:has(input[disabled]) {
	user-select: none;
	pointer-events: none;
	opacity: .3;
}
.submit_box:hover {
	color: var(--main-color);
	background-color: #fff;
}
.submit_box p {
	position: relative;
	margin-bottom: 0;
}
.submit_box input {
	display: block;
	color: #fff;
	background-color: transparent !important;
	font-family: "Zen Old Mincho", serif;
	font-size: 18px;
	letter-spacing: .29em;
	text-indent: .29em;
	width: 100%;
	padding: 1rem;
	border: none !important;
	cursor: pointer;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.submit_box input:hover,
.submit_box:hover input {
	color: var(--main-color) !important;
}
.wpcf7-spinner {
	display: none;
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
	display: none;
}
.confirm_area .contact_table,
.thanks_area .contact_table {
	margin-top: 2rem;
}
/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
	display: none;
}
.confirm_area > p,
.thanks_area > p {
	font-size: 18px;
	margin-bottom: 0;
}
.confirm_area .contact_table td p span {
	display: block;
	background: #faf8f7;
	padding: 1em;
	border: 1px solid var(--main-color);
}
.submit_box:has(.back_button) {
	background-color: #696969;
	border: 1px solid #696969;
}
.submit_box:has(.back_button):hover {
	background-color: #fff;
}
.submit_box:has(.back_button):hover input {
	color: #696969 !important;
}
.submit_box p:has(.back_button)::before{
	left: 0;
	right: auto;
	transform: translateY(-50%) scale(-1, 1);
    -webkit-transform: translateY(-50%) scale(-1, 1);
    -ms-transform: translateY(-50%) scale(-1, 1);
}

.grecaptcha-badge {
	display: none !important;
}
body.page-id-468 .grecaptcha-badge {
	display: block !important;
	bottom: 75px !important;
}


/***********************************************
 * 体験プランのご案内
************************************************/
.intro_program_text {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 4rem;
}
.intro_program_text span.vk_highlighter {
	font-size: 1.4em;
}
.intro_program_items {
	position: relative;
}
.intro_program_items:before {
	content: "";
    position: absolute;
    top: -40px;
    right: -15px;
    width: 50px;
    transform: rotate(45deg);
    aspect-ratio: 99 / 133;
    background: url(../lightning-child/img/tentoumushi.png) center / contain no-repeat;
	z-index: 1;
}
.intro_program_items:after {
	content: "";
    position: absolute;
    bottom: 100%;
    left: 10px;
    width: 67px;
    aspect-ratio: 922 / 811;
    background: url(../lightning-child/img/bird1.png) center / contain no-repeat;
}


/***********************************************
 * 学校
************************************************/
.school_content {
	padding-top: 4rem;
}
.school_main_img {
	position: relative;
	width: 100%;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
.school_main_img::before {
	content: "";
    position: absolute;
    bottom: 5px;
    left: -85px;
    width: 70px;
    aspect-ratio: 423 / 575;
    background: url(../lightning-child/img/leaf2.png) center / contain no-repeat;
}
.school_main_img::after {
	content: "";
    position: absolute;
    top: -28px;
    right: -36px;
    width: 75px;
    aspect-ratio: 1 / 1;
    transform: rotate(70deg);
    background: url(../lightning-child/img/leaf3.png) center / contain no-repeat;
}
.school_main_img img {
	width: 100%;
}
.school_items,
.school_items > .row {
	position: relative;
}
.school_items > .row::before {
	content: "";
    position: absolute;
	top: -160px;
    right: -120px;
    width: 250px;
    background-color: #fff0f5;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    z-index: -1;
}
.school_items > .row::after {
	content: "";
    position: absolute;
	bottom: -5px;
    left: -50px;
    width: 130px;
    background-color: #fff0f5;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    z-index: -1;
}
.school_items::after {
	content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 65px;
    aspect-ratio: 444 / 401;
    background: url(../lightning-child/img/butterfly.png) center / contain no-repeat;
	z-index: 1;
}
.program_img_column figure {
	margin-bottom: 0;
}

@media (max-width: 1400px) {
	/* メッセージ */
	.message_box {
		padding-bottom: 3rem;
	}
	.message_box::before {
		bottom: -20px;
		left: -20px;
		width: 150px;
	}
	
	/* 教育関係 */
	.education_content .education_items {
		margin-top: 4rem;
	}
	.company_content .company_items::before {
		right: -30px;
		width: 55px;
		z-index: 1;
	}
	.company_content .company_items::after {
		bottom: -50px;
		left: -50px;
		width: 180px;
	}
	
	/* カスタムプラン */
	.custom_plan_content::before {
		top: 50px;
		width: 230px;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(1)::before {
		bottom: -53px;
		left: -55px;
		width: 80px;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(4)::before {
		bottom: -85px;
		right: -30px;
		width: 80px;
	}
	
	/* 呼ぶ_出張地球の道 */
	.peace_img_columns::before {
		left: -24px;
		width: 40px;
	}
	.peace_img_columns::after {
		bottom: -15px;
		right: -24px;
		width: 65px;
	}
	
	/* 賛助会員 */
	.members_content::before {
		width: 250px;
	}
	
	/* カムイミンタラ */
	.magazine_title::before {
		top: -25px;
		right: -15px;
	}
	.magazine_title::after {
		bottom: -15px;
		left: -12px;
	}
}
@media (max-width: 1024px) {
	#site-header #global-nav{
		display:none !important;
	}
	#vk-mobile-nav-menu-btn {
		display: block !important;
		visibility: visible;
		opacity: 1 !important;
	}
	/* メイン画像タイトル */
	.page-header-title {
		font-size: 36px !important;
	}
	.gray_background_color {
		font-size: 22px !important;
		padding: 14.4px;
		border-radius: 7px;
	}
	/* 	ボタン */
	.btn02 a {
		padding: .6em 1.5em !important;
	}
	.staff_item .wp-block-media-text__content {
		margin-top: 10px !important;
	}
	
	/* ヘッダー */
	.site-header-container {
		justify-content: flex-start !important;
	}
	.site-header-logo--mobile-position--center {
		text-align: left !important;
		margin-left: 0 !important;	
	}
	/* ヘッダーナビ */
	#vk-mobile-nav {
		position: fixed !important;
		top:0;
		left: 0;
		transform: translateX(-100%);
		transition: transform .25s ease;		
		height: 100vh;
		width: 320px;
		padding: 0;
		background: #004831 !important;
		z-index: 9999;
		overflow-y: auto;
	}
	#vk-mobile-nav.vk-mobile-nav-open{
		transform: translateX(0);
	}
	#vk-mobile-nav .vk-mobile-nav-menu-outer {
		padding: 60px 18px 24px;
	}
	#vk-mobile-nav .vk-mobile-nav-menu-outer ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	#vk-mobile-nav .vk-mobile-nav-menu-outer li {
		margin: 0;
		border-bottom: 1px solid rgba(255,255,255,.15);
	}
	#vk-mobile-nav .vk-mobile-nav-menu-outer a {
		display: block;
		padding: 14px 6px;
		color: #fff;
		text-decoration: none;
		font-weight: bold;
	}
	#vk-mobile-nav .current-menu-item > a,
	#vk-mobile-nav .current_page_item > a {
		background: rgba(255,255,255,.10);
	}
	#vk-mobile-nav-menu-btn,
	.vk-mobile-nav-menu-btn,
	.vk-mobile-nav-menu-btn__btn {
		position: fixed !important;
		top: 4px !important;
		right: 10px !important;
		z-index:10000 !important;
	}
	/* フッターナビ */
	.footer-nav {
		display: none;
	}
	.footer-nav .footer-nav-list {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		gap: 10px 20px;
		padding: 12px 12px;
		margin: 0;
	}
	.footer-nav .footer-nav-list > li {
		flex: 0 0 auto !important;
		width: auto !important;
		border: 0 !important;
		margin: 0 !important
	}
	.footer-nav .footer-nav-list > li > a {
		white-space: nowrap;
		display: inline-block;
		padding: 6px 0;
	}
	
	/* タイトル */
	.title01 {
		font-size: 28px;
		padding-top: 28px;
		padding-bottom: .6rem;
	}
	.title01::after {
		width: 25px;
	}
	
	/* グリッドアイテム */
	.grid_item_title {
		font-size: 18px;
	}
	
	/* トップページ */
	.news_contents {
		width: auto;		
	}
	.news_contents::before {
		top: -16px;
		right: -35px;
		width: 65px;
	}
	
	.top_about_items::before {
		bottom: 10px;
		right: -20px;
		width: 65px;
	}
	
	/* 環境への取り組み */
	.zero_carbon_box .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 1rem;
	}
	.zero_carbon_box .wp-block-columns > .wp-block-column {
		flex-basis: auto;
		flex-grow: 0;
		width: 100%;
	}
	.zero_carbon_box::after {
		right: -20px;
	}
	
	/* スタッフ紹介 */
	.staff_nickname {
		margin-bottom: .75rem;
	}
	.staff_item .wp-block-media-text__media {
		margin-bottom: 20px;
	}	

	/* プログラム一覧 */
	.full_page_fv_title {
		width: 100%;
		max-width: 100%;
		padding: 0 16px;
		text-align: center;
		white-space: nowrap;
		word-break: keep-all;
		font-size:44px;
	}
	
	/* ご予約・お問い合わせ */
	.inquiry_content > div > .vk_outer_container::before {
		bottom: -40px;
		left: -20px;
		width: 100px;
	}
	.inquiry_content > div > .vk_outer_container::after {
		top: -70px;
		right: -30px;
		width: 170px;
	}
	.box_columns > .wp-block-column {
		padding: 1.5rem !important;
		border-radius: 10px;
	}
	.box_columns > .wp-block-column.tel_box::before {
		top: -28px;
		left: 3px;
		width: 50px;
	}
	.box_columns > .wp-block-column.pamphlet_box::before {
		width: 80px;
	}
	.inquiry_content .box_columns h3.wp-block-heading {
		font-size: 20px;
	}
	.pamphlet_box .inquiry_title {
		margin-bottom: 1.5rem;
	}
	.call_number {
		font-size: 36px;
	}
	
	.page-header {
		min-height: 200px;
	}	
	
	/* メッセージ */
	.message_post {
		font-size: 16px;
	}
	.message_name {
		font-size: 24px;
	}
	/* 自然返還事業 */
	.return_img_column::before {
		top: -10px;
		right: -25px;
		width: 65px;
	}
	.return_text {
		text-align: left !important;
	}
	.relation_columns {
		display: block;
	}
	.relation_columns .wp-block-media-text__media {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		margin-bottom: 2rem;
	}
	.relation_columns .wp-block-media-text__content {
		padding: 0;
	}
	
	.yellow_border_box {
		border-radius: 15px;
	}
	
	/* 起草文 */
	.draft_img figure::before {
		top: -50px;
		right: -20px;
		width: 100px;
	}
	.draft_img figure::after {
		top: 60px;
		right: -30px;
		width: 40px;
	}
	.draft_img img {
		padding: 3rem 7%;
	}
	.draft_img::before {
		bottom: -20px;
		left: -20px;
		width: 70px;
	}
	.draft_img::after {
		width: 90px;
	}
	
	/* sdgs */
	.sdgs_img {
		max-width: 350px;
	}
	.sdgs_img::before {
		left: -60px;
		width: 40px;
	}
	.sdgs_img::after {
		right: -95px;
		width: 85px;
	}
	.grid_items.program_items::before {
		right: 7%;
		width: 30%;
	}
	.program_items > .row {
		gap: 0 15px;
	}
	.program_items .wp-block-vk-blocks-grid-column-item {
		flex: 0 0 calc((100% - 15px) / 2);
	}
	
	/* 企業 */
	.company_content .company_items::before {
		top: -47px;
        width: 45px;
	}
	.company_content .company_items::after {
		left: -20px;
        width: 130px;
	}
	
	/* カスタムプラン */
	.custom_plan_content::before {
		top: 30px;
        width: 170px;
	}
	.custom_plan_content .grid_items::after {
		bottom: 7%;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(1)::before {
		left: -30px;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(4)::before {
		right: -20px;
	}
	/* 料金 */
	.program_fee_content > div > .vk_outer_container::before {
		top: -20px;
		right: -25px;
		width: 180px;
	}
	.program_fee_content > div > .vk_outer_container::after {
		width: 85px;
	}
	/* 講話 */
	.lecture_items {
		margin-top: 3rem;
	}
	.lecture_items > .row::before {
		bottom: 80px;
		right: 10px;
		width: 230px;
	}
	.lecture_items::before {
		width: 60px;
	}
	.lecture_items::after {
		bottom: 45px;
		right: 5px;
		width: 130px;
	}
	
	.staff_img {
		margin-top: 2.5rem;
	}
	.staff_img::before {
		width: 70px;
	}
	.staff_img figure::before {
		left: 55px;
		width: 55px;
	}
	.staff_img figure::after {
		left: -20px;
        width: 70px;
	}
	
	/* 採用情報 */
	.recruit_table {
		margin-top: 4rem;
	}
	
	/* 賛助会員募集 */
	.members_content::before {
		width: 170px;
	}
	.members_table::before {
		top: -20px;
		right: -30px;
		width: 60px;
	}
	.members_table::after {
		bottom: -20px;
		left: -25px;
		width: 50px;
	}
	.flow_img {
		--row-width: 160vw;
		--gap: 1vw;
		margin-top: 2.5rem;
	}
	.flow_img .vk_gridColumn_item:nth-child(odd) img {
		margin-top: 2rem;
	}
	
	/* カムイミンタラ */
	.magazine_title::before {
		width: 25px;
	}
	.magazine_title::after {
		width: 23px;
	}
	.magazine_imgs::before {
		width: 35px;
	}
	
	/* お問い合わせ */
	.contact_progress,
	.input_area,
	.confirm_area,
	.thanks_area {
		width: 100%;
	}
	.contact_progress {
		margin-bottom: 2rem;
	}
	.contact_progress::before {
		width: calc(100% - 100px);
	}
	.progress_item {
		font-size: 16px;
		width: 100px;
	}
	.submit_box {
		min-width: 280px;
	}
	
	/* プログラム一覧 */
	#school.program_box .bg_bar_title::before {
		top: -30px;
		width: 80px;
	}
	#company.program_box .bg_bar_title::before {
		width: 85px;
	}
	#personal.program_box .bg_bar_title::before {
		width: 40px;
	}
	#personal.program_box .bg_bar_title::after {
		bottom: 55px;
		right: 60px;
		width: 20px;
	}
	.vk_tab_bodys > .wp-block-vk-blocks-tab-item > .wp-block-group {
		padding: 30px !important;
	}
	
	/* よくある質問 */
	.faq_content.faq_general > div > .vk_outer_container::before {
		top: 40px;
		right: 77px;
		width: 30px;
	}
	.faq_content.faq_general > div > .vk_outer_container::after {
		top: 60px;
		right: 0;
		width: 85px;
	}
	.faq_content.faq_agency > div > .vk_outer_container::before {
		top: 75px;
		width: 90px;
	}
	.faq_content.faq_agency > div > .vk_outer_container::after {
		top: 30px;
		width: 90px;
	}
	
	/* 学校 */
	.school_content {
		padding-top: 3rem;
	}
	.school_main_img {
		max-width: 500px;
	}
	.school_main_img::before {
		left: -60px;
		width: 50px;
	}
	.school_main_img::after {
		top: -20px;
		right: -28px;
		width: 60px;
	}
	.school_items::after {
		top: -20px;
		right: -25px;
		width: 50px;
	}
	.school_items > .row::before {
		top: -90px;
		right: -20px;
		width: 180px;
	}
	.school_items > .row::after {
		bottom: -5px;
		left: -15px;
		width: 100px;
	}
	
	/* 体験プランのご案内 */
	.intro_program_text {
		font-size: 18px;
	}
	.intro_program_items:before {
		top: -25px;
		width: 40px;
	}
}
@media (max-width: 991px) {
	body.news-template-default .main-section {
		margin-bottom: 3rem;
	}
	body.news-template-default .sub-section .vk_posts > .vk_post:nth-child(n+4) {
		display: none;
	}
}
@media (max-width: 781px) {
	.program_columns .program_img_column {
		order: -1;
	}
}
@media (max-width: 767px) {
	/* メイン画像タイトル */
	.page-header-title {
		font-size: 30px !important;
		padding-bottom: 1rem;
	}
	
	/* タイトル */
	.title01 {
		font-size: 24px;
		margin-bottom: 2rem;
	}
	
	/* 画像 */
	.img01 img {
		border-radius: 10% 0 10% 0;
	}
	
	/* FV */
	.ltg-slide .swiper-slide {
		position: relative;
		min-height: 270px;
	}
	.ltg-slide .swiper-slide picture {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}
	.ltg-slide .ltg-slide-item-img {
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}
	/* ボタン */
	.btn01,
	.btn02 {
		width: 100%;
		max-width: 300px !important;
		margin: 0 auto !important;
  }	
	.btn01 .vk_button_link,
	.btn02 .vk_button_link {
		width: 100% !important;
		display: block;
		padding: 12px 16px !important;
		box-sizing: border-box;
		text-align: center;
  }
	/* お知らせ */
	.news_content {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.news_contents {
		padding: 20px !important;
	}
	.news_contents::before {
		top: -15px;
        right: -15px;
        width: 60px;
	}
	.news_contents h3.wp-block-heading {
		padding-top: 0;
	}
	
	/* 富良野自然とは */
	.top_about_content {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.top_about_content .top_about_items {
		flex-wrap: wrap !important;
	}
	.top_about_content .top_about_items > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.top_about_content .top_about_items > .wp-block-column + .wp-block-column {
		margin-top: 18px;
	}
	.top_about_content .top_about_items img {
		width: 100%;
		height: auto;
		display: block;
	}
	.top_about_items::before {
		bottom: 65px;
        right: -5px;
	}
	/* 体験する */
	.experience_content	{
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	/* グリッドアイテム */
	.grid_items .grid_item {
		margin-bottom: 15px;
	}
	.grid_items > .row {
		margin-left: -5px;
		margin-right: -5px;
	}
	.grid_item {
		padding: 0 5px !important;
	}
	.grid_item_title {
		font-size: 16px;
	}
	.grid_item_title + .grid_item_text {
		margin-top: .35rem;
	}
	.grid_items .grid_item_content,
	.grid_items .grid_item > .vk_gridColumn_item_inner .grid_item_content,
	.call_items .call_item > .vk_gridColumn_item_inner .call_item_content {
		padding: 8px 15px;
	}
	.grid_items.big_space .grid_item_content,
	.grid_items.big_space .grid_item > .vk_gridColumn_item_inner .grid_item_content,
	.call_items.big_space .call_item > .vk_gridColumn_item_inner .call_item_content {
		padding: 15px 15px;
	}
	.grid_items .content_middle .grid_item_content,
	.grid_items .grid_item.content_middle > .vk_gridColumn_item_inner .grid_item_content,
	.call_items .call_item.content_middle > .vk_gridColumn_item_inner .call_item_content {
		min-height: 60px;
	}
	.grid_item_img {
		margin: 0;
	}
	.grid_item_text {
		font-size: 14px;
		margin: 0;
	}
	
	/* フィールドマップ */
	.field_map_content {
		padding-top: 2rem;
		padding-bottom: 2rem;		
	}
	
	/* 環境への取り組み */
	.zero_carbon_box > .wp-block-group__inner-container::before {
		width: 45px;
	}
	.zero_carbon_box {
		padding-bottom: 5rem;
	}
	.zero_carbon_box::before {
		top: -25px;
        right: -15px;
        width: 50px;
	}
	.zero_carbon_box::after {
		right: 0;
        width: 40px;
	}
	.zero_carbon_title {
		font-size: 22px;
		margin-bottom: 1rem;
	}
	.zero_carbon_sub {
		font-size: 16px;
	}
	
	/* 呼ぶ */
	.call_contet {
		padding-top: 2rem;
		padding-bottom: 2rem;				
	}
	.call_items {
		margin-bottom: 0 !important;
	}
	.call_items > .row {
		margin-left: 0;
		margin-right: 0;
	}
	.call_items .call_item {
		padding: 0 5px;
	}
	
	/* ご予約・お問い合わせ */
	.inquiry_content {
		padding-top: 3rem;
	}
	.inquiry_content > div > .vk_outer_container::before {
		bottom: -40px;
        left: -10px;
        width: 80px;
	}
	.inquiry_content > div > .vk_outer_container::after {
		top: -50px;
        right: -13px;
        width: 130px;
	}
	.wp-block-columns.is-not-stacked-on-mobile.box_columns {
		flex-wrap: wrap !important;
	}
	.box_columns > .wp-block-column {
		flex-basis: auto !important;
		flex-grow: 0 !important;
		width: 100%;
	}
	.box_columns > .wp-block-column.pamphlet_box {
		padding-top: 3.5rem !important;
		padding-bottom: 3.5rem !important;
	}
	.box_columns > .wp-block-column.pamphlet_box::before {
		width: 70px;
        bottom: 3px;
	}
	.box_columns > .wp-block-column.tel_box::before {
		top: -23px;
        left: 3px;
        width: 40px;
	}
	.inquiry_content .box_columns h3.wp-block-heading {
		font-size: 19px;
	}
	.inquiry_title {
		margin-bottom: 10px;
	}
	.call_number {
		font-size: 30px;
	}
	
	/* youtube埋め込み */
	.youtube_content {
		padding-top: 3rem;
		padding-bottom: 3rem;				
	}
	/*FAQ */
	.faq_content {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.faq_items > .row {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.faq_items > .row > .vk_gridColumn_item {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.faq_item > .vk_gridColumn_item_inner {
		padding: 15px 10px;
		border-radius: 7px;
	}
	.faq_item.icon_bee > .vk_gridColumn_item_inner::before {
		top: -27px;
		width: 60px;
	}
	.faq_item.icon_bird > .vk_gridColumn_item_inner::before {
		bottom: -18px;
		right: -12px;
		width: 38px;
	}
	
	/* ACCESS */
	.access_content {
		padding-top: 3rem;		
	}
	.vk_outer_container iframe {
		width: 100% !important;
		height: auto !important;
		max-width: 800px;
		aspect-ratio: 1/1;
	}
	/* 特別協賛 */
	.sponsorship_content {
		padding-bottom: 3rem;	
	}
	.sponsorship_content > div > .vk_outer_container {
		padding: 1.5rem 1.5rem !important;
		border-radius: 13px;
	}
	.last_text {
		margin-bottom: 0;
	}
	.information_content {
		padding-top: 2.5rem;	
		padding-bottom: 2.5rem;	
	}
	.sponsorship_title {
		font-size: 20px;
		margin-bottom: .6rem;
	}
	.sponsorship_img {
		width: 65%;
	}
	.sponsorship_img figure {
		margin-bottom: 0 !important;
	}
	
	/* 	富良野自然塾とは_メッセージ */
	.page-header {
		min-height: 150px;
	}	
	.message_content {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.message_img {
		margin-top: 10px;
	}
	.message_post {
		font-size: 14px;
	}
	.message_name {
		font-size: 20px;
	}
	.message_title {
		margin-top: 10px;
	}
	.alignment_items .wp-block-media-text__content {
		margin-top: 20px;
	}
	/* グレータイトル */
	.gray_background_color {
		font-size: 20px !important;
		padding: 10px;
		margin-bottom: 1.5rem;
	}
	/* 自然返還事業 */
	.return_content {
		padding-bottom: 3rem;
	}
	.return_text {
		margin-bottom: 0;
	}
	.return_img_column > .row {
		gap: 1rem 2.5rem;
	}
	.return_img_column > .row > .wp-block-vk-blocks-grid-column-item {
		width: calc((100% - 2.5rem) / 2);
	}
	.return_img_column > .row::before {
		width: 15px;
	}
	.return_img_column::before {
		top: -16px;
        right: -11px;
        width: 50px;
	}
	/* 各地に広がる自然塾 */
	.shizen_panel .vk_gridColumn_item {
		padding: 0 5px;
		margin-bottom: 10px;
	}
	.shizen_panel .vk_gridColumn_item > .vk_gridColumn_item_inner {
		border-radius: 7px;
	}
	.shizen_panel .vk_gridColumn_item figure {
		height: 60px;
	}
	.shizen_panel .vk_gridColumn_item p {
		font-size: 14px;
		padding: 5px;
		height: 55px;
		display: flex;
		justify-content: center;
		align-items: center;
	}	
	/* 環境教育事業 */
	.education_business_content {
		padding-bottom: 3rem;
	}
	.education_img::before {
		width: 75px;
	}
	/* 教育関係 */
	.education_items {
		margin-bottom: 20px;
	}
	/* 企業 */
	.company_items {
		margin-bottom: 20px;
	}
	/* 環境教育に関する連携 */
	.alignment_items {
		display: block !important;
	}
	.alignment_items .wp-block-media-text__content {
		padding: 0;
	}
	.alignment_items .wp-block-media-text__media,.education_img
	.alignment_items .wp-block-media-text__content {
		width: 100%;
	}
	.alignment_items .wp-block-media-text__media {
		margin-bottom: 20px;
	}
	/* 起草文 */
	.draft_img img {
		padding: 2rem 7%;
		border-radius: 7px;
	}
	.draft_img::before {
		bottom: -23px;
        left: -5px;
        width: 55px;
	}
	.draft_img::after {
		right: -5px;
		width: 55px;
	}
	/* 特別協賛 */
	.school_sponsorship_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	
	/* 体験する_環境教育プログラム */
	.sdgs_img {
		max-width: 230px;
	}
	.sdgs_img::before {
		left: -40px;
        width: 28px;
	}
	.sdgs_img::after {
		right: -60px;
        width: 55px;
	}
	.program_content {
		padding-top: 2.5rem;
	}
	.program_fee_content {
		padding-bottom: 2.5rem;
	}
	.education_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.grid_items.program_items {
		padding-bottom: 6rem;
	}
	.grid_items.program_items::before {
		right: 2rem;
        width: 8rem;
        bottom: 0;
	}
	/* 料金表 */
	.program_fee_content > div > .vk_outer_container::before {
		top: 35px;
        right: -15px;
        width: 120px;
	}
	.program_fee_content > div > .vk_outer_container::after {
		width: 55px;
	}
	/* 教育関係 */
	.education_items > .row,
	.company_items > .row {
		margin-left: -5px;
		margin-right: -5px;
	}
	.education_items > .row > .wp-block-vk-blocks-grid-column-item,
	.company_items > .row > .wp-block-vk-blocks-grid-column-item {
		padding: 0 5px;
	}
	.education_content .education_items {
		margin-top: 2.5rem;
	}
	.education_content .education_items::before {
		width: 55px;
	}
	.education_content .education_items::after {
		bottom: calc(100% + 22px);
		width: 15px;
	}
	.company_content .company_items::before {
		top: -30px;
        width: 28px;
        right: -15px;
	}
	.company_content .company_items::after {
		left: -14px;
        bottom: -11px;
        width: 62px;
	}
	/* 企業 */
	.company_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	/* カスタムプラン */
	.custom_plan_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;		
	}
	.custom_plan_content::before {
		top: 15px;
        width: 75px;
	}
	.custom_plan_content .grid_items {
		padding-bottom: 9rem;
	}
	.custom_plan_content .grid_items::before {
		bottom: 0;
		right: 10px;
    	width: 17rem;
	}
	.custom_plan_content .grid_items::after {
		bottom: 80px;
        right: 65px;
        width: 2.5rem;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(1)::before {
		bottom: -40px;
		left: -13px;
		width: 60px;
	}
	.custom_plan_content .grid_items > .row > .grid_item:nth-child(4)::before {
		bottom: -27px;
        right: -17px;
        width: 60px;
	}
	
	/* 呼ぶ_出張地球の道 */
	.load_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;			
	}
	.peace_img_columns::before {
		top: -20px;
        left: -11px;
        width: 30px;
	}
	.peace_img_columns::after {
		bottom: -15px;
        right: -10px;
        width: 40px;
	}
	.peace_img_columns > .row {
		margin-left: -5px;
		margin-right: -5px;
	}
	.peace_img_columns > .row > .wp-block-vk-blocks-grid-column-item {
		padding: 0 5px;
	}
	/* 講話 */
	.peace_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.lecture_content {
		padding-bottom: 3rem;
	}
	.lecture_items {
		padding-bottom: 7rem;
		margin-top: 5rem;
	}
	.lecture_items > .row {
		margin-left: 0;
		margin-right: 0;
	}
	.lecture_items > .row::before {
		bottom: -78px;
        right: 21px;
        width: 150px;
	}
	.lecture_items::after {
		bottom: 0;
		width: 110px;
	}
	
	/* スタッフ紹介 */
	.staff_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.staff_item + .staff_item {
		margin-top: 1.5rem;
	}
	.staff_item img {
		border-radius: 10% 0 10% 0;
	}
	.staff_item .wp-block-media-text__content {
		padding: 0 !important;
	}
	.staff_item .wp-block-media-text__content::before {
		top: -5px;
		right: 10px;
	}
	.staff_item.staff1 .wp-block-media-text__content::before {
		width: 70px;
	}
	.staff_item.staff2 .wp-block-media-text__content::before {
		top: 0;
		width: 40px;
	}
	.staff_item.staff3 .wp-block-media-text__content::before {
		width: 50px;
	}
	.staff_item.staff4 .wp-block-media-text__content::before {
		width: 55px;
	}
	.last_staff_name {
		margin-bottom: 21px;
	}
	.staff_item.wp-block-media-text{
		display: flex !important;
		flex-direction: column !important; 
		align-items: stretch !important;
	}
	.staff_item .wp-block-media-text__media,
	.staff_item .wp-block-media-text__content{
		width: 100% !important;
		max-width: none !important;
	}
	.staff_item .wp-block-media-text__media{
		margin: 0 0 10px !important;
	}
	.staff_img {
		margin-top: 1.5rem;
	}
	.staff_img::before {
        width: 50px;
	}
	.staff_img figure::before {
		left: 45px;
        width: 35px;
	}
	.staff_img figure::after {
		left: -10px;
        width: 50px;
	}
	
	/* 新規スタッフ募集中です */
	.table01 {
		border-collapse: collapse;
	}
	.table01 td {
		display: block;
		font-size: 14px;
		width: 100%;
		padding: 13px 15px !important;
	}
	.table01 td:first-child {
		width: 100% !important;
		padding-left: 10px;
	}
	.table01 td:last-child
	.recruitment_text {
		padding-left: 10px;
	}
	
	.recruit_table::before {
		right: 10px;
		width: 35px;
	}
	.recruit_table::after {
		bottom: calc(100% + 15px);
		left: 10px;
		width: 50px;
	}
	
	/* 賛助会員募集 */
	.members_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.magazine_content{
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.members_table::before {
		right: -10px;
        width: 45px;
	}
	.members_table::after {
		bottom: -25px;
        left: -15px;
        width: 40px;
	}
	.flow_img {
		--row-width: 200vw;
		--gap: 1vw;
		margin-top: 3.5rem;
        margin-bottom: 0;
	}
	.flow_img img {
		border-radius: 7px;
	}
	.flow_img .vk_gridColumn_item:nth-child(odd) img {
		margin-top: 1rem;
	}
	
	/* カムイミンタラ */
	.magazine_title::before {
		right: -5px;
		width: 20px;
	}
	.magazine_imgs {
		margin-bottom: 1rem;
	}
	.magazine_imgs::before {
		bottom: 0;
        left: 75%;
		transform: translateX(-50%) rotate(33deg);
		-webkit-transform: translateX(-50%) rotate(33deg);
		-ms-transform: translateX(-50%) rotate(33deg);
        right: auto;
        width: 30px;
	}
	.magazine_imgs > .row {
		justify-content: center;
		margin-left: -5px;
		margin-right: -5px;
	}
	.magazine_imgs > .row > .wp-block-vk-blocks-grid-column-item {
		padding: 0 5px;
	}
	
	/* テントレンタル内容 */
	.bg_page_fv_content {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
	.bg_page_fv_title {
		font-size: 18px;
	}
	.bg_page_fv_item  {
		padding-right: 10px;
		padding-left: 10px;		
	}
	
	/* 体験プランのご案内 */
	.plan_main_title {
		font-size: 35px;
	}
	.plan_main_text {
		font-size: 16px;
	}
	.program_content {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	
	/* プログラム一覧 */
	.full_page_fv_title {
		width: 100%;
		max-width: 100%;
		padding: 0 16px;
		text-align: center;
		white-space: nowrap;
		word-break: keep-all;
		font-size:40px;
	}
	.program_tab_box .vk_tab_labels_label > div {
		padding: 8px 12px !important;
	}
	.program_title {
		font-size: 20px !important;
	}
	.program_items .row {
		display: flex !important;
		flex-direction: column !important;
	}
	.program_items .vk_gridColumn_item {
		width: 100%;
		max-width: 100% !important;
	}
	.footer_top_banner {
		padding-top: 0;
		margin-top: 20px;
	}
	.footer_top_banner_items
	> .wp-block-vk-blocks-grid-column
	> .row
	> .wp-block-vk-blocks-grid-column-item {
		flex: calc((100% - 16px) / 2);
		max-width: calc((100% - 16px) / 2);
	}
	.footer_top_banner_items p {
		font-size: 18px;
	}
	.footer_top_banner_items > .row {
		flex-direction: column !important;
		align-items: center;
		gap: 10px;
	}	
	.footer_top_banner_items .vk_gridColumn_item {
		flex: 0 0 100% !important;
		max-width: 500px;
		width: 100%;
	}
	.footer_top_banner_items img {
		aspect-ratio: 1 / .4;
	}
	#school.program_box .bg_bar_title::before {
		top: -15px;
        width: 60px;
	}
	#company.program_box .bg_bar_title::before {
		width: 60px;
	}
	#personal.program_box .bg_bar_title::before {
		width: 30px;
	}
	#personal.program_box .bg_bar_title::after {
		bottom: 45px;
        right: 47px;
        width: 17px;
	}
	.vk_tab_bodys > .wp-block-vk-blocks-tab-item > .wp-block-group {
		padding: 20px 15px !important;
	}
	/* お問い合わせ */
	.contact_progress::before {
		width: calc(100% - 80px);
	}
	.progress_item {
		width: 80px;
	}
	.contact_title {
		font-size: 20px;
		margin-bottom: .5rem;
	}
	.confirm_area > p,
	.thanks_area > p {
		font-size: 16px;
	}
	.contact_table tr th,
	.contact_table tr td {
		display: block;
		width: 100%;
	}
	.contact_table tr th {
		padding-bottom: 0;
	}
	.contact_btn_box {
		flex-wrap: wrap;
		gap: 15px;
		margin-top: 1.5rem;
	}
	.submit_box {
		width: 100%;
		min-width: unset;
	}
	
	/* よくある質問 */
	.faq_content {
		padding-bottom: 4rem;
	}
	.faq_content:has(.vk_faq) .title01 {
		margin-bottom: 5rem;
	}
	.faq_content.faq_general > div > .vk_outer_container::before {
		top: 80px;
        right: 68px;
        width: 20px;
	}
	.faq_content.faq_general > div > .vk_outer_container::after {
		top: 90px;
        width: 70px;
	}
	.faq_content.faq_agency > div > .vk_outer_container::before {
		top: 100px;
        width: 70px;
	}
	.faq_content.faq_agency > div > .vk_outer_container::after {
		top: 65px;
        width: 70px;
	}
	.vk_faq .vk_faq_title,
	.vk_faq .vk_faq_content {
		padding-left: 2.5rem;
	}
	
	/* 学校 */
	.school_content {
		padding-bottom: 4rem;
	}
	.school_main_img {
		padding-bottom: 3rem;
	}
	.school_main_img::before {
		left: -10px;
        width: 45px;
	}
	.school_main_img::after {
		top: -20px;
        right: -10px;
        width: 50px;
	}
	.school_items::after {
		top: -18px;
        right: -10px;
        width: 45px;
	}
	.school_items > .row::before {
		top: -60px;
        right: -15px;
        width: 130px;
	}
	.school_items > .row::after {
		bottom: -15px;
        left: -10px;
        width: 80px;
	}
	
	/* 体験プランのご案内 */
	.intro_program_text {
		font-size: 15px;
	}
	.intro_program_items:before {
		top: -20px;
        right: -10px;
        width: 30px;
	}
	.intro_program_items:after {
		width: 50px;
	}
}









