@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* fix時のロゴサイズ */
:root {
	--logo_size_pcfix: 60px;
}
/* グローバルナビ設定 */
.c-gnav > .menu-item > a .ttl,
.c-gnav .sub-menu li {
    font-family: "新丸ゴ R";
	font-size: 1.1em;
}
.c-gnav .sub-menu li:hover {
	background-color: #e0ffe0;
}

/* PC / SP の切り替え */
.pc { display: block; }
.sp { display: none; }

/* ページ内リンク ヘッダーズレ対策 */
html {
	scroll-padding-top: 120px;
}
/* 『タイトル背景画像』設定時はh1を非表示 */
.l-topTitleArea h1,
.l-topTitleArea .p-termNavigation {
	display: none;
}

/* Table フォーム */
.contents-table th,
.contents-table td {
	padding: 1.0rem;
	border: solid 1px #cccccc;
}
.contents-table th {
	width: 35%;
}
.contents-table th b {
	color: #cc0000;
}
.formSubmit {
	text-align: center;
	margin-top: 2.0rem;
}
.formSubmit input[type="submit"] {
	width: 350px;
	font-size: 1.25em;
	font-family: "新丸ゴ R";
	color: #ffffff;
	border: none;
	border-radius: 999999px;
	background: #119923;
	background: linear-gradient(180deg,rgba(152, 235, 172, 1) 0%, rgba(17, 153, 35, 1) 70%);
}
.formSubmit .wpcf7-spinner {
	display: block;
}


/* --------------------------------------------------
トップページ スライド
-------------------------------------------------- */

/* 3枚で前の画像が残るスライド */
/* =========================
	レイアウト
========================= */
.slideshow {
	position: relative;
	width: 100%;
	max-width: 1920px;
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	overflow: hidden;
}
.slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	pointer-events: none;
	/* 3枚 × 5秒 = 15秒 */
	animation-duration: 15s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
/* =========================
	スライド割り当て
========================= */
.s1 { animation-name: fade1; }
.s2 { animation-name: fade2; }
.s3 { animation-name: fade3; }
/* =========================
	キーフレーム
	各スロット：33.333%
	フェード 1s / 表示 3s / フェード 1s
========================= */
/* スライド1（0%〜33.333%） */
@keyframes fade1 {
	0%   { opacity: 0; }
	6%   { opacity: 1; }
	26%  { opacity: 1; }
	33.333% { opacity: 0; }
	100% { opacity: 0; }
}
/* スライド2（33.333%〜66.666%） */
@keyframes fade2 {
	0%   { opacity: 0; }
	33.333% { opacity: 0; }
	39%  { opacity: 1; }
	59%  { opacity: 1; }
	66.666% { opacity: 0; }
	100% { opacity: 0; }
}
/* スライド3（66.666%〜100%） */
@keyframes fade3 {
	0%   { opacity: 0; }
	66.666% { opacity: 0; }
	72%  { opacity: 1; }
	92%  { opacity: 1; }
	100% { opacity: 0; }
}
/* =========================
	アクセシビリティ
========================= */
@media (prefers-reduced-motion: reduce) {
	.slide {
		animation: none;
		opacity: 1;
		position: static;
		width: 100%;
		height: auto;
	}
}

/* --------------------------------------------------
	フッター
-------------------------------------------------- */
footer.l-footer {
	padding-top: 1.0rem;
	border-top: double 3px #38b549;
}
/* フッターエリア インフォーメーション */
.footerName {
	margin-bottom: 1.0rem;
	text-align: center;
	font-size: 0.85em;
}
.footerName a:link,
.footerName a:visited {
	color: #000000;
}
.footerName > div {
	margin-bottom: 0.5rem;
}
.footerName > div > b {
	font-size: 130%;
}
/* フッターエリア キャラクター */
.beansCharacter {
	margin: 1.0rem auto;
	width: 200px;
	min-width: 200px;
	height: auto;
}
.beansCharacter img {
	width: 100%;
	height: auto;
}
.beansCharacterAnimation {
	animation: beansCharacterAnimation 3s ease-in-out infinite alternate;
	transition: 1.5s ease-in-out;
}
@keyframes beansCharacterAnimation {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.95);
	}
}
/* Fix フッターコンタクトバナー */
.rightBottomContact {
	position: fixed;
	right: 2.0rem;
	bottom: 7.0rem;
	width: 185px;
	height: 185px;
	margin: 0;
	padding: 1.35rem 0 0;
	z-index: 9999;
	border-radius: 50%;
	border: solid 2px #119923;
	background-color: #ffffff;
}
.rightBottomContact img {
	width: 100%;
	height: auto;
}
.rightBottomContact01 {
	margin: 0 auto;
	width: 80%;
}
.puyon {
	animation: puyon 3.0s infinite;
}
@keyframes puyon {
	0%   { }
	30%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
	35%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
	45%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
	50%  { transform: scale(0.95, 1.05) translate(0%, -3%); }
	55%  { transform: scale(1.05, 0.95) translate(0%, 3%); }
	65% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

/* 右下固定ボタン：スクロール表示制御 */
.rightBottomContact {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease;
}

.rightBottomContact.is-show {
	opacity: 1;
	visibility: visible;
}


/* ------------------------------------------------------------
	フッターメニュー
------------------------------------------------------------ */
.l-footer__nav {
	gap: 3.5rem;
	padding: 1rem 0 4rem;
}
.l-footer__nav a {
	border-right: none;
}
.l-footer__nav li:first-child a {
	border-left: none;
}
.l-footer__nav > li > a {
	font-weight: 600;
	font-size: 1.1em;
}
.l-footer__nav .sub-menu {
	margin-top: 0.25rem;
	display: grid;
	gap: 0.3rem;
}
.l-footer__nav .sub-menu > li {
	margin-left: 0.75rem;
}
.l-footer__nav .sub-menu > li a {
	padding: 0 0.75rem;
	position: relative;
	font-size: 0.9em;
}
.l-footer__nav .sub-menu > li a::before {
	content: "";
	width: 5px;
	height: 1px;
	background-color: var(--color_footer_text);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
	.l-footer__nav {
		gap: 0.5em;
		flex-direction: column;
	}
	.l-footer__nav > li:nth-of-type(n + 2) {
		padding-bottom: 0.5em;
	}
	.l-footer__nav > li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	}
	.l-footer__nav > li > a {
		font-size: 13px;
	}
	.l-footer__nav .sub-menu {
		margin-top: 0.2em;
		gap: 0.5em;
	}
	.l-footer__nav .sub-menu > li a {
		font-size: 12px;
	}
}

/* ------------------------------------------------------------
	固定ページ
------------------------------------------------------------ */
/* 講師派遣申し込み 固定ページ内 */
/* tableスタイル */
.entry-table {
	margin: 0;
	padding: 0;
	width: 100%;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.entry-table th,
.entry-table td {
	margin: 0;
	padding: 0.5rem 0.75rem;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
}
.entry-table th p,
.entry-table td p {
	padding-bottom: 0;
}
.entry-table th {
	width: 230px;
	background-color: #eaffea;
	font-size: 0.9em;
	text-align: center;
	vertical-align: middle;
	font-weight: normal;
}
.entry-table td ol {
	list-style: none;
}
.entry-table td ol li {
	margin: 0.5rem 0;
}
.entry-table td textarea {
	width: 100%;
}
#event-inochi {
	margin-top: 1.0rem;
}
#event-inochi h4 {
	margin-bottom: 0.5rem;
	font-weight: 400;
}


@media (min-width: 769px) {
	body {
		background-image: url('/wp-content/themes/swell_child/images/body-bg.svg');
		background-size: 100%;
		background-repeat: repeat-y;
	}
	.-body-solid .p-breadcrumb.-bg-on {
		background-color: #ffffff !important;
	}
	.c-pageTitle {
		font-family: "UD新ゴ R";
		font-size: 2.5em;
	}
	.l-topTitleArea {
		min-height: 500px;
	}
	.l-content  {
		background-color: rgba(255,255,255,0.8);
	}
}

/* ------------------------------------------------------------
	ブレイクポイント（モバイル用）
------------------------------------------------------------ */
@media (max-width: 768px) {
	.pc { display: none; }
	.sp { display: block; }

	/* Table フォーム */
	.contents-table tr {
		border: solid 1px #cccccc;
	}
	.contents-table th,
	.contents-table td {
		display: block;
		max-width: 100% !important;
		width: 100% !important;
		padding: 1rem 0.5rem;
		border: none;
	}
	.contents-table td input[type="text"] {
		width: 90%;
	}
	.formSubmit input[type="submit"] {
		width: 60%;
	}
	.l-topTitleArea {
		height: 200px;
		min-height: auto;
	}
	/* フッターエリア キャラクター */
	.beansCharacter {
		width: 150px;
		min-width: 150px;
		margin-bottom: 0;
	}
    .slideshow {
        aspect-ratio: 640 / 850;
    }
	/* Fix フッターコンタクトバナー */
	.rightBottomContact {
		left: 1.0rem;
		right: auto;
		bottom: 1.0rem;
		width: 115px;
		height: 115px;
		padding-top: 0.85rem;
	}
	/* 講師派遣申し込み 固定ページ内 tableスタイル
	------------------------------------------------------------*/
	.entry-table {
		display: block;
		width: 95%;
		margin: auto;
	}
	.entry-table tbody,
	.entry-table tbody tr,
	.entry-table th,
	.entry-table td {
		display: block;
		width: 100%;
	}
	.entry-table td {
		padding: 1.0rem;
	}
	#event-inochi {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.entry-table-box .mfp_buttons button {
		color: #020202;
		font-weight: 600;
		text-shadow: none;
	}
}
