/* 基本設定とリセット */
body {
	margin: 0 auto;
	padding: 0;
	line-height: 1.5; /* 読みやすい行間 */
	color: #3c2a00;
	background-color: #fffbc7;
	overflow-x: hidden; /* 横方向のスクロールバーを非表示にする */
}

*, *::before, *::after {
    box-sizing: border-box; /* パディングやボーダーを幅に含める */
}

/* 画像と埋め込み要素の基本設定 */
img {
	max-width: 100%; /* 画像が親要素の幅を超えないようにする */
	height: auto;
	display: block;
}

header.hero-section {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

div.container {
	width: 100%;
	margin: 0 auto;
}

h1 {
	display:none;
}

/* --- セクション共通スタイル --- */
section.section {
	width: 100%;
	text-align: center;
	padding-left: 20px; 
	padding-right: 20px;
	margin: 100px auto;
}

hr {
	border: 1px solid #fdd23e;
	margin-top: 10px;
	margin-bottom: 10px;
}

h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 350%;
	font-weight: 600;
	text-align: center;
}

div.rows2-block {
	max-width: 980px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin: 20px auto;
}

div.rows2-text {
	width: 50%;
	text-align:left;
	padding: 0;
}

p.text-left-top {
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 400;
}

p.text-left-bottom {
	font-family: "Noto Serif JP", serif;
	font-size: 230%;
	font-weight: 600;
}

div.rows2-img {
	width: 50%;
}

img.mame_pc {
    display: block;
}

img.mame_sp {
	display: none;
}

h3 {
	max-width: 980px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 300%;
	font-weight: 600;
	text-align: center;
	border-bottom: 5px dotted #fdd23e;
	margin: 0 auto;
}

span.sp-break {
	display: none;
}

div.section-block {
	max-width: 980px;
	margin: 20px auto;
}

p.athlete-text {
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 400;
	text-align: center;
	margin: 50px auto;
}

img.mark-get {
	max-width: 910px;
	margin: 0 auto;
}


p.attention-center {
	font-size: 100%;
	text-align: center;
}

div.box-with-title {
	max-width: 820px;
	position: relative;
	background-color: #fff;
	padding: 10px;
	border-radius: 30px;
	margin: 80px auto 50px;
}

p.box-title {
	width: 360px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 400;
	position: absolute;
	display: inline-block;
	line-height: 1;
	background-color:#fdd23e;
	padding:10px;
	border-radius: 15px;
	top: -20%;
	right: 0;
	left: 0;
	margin: 10px auto;
}
p.box-text {
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 400;
	text-align: center;
	margin: 0; 
	padding-top: 30px;
}

div.circle {
	display: block;
	width: 100%;
	max-width: 980px;
	height: 400px;
	border-radius: 50% / 0 0 100% 100%;
	background: #fdd23e;
	padding-top: 30px;
	margin: 0 auto;
}

h4 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
}

p.text-center-zen {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 150%;
	font-weight: 400;
	margin-top: 10px;
}

div.circle img {
	width: 75%;
	margin-top: 30px;
}

div.rows3-beans {
	max-width: 980px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 100px auto 0;
}

div.rows3-beans img {
	width: 75%;
}

div.beans {
	text-align:right;
}

div.white-beans {
	width: 480px;
	height: 312px;
	background-image: url(/images/mamerizumu/mame_5-4.png);
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

div.beans-naka {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

p.beans-title {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
	border-bottom: 5px dotted #fdd23e;
}

p.beans-text {
	font-family: "Noto Serif JP", serif;
	font-size: 120%;
	font-weight: 400;
	margin-top: 18px;
}

div.rows2-beans {
	max-width: 980px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 30px auto 0;
}

h5 {
	max-width: 40%;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
	border-top: 5px dotted #fdd23e;
	border-bottom: 5px dotted #fdd23e;
	margin: 0 auto 20px;
}

p.materials-subtitle {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 400;
	margin: 0 auto;
}

span.underline {
	font-weight: 600;
	border-bottom: 10px solid #fdd23e;
	padding-left: 5px;
	padding-right: 5px;
}

div.rows2-materials {
	max-width: 980px;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	align-items: center;
	padding: 0;
	margin: 50px auto 0;
}

div.rows2-materials:last-child {
	margin-top: 0;
}

div.materials-image {
    width: 40%;
    height: auto;
}

div.materials-text {
	width: 55%;
	position: relative;
	background-color: #fff;
	padding: 10px;
	border-radius: 30px;
}

p.materials-box-title {
	width: 280px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 200%;
	font-weight: 400;
	position: absolute;
	display: inline-block;
	background-color:#fdd23e;
	padding: 0;
	border-radius: 15px;
	top: -15%;
	right: 0;
	left: 0;
	margin: 10px auto;
}
p.materials-box-text {
	font-family: "Noto Serif JP", serif;
	font-size: 150%;
	font-weight: 400;
	text-align: center;
	margin: 0; 
	padding: 50px 0 0;
}

div.family-block {
	max-width: 980px;
	height: 886px;
	background-image: url(/images/mamerizumu/mame_7.jpg);
	background-repeat: no-repeat;
	background-size: contain;
}

div.yellow-circle {
	display: block;
	width: 100%;
	max-width: 980px;
	height: 300px;
	border-radius: 50% / 0 0 100% 100%;
	background: #fdd23e;
	padding-top: 30px;
	margin: 0 auto;
}

h6 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
}

div.target-block {
	max-width: 980px;
	height: 926px;
	background-image: url(/images/mamerizumu/mame_8.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
}

div.target-top {
	width: 380px;
	position: absolute;
	display: inline-block;
	padding: 0;
	top: 50px;
	left: 10px;
}

div.target-bottom {
	width: 420px;
	position: absolute;
	display: inline-block;
	padding: 0;
	top: 600px;
	left: 450px;
}

p.target-title {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
	border-bottom: 5px dotted #fdd23e;
}

p.target-text {
	font-family: "Noto Serif JP", serif;
	font-size: 120%;
	font-weight: 400;
	text-align: left;
	margin-top: 18px;
}

p.text-center-zen-big {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 300%;
	font-weight: 600;
}

div.rows-text {
	max-width: 980px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	margin-top: 30px;
}

p.text-center-zen-middle {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 250%;
	font-weight: 600;
}

/* --- ボタン スタイル --- */
div.btn {
	display: block;
	width: 80%;
	max-width: 400px;
	margin: 30px auto 10px auto;
	padding: 18px 0;
	text-decoration: none;
	border-radius: 50px; /* 角丸を強調 */
	font-weight: 700;
	font-size: 200%;
	text-align: center;
	transition: all 0.3s ease;
	border: none;
	box-shadow: 0 4px 0 #E65100; /* 立体的なボタン */
}

/* --- フッター --- */
footer {
    font-size: 100%;
    text-align: center;
    background-color: #fdd23e;
    padding: 15px 0;
}
