
.list-disc {
	padding-left: 1em;
	list-style-type: disc;
}
.list-circle {
	padding-left: 1em;
	list-style-type: circle;
}
.list-lower-roman {
	padding-left: 1em;
	list-style-type: lower-roman;
}
.cb {
	clear: both;
}
.db {
	display: block;
}
a:focus, *:focus {
	outline:none;
}
a {
	color: #333;
}
p, ul {
	margin-bottom: 2em !important;
}
.dib {
	display: inline-block !important;
}
.tac {
	text-align: center !important;
}
.tal {
	text-align: left !important;
}
.tdu {
	text-decoration: underline !important;
}
.tdlt {
	text-decoration: line-through 0.1em !important;
}
/* margin */

.mb0{margin-bottom:0px!important}.mb0-2em{margin-bottom:0.2em}.mb0-5em{margin-bottom:0.5em}.mb1em{margin-bottom:1em}
/* margin end */
/* font */
.fwb{font-weight:bold!important}.fs0-5em{font-size:0.5em!important}.fs0-6em{font-size:0.6em!important}.fs0-7em{font-size:0.7em!important}.fs0-8em{font-size:0.8em!important}.fs0-9em{font-size:0.9em!important}.fs1-1em{font-size:1.1em!important}.fs1-2em{font-size:1.2em!important}.fs1-3em{font-size:1.3em!important}.fs1-4em{font-size:1.4em!important}.fs1-5em{font-size:1.5em!important}.fs1-8em{font-size:1.8em!important}.fs2em{font-size:2em!important}.lh1-1{line-height:1.1!important}.lh1-2{line-height:1.2!important}.lh1-3{line-height:1.3!important}.lh1-4{line-height:1.4!important}.lh1-5{line-height:1.5!important}
/* font end */

.list-decimal {
	margin-left: 1em;
	list-style-type: decimal;
}

h1.title {
	margin-bottom: 30px;
	padding-bottom: 10px;
	font-size: 1.5rem;
	border-bottom: 2px solid #1a2a40;
}






h2.assets-h2 {
	border-left: 5px solid #1a2a40;
	padding-left: 15px;
	margin-bottom: 30px;
	font-size: 1.2em;
	font-weight: bold;
}

.plans {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 0px;
	margin: 10px 0 0 0px;
}
.plan-card {
	position: relative;
	margin: -1px 0 0 -1px;
	padding: 30px 30px 90px;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 0px;
	background: #fff;
}
.plan-card h3 {
	font-size: 1.3em;
	font-weight: bold;
	line-height: 1.3;
}
.plan-price {
	margin: 15px 0;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.3;
	color: #c0392b;
}
.plan-separator {
	width: 60px;
	margin: 3em auto 1em;
	border-top: 4px dotted #aaa;
}
.plan-card-apply {
	position: absolute;
	bottom: 30px;
	left: calc(50% - 80px);
}

.fp-news, .news {
	max-width: 600px;
	margin: 30px auto 30px;
	padding: 30px 30px;
	border: 9px solid #eee;
	border-top: none;
	border-bottom: none;
}
.fp-news h2, .news h2 {
	all: initial;
	display: block;
	margin-bottom: 30px;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.6;
	color: #333;
}
.news-ul li {
	margin-bottom: 12px;
	line-height: 1.4;
}
.news-time {
	display: inline-block;
	width: 120px;
}
.news-title {
	font-weight: bold;
	color: #333;
	text-decoration: underline;
}
.news-content {
	margin-top: 9px;
	padding: 18px 0;
	border-top: 1px solid #000;
}
.news .news-title {
	text-decoration: none;
}


#tokushoho {
	background: #fff;
	border-radius: 8px;
	padding: 30px;
	font-size: 0.9rem;
}
.legal-table {
	width: 100%;
	border-collapse: collapse;
}
.legal-table th, .legal-table td {
	border-bottom: 1px solid #eee;
	padding: 12px;
	text-align: left;
}
.legal-table th {
	width: 30%;
	background: #f4f4f4;
}


/* main */
/* main end */



/* supporter-recruitment */
.toc {
	display: table;
	margin: 0 auto;
	padding: 30px 30px;
	line-height: 1.3;
}
.title-mokuji {
	display: inline-block;
	margin-bottom: 0.5em;
}
.toc ul {
	margin-left: 1em;
}
.toc ul li {
	margin: 0.4em 0;
}
.toc ul li a:hover {
	text-decoration: underline;
}
.daiseido {
	float: right;
	width: 100%;
	max-width: 360px;
	margin: 0 0 10px 10px;
}
.features li {
	margin-bottom: 1em;
}
.features strong {
	font-size: 1.2em;
}
section {
	margin-bottom: 60px;
}
section.supporter-recruitment h2 {
	font-size: 1.5em;
}
section.supporter-recruitment ul li {
	margin-bottom: 1em;
}
section.supporter-recruitment ul li span {
	font-size: 1.2em;
	font-weight: bold;
}
.supporter-cat-table-container {
	width: 100%;
	overflow-x: auto;
	margin: 20px 0;
}
.supporter-cat-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 600px;
}
.supporter-cat-table th, .supporter-cat-table td {
	width: 240px;
	min-width: 240px;
	border: 1px solid #ddd;
	padding: 8px 8px;
	text-align: left;
	vertical-align: middle;
}
.supporter-cat-table th {
	background-color: #f8f9fa;
	font-weight: bold;
}
.supporter-cat-table:first-child th {
	width: 120px;
	min-width: 120px;
}
.guideline {
	margin-top: -15px;
	padding: 2em;
	border: 9px solid #932e40;
}
/* end */
/* apply */
.f-s-bbox {
	margin-top: -30px;
	margin-bottom: 60px;
	text-align: center;
}
.f-s-bbox a {
	display: inline-block;
	padding: 12px 30px;
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	background-color: #E9546B;
}
.henro-table-container {
	width: 100%;
	overflow-x: auto;
	margin: 20px 0;
}
.henro-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 600px;
}
.henro-table th, .henro-table td {
	border: 1px solid #ddd;
	padding: 8px 8px;
	text-align: left;
	vertical-align: middle;
}
.henro-table th {
	background-color: #f8f9fa;
	font-weight: bold;
}
.henro-table tr:nth-child(even) {
	background-color: #f2f2f2;
}
.fully-booked {
	background-color: #EEC9D1 !important;
}
.manwaku {
	letter-spacing: 1em;
}
.cat-header {
	background-color: #fff;
	color: #333;
	padding: 18px !important;
	font-size: 1.2em;
}
/* apply end */
/* supporter-upload */
.supporter-upload-btn {
	display: block;
	margin: 15px 0;
	padding: 18px 9px;
	color: white;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	background-color: #0070ba;
	border-radius: 4px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.supporter-upload-btn:hover {
	background-color: #005a9e;;
}
/* supporter-upload end */
/* supporter-recruitment */
/* サポーター募集ページ専用スタイル */
.supporter-page {
    line-height: 1.8;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
}


.bg-light { background-color: #f8f9fa; }

.section-title {
    text-align: center;
    font-size: 2rem;
    color: #0070ba;
    margin-bottom: 60px;
    font-family: 'Zen Old Mincho', serif;
    position: relative;
    padding-bottom: 15px;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background: #d4af37;
}

/* ヒーローエリア */
.hero-section {
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('ここに背景画像URL') center/cover no-repeat;
    color: #fff;
    padding: 120px 0;
    text-align: center;
}

.hero-section h1 {
    font-size: 2.8rem;
    font-family: 'Zen Old Mincho', serif;
    margin: 20px 0 30px;
}

.label {
    background: #d4af37;
    color: #000;
    padding: 4px 12px;
    font-weight: bold;
    font-size: 0.9rem;
}

.lead-text {
    font-size: 1.3rem;
    margin-bottom: 40px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

/* ボタン類 */

.btn-primary {
    display: inline-block;
    background: #0070ba;
    color: #fff;
    padding: 18px 36px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
}

.center-btn { text-align: center; margin-top: 50px; }

/* スマホ対応 */
@media (max-width: 768px) {
    .hero-section h1 { font-size: 1.8rem; }
    .lead-text { font-size: 1.1rem; }
}
/* supporter-recruitment end */











@media (max-width: 600px) {

.daiseido {
	float: none;
	width: 100%;
	max-width: initial;
	margin: 10px 0 10px 0;
}







}
