@charset "utf-8";
@media (min-width:768px) and ( max-width:1280px) {
.menu-toggle {
	top:12px;
	right: 40px;
}
	
/*---------------ヘッダー---------------*/
	.hd_bg{
		height: 70px;
	}
	.hd_bg_flex{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 70px;
	}
	.hd_bg_flex img{
		width: 60px;
		height: auto;
		margin: 0 10px;
	}
	.hd_bg_flex h1{
		font-size: 27px;
	}
	.pm_list{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100px;
		margin-top: 70px;
	}
	.pm_list li a{
		color: #712930;
		font-family: "Exo 2", sans-serif;
  		font-optical-sizing: auto;
  		font-weight: 400;
  		font-style: normal;
		margin: 0 15px;
		padding: 5px;
		font-size: 20px;
		border-radius: 5px;
		transition: transform 0.4s ease, box-shadow 0.4s ease;
	}
	.pm_list li a:hover{
		transform: scale(1.2);
		box-shadow: 0px 3px 3px #712930;
	}
	
/*---------------ヘッダーここまで---------------*/
	
/*---------------メインページトップ---------------*/
	.top_head_bg_sp{
		display: none;
	}
	.top_head{
		position: relative;
	}
	.top_head_bg_pc img{
		width: 100%;
		min-width: 1280px;
	}
	.title_contet{
		width: 768px;
		height: 380px;
		display: flex;
		margin: auto;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 90px;
		z-index: 10;
	}
	.title_mamiya_img_1 img{
		width: 250px;
	}
	.title_box{
		width: 300px;
	}
	.title_mamiya_namelogo img{
		width: 250px;
	}
	.title_mamiya_img_2 img{
		width: 280px;
		margin-top: -50px;
	}
	.title_box h2{
		font-size: 24px;
	}
	.title_box h3{
		font-size: 26px;
	}
/*---------------メインページトップここまで---------------*/
	
/*---------------イベントバナー---------------*/
/* 見た目は好みで調整OK */
.banner-slider{
	--gap: 16px;
	--slide-w: clamp(220px, 28vw, 360px); /* 画面に応じてカード幅自動可変 */
  box-sizing: border-box;
  width: 90%;
  min-width: 768px;
  margin: 0 auto;
  margin-top: 50px;
  padding: 8px clamp(8px, 4vw, 40px);  /* 端の余白は可変に */
  position: relative;
}

.slider-viewport {
  overflow: hidden;
}

.slider-track {
  display: flex;
  gap: var(--gap);
  will-change: transform;
  transition: transform 0.6s ease;
}

/* カード */
.slide {
  flex: 0 0 var(--slide-w);
  display: block;
}
.slide img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  user-select: none;
}

/* 左右ボタン */
.slide-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  cursor: pointer;
  font-size: 18px;
  line-height: 34px;
  text-align: center;
}
.slide-btn.left  { left: 6px; }
.slide-btn.right { right: 6px; }
.slide-btn:hover { background: rgba(255,255,255,.95); }

/* ドット */
.dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 10px;
}
.dots button {
  width: 8px; height: 8px; border-radius: 50%; border: 0;
  background: rgba(0,0,0,.25); cursor: pointer;
}
.dots button.is-active { 
	background: rgba(0,0,0,.7); 
	}

	
/*---------------イベントバナーここまで---------------*/
	
/*---------------トップSNSリンク---------------*/
	.top_sns_link_box{
		display: block;
		width: 300px;
		margin: auto;
		margin-top: 50px;
	}
	.top_sns_link_box a{
		display: block;
		width: 250px;
		margin-right: 30px;
	}
	.top_sns_link_box img{
		width: 100%;
	}
	
/*---------------トップSNSリンクここまで---------------*/
	
/*---------------週間予定表---------------*/
	.top_week_info{
		position: relative;
	}
	.top_week_info_bg_sp{
		display: none;
	}
	.top_week_info_bg img{
		width: 100%;
		min-width: 1280px;
	}
	.top_week_info_img img{
		width: 550px;
		position: absolute;
		margin-right: 50px;
		top: 110px;
		left: 40%;
		transform: translateX(-40%);
		z-index: 2;
	}
/*---------------週間予定表ここまで---------------*/
	
/*---------------オリジナルソング---------------*/
	.top_original_song{
		padding-top: 40px;
		padding-bottom: 300px;
		background-image:url("../images/original_bg.webp");
		background-size: cover;
	}
	.top_original_song_box{
		width: 600px;
		box-shadow: 0px 0px 5px #A26725;
		outline: 2px dashed #813A24;
		outline-offset: -10px;
		padding: 30px 50px;
		display: block;
		margin: auto;
		margin-top: 30px;
	}
	.top_original_song_box h2{
		font-size: 20px;
	}
	.top_original_song_box h3{
		font-size: 24px;
	}
	.top_original_song_box p{
		font-size: 20px;
		margin-top: 5px;
	}
	.top_original_mv{
		width: 750px;
		height: 400px;
		display: block;
		margin: auto;
		border: 5px solid #A26725;
	}
/*---------------オリジナルソングここまで---------------*/
	
/*---------------プロフィール---------------*/
	.top_profile{
		margin-top: -170px;
		position: relative;
		z-index: 2;
	}
	.top_profile_bg_sp{
		display: none;
	}
	.top_profile_bg img{
		display: block;
		margin: auto;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 1280px;
	}
	.top_profile_title{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50px;
		left: 50%;
		transform: translateX(-50%);
	}
	.top_profile_title p{
		font-size: 40px;
	}
	.top_profile_title img{
		width: 60px;
		height: auto;
		margin: 0 10px;
	}
	.top_profile_message_content{
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(255,255,255,0.6);
		top: 160px;
		position: absolute;
		z-index: 1;
	}
	.top_profile_message_img img{
		width: 300px;
	}
	.top_profile_message{
		width: 400px;
		padding-left: 30px;
	}
	.top_profile_message p{
		font-size: 20px;
	}
	
	.top_profile_table{
		--gap: 28px;
		--border: rgba(255,255,255,0.4);
		width: 700px;
		margin: auto;
		display: grid;
		grid-template-columns: repeat(2, minmax(260px, 1fr));
		gap: var(--gap);
		padding: 0px 28px;
		padding-bottom: 50px;
	}

/* 各カラム（定義リスト） */
	.kv{
		display: grid;
		grid-template-columns: 1fr 2fr;
		row-gap: 0;
		margin: 0;
	}

	.kv dt,.kv dd{
		font-size: 16px;
		padding: 8px 0;
		padding-left: 10px;
		border-bottom: 1px solid var(--border);
	}
	
	.kv dt{
		border-right: 1px solid var(--border);
	}

/* 値側：折り返しなど */
	.kv dd{
		margin: 0;
		line-height: 1.7;
	}
	.top_profile_box{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 700px;
		margin: auto;
		margin-top: 10px;
		padding-bottom: 50px;
	}
	.top_profile_umekomi{
		width: 350px;
		height: 225px;
		border: 5px solid rgba(255,255,255,0.6);
	}
	.top_profile_box p{
		width: 240px;
		height: 150px;
		font-size: 18px;
		margin-left: 20px;
		padding: 20px 30px;
		outline: 2px dashed #712930;
		outline-offset: -10px;
		background: rgba(255,255,255,0.8);
	}
/*---------------プロフィールここまで---------------*/
	
/*---------------メンバーリンク---------------*/
	.menber_link{
		margin-top: 50px;
	}
	.menber_link_content{
		display: flex;
		justify-content:center;
		align-items:center;
	}
	.menber_link_content h2{
		font-size: 18px;
	}
	.menber_link_content a{
		display: block;
	}
	.menber_link_content img{
		width: 120px;
		margin-left: 20px;
	}
/*---------------メンバーリンクここまで---------------*/
	
/*---------------フッター---------------*/
	.ft_copy{
		margin-top: 50px;
	}
	.ft_copy p{
		text-align: center;
		font-size: 18px;
	}
	.ft_menu{
		margin-top: 50px;
		padding-top:50px;
		padding-bottom: 100px;
		background-color: #712930;
	}
	.ft_menu_title img{
		width: 300px;
		display: block;
		margin: auto;
	}
	.ft_menu_list{
		display: flex;
		justify-content:space-between;
		align-items: center;
		width: 650px;
		margin: auto;
		margin-top: 30px;
	}
	.ft_menu_list li a{
		font-size: 20px;
		transition: transform 0.4s ease;
	}
	.ft_menu_list li a:hover{
		color: #C8C8C8;
	}
/*---------------フッターここまで---------------*/

}