/*
Theme Name: suzuki_kanako
Author: あなたの名前
Version: 1.0
*/
* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

h1 {
	font-size: 1.75rem;
	/*ヘッダータイトル・セクション名*/
}

h2 {
	font-size: 2.125rem;
	/*実質_h1(ページ名)*/
}

h3 {
	font-size: 1.25rem;
}

h4 {
	font-size: 1.125rem;
}

p {
	color: #103A50;
	font-size: 0.875rem;
	line-height: 2;
	letter-spacing: 0.02em;

}

.br-sp {
	/*スマホ版のみ改行*/
	display: none;
}

@media screen and (max-width:768px) {
	h2 {
		font-size: 1.5rem;
	}

	h3 {
		font-size: 1.25rem;
	}

	h4 {
		font-size: 1.125rem;
	}

	p {
		font-size: 1rem;
		/* 16px：最小推奨 */
		line-height: 1.8;
		/* 行間少し詰めてもOK */
	}

	.br-sp {
		display: block;
	}
}

.page-title {
	height: 4.725rem;
	background-color: rgba(159, 125, 39, 0.3);
	margin-top: 2rem;
}

.page-title h2 {
	text-align: center;
	line-height: 4.725rem;
	color: #103A50;
}

body {
	background-color: #EFEEEA;
}

/*ヘッダー*/
.header_title {
	width: 100%;
	text-align: center;
	padding: 20px 0;
}

.header_title h1 {
	padding: 3px 0 4px 0;
}

.header_title h1 a {
	text-decoration: none;
	color: #103A50;
}

.header_title span {
	color: #103A50;
	font-size: 18px;
}

.header_menu_sns {
	width: 90%;
	padding: 20px 10px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: sticky;
	z-index: 1000;
	/*メニューの固定*/
}

.header_menu_sns.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0);
	/* 背景透明 */
	z-index: 1000;
	transition: all 0.3s ease;
	display: flex;
}

.header-left {
	width: 20%;
	display: flex;
	justify-content: center;
}

.header-left .fa-square-facebook,
.fa-x-twitter {
	color: #103A50;
	font-size: 36px;
	margin: 0 16px;
}

.header-right {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}

.header-menu {
	background-color: rgba(71, 133, 155, 0.65);
	border-radius: 20px;
	padding: 10px 10px;
	display: inline-block;
	z-index: 1001;

}

.header-menu ul {
	list-style: none;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	/*リストの中身を折り返さない*/
}

.header-menu a {
	font-size: 1.125rem;
	text-decoration: none;
	color: #EFEEEA;
	padding: 10px 18px;
}

.header-menu a.active {
	background-color: rgba(255, 255, 255, 0.5);
	color: #103A50;
	font-weight: bold;
	border-radius: 20px;
}

.hamburger {
	display: none;
	z-index: 1002;
}

@media screen and (max-width:768px) {
	.header-right {
		position: relative;
		/* メニューをこの下に配置 */
		width: 100%;
		display: flex;
		justify-content: right;
	}

	.header-menu {
		display: none;
		position: absolute;
		top: 60px;
		right: 0;
		background-color: #47859B;
		width: 100%;
		border-radius: 0 0 0 0;
		padding: 20px 0;
		z-index: 1001;
	}

	.header-menu li:hover {
		background-color: #103A50;
		color: #dce8f4;
		width: 100%;
		height: 100%;
	}

	.header-menu ul {
		flex-direction: column;
		align-items: center;
	}

	.header-menu li {
		padding: 5px 0;
		margin: 5px 0;
	}

	.header-menu.open {
		display: block;
	}

	.hamburger {
		display: block;
		width: 40px;
		height: 40px;
		background-color: #103A50;
		position: relative;
		cursor: pointer;
		z-index: 2;
		border: none;
	}

	.hamburger span {
		display: block;
		width: 24px;
		height: 2px;
		background-color: #fff;
		position: absolute;
		left: 8px;
		transition: 0.3s;
	}

	.hamburger span:nth-child(1) {
		top: 10px;
	}

	.hamburger span:nth-child(2) {
		top: 18px;
	}

	.hamburger span:nth-child(3) {
		top: 26px;
	}

	/* 開いたときのアニメーション */
	.hamburger.open span:nth-child(1) {
		transform: rotate(45deg);
		top: 18px;
	}

	.hamburger.open span:nth-child(2) {
		opacity: 0;
	}

	.hamburger.open span:nth-child(3) {
		transform: rotate(-45deg);
		top: 18px;
	}
}

/*TOP*/

.main-visual_slider img {
	width: 100%;
	height: 600px;
	display: block;
	object-fit: cover;
	z-index: auto;
	position: relative;
}

.profile {
	display: flex;
	padding-top: 80px;
}

.profile_left {
	width: 50%;
	text-align: center;
}

.profile_left img {
	width: 490px;
	border-radius: 24px;
}

.profile_left h4 {
	padding-top: 16px;
}

.profile_left a {
	font-weight: normal;
	color: #103A50;
	text-decoration: none;
}

.profile_right {
	width: 50%;
}

.profile_right h2 {
	color: #103A50;
	padding: 35px 0;
	border-bottom: 0.5px solid #103A50;
}

.profile_right h4 {
	color: #103A50;
	padding: 35px 0 45px 0;
}

.saishin-blog_section {
	text-align: center;
}

.saishin-jouhou_top {
	padding: 132px 0 56px 0;
}

.saishin-jouhou_top h2 {
	color: #103A50;
	padding-bottom: 16px;
}

.saishin-jouhou_top h3 {
	font-weight: normal;
	color: rgb(71, 133, 155);
}

.saishin-blog_title a {
	color: #103A50;
	text-decoration: none;
	letter-spacing: 0.02em;
}

.saishin-blog_title_p {
	padding-bottom: 24px;
}

@media screen and (max-width:768px) {
	.profile {
		flex-direction: column;
		width: 100%;
		margin: 0 auto;
		padding: 20px;
	}

	.profile_left,
	.profile_right {
		width: 100%;
	}

	.profile_left img {
		width: 82%;
	}

	.profile_right h2,
	h4 {
		text-align: center;
	}

	.saishin-blog_title_p {
		padding-bottom: 24px;
	}
}

/*ブログ一覧*/

.saishin-blog_ichiran a {
	width: 300px;
	margin: 0 auto;
	color: #103A50;
	text-decoration: none;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.02em;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	text-align: center;
}


.saishin-blog_more-button {
	margin-top: 60px;
	margin-bottom: 30px;
}

.saishin-blog_more-button a {
	display: block;
	width: 200px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.02em;
	padding: 12px 0;
	border-radius: 8px;
	border: 2px solid #fff;
	margin: 0 auto;
	text-decoration: none;
	color: #fff;
	background-color: #9f7d27;
}

/*生徒募集*/
.seito-bosyu {
	width: 300px;
	height: 300px;
	z-index: 99;
	bottom: 20px;
	right: 0;
	position: fixed;
}

.seito-bosyu .close-btn {
	position: absolute;
	top: -28px;
	right: 0;
	border: none;
	background: rgba(0, 0, 0, 0.5);
	color: white;
	font-size: 20px;
	cursor: pointer;
	padding: 2px 8px;
}

.seito-bosyu_waku-soto {
	width: 280px;
	height: 280px;
	margin: 10px;
	position: relative;
	border-radius: 50%;
	border: 3px solid rgba(71, 133, 155, 0.5);
	background-color: #fff;
	box-sizing: border-box;
}

.seito-bosyu_waku-uchi {
	width: 100%;
	height: 100%;
	position: relative;
}

.seito-bosyu_waku-uchi::after {
	content: "";
	position: absolute;
	top: 8px;
	left: 8px;
	right: 8px;
	bottom: 8px;
	border-radius: 50%;
	border: 1.5px solid rgba(71, 133, 155, 0.5);
	/* 内側の線 */
	box-sizing: border-box;
	pointer-events: none;
}

.seito-bosyu_text_btn {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.seito-bosyu_text_btn h3 {
	color: #9f7d27;
	padding-bottom: 10px;
}

.seito-bosyu_text_btn p {
	padding-bottom: 10px;
}

.seito-bosyu_btn a {
	display: inline-block;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.02em;
	color: #fff;
	text-decoration: none;
	width: 160px;
	height: 40px;
	background-color: #9f7d27;
	border-radius: 8px;
	line-height: 40px;
}
@media screen and (max-width:768px){
	.seito-bosyu {
		width:240px;
		height:240px;
	}
	.seito-bosyu_waku-soto {
		width: 220px;
		height: 220px;
	}
	.seito-bosyu_text_btn h3 {
		font-size: 1.125rem;
		padding-bottom: 5px;
	}
	.seito-bosyu_text_btn p {
		font-size: 0.8rem;
	}
	.seito-bosyu_btn a {
		width:120px;
		height:30px;
		line-height: 30px;
	}
}
/*フッター*/

footer {
	background-color: #fff;
	padding: 15px 0;
}

.footer_menu {
	width: 90%;
	height: 80px;
	padding: 0 30px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer_menu_left {
	display: flex;
	justify-content: center;
}

.footer_menu_left .fa-square-facebook,
.fa-x-twitter {
	color: #103A50;
	font-size: 36px;
	margin: 0 16px;
}

.footer-menu_right {
	margin-top: 0;
	margin-bottom: auto;
}

.footer-menu_right ul {
	display: flex;
	list-style: none;
	align-self: flex-start;
}

.footer-menu_right li {
	border-radius: 100px;
	transition: all 0.5s ease;
}

.footer-menu_right a {
	display: block;
	color: #103A50;
	text-decoration: none;
	padding: 8px 14px;
	margin: 4px 4px 4px 12px;
	box-sizing: border-box;

}

.footer-menu_b-color {
	background-color: rgba(71, 133, 155, 0.3);
}

.footer-menu_right li:hover {
	background-color: #103A50;
}

.footer-menu_right li:hover a {
	color: #fff;
}

.footer_main {
	display: flex;
}

.footer_main_left {
	width: 50%;
	text-align: center;
	color: #fff;
	background-color: #103A50;
}

.footer_main_left h2 {
	padding-top: 30px;
}

.footer_main_left h3 {
	font-weight: normal;
}

.footer_main_right {
	width: 50%;
	padding: 30px;
	background-color: rgb(71, 133, 155);
}

.footer_main_right p {
	color: #fff;
}

.footer_main_right a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.02em;
}

.footer_main_right_tell-fax {
	display: flex;
}

.footer_main_right_tell-fax p {
	padding-left: 8px;
}

.footer_main_right_mail {
	padding-bottom: 32px;
}

@media screen and (max-width:768px) {
	.footer_menu {
		flex-direction: column;
		text-align: center;
		height: auto;
	}

	.footer-menu_right {
		padding-bottom: 8px;
	}

	.footer_main {
		flex-direction: column;
	}

	.footer_main_right,
	.footer_main_left {
		width: 100%;
	}

	.footer_main_left {
		padding-bottom: 24px;
	}
}

/*ディスコグラフィー*/
/*アルバム2枚ともsection1のクラス名でCSSを書いています*/
.discography_section1 {
	width: 85%;
	margin: 0 auto;
	display: flex;
	padding-top: 80px;
}

.discography_section1_left {
	width: 50%;
	text-align: center;
	padding-right: 5px;
}

.discography_section1_left img {
	width: 90%;
	border-radius: 24px;
}

.discography_section1_link a {
	display: inline-block;
	color: #103A50;
	font-size: 0.875rem;
	font-weight: normal;
	padding-top: 16px;
}

.discography_section1_right {
	width: 50%;
}

.discography_section1_right h1 {
	color: #9f7d27;
	padding-bottom: 16px;
}

.discography_main {
	padding-bottom: 80px;
}

@media screen and (max-width:768px) {
	.discography_section1 {
		flex-direction: column;
	}

	.discography_section1_left,
	.discography_section1_right {
		width: 100%;
		margin: 0 auto;
	}

	.discography_section1_left {
		padding-bottom: 24px;
	}
}

/*トロンボーン教室*/
.school_main {
	padding: 80px 20px;
	width: 90%;
	margin: 0 auto;
	text-align: center;
}

.school_section1 {
	padding-bottom: 160px;
}

.school_section1 h1 {
	color: #9f7d27;
	padding-bottom: 16px;
}

.school_section1 p {
	font-size: 16px;
}

.school_section2 h1 {
	color: #9f7d27;
	padding-bottom: 16px;
}

.school_section2 p {
	color: #47859B;
}

.school_section2_table {
	padding: 50px 20px;
}

.course-table {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	border-collapse: collapse;
	background-color: white;
}

.course-table th,
.course-table td {
	border: 1px solid #ddd;
	padding: 16px;
	text-align: left;
	vertical-align: top;
	font-size: 14px;
	color: #103A50;
}

.course-table thead th {
	background-color: #dce8f4;
	font-weight: bold;
}

.course-table .sub {
	font-size: 12px;
	color: #103A50;
}

.school_section3 {
	padding: 80px 0;
}

.school_section3 p {
	width: 80%;
	max-width: 900px;
	margin: 0 auto;
	text-align: left;
}

.school_section4 iframe {
	padding: 80px 0;
	width: 100%;
}

.school_section5_present-block {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

@media screen and (max-width: 768px) {
	.school_section5_present-block {
		flex-direction: column;
	}

	.school_section2_table {
		padding: 50px 0;
	}

	.course-table_course {
		background-color: rgb(220, 232, 244);
	}

	.course-table_course_title {
		color: #103A50;
		font-size: 1.25rem;
		font-weight: bold;
	}

	tbody {
		background-color: #EFEEEA;
	}

	.school_section2_table table,
	.school_section2_table thead,
	.school_section2_table tbody,
	.school_section2_table th,
	.school_section2_table td,
	.school_section2_table tr {
		border: none;
		display: block;
		width: 100%;
	}

	/* ヘッダー非表示 */
	.school_section2_table thead {
		display: none;
	}

	.school_section2_table tr {
		margin-bottom: 24px;
		padding: 16px;
		border: 1px solid #ccc;
		border-radius: 8px;
		background-color: #FFF;
	}

	.school_section2_table td {
		padding: 8px 0;
		position: relative;
		text-align: center;
	}

	/* ラベルを疑似要素で表示 */
	.school_section2_table td:nth-child(1)::before {
		content: "コース";
		font-weight: bold;
		display: block;
		color: #103A50;
	}

	.school_section2_table td:nth-child(2)::before {
		content: "時間";
		font-weight: bold;
		display: block;
	}

	.school_section2_table td:nth-child(3)::before {
		content: "料金";
		font-weight: bold;
		display: block;
	}

	.school_section2_table td:nth-child(4)::before {
		content: "回数";
		font-weight: bold;
		display: block;
	}

	.school_section2_table .sub {
		font-size: 0.9em;
		color: #103A50;
		display: block;
		margin-top: 4px;
	}
}

.school_section5 {
	padding-bottom: 80px;
}

.school_section5_present {
	flex: 1;
	padding: 20px;
	box-sizing: border-box;
}

.school_section5_present h4 {
	color: #47859B;
	padding: 16px;
	font-weight: normal;
}

.school_section5_present p {
	text-align: left;
}

/*出演依頼・お問合せ*/
.contact_main {
	padding: 80px 0;
}

.contact_section1 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.contact_section1 h1 {
	color: #9f7d27;
	padding-bottom: 16px;
}

.contact_section1 h3 {
	color: #103A50;
}

.contact_section1_form {
	width: fit-content;
	margin: 0 auto;
	padding: 80px 0;
}

.contact_section1_form_code {
	background-color: #FFF;
	padding: 40px;
	width: 100%;
	box-sizing: border-box;
}

.contact_section2 {
	width: 80%;
	margin: 0 auto;
}

.contact_section2_present {
	padding: 16px 0;
}

.contact_section2_present h3 {
	color: #9f7d27;
}

@media screen and (max-width:500px) {
	.contact_section1_form_code {
		padding: 40px 20px;
		width: 100%;
		box-sizing: border-box;
	}

	.contact_section1_form_code table {
		width: 100%;
	}
}

/*メディア*/
.media_main {
	width: 80%;
	margin: 0 auto;
	padding: 80px 0;
}

.media_main h1 {
	text-align: center;
	color: #103A50;
}

.media_section {
	padding-top: 160px;
}

.media_section h3 {
	color: #9f7d27;
	padding-bottom: 16px;
}

.media_section_medias {
	display: grid;
	/* 左右に等間隔で配置 */
	grid-template-columns: repeat(3, 1fr);
	/* 3列 */
	gap: 20px;
	/* カラム間のスペース */
}

.media_section_media {
	text-align: center;
	flex: 1;
	/* 幅を均等に分ける */
	padding: 20px;
	box-sizing: border-box;
	justify-content: space-between;
	/* 上下に要素が分かれるように */
}

.media_section_media h4 {
	font-weight: normal;
	color: rgb(71, 133, 155);
}

.media_section_media a {
	text-decoration: none;
	color: #103A50;
	font-size: 0.875rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-weight: normal;
}

.media_section_media iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	/* 高さを比率指定（レスポンシブ対応） */
	margin: 0 auto;
	border: none;
	margin-bottom: 10px;
}

.media_section_media p,
.media_section_media h4,
.media_section_media a {
	margin-top: auto;
	text-align: center;
	font-size: clamp(0.6rem, 2vw, 0.875rem);
	/* 最小0.6rem～最大0.875remで調整 */
}

@media screen and (max-width:768px) {
	.media_section_medias {
		grid-template-columns: 1fr; /* モバイルでは1列 */
	}
}