*{
	box-sizing:border-box
}
body{
	-webkit-touch-callout: none;
	-webkit-user-select: text; /* コピーはできるように */
	-webkit-text-size-adjust: none;
	margin:0;
	font-family:system-ui,-apple-system,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;
	background:#f6f7fb;
	color:#111
}


a[href^="tel"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: inherit;
}

/* iOS Safari の自動リンク防止 */
meta[name="format-detection"] {
	content: "telephone=no";
}

input,
textarea,
select {
	font-size: 16px !important; /* iOSズーム防止 */
}

.container{
	max-width:740px;
	margin:0 auto;
	padding:0 16px
}
.header{
	position:sticky;
	top:0;
	background:#fff;
	border-bottom:1px solid #eee;
	padding: 10px 0px !important;
}

.header .logo{
	font-size:18px;
	max-width: 200px;
	margin: 0 auto;
	text-align: center;
}
.header .back{
	text-decoration:none;
	color:#333;
	margin-right:8px
}

.custom-header {
	position:sticky;
	top:0;
	background:#fff;
	border-bottom:1px solid #eee;
	padding: 5px 0px !important;
}

.custom-header-container {
	max-width:740px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 3px;
}

.custom-logo img {
	height: 40px;
	width: auto;
	display: block;
}

.custom-search-form {
	flex: 1;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 24px;
	margin: 0px 10px;
	padding: 6px 10px;
}

.custom-search-form input {
	flex: 1;
	border: none;
	outline: none;
	padding: 8px;
	font-size: 16px;
}

.custom-search-form button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	padding: 0px 12px;
	color: #333;
}

.custom-search-form button:hover {
	color: #000;
}

@media (max-width: 600px) {
	.custom-header-container {
		flex-direction: column;
		align-items: center;
	}
	.custom-logo {
		text-align: center;
		width: 100%;
		padding: 0px;
		margin: 10px 0px;
	}

	.custom-logo img {
		margin: 0 auto; /* 画像を中央に配置 */
		padding: 0px !important;
		display: block;
	}
	.custom-search-form {
		flex: 1;
		display: flex;
		align-items: center;
		background: #fff;
		border: 1px solid #ccc;
		border-radius: 24px;
		padding: 0px 10px;
	}
}


.return {
	padding-top: 15px !important;
}
.phon {
	padding: 10px 0px;
	font-size: 20px;
	font-weight: bold;
}
.phon small {
	font-size: 70% !important;
}
.card{
	background:#fff;
	border:1px solid #eee;
	border-radius:16px;
	padding:16px;
	margin:16px 0
}
.card h3 {
	font-size: 16px;
}

.label{
	display:block;
	margin-bottom:8px;
	color:#666
}
.searchbar{
	display:flex;
	gap:8px
}

.searchbar input{
	flex:1;
	height:48px;
	border:1px solid #ddd;
	border-radius:12px;
	padding:0 12px;
	font-size:16px
}

.searchbar button{
	height:48px;
	padding:0 16px;
	border:none;
	border-radius:12px;
	background:#4f46e5;
	color:#fff;
	font-weight:700
}

.meta{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px
}
.meta .k{
	display:inline-block;
	min-width:90px;
	color:#666;
	font-size:12px
}
.meta .v{
	font-weight:700
}

.posts{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px
}
.posts li{
	background:#fafafa;
	border:1px solid #eee;
	border-radius:12px;
	padding:12px
}

.posts .tag{
	display:inline-block;
	font-size:12px;
	padding:2px 8px;
	border-radius:999px;
	background:#eef2ff;
	color:#3730a3;
	margin-right:8px
}

.posts .meta2{
	color:#666;
	font-size:12px;
	display:flex;
	gap:12px;
	margin-top:6px;
	flex-wrap:wrap
}

.field{
	margin-bottom:12px
}
.field input,.field textarea,.field select{
	width:100%;
	border:1px solid #ddd;
	border-radius:10px;
	padding:10px 12px;
	font-size:14px
}

.honeypot{
	display:none
}
.hint{
	font-size:12px;
	color:#666
}
.footer{
	color:#666;
	font-size:12px;
	text-align:center;
	padding:24px 0 40px
}

.link_list {
	list-style: none;
	padding: 0px 0px 15px;
	margin: 0;
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, 1fr); /* PC時は3列 */
}

.link_list li {
	background: #fff; /* 任意 */
}

.link_list a {
	text-decoration: none;
	color: #0f172a;
}

/* スマホ時（幅600px以下）は2列に */
@media (max-width: 600px) {
	.link_list {
		grid-template-columns: repeat(2, 1fr);
		font-size: 12px;
	}
}


.list {
	list-style: none;
	padding: 0px 0px 15px;
	margin: 0;
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, 1fr); /* PC時は3列 */
}

.list li {
	background: #fff; /* 任意 */
}

.list a {
	text-decoration: none;
	color: #0f172a;
}

/* スマホ時（幅600px以下）は2列に */
@media (max-width: 600px) {
	.list {
		grid-template-columns: repeat(2, 1fr);
		font-size: 12px;
	}
}
.fine{
	font-size:12px;
	color:#666;
	margin-top:6px
}

.row{
	display:flex;
	gap:8px;
	margin-top:8px
}
.error{
	color:#dc2626
}
button.danger{
	background:#ef4444;
	color:#fff;
	border:none;
	border-radius:10px;
	padding:8px 12px
}

.share{
	margin-top:15px;
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	text-align: center;
}
.btn{
	display:inline-block;
	padding:10px 14px;
	border-radius:999px;
	text-decoration:none;
	font-weight:700;
	border:1px solid #ddd
}

.btn.x{
	background:#000;
	color:#fff
}
.btn.copy{
	background:#fff;
	color:#111
}

.footer-common {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 25px 10px 10px;
    background-color: #fff;
    margin-top: 30px;
}



.footer-common__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1.5em;
    list-style-type: none;
    margin: 0 0 .5em;
    padding: .5em;
    font-size: .8em;
}
@media (max-width: 600px) {
  .footer-common__list {
    display: grid;
    grid-template-columns: repeat(2, auto); /* 2列 */
    justify-content: center;
    gap: 0.5em 1.5em; /* 縦横の余白 */
  }
}

.footer-common__link {
    color: #444;
    text-decoration: none;
}

.footer-common__copyright {
    margin: 0;
    color: #555;
    font-size: .8em;
}