@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
*/

/*root*/
:root {
	--jimmu-red:#E8403D;
	--jimmu-yellow:#F5BA2B;
	--jimmu-blue:#14A9AD;
	--jimmu-font:#333;
	--jimmu-pink:#E50076;
    --h1-fontsize:36px;
    --main-fontsize:32px;
	--regular-fontsize: 20px;
}
/*Google Fonts*/
body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500; /* Medium */
	font-size: 20px;
}
h1 {
	font-weight: 900; /* Black */
	font-size: 48px;
}
h2 {
	font-weight: 900;
	font-size: 36px;
}
h3, h4 {
	font-weight: 700; /* Bold */
}
p {
	font-weight: 500; /* Medium */
	font-size: 20px;
}
.description {
	font-weight: 500;/* Medium */
	font-size: 16px;
}
/* navigation font */
.c-gnav .menu-item a .ttl {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
}
/* section-title font */
h2.is-style-section_ttl {
	font-weight: 900;
	font-size: 36px;
}
/* SP font */
@media (max-width: 767px) {
	h2.is-style-section_ttl {
		font-size: 24px;
	}
	p {
		font-size: 16px;
	}
	.description {
		font-size: 0.95em;
	}
	}
/*components*/
/* rectangle */
.rectangle { /* 基本の長方形(red) */
	display: inline-block;
	width: 300px;
	height: 70px;
	background-color: var(--jimmu-red);
	border: 6px solid #fff;
	padding: .25em .5rem;
	border-radius: 20px;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: 900;
}
.rectangle_box { /* 基本のボックスの外枠 */
	display: block;
	border: solid 6px var(--jimmu-red);
	border-radius: 20px;
	padding: 2em;
	position: relative;
	z-index: -1;
}
.rectangle.rectangle_head { /* 基本のボックスの見出し */
	background-color: var(--jimmu-red);
	border-radius: 10px;
	position: absolute;
	transform: translate(-50%, -100%);
	left: 50%;
}
/* button */
.jimmu-btn .rectangle a.swell-block-button__link {
	padding: 1em;
}
.jimmu-btn a.swell-block-button__link span {
	font-size: 24px;
}
.jimmu-btn:hover {
	background-color: var(--jimmu-blue);
}
@media (max-width: 767px) {
	.jimmu-btn a.swell-block-button__link span {
		font-size: 20px;
	}
}
/* ==================== */
/* header ============= */
.c-gnav>.menu-item>a:hover { /*global-menu:hover赤*/
	color: var(--jimmu-red);
}
/*icon-instagram*/
.c-gnav .sprite-icon-instagram {
	display: block;
	background-image: url(https://jimmu.jp/wp-content/uploads/2025/05/Instagram.png);
	background-size: 51px;
	background-repeat: no-repeat;
	width: 55px;
	height: 55px;
	margin: auto .5em auto .5em;
}
.c-gnav>.menu-item a .ttl .icon-instagram {
	display: none;/*swell-icon削除*/
}
.c-gnav .sprite-icon-instagram:hover {
	opacity: 0.9;
}
/*icon-LINE*/
.c-gnav .sprite-icon-line {
	display: block;
	background-image: url(https://jimmu.jp/wp-content/uploads/2025/05/LINE.png);
	background-size: 50px;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
	margin: auto .5em auto .5em;
}
.c-gnav>.menu-item a .ttl .icon-line {
	display: none;/*swell-icon削除*/
}
.c-gnav .sprite-icon-LINE:hover {
	opacity: 0.95;
}
/* =============== */
/*見学&無料体験ボタン*/
.rectangle_cta { /* 基本の無料体験ボタン(red) */
	display: inline-block;
	width: 200px;
	height: 50px;
	background-color: var(--jimmu-red);
	padding: .5rem .5rem;
	color: #fff;
	text-align: center;
}
.rectangle_cta a {
	text-decoration: none;
}
.rectangle_cta p {
	color: #fff;
	font-size: 16px;
	line-height: 1em;
}
/*hover:青*/
.rectangle_cta:hover {
	background-color: var(--jimmu-blue);
}
.rectangle_cta.sp_cta { /* SPメニューの無料体験ボタン */
	background-color: #fff;
	height: 70px;
}
.rectangle_cta.sp_cta p {
	color: var(--jimmu-red);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25em;
}
/*「まずは無料体験～」文字*/
#btn_set {
	font-size: 32px;
}
@media (max-width:767px) {
	#btn_set {
		font-size: 24px;
	}
}
/* ==================== */
/* 2025.5.23 メインビジュアル上の余白を消す */
.page-id-19 #content.l-content.l-container { /*front-pageのみに指定*/
	padding-top: 0;
  }
/* ===================== */
/* mainvisual */
#main_visual .p-mainVisial {
	position: relative;
}

/* hero(非表示) ================ */
.mainvisual-cover { /* 絶対位置の指定 */
	position: relative;
}
.hero-box { /* 絶対位置の指定 */
	position:absolute;
	left: 20%;
	top: 50%;
}
/* copy */
.hero-box h1{
	color:var(--jimmu-font);
    font-size: 48px;
}
.hero-box span:nth-child(3) {
	color:var(--jimmu-red);
}
.hero-box span:nth-child(4) {
	color:var(--jimmu-blue);
}
.hero-box span:nth-child(5) {
	color:var(--jimmu-yellow);
}
.hero-box span:nth-child(6) {
	color:var(--jimmu-blue);
}
.hero-box span:nth-child(7) {
	color:var(--jimmu-red);
}

/* 固定追従バナー */
.fixed_btn {
	position: fixed;
	bottom: 10px;
	right: 20%;
	padding: 6px 40px;
}
@media (max-width: 767px) {
	.fixed_btn {
		bottom: 5%;
		right: 5%;
	}
}
/* 2025.06.04 ADD tablet-pc微調整 */
@media screen and (min-width: 767px) and (max-width: 1000px) {
	#sp_top div.wp-block-spacer {
		height: 1000px !important;
	}
}
/* ======================= */
/* topService ============ */
/* decoration_icon */
.question-mark {
	position: absolute;
	transform: translate(-50%, -50%);
	left: 15%;
	top: 5%;
}
.exclamation-mark {
	position :absolute;
	transform: translate(-50%, -50%);
	top: 25%;
	left: 85%;
}
/* vision_head */
#vision_h.wp-block-heading {
	font-size: 24px;
}
@media (max-width: 767px) {
	#vision_h.wp-block-heading {
		font-size: 20px;
	}
}
/* award_inforemation */
.rectangle-TKGP {
	border-radius: 20px;
}
.rectangle-TKGP h2.black-32 {
	font-size: 32px;
}
@media (max-width: 767px) {
	.rectangle-TKGP {
		border-radius: 10px;
	}
	.rectangle-TKGP h2.black-32 {
		font-size: 28px;
	}
}
/* ======================= */
/* topNews =============== */
.wp-block-latest-posts:not(.is-grid) {/*不要な線を削除*/
	border: none;
}
.wp-block-latest-posts:not(.is-grid) li { /*リストの下線*/
	border-bottom: 3px solid var(--jimmu-yellow);
	display: flex;/*縦→横並び→orderで順入替*/
	padding: 1.75em .25em;
	}
.widget_recent_entries a, .wp-block-latest-posts a { /*リンクデフォルト青→黒に*/
	color: var(--jimmu-font);
	font-size: 20px;
	order: 2;
}
.wp-block-latest-posts__post-date { /*date*/
	width: 120px;
	color: var(--jimmu-red);
	font-weight: 700;
	font-size: 20px;
	order: 1;
}
@media (max-width: 767px) {
	.wp-block-latest-posts:not(.is-grid) li {/*SP横→縦並び*/
		flex-direction: column;
	}
	.widget_recent_entries a, .wp-block-latest-posts a {/*link*/
		font-size: 16px;
	}
	.wp-block-latest-posts__post-date {/*date*/
		font-size: 16px;
	}
}
/*button =============== */
.btn_block {
	width: 100%;
	text-align: center;
}
.btn_block a{
	text-decoration: none;
	color: #fff;
}
@media (max-width:767px) {
	.btn_block .rectangle {
		border-radius: 10px;
	}
	.btn_block a {
		font-size: 0.95em;
	}
}
/* ======================= */
/* topCource ============= */
/* outline */
.course-box1 {
	border: solid 6px;
	border-color: var(--jimmu-blue);
	border-radius: 20px;
	padding: 2em;
}
.course-box2 {
	border: solid 6px;
	border-color: var(--jimmu-yellow);
	border-radius: 20px;
	padding: 2em;
}
@media (max-width:767px) {
	.course-box1, .course-box2 { /* SP版外枠 */
		border-radius: 10px;
		width: 100%;
		text-align: center;
	}
}
/* head */
.course-box1 .rectangle { /*初級*/
	background-color: var(--jimmu-blue);
	width: 100%; /*course外枠に対し*/
}
.course-box1 .course span { /*head-font*/
	color: #fff;
	font-size: 20px;
}
.course-box2 .rectangle { /*中級*/
	background-color: var(--jimmu-yellow);
	width: 100%; /*course外枠に対し */
}
.course-box2 .course span { /*head-font*/
	color: var(--jimmu-font);
	font-size: 20px;
}
@media screen and (min-width:767px) and (max-width: 1000px) { /*tablet-pc*/
	.course-box1 .rectangle, .course-box2 .rectangle {/*長方形のサイズ感*/
		width: 100%;
		height: 100px;
		line-height: 1.2em; /*行間調整*/
		padding-top: 0.5em;
	}
	.course-box1 .course span, .course-box2 .course span {
		font-size: 1em;
	}
}
@media (max-width: 767px) {/*sp*/
	.course-box1 .rectangle, .course-box2 .rectangle {/*長方形のサイズ感*/
		width: 100%;
		height: 100px;
		line-height: 1.2em; /*行間調整*/
		padding-top: 0.5em;
	}
	.course-box1 .course span, .course-box2 .course span {
		font-size: 1em;
	}
}
/* course name */
.course-box1 .bold-32, .course-box2 .bold-32 {
	font-weight: 700;
	font-size: 32px;
}
.course-box1 .bold-20, .course-box2 .bold-20 {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3em;
}
/* course description */
.course-box1 .mid-20, .course-box2 .mid-20 {
	font-weight: 500;
	font-size: 20px;
}
@media (max-width: 767px) {
	.course-box1 .bold-32, .course-box2 .bold-32 {/*name*/
		font-size: 24px;
	}
	.course-box1 .bold-20, .course-box2 .bold-20 {/*name*/
		font-size: 16px;
	}
	.course-box1 .mid-20, .course-box2 .mid-20 {/*description*/
		font-size: 16px;
	}
}
/* 使用教材 ----------- */
.rectangle_box.box1 {
	border-color: var(--jimmu-font);
}
.rectangle.rectangle_head.head1 {
	background-color: var(--jimmu-font);
}
/* ===================== */
/* topPrice ============ */
/* table PC */
#fee table {
	line-height: 2.5em;
}
#fee table th, #fee table td {
	border: 3px solid var(--jimmu-font);
	font-size: 20px;
	padding-top: .75em;
	padding-bottom: .75em;
}
#fee table th {
	line-height: 1.3em; /*2行の見出しは行間詰める*/
	font-size: 18px;
	padding-top: 1em;
	padding-bottom: 1em;
}
/* table SP */
@media (max-width: 767px) {
	.fee_sp table {
		line-height: 2em;
	}
	.fee_sp table th, .fee_sp table td {
		border: 3px solid var(--jimmu-font);
		padding-top: .5em;
		padding-bottom: .5em;
		font-size: 16px;
	}
	#fee_sp4 table th {
		font-size: 14px;
	}
}
/* もっとおトク */
.rectangle_box.box2 {
	border-color: var(--jimmu-yellow);
	position: relative;
}
.rectangle.rectangle_head.head2 {
	background-color: var(--jimmu-yellow);
	color: var(--jimmu-font);
}
/* decoration */
.box2 img.brother-img {
	width: 200px;
	position: absolute;
	transform: translate(-50%, -50%);
	left: 85%;
	top: 80%;
}
@media screen and (min-width:767px) and (max-width:1000px) {/*tablet-pc*/
	.rectangle.rectangle_head.head2 { /* もっとオトク */
		width: 80%;
		height: 90px;
		font-size: 22px;
		transform: translate(-50%, -100%);
		line-height: 1.3em;
	}
	.box2-contents { /*説明文のサイズでheadの微調整*/
		margin-top: 15px;
	}
}
@media (max-width: 767px) {
	.rectangle.rectangle_head.head1 { /* 使用教材 */
		width: 80%;
	}
	.rectangle_box.box1 {
		border-radius: 10px;
	}
	.rectangle.rectangle_head.head2 { /* もっとオトク */
		width: 80%;
		height: 85px;
		font-size: 22px;
		transform: translate(-50%, -100%);
		line-height: 1.3em;
	}
	.rectangle_box.box2 { /* 2人目以降無料 */
		border-radius: 10px;
		font-size: 0.8em;
	}
	.box2-contents { /*説明文のサイズでSP調整*/
		margin-top: 30px;
	}
	.box2.u-mb-20 {/* ボックス下の余白量 */
		margin-bottom: 5rem !important;
	}
	.box2 img.brother-img { /* 兄弟の位置 */
		left: 50%;
		top: 110%;
	}	
}
/* =================== */
/* topOffice ========= */
/* 2025.05.23 ADD CSS slide-animation */
@keyframes horizontal-animation {
	from {
		transform:translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
  }
  .slider-container {
	display: flex;
	overflow: hidden;
  }
  .slider-wrapper {
	display: flex;
	animation: horizontal-animation 30s linear infinite;
  }
  .slide {
	width: 400px;
	margin-right: 20px;
	text-align: center;
  }
  .slide img {
	width: 100%;
	height: 400px;
	vertical-align: bottom;
	border-radius: 20px;
  }

/* 767px(iPad)以下 */
@media (max-width: 767px) {
	/* ======================= */
    /* topService ========== */
	.question-mark {
		width: 130px;
		opacity: 0.4;
	}
	.exclamation-mark {
		width: 40px;
		opacity: 0.3;
	}
}
/* =============== */
/* footer ======== */
.l-footer .l-container {
	display: flex;
	flex-direction: column;
}
.l-footer__nav {
	order: 2; /* 昇順 */
}
.my-footer-link {
	order: 1; /* 昇順 */
}
.my-footer-link a {
	display: block;
}
.my-footer-link img {
	width: 200px;
}
.copyright {
	display: none;
}
/* footerメニュー間の縦線を消す */
.l-footer__nav li:first-child a, .l-footer__nav a {
	border-left: 0;
	border-right: 0;
}

/*===========================*/
/* =======記事詳細ページ====== */
.p-articleThumb__img, .p-articleThumb__youtube { /*サムネイル*/
	border: 6px solid var(--jimmu-font);
	border-radius: 20px;
	height: 30vw;
	object-fit: contain;/*サイズ感*/
}
/* ======================== */
/* =======記事一覧ページ===== */
/*記事一覧*/
.c-postThumb__figure { /*サムネイル*/
	border: 6px solid var(--jimmu-font);
	border-radius: 20px;
}
.c-postThumb__cat { /*カテゴリー*/
	color: var(--jimmu-red);
	font-size: 12px;
	border: 1px solid var(--jimmu-red);
	border-radius: 7px;
	background-color: #fff;
}
.p-postList__item {
	display: flex;
	flex-direction: column;
}
.p-postList__body { /*一覧詳細表示順*/
	display: flex;
	flex-direction: column;
}
.p-postList__body .p-postList__meta {/*1=日付*/
	order: 1;
}
.p-postList__body .p-postList__title {/*3=タイトル*/
	order: 3;
}
.p-postList__excerpt { /*4=コンテンツ*/
	order: 4;
}
/* ================== */
/* 会社概要ページ ==== */
#office.wp-block-table { /*テーブルのボーダー初期化*/
	--table-border: none;
}
#office.is-style-simple table tr { /*下線*/
	border-bottom: 3px solid var(--jimmu-yellow);
}
#office.wp-block-table td, #office.wp-block-table th { /*テーブル高さ*/
	padding: 1.75em .75em;
	font-size: 18px;
}

/* takemura */
/* 画面サイズ 960px 以上 （PC）*/ 
@media (min-width: 960px) {
	/* ナビゲーションバーのスタイル調整 */
	.l-header {
		box-shadow: none; 
		border-top: none; 
		border-right: 6px solid #f5ba2b; 
		border-bottom: 6px solid #f5ba2b; 
		border-left: 6px solid #f5ba2b; 
		border-radius: 0 0 20px 20px;
		padding: 0 ;
		max-width: 90%;
		margin: 0 auto;
	}
	/* 追跡ナビゲーションバーのスタイル調整 */
	.l-fixHeader {
		box-shadow: none; 
		border-top: none; 
		border-right: 6px solid #f5ba2b; 
		border-bottom: 6px solid #f5ba2b; 
		border-left: 6px solid #f5ba2b; 
		border-radius: 0 0 20px 20px;
		padding: 0;
		width: 90%;
		margin: 0 auto; 
		left: 0 ; /*  中央寄せのため左端に固定 */
		right: 0 ; /*  中央寄せのため右端に固定 */
	}
	.l-fixHeader.-series.-series-right {
		overflow: hidden ; /* :before要素のはみ出しを防ぐ */
	}
}

/* PCでSNSアイコンを非表示 */
.sns-header-sp {
  display: none;
}

/* SPのスタイル */
@media only screen and (max-width: 940px) {
  .sns-header-sp {
    display: block;
  }
  .sns-header-sp {
    display: flex;
    align-items: center; 
    justify-content: flex-end;
	}

	.sns-list-sp {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
	}

	.sns-list-sp li {
		margin-right: 15px; 
	}

	/* SNSアイコンのスタイル */
	.sns-list-sp .sns-instagram img,
	.sns-list-sp .sns-line img {
		width: 30px; 
		height: auto;
		display: block; 
	}

	/* 「見学＆無料体験申し込み」ボタンのスタイル */
	.sns-list-sp .offer {
		margin-right: 0;
	}
	.sns-list-sp .offer a {
		background-color: #e54c4c; 
		color: #fff;
		text-decoration: none; 
		padding: 10px 15px;
		display: block; 
		text-align: center;
		font-size: 14px; 
		line-height: 1.4; 
	}
}

/* ヘッダーを上に固定:PCのみ */
@media (min-width: 940px) {
	.page-id-19 .l-header {
	  position: fixed;
	  top: 0;
	  left: 0;
		right: 0;
	  z-index: 1000;
	}
	}