﻿@charset "utf-8";

:root {
	--white: #ffffff;
	--black: #787878;
	--gray: #eeeeee;
	--theme-pink: #993365;
	--pink: #D61166;
	--pink-rgb: 214, 17, 102;
	/* font-size */
	--fs-main: 16px;
	--fs-h1: 2.25rem;
	--fs-h2: 1.6875rem;
	--fs-h3: 1.6875rem;
	--ff-mincho: "Noto Serif JP", serif;
	--ff-gothic: "Noto Sans JP", sans-serif;
	/* section */
	--pd-section: 70px;
	--md-block: 40px;

	--brand: #FAE5EE;
	/* メインピンク */
	--brand-dark: #993365;
	--bg: #ffffff;
	--text: #222;
	--text-invert: #fff;
	--muted: #666;
	--radius-xl: 16px;
	--radius-lg: 14px;
}

@media (width <=767.98px) {
	:root {
		--pd-section: 70px;
		--md-block: 40px;
	}
}

html {
	font-size: 100%;
}

body {
	color: var(--black);
	font-family: var(--ff-mincho);
	font-size: var(--fs-main);
	font-weight: 400;
	font-style: normal;
	background-color: var(--white);
}

img {
	max-width: 100%;
}

p {
	line-height: 2;
}

#PageBody {
	width: 100%;
}

#container {
	width: 800px;
	background-color: #FFF;
	overflow: hidden;
}

/* 共通 */
.content-inner {
	width: min(90%, 1100px);
	margin-inline: auto;
}

.content-inner-narrow {
	width: min(90%, 900px);
	margin-inline: auto;
}

.section-title {
	font-size: var(--fs-h2);
}

.section-title.-top {
	color: var(--pink);
	text-align: center;
	font-weight: 400;
}

.-small {
	font-size: .9em;
}

.-large {
	font-size: 1.3em !important;
}

.-vlarge {
	font-size: 1.8em !important;
	font-weight: bold
}

@media (width <= 767.98px) {
	.-vlarge {
	font-size: 1.3em !important;
	font-weight: bold
}
}

/* header */
/*========= ナビゲーションのためのCSS ===============*/


#top-head {
	width: 100%;
	height: 90px;
	background-color: var(--theme-pink);
	display: flex;
	position: fixed;
	flex-direction: column;
	align-items: center;
	z-index: 998;
	transition: .2s;
	top: 0;
	left: 0;
}

@media (width <=767.98px) {
	#top-head {
		height: 70px;
	}
}

#top-head .inner {
	width: 95%;
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#g-nav ul {
	display: flex;
	list-style-type: none;
	align-items: center;
}

#g-nav li a {
	padding: 0 clamp(10px, 1vw, 20px);
	color: var(--white);
	text-decoration: none;
}

.openbtn {
	display: none;
}

.header-logo {
	padding: 5px 0;

	img {
		height: 40px;
	}
}


@media screen and (max-width:768px) {
	#top-head .inner {
		width: 100%;
	}

	.header-logo {
		position: absolute;
		top: 50%;
		left: 10px;
		transform: translateY(-50%);
		width: 80%;

		img {
			height: auto;
			width: auto;
		}
	}

	#g-nav {
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position: fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top: 70px;
		right: -120%;
		width: 100%;
		height: calc(100svh - 70px);
		/*ナビの高さ*/
		background: var(--white);
		/*動き*/
		transition: all 0.6s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive {
		right: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list {
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100svh;
		/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav ul {
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: block;
		width: 90%;
	}

	/*リストのレイアウト設定*/

	#g-nav li {
		list-style: none;
		text-align: left;
		margin: 1rem 0;
	}

	#g-nav li a {
		background-color: var(--pink);
		color: var(--white);
		text-decoration: none;
		padding: 1rem;
		display: block;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-weight: bold;
		border: var(--pink) solid 1px;
		border-radius: 3px;
	}

	/*========= ボタンのためのCSS ===============*/
	.openbtn {
		position: fixed;
		z-index: 9999;
		/*ボタンを最前面に*/
		top: 10px;
		right: 10px;
		cursor: pointer;
		width: 50px;
		height: 50px;
		display: inline-block;
	}

	/*×に変化*/
	.openbtn span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background-color: var(--white);
		width: 50%;
	}

	.openbtn span:nth-of-type(1) {
		top: 15px;
	}

	.openbtn span:nth-of-type(2) {
		top: 23px;
	}

	.openbtn span:nth-of-type(3) {
		top: 31px;
	}

	.openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 45%;
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3) {
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 45%;
	}

}

/* top */
.top-read {
	padding: var(--pd-section) 0;
}

.top-read-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 4rem;
}

.top-read-img {
	width: 20%;
}

.top-read-text {
	width: 80%;
}

@media (width <=767.98px) {
	.top-read-container {
		flex-direction: column;
	}

	.top-read-img {
		width: 50%;
	}

	.top-read-text {
		width: 100%;
	}
}

/* top-about */
.top-about {
	padding: var(--pd-section) 0;
	background-color: rgba(var(--pink-rgb), 0.08);
}

.top-about-container {
	background-color: var(--white);
	padding: 4rem;
	border-radius: 25px;
	box-shadow: rgba(0, 0, 0, 0.1) 0 3px 6px;
	margin-top: 1.6875rem;
	position: relative;
}

.top-about-container:first-of-type {
	margin-bottom: 7rem;
}

.top-about-container::before {
	background: url(img/heart-himo.png) no-repeat;
	background-size: contain;
	display: block;
	content: "";
	width: 30%;
	height: auto;
	aspect-ratio: 2.4 / 1;
	position: absolute;
	top: 2%;
	left: -5%;
	transform: translate(0%, -50%);
}

@media (width <=767.98px) {
	.top-about-container {
		padding: 1.25rem;
	}

	.top-about-container:first-of-type {
		margin-bottom: 4rem;
	}

	.top-about-container::before {
		width: 47%;
		top: 3%;
		left: -5%;
	}
}

.top-about-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.625em;
	flex-direction: row-reverse;
}

@media (width <=767.98px) {
	.top-about-inner {
		flex-direction: column;
		gap: 1em;
	}
}

.top-about-img {
	width: 40%;
}

.top-about-text {
	width: 45%;
}

@media (width <=767.98px) {

	.top-about-img,
	.top-about-text {
		width: 100%;
	}
}



.readmore-btn {
	font-family: var(--ff-mincho);
	color: var(--pink);
	text-align: center;
	display: block;
	position: relative;
	margin: 1rem auto;
}

.readmore-btn::before {
	display: block;
	position: absolute;
	top: 50%;
	left: -2rem;
	transform: translate(0%, -50%);

	background: url(img/readmore-icon.png) no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
	width: 1.6rem;
	height: auto;
	aspect-ratio: 1;
	transition: transform 0.3s ease;
}

.readmore-btn.rotated::before {
	transform: translateY(-50%) rotate(180deg);
}


.ryokinhyo-btn {
	font-family: var(--ff-mincho);
	color: var(--text);
	text-align: right;
	display: block;
	position: relative;
	margin: 1rem 0 1rem auto;
	text-decoration: underline;
}



.footer {
	background-color: var(--white);
	margin-top: 50px;
}

.footer-nav {
	width: min(1300px, 95%);
	padding: 1.5rem;
	margin: 0 auto;

	ul {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 2rem 5rem;
	}

	li {
		list-style-type: none;
	}

	a {
		text-align: center;
		color: var(--black);
		text-decoration: none;
		display: inline-block;
	}
}

.footer-copy {
	background-color: var(--gray);
	padding: 2rem 0;

	img {
		display: block;
		width: min(500px, 90%);
		margin: 0 auto;
	}
}


#header {
	width: 100%;
	background-color: #fff;
}

#header h1 {
	margin-bottom: 25px;
}

.GoToHome input {
	display: block;
	margin-left: auto;
	margin-right: auto;
	height: 0px;
	overflow: hidden;
	background-image: url(img/tojiru.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	padding-top: 29px;
	width: 150px;
	border: 0px;
}

.GoToHome {
	text-align: center;
}


/* 初期設定/end */

/* class<start> */

.first-child {
	border-right-width: 1px;
	border-left-width: 1px;
	border-right-style: double;
	border-left-style: solid;
	border-right-color: #FFF;
	border-left-color: #FFF;
}

.img {
	float: left;
}

.clear {
	clear: both;
}



/* class<end> */


/* Top_index<start> */
.mv {
	padding-top: 90px;
	width: 100%;
	height: 90vh;
	position: relative;
	overflow: hidden;
}

.mv_copy {
	position: absolute;
	top: 50%;
	left: 15%;
	translate: 0 / -50%;
	z-index: 100;
	color: var(--white);
	font-size: 2.0625rem;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
	font-weight: 600;
}

@media (width <=767.98px) {
	.mv {
		padding-top: 70px;
	}

	.mv_copy {
		position: absolute;
		top: 67%;
		left: 10%;
		translate: 0 / -50%;
		z-index: 100;
		color: var(--white);
		font-size: 2.0625rem;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
		font-weight: 600;
	}
}

.mv-slider__item01 {
	display: block;
	width: 100%;
	height: 90vh;
	background: url(img/mv_01_11zon.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

.mv-slider__item02 {
	display: block;
	width: 100%;
	height: 90vh;
	background: url(img/mv_02_11zon.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

.mv-slider__item03 {
	display: block;
	width: 100%;
	height: 90vh;
	background: url(img/mv_03_11zon.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

@media (width <=767.98px) {

	.mv,
	.mv-slider__item01,
	.mv-slider__item02,
	.mv-slider__item03 {
		height: 70vh;
	}
}

#top #PageBody #Contents #MainContents h3 {

	margin-bottom: 10px;
}

/* #top #login a {
	background-image: url(img/icon.png);
	background-repeat: no-repeat;
	background-position: left center;
}

#top #login a:hover {
	background-image: url(img/icon_o.png);
	color: #f1bbff;
} */

#top #main {
	clear: both;
	margin-bottom: 25px;
	width: 800px;
	position: relative;
}

#top #Contents {
	background-color: #FFF;
	overflow: hidden;
}

#top #Contents #MainContents ul li {
	border: 1px solid #936;
	padding: 0px;
	width: 257px;
	float: left;
	margin-top: -1px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: -1px;
	line-height: 10px;
}

#top #Contents #MainContents {
	overflow: hidden;
	margin-bottom: 25px;
}

#top #Contents #MainContents ul li p {
	position: absolute;
	left: 20px;
	bottom: 5px;
}

#top #Contents #MainContents ul {
	margin-right: auto;
	margin-left: auto;
	width: 777px;
	margin-bottom: 20px;
}

#top #MainContents ul li p a:link {
	color: #666;
}

#top #MainContents ul li p a:visited {
	color: #00F;
}

#top #Contents #SubContents {
	clear: both;
	width: 666px;
	margin-bottom: 35px;
	overflow: hidden;
	padding-left: 109px;
}

#top #Contents #SubContents li {
	background-image: url(img/top_bana_bg.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	height: 32px;
	border: 1px solid #999;
	width: 220px;
	float: left;
	font-size: 17px;
	text-align: center;
	padding-top: 10px;
	font-weight: 700;
}

#top #SubContents a {
	color: #666;
}

/* Top_index<end> */

/* 下層ページ */
.fv {
	background: url(img/fv-bg.png) no-repeat;
	background-position: top center;
	background-size: cover;
	width: 100%;
	padding-top: 250px;
	min-height: 400px;
}

.fv-title {
	font-weight: 700;
	font-size: 36px;
	text-align: center;
}

.fv-read {
	margin-top: 80px;
	font-size: 18px;
	margin-bottom: 30px;
}

@media (width <=767.98px) {
	.fv-title {
		font-weight: 700;
		font-size: 23px;
		text-align: center;
	}

	.fv-read {
		margin-top: 40px;
		font-size: 17px;
		margin-bottom: 20px;
	}
}

.herb-text {
	color: var(--pink);
	text-align: center;
	margin-top: 30px;
	width: max-content;
	max-width: 83%;
	margin-inline: auto;
	position: relative;
	font-size: 18px;

	&::before {
		content: "";
		background: url(img/herb-left.png) no-repeat;
		width: 20px;
		background-size: contain;
		aspect-ratio: 1 /2.2;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: -9%;
	}

	&::after {
		content: "";
		background: url(img/herb-right.png) no-repeat;
		width: 30px;
		background-size: contain;
		aspect-ratio: 1 /1.4;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -9%;
	}
}

@media (width <=767.98px) {
	font-size: 16px;
}

/* button */
.round-button {
	background-color: var(--pink);
	color: var(--white);
	border-radius: 50px;
	display: grid;
	place-items: center;
	text-decoration: none;
	width: min(90%, 480px);
	text-align: center;
	padding: 10px 0;
	margin-inline: auto;
	margin-block: 50px;
	min-height: 50px;

	&.-reset {
		background-color: var(--black);
		margin: -40px auto 0 auto;
	}
}

.round-button:hover {
	opacity: .7;
}

@media (width <=767.98px) {
	.round-button {
		margin-block: 30px;

		&.-reset {
			margin: -30px auto 0 auto;
		}
	}
}

/* 特長 bafeature */
/* .bafeature-mandara {} */
.mandara-flow {
	width: min(600px, 100%);
	margin-inline: auto;
}

.mandara-flow li {
	list-style-type: none;
	margin-top: 60px;
}

.mandara-flow p {
	font-size: 18px;
	margin: 10px 0;
}

.mandara-flow img {
	width: 100%;
}

@media (width <=767.98px) {

	.mandara-flow li {
		list-style-type: none;
		margin-top: 40px;
	}

	.mandara-flow p {
		font-size: 17px;
	}
}

/* サービスの流れsupport */
.support-flow {
	padding: var(--pd-section) 0;
}

.support-flow-heading {
	text-align: center;
	font-size: 24px;
	margin-block: 2em;
}

.support-flow-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 4rem;
	box-sizing: border-box;
	width: 100%;
	padding: 20px 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 2px solid #F8B9BE;
	position: relative;
}

.support-flow-container:not(:last-child)::after,
.support-flow-container:not(:last-child)::before {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.support-flow-container:not(:last-child)::before {
	border-width: 23px;
	border-top-color: #F8B9BE;
}

.support-flow-container:not(:last-child)::after {
	border-width: 20px;
	border-top-color: #fff;
}

.support-flow-img {
	width: 33%;
}

.support-flow-text {
	width: 66%;
}

@media (width <=767.98px) {
	.support-flow-heading {
		text-align: center;
		font-size: 19px;
		margin: 2em auto 1em;
	}

	.support-flow-container {
		flex-direction: column;
	}

	.support-flow-container:not(:last-child)::before {
		border-width: 15px;
		border-top-color: #F8B9BE;
	}

	.support-flow-container:not(:last-child)::after {
		border-width: 12px;
		border-top-color: #fff;
	}

	.support-flow-img {
		width: 100%;
	}

	.support-flow-text {
		width: 100%;
	}
}

/* profilesample */
.profilesample-secondary {
	/* padding: var(--pd-section) 0; */
}

.profilesample-img {
	margin-block: 4em;
}

/* chargeprice */
.chargeprice {
	padding: var(--pd-section) 0;
}

.course-container {
	max-width: 900px;
	margin: 3em auto;
	border: 1px solid #dee2e6;
	padding: 40px 30px;
	position: relative;
	overflow: hidden;
}

/* 左上の三角形装飾 */
.course-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--pink), #c44569);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

.course-section {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
}

.course-title {
	flex: 0 0 auto;
	width: 25%;

	img {
		max-width: 100%;
	}
}

.course-icon {
	width: 120px;
	height: 120px;
	background: linear-gradient(135deg, #ffeef8, #f8d7da);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 15px;
	box-shadow: 0 4px 15px rgba(255, 107, 157, 0.2);
}

.course-icon h2 {
	font-size: 48px;
	color: #495057;
	font-weight: bold;
	margin-bottom: 5px;
}

.course-name {
	font-size: 32px;
	color: #495057;
	font-weight: bold;
	margin-bottom: 10px;
}

.course-subtitle {
	color: var(--pink);
	font-size: 16px;
	font-weight: bold;
	position: relative;
}

.course-subtitle::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--pink);
}

.pricing-grid {
	flex: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 25px;
	min-width: 300px;
}

.price-item {
	text-align: center;
	padding: 20px 0px;
}

.price-label {
	font-size: 16px;
	color: #6c757d;
	margin-bottom: 8px;
	font-weight: 500;
}

.price-amount {
	font-size: 28px;
	color: #495057;
	font-weight: bold;
}

.course-image {
	flex: 0 0 220px;
	height: 200px;
	overflow: hidden;
}

.course-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {

	.course-title {
		flex: 0 0 auto;
		width: 50%;

		img {
			max-width: 100%;
		}
	}

	.course-container {
		padding: 30px 20px;
		margin: 10px;
	}

	.course-section {
		flex-direction: column;
		gap: 30px;
		text-align: center;
	}

	.pricing-grid {
		min-width: 100%;
		gap: 20px;
		background-color: #f7f7f7;
		order: 3;
	}

	.price-item {
		padding: 15px 10px;
	}

	.price-amount {
		font-size: 24px;
	}

	.course-image {
		flex: none;
		width: 100%;
		height: 280px;
	}
}

@media (max-width: 480px) {
	.course-container {
		padding: 20px 15px;
	}

	.pricing-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.course-icon {
		width: 80px;
		height: 80px;
	}

	.course-icon h2 {
		font-size: 28px;
	}

	.course-name {
		font-size: 24px;
	}

	.price-amount {
		font-size: 20px;
	}
}

/* インフォメーション */
.flowercham {
	position: relative;
}

.flowercham::before {
	display: block;
	content: "";
	background: url(img/champagne.png) no-repeat;
	background-size: contain;
	max-width: 100px;
	width: 50%;
	aspect-ratio: 1.14 / 1;
	position: absolute;
	top: -50px;
	left: -20%;
}

.flowercham::after {
	display: block;
	content: "";
	background: url(img/flower.png) no-repeat;
	background-size: contain;
	max-width: 80px;
	width: 50%;
	aspect-ratio: 1 / 1.7;
	position: absolute;
	bottom: -80px;
	right: -15%;
}

.inquiry-text {
	text-align: left;
}

/* ===== 基本レイアウト ===== */
.inquiry-main .content-inner-narrow {
	max-width: 880px;
	width: min(92%, 880px);
	margin: 0 auto;
}

/* テーブルのデフォルト調整（PC） */
.inquiry-main table {
	width: 100%;
	border-collapse: collapse;
}

.inquiry-main td {
	padding: 12px 14px;
	vertical-align: top;
	/* border: 1px solid #ddd; */
	background: #fff;
}

/* 入力系共通 */
.inquiry-main input[type="text"],
.inquiry-main input[type="email"],
.inquiry-main select,
.inquiry-main textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font-size: 16px;
	line-height: 1.6;
	border: 1px solid #ccc;
	/* border-radius: 8px; */
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
	background: #fff;
}

.inquiry-main textarea {
	min-height: 180px;
	resize: vertical;
}

/* フォーカス時の視認性 */
.inquiry-main input:focus,
.inquiry-main select:focus,
.inquiry-main textarea:focus {
	border-color: #7aa7ff;
	box-shadow: 0 0 0 3px rgba(122, 167, 255, .2);
}

/* ボタン */
/* .round-button {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 999px;
	border: none;
	background: #222;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	line-height: 1;
	transition: opacity .2s ease, transform .05s ease;
}

.round-button:hover {
	opacity: .9;
}

.round-button:active {
	transform: translateY(1px);
}

.round-button.-reset {
	background: #eee;
	color: var(--black);
} */

/* 送信ボタン行のセンター寄せ */
.inquiry-main center {
	display: block;
}

.inquiry-main center .round-button {
	margin: 6px 8px;
}

/* ===== スマホ（～767px）で縦並びにする ===== */
@media (max-width: 767px) {

	/* テーブルを“ブロック化”して、ラベル→入力の順に縦積み */
	.inquiry-main table,
	.inquiry-main tbody,
	.inquiry-main tr,
	.inquiry-main td {
		display: block;
		width: 100%;
		border: 0;
		/* 枠線を消す */
	}

	/* 各行をカード風にまとめる */
	.inquiry-main tr {
		background: #fff;
		/* border: 1px solid #e8e8e8;
    border-radius: 12px; */
		padding: 12px;
		margin-bottom: 14px;
		box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
	}

	/* 1列目（ラベル） */
	.inquiry-main tr>td:first-child {
		padding: 0 0 8px 0;
		font-weight: 600;
		color: var(--black);
		background: transparent;
	}

	/* 2列目（入力） */
	.inquiry-main tr>td:last-child {
		padding: 0;
		background: transparent;
	}

	/* 文章の段落 */
	.inquiry-main p.fv-read,
	.inquiry-main p[align="left"] {
		font-size: 14px;
		line-height: 1.9;
	}

	/* ボタンは下で横並び→可変幅 */
	.round-button {
		width:60%;
		text-align: center;
	}

	.round-button.-reset {
		width: 48%;
	}

	/* 余白調整 */
	.inquiry-main .content-inner-narrow {
		width: min(94%, 880px);
	}
}

/* ===== タブレット（768～1024px）微調整 ===== */
@media (min-width: 768px) and (max-width: 1024px) {
	.inquiry-main td {
		padding: 12px;
	}

	.inquiry-main input[type="text"],
	.inquiry-main input[type="email"],
	.inquiry-main select,
	.inquiry-main textarea {
		font-size: 15px;
	}
}

/* ===== アクセシビリティ（キーボード操作の可視化） ===== */
.inquiry-main input[type="text"]:focus-visible,
.inquiry-main input[type="email"]:focus-visible,
.inquiry-main select:focus-visible,
.inquiry-main textarea:focus-visible,
.inquiry-main .round-button:focus-visible {
	outline: 2px solid #7aa7ff;
	outline-offset: 2px;
}

/* ===== お好みで：フォームの上下マージン ===== */
.inquiry-main form {
	margin-top: 10px;
	margin-bottom: 28px;
}


/* p1_summary<start> */

#summary #Contents {
	background-color: #FFF;
	width: 800px;
	padding-bottom: 80px;
}

#summary #header {
	background-color: #FFF;
}

#summary #contents table {
	margin-right: auto;
	margin-left: auto;
	background-color: #FFF;
	margin-bottom: 60px;
	border-collapse: collapse;

}

#summary #contents table th {
	border: solid 2px #666;
	height: 35px;
	width: 90px;
	padding: 10px;
}

#summary #contents table td {
	border: solid 2px #666;
	padding: 15px;
}

#summary .GoToHome {
	padding-bottom: 80px;
}

/* 婚活積立のご案内・会員登録お申込み */
.kta-primary {
	img {
		margin: 4em auto;
		display: block;
		width: min(640px, 95%);
	}
}

=========================*/ .p-benefits__title {
	font-size: clamp(22px, 2.6vw, 32px);
	font-weight: 900;
	margin: 0 0 20px;
	letter-spacing: .02em;
}

/* =========================
   Component: Benefit card
========================= */
.c-benefit {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	/* 左右比 */
	gap: 0;
	margin: 28px 0 36px;
	/* overflow:hidden; */
	background: linear-gradient(90deg, var(--brand) 0%, var(--brand) 55%, transparent 55%);
	box-shadow: 0 6px 24px rgba(0, 0, 0, .06);
}

/* 画像が無い .c-benefit をテキスト専用レイアウトに */
.c-benefit:not(:has(.c-benefit__media)) {
	grid-template-columns: 1fr;
	/* 1カラム */
	background: #FAE5EE;
	/* ライトピンク面 */
	box-shadow: 0 6px 24px rgba(0, 0, 0, .06);
}

/* テキスト色を通常色に戻し、縦に積む */
.c-benefit:not(:has(.c-benefit__media)) .c-benefit__content {
	color: var(--black);
	padding: 32px clamp(22px, 7vw, 100px) 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* 見出し + 罫線 */
.c-benefit:not(:has(.c-benefit__media)) .c-benefit__heading {
	color: var(--black);
	font-weight: 800;
	border-bottom: 1px solid #B38A99;
	/* 薄いグレー寄りのピンク */
	padding-bottom: 14px;
	margin: 0 0 6px;
}

/* 説明テキストはブランド色で強調 */
.c-benefit:not(:has(.c-benefit__media)) .c-benefit__lead {
	color: var(--pink);
	/* 既存のブランドピンク */
	font-weight: 700;
	margin: 0;
}

/* 注記を右下のピンクバッジに */
.c-benefit:not(:has(.c-benefit__media)) .c-benefit__balloon {
	align-self: flex-end;
	background: var(--pink);
	color: var(--white);
	font-size: 15px;
	line-height: 1.6;
	padding: 1.5em 14px;
	margin-top: -6.3em;
	position: relative;
}

.c-benefit:not(:has(.c-benefit__media)) .c-benefit__balloon::before {
	display: block;
	content: "";
	width: 1.3em;
	aspect-ratio: 1;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	background-color: var(--pink);
	position: absolute;
	top: 50%;
	left: -1.25em;
	transform: translateY(-50%);
}

@media (width <=950px) {
	.c-benefit:not(:has(.c-benefit__media)) .c-benefit__balloon {
		align-self: flex-end;
		background: var(--pink);
		color: var(--white);
		font-size: 14px;
		line-height: 1.6;
		padding: 10px 16px;
		margin-top: 1.5em;
	}

	.c-benefit:not(:has(.c-benefit__media)) .c-benefit__balloon::before {
		display: block;
		content: "";
		width: 1.3em;
		aspect-ratio: 1;
		clip-path: polygon(50% 0, 0 100%, 100% 100%);
		background-color: var(--pink);
		position: absolute;
		top: -1.2em;
		left: 3em;
		transform: translateY(0%);
	}
}

/* スマホ微調整 */
@media (max-width: 768px) {
	.c-benefit:not(:has(.c-benefit__media)) .c-benefit__content {
		padding: 65px 14px 20px;
		gap: 10px;
	}

	.c-benefit:not(:has(.c-benefit__media)) .c-benefit__note {
		font-size: 13px;
		padding: 8px 12px;
	}
}


/* 左カラム（説明） */
.c-benefit__content {
	padding: 32px clamp(22px, 7vw, 100px) 28px;
	color: var(--black);
	z-index: 1;
}

.c-benefit__heading {
	margin: 0 0 14px;
	font-size: clamp(18px, 2.1vw, 28px);
	font-weight: 800;
	letter-spacing: .02em;
	border-bottom: solid 1px var(--black);
	padding-bottom: .625 em;
}

.c-benefit__lead {
	margin: 0 0 10px;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: bold;
}

.c-benefit__lead.-primary {
	font-size: 1.5em;
	text-indent: -2em;
	padding-left: 1em;
	line-height: 3;
}
.-ryokinhyo {
	overflow-x: scroll;
	padding: 10px 0;
}
.ryokinhyo01 {
	width: 100%;
	height: 100px;
	width: 2300px;
	}
.ryokinhyo02 {
	width: 100%;
	height: 100px;
	width: 661px;
	}

@media (width <=767.98px) {
	.c-benefit__lead.-primary {
		font-size: 1em;
		text-indent: -2em;
		padding-left: 2em;
		line-height: 2;
	}
}

.c-benefit__bullets {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}

.c-benefit__bullets p {
	/* margin: 0 0 6px;
	font-size: clamp(13px, 1.5vw, 15px); */
	color: var(--pink);
	text-wrap: nowrap;
	font-weight: bold;
}

.c-benefit__bullets table {
	border-collapse: collapse;
}

.c-benefit__bullets th {
	background-color: var(--pink);
	color: var(--white);
	border: solid 2px var(--pink);
	text-wrap: nowrap;
	padding: 5px;
}
.c-benefit__bullets td {
	background-color: transparent;
	color: var(--text);
	border: solid 2px var(--pink);
	padding: 5px;
}

.c-benefit__bullets td span {
	display: inline-block;
}

@media (width <= 767.98px) {
	.c-benefit__bullets {
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.c-benefit__bullets p {
font-size: 1.2em;
}

}

.c-benefit__note {
	margin-top: 8px;
	font-size: 12px;
	color: var(--black);
}

/* 右カラム（写真） */
.c-benefit__media {
	position: relative;
	margin: 0;
	line-height: 0;
	background: #eee;
}

.c-benefit__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 写真側の左端にグラデを足して、デザインの“にじみ”を再現 */
.c-benefit__media::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: min(26%, 160px);
	background: linear-gradient(90deg,
			rgba(250, 229, 238, 0.85) 0%,
			rgba(250, 229, 238, 0) 100%);

	pointer-events: none;
	display: block;
}

@media (width <= 767.98px) {
	.c-benefit__media::before {
display: none;
}
}

/* 丸ラベル */
.c-benefit__label {
	position: absolute;
	left: -15px;
	top: -15px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: var(--pink);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	outline: 1px solid var(--white);
	outline-offset: -3px;
	transform: rotate(-10deg);
}

.c-benefit__label-text {
	color: var(--white);
	text-align: center;
	font-size: 24px;
	letter-spacing: .08em;
	line-height: 1.1;
}

.c-benefit__label-text br {
	content: "";
}

/* =========================
   Utilities
========================= */
.u-hide\@pc {
	display: none;
}
.u-hide\@sp {
	display: initial;
}

/* =========================
   Responsive
========================= */
@media (max-width: 960px) {
	.c-benefit {
		grid-template-columns: 1fr 0.95fr;
	}

	.c-benefit__label {
		width: 80px;
		height: 80px;
		top: -12px;
	}

	.c-benefit__label-text {
		font-size: 20px;
	}
}

@media (max-width: 768px) {
	.u-hide\@pc {
		display: initial;
	}
	.u-hide\@sp {
		display: none;
	}

	.c-benefit {
		grid-template-columns: 1fr;
		background: var(--brand);
	}

	.c-benefit__media {
		order: -1;
		/* 画像を上に */
		height: 46vw;
		/* 横幅に応じて可変の高さ */
		min-height: 200px;
		/* とりあえずの下限 */
	}

	.c-benefit__media::before {
		width: 40%;
	}

	.c-benefit__content {
		padding: 20px 16px 24px;
	}

	.c-benefit__label {
		left: -10px;
		top: -10px;
	}
}

@media (max-width: 480px) {
	.c-benefit__media {
		height: 52vw;
		min-height: 180px;
	}

	.c-benefit__label {
		width: 65px;
		height: 65px;
	}

	.c-benefit__label-text {
		font-size: 15px;
	}
}

    /* 日本地図型リンクマップのスタイル */
    .counselor-map-section {
      padding: 40px 0;
    }
    
    .map-intro {
      text-align: center;
      margin-bottom: 40px;
    }
    
    .map-intro p {
      font-size: 16px;
      line-height: 1.6;
      color: #666;
      margin-bottom: 30px;
    }
    
    .japan-map {
      display: grid;
      grid-template-columns: repeat(14, 1fr);
      grid-template-rows: repeat(12, 50px);
      gap: 3px;
      margin: 40px auto;
      max-width: 1100px;
    }
    
    .prefecture {
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      text-decoration: none;
      font-size: 13px;
      font-weight: bold;
      border-radius: 4px;
      /* transition: all 0.3s ease; */
      text-align: center;
      padding: 4px;
      position: relative;
    }
    
    .prefecture:hover {
			opacity: .7;
      /* transform: scale(1.1);
      box-shadow: 0 6px 12px rgba(0,0,0,0.3); */
      z-index: 10;
    }
    
    /* 色分け - 画像に合わせて調整 */
    .hokkaido { background-color: #399D26; }
    .tohoku { background-color: #0099DB; }
    .kanto { background-color: #009389; }
    .chubu-north { background-color: #8CB808; }
    .chubu-center { background-color: #8CB808; }
    .chubu-south { background-color: #8CB808; }
    .chubu { background-color: #8CB808; }
    .kinki { background-color: #FBA518; }
    .chugoku { background-color: #E33C0B; }
    .shikoku { background-color: #EB8EA8; }
    .kyushu { background-color: #D96929; }
    
    /* 各都道府県の詳細配置 */
    .hokkaido-pref { grid-column: 12/15; grid-row: 1/3; }
    
    /* 東北 - 画像通りの配置 */
    .aomori { grid-column: 12/14; grid-row: 3/4; }
    .akita { grid-column: 12/12; grid-row: 4/5; }
    .iwate { grid-column: 13/13; grid-row: 4/5; }
    .yamagata { grid-column: 12/12; grid-row: 5/6; }
    .miyagi { grid-column: 13/13; grid-row: 5/6; }
    .fukushima { grid-column: 12/14; grid-row: 6/7; }
    
    /* 関東 - 福島の下に縦に配置 */
    .gunma { grid-column: 12/12; grid-row: 7/8; }
    .tochigi { grid-column: 13/13; grid-row: 7/8; }
    .saitama { grid-column: 12/12; grid-row: 8/9; }
    .ibaraki { grid-column: 13/13; grid-row: 8/9; }
    .tokyo { grid-column: 12/12; grid-row: 9/10; }
    .chiba { grid-column: 13/13; grid-row: 9/10; }
    .kanagawa { grid-column: 12/12; grid-row: 10/11; }
    
    /* 中部・北陸 - 福島と関東の左側に配置 */
    .ishikawa { grid-column: 9/9; grid-row: 6/6; }
    .toyama { grid-column: 10/10; grid-row: 6/6; }
    .niigata { grid-column: 11/11; grid-row: 6/6; }
    .fukui { grid-column: 9/9; grid-row: 7/7; }
    .gifu { grid-column: 10/10; grid-row: 7/9; }
    .nagano { grid-column: 11/11; grid-row: 7/9; }
    .aichi { grid-column: 10/11; grid-row: 9/9; }
    .yamanashi { grid-column: 11/12; grid-row: 9/9; }
    .shizuoka { grid-column: 11/12; grid-row: 10/10; }
    
    /* 近畿 - 中部地方の左側に配置 */
    .hyogo { grid-column: 7/8; grid-row: 8/9; }
    .kyoto { grid-column: 8/9; grid-row: 8/9; }
    .shiga { grid-column: 9/10; grid-row: 8/9; }
    .osaka { grid-column: 7/8; grid-row: 9/9; }
    .nara { grid-column: 8/9; grid-row: 9/9; }
    .mie { grid-column: 9/10; grid-row: 9/9; }
    .wakayama { grid-column: 7/9; grid-row: 10/10; }
    
    /* 中国 - 近畿地方の左側に配置 */
    .yamaguchi { grid-column: 4/4; grid-row: 8/10; }
    .shimane { grid-column: 5/5; grid-row: 8/8; }
    .tottori { grid-column: 6/6; grid-row: 8/8; }
    .hiroshima { grid-column:5/5; grid-row: 9/9; }
    .okayama { grid-column: 6/6; grid-row: 9/9; }
    
    /* 四国 */
    .tokushima { grid-column: 6/6; grid-row: 11/11; }
    .kagawa { grid-column: 6/6; grid-row: 10/10; }
    .kochi { grid-column: 5/5; grid-row: 11/11; }
    .ehime { grid-column: 5/5; grid-row: 10/10; }
    
    /* 九州・沖縄 - 中国地方の左側に配置 */
    .saga { grid-column: 1/1; grid-row: 8/8; }
    .fukuoka { grid-column: 2/2; grid-row: 8/8; }
    .oita { grid-column: 3/3; grid-row: 8/8; }
    .nagasaki { grid-column: 1/1; grid-row: 9/9; }
    .kumamoto { grid-column: 2/2; grid-row: 9/9; }
    .miyazaki { grid-column: 3/3; grid-row: 9/11; }
    .kagoshima { grid-column: 1/3; grid-row: 10/11; }
    .okinawa { grid-column: 1/2; grid-row: 12/12; }
    
    .legend {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 15px;
      margin-top: 40px;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto;
    }
    
    .legend-item {
      display: flex;
      align-items: center;
      gap: 10px;
      background: white;
      padding: 15px;
      border-radius: 8px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    .color-box {
      width: 24px;
      height: 24px;
      border-radius: 4px;
      flex-shrink: 0;
    }
    
    .legend-item span {
      font-weight: 600;
      color: #333;
    }
    
    /* タブレット表示 */
    @media (max-width: 1024px) {
      .japan-map {
        max-width: 700px;
        grid-template-rows: repeat(12, 45px);
      }
      
      .prefecture {
        font-size: 12px;
      }
    }
    
    /* 小さなタブレット・大きなスマートフォン */
    @media (max-width: 768px) {
      .japan-map {
        grid-template-columns: repeat(10, 1fr);
        grid-template-rows: repeat(13, 42px);
        gap: 2px;
        max-width: 600px;
      }
      
      .prefecture {
        font-size: 11px;
        padding: 3px;
      }
      
      .legend {
        grid-template-columns: repeat(2, 1fr);
      }
      
      .map-intro p {
        font-size: 14px;
      }
    }
    
    /* スマートフォン - 地図表示を維持 */
    @media (max-width: 640px) {
      .japan-map {
        grid-template-columns: repeat(8, 1fr);
        grid-template-rows: repeat(15, 45px);
        gap: 3px;
        max-width: 100%;
        padding: 0 10px;
      }
      
      .prefecture {
        font-size: 11px;
        padding: 4px 2px;
        border-radius: 8px;
        line-height: 1.2;
      }
    }
    
    /* 小さなスマートフォン - リスト表示に変更 */
    @media (max-width: 480px) {
      .japan-map {
        display: block;
        max-width: 100%;
        padding: 0;
      }
      
      .prefecture {
        display: block;
        width: 100%;
        padding: 15px 20px;
        margin: 8px 0;
        font-size: 16px;
        text-align: left;
        border-radius: 12px;
        position: relative;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      }
      
      .prefecture:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      }
      
      .prefecture::after {
        content: ">";
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 18px;
        font-weight: bold;
      }
      
      .legend {
        grid-template-columns: 1fr;
        margin-top: 30px;
      }
      
      .legend-item {
        padding: 12px 15px;
        font-size: 16px;
      }
      
      .color-box {
        width: 20px;
        height: 20px;
      }
      
      /* 地方別セクション分け */
      .region-section {
        margin: 30px 0;
      }
      
      .region-title {
        font-size: 18px;
        font-weight: bold;
        color: #333;
        margin-bottom: 15px;
        padding: 10px 0;
        border-bottom: 3px solid #ddd;
      }
      
      .region-title.hokkaido-region { border-bottom-color: #4CAF50; }
      .region-title.tohoku-region { border-bottom-color: #2196F3; }
      .region-title.kanto-region { border-bottom-color: #FF9800; }
      .region-title.chubu-region { border-bottom-color: #FFC107; }
      .region-title.kinki-region { border-bottom-color: #9C27B0; }
      .region-title.chugoku-region { border-bottom-color: #795548; }
      .region-title.shikoku-region { border-bottom-color: #607D8B; }
      .region-title.kyushu-region { border-bottom-color: #F44336; }
    }
    
    /* 非常に小さなスマートフォン */
    @media (max-width: 360px) {
      .prefecture {
        padding: 12px 15px;
        font-size: 15px;
      }
      
      .map-intro p {
        font-size: 14px;
        padding: 0 10px;
      }
    }

		/* カウンセラー紹介個別 */
		    /* カウンセラー紹介カード専用スタイル */
    .counselor-cards-section {
      padding: 60px 0;
    }

    .counselor-card {
      background: white;
      /* border-radius: 20px; */
      padding: 40px;
      margin-bottom: 40px;
      /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); */
      display: flex;
      align-items: center;
      gap: 40px;
      position: relative;
      overflow: hidden;
    }

    .counselor-card::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      /* background: radial-gradient(circle at 120px 50%, rgba(255, 182, 193, 0.15) 0%, rgba(255, 182, 193, 0.05) 40%, transparent 70%); */
      pointer-events: none;
    }

    .counselor-image {
      position: relative;
      flex-shrink: 0;
			      width: 180px;
      height: 180px;
    }

    .counselor-photo {
      width: 140px;
      height: auto;
      /* border-radius: 50%; */
      /* object-fit: cover; */
      position: absolute;
      z-index: 2;
			      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .counselor-photo-bg {
      position: absolute;
      width: 180px;
      height: 180px;
      background: radial-gradient(circle, rgba(255, 182, 193, 0.3) 0%, rgba(255, 182, 193, 0.1) 70%);
      border-radius: 50%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
    }

    .counselor-info {
      flex: 1;
      position: relative;
      z-index: 2;
    }

    .prefecture-name {
      font-size: 32px;
      font-weight: bold;
      color: #e91e63;
      margin-bottom: 20px;
      letter-spacing: 0.05em;
    }

    .counselor-description {
      font-size: 16px;
      color: #555;
      line-height: 1.8;
      margin-bottom: 25px;
    }

    .counselor-title {
      font-size: 14px;
      color: #888;
      text-align: right;
      font-weight: 500;
    }

    .card-border {
      position: relative;
    }

    .card-border::after {
      content: '';
      position: absolute;
      bottom: -20px;
      left: 40px;
      right: 40px;
      height: 2px;
      background: repeating-linear-gradient(
        to right,
        #ddd 0px,
        #ddd 8px,
        transparent 8px,
        transparent 16px
      );
    }

    .card-border:last-child::after {
      display: none;
    }

    .section-intro {
      text-align: center;
      margin-bottom: 50px;
    }

    .section-intro p {
      font-size: 16px;
      line-height: 1.8;
      color: #666;
      max-width: 600px;
      margin: 0 auto;
    }

    @media (max-width: 768px) {
      .counselor-card {
        flex-direction: column;
        text-align: center;
        padding: 30px 20px;
        gap: 25px;
      }

      .counselor-photo {
        width: 120px;
        height: auto;
      }

      .counselor-photo-bg {
        width: 160px;
        height: 160px;
      }

      .prefecture-name {
        font-size: 28px;
        margin-bottom: 15px;
      }

      .counselor-description {
        font-size: 15px;
        margin-bottom: 20px;
      }

      .counselor-title {
        text-align: center;
      }
    }

    @media (max-width: 480px) {
      .counselor-cards-section {
        padding: 40px 0;
      }

      .counselor-card {
        padding: 25px 15px;
      }

      .prefecture-name {
        font-size: 24px;
      }

      .counselor-description {
        font-size: 14px;
      }
    }

  /* 婚活応援店専用スタイル */
    .shop-list-section {
      padding: 60px 0;
    }

    .prefecture-title {
      text-align: center;
      font-size: 32px;
      font-weight: bold;
      color: #e91e63;
      margin: 30px 0 50px 0;
      padding: 20px;
      background: linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%);
      border-radius: 12px;
      letter-spacing: 0.05em;
    }

    .industry-header {
      font-size: 24px;
      font-weight: bold;
      color: #333;
      margin: 40px 0 25px 0;
      padding: 15px 25px;
      border-left: 6px solid var(--pink);
      position: relative;
    }

    .industry-header::after {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 25px;
      right: 25px;
      height: 2px;
  
    }

    .shop-card {
      margin: 25px 0;
      overflow: hidden;
      transition: all 0.3s ease;
    }

    .shop-header {
      background: #e91e63;
      color: white;
      padding: 15px 20px;
      font-size: 18px;
      font-weight: bold;
      border-bottom: 3px solid #c2185b;
    }

		.shop-top {
			display: flex;
			align-items: baseline;
			justify-content: flex-start;
			gap: 0 1em;
		}

		@media (width <= 767.98px) {
			.shop-top {
				flex-direction:column;
				gap: 0;
			}
		}

    .shop-content {
      display: flex;
      padding: 0;
      gap: 0;
      align-items: center;
    }

    .shop-image {
      flex-shrink: 0;
      width: 350px;
      position: relative;
    }

    .shop-image img {
      width: 100% !important;
      height: 300px !important;
      object-fit: cover;
      display: block;
    }

    .shop-details {
      flex: 1;
      padding: 20px 25px;
      line-height: 1.8;
      font-size: 15px;
      background: white;
    }

    .shop-category {
      color: #666;
      font-size: 14px;
      margin-bottom: 8px;
      font-weight: normal;
    }

    .shop-name {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px;
      line-height: 1.3;
    }

    .shop-info {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .shop-info-row {
      display: flex;
      align-items: flex-start;
      gap: 15px;
    }

    .detail-label {
      color: #333;
      font-weight: normal;
      min-width: 80px;
      flex-shrink: 0;
      font-size: 14px;
    }

    .detail-value {
      color: #333;
      font-size: 14px;
      line-height: 1.5;
    }

    .detail-value a {
      color: #2196f3;
      text-decoration: none;
    }

    .detail-value a:hover {
      text-decoration: underline;
    }

    .shop-description {
      color: #e91e63;
      margin-bottom: 15px;
      line-height: 1.6;
      font-size: 16px;
      font-weight: bold;
    }

    .shop-pr {
      margin-top: 20px;
      padding: 15px;
      background: #f5f5f5;
      border-radius: 8px;
      font-size: 13px;
      line-height: 1.6;
      color: #666;
    }

		.shop-pr iframe {
			width: 100%;
			height: 100%;
		}

    .pagination {
      text-align: center;
      margin: 50px 0;
      padding: 30px;
      background: white;
      border-radius: 12px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    }

    .pagination a {
      display: inline-block;
      padding: 10px 20px;
      margin: 0 8px;
      background: linear-gradient(135deg, #e91e63 0%, #c2185b 100%);
      color: white;
      text-decoration: none;
      border-radius: 25px;
      font-weight: bold;
      transition: all 0.3s ease;
      box-shadow: 0 2px 8px rgba(233, 30, 99, 0.3);
    }

    .pagination a:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(233, 30, 99, 0.4);
    }

    .current-page {
      display: inline-block;
      padding: 10px 20px;
      margin: 0 8px;
      background: #666;
      color: white;
      border-radius: 25px;
      font-weight: bold;
    }

    .navigation-section {
      text-align: center;
      margin: 40px 0;
      padding: 30px;
      background: white;
      border-radius: 12px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    }

    .nav-button {
      display: inline-block;
      padding: 15px 35px;
      margin: 15px;
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
      text-decoration: none;
      border-radius: 30px;
      font-weight: bold;
      font-size: 16px;
      transition: all 0.3s ease;
      box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
    }

    .nav-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
    }

    /* レスポンシブ対応 */
    @media (max-width: 768px) {
      .shop-content {
        flex-direction: column;
      }
      
      .shop-image {
        width: 100%;
        text-align: center;
      }
      
      .shop-image img {
        max-width: none;
      }

			
    .shop-details {
      padding: 15px 5px;
    }

      
      .shop-pr {
        width: 100%;
        margin-top: 20px;
      }
      
      .prefecture-title {
        font-size: 24px;
        margin: 20px 0 30px 0;
        padding: 15px;
      }
      
      .industry-header {
        font-size: 20px;
        margin: 30px 0 20px 0;
        padding: 12px 20px;
      }

      .shop-info {
        grid-template-columns: 1fr;
        gap: 5px;
      }

      .detail-label {
        margin-bottom: 5px;
      }
    }

    @media (max-width: 480px) {
      .shop-list-section {
        padding: 40px 0;
      }
      
      .shop-name {
        font-size: 18px;
        padding: 15px 0px;
      }
      
      .shop-content {
        padding: 20px;
      }
      
      .pagination a, .current-page {
        padding: 8px 16px;
        margin: 0 4px;
        font-size: 14px;
      }

      .nav-button {
        padding: 12px 25px;
        font-size: 14px;
      }
    }

/* 公認ブライダルカウンセラー資格取得 */
.qualification-read {
	display: flex;
	justify-content: center;
	align-items: center;
	gap:2em 0;
	position: relative;
}

.qualification-read img {
	width: min(400px , 100%);
}

.qualification-read-detail {
	h3 {
		font-size: 36px;
		color: var(--pink);
	}
	p {
		font-size: 24px;
	}
	ul {
		margin-top: 20px;
	}
	li {
		list-style-type: disc;
		margin-left: 1.5em;
			margin-block:10px ;
	}
}

.qualification-read::after {
	display: block;
	position: absolute;
	top: -6%;
	right: 0;
	content: "";
	background: url(img/qualification_apperl.png) no-repeat;
	background-size: contain;
	width: 230px;
	height: auto;
	aspect-ratio: 2.48 / 1;
}
@media (width <= 767.98px) {
	.qualification-read {
	flex-direction: column;
}
	.qualification-read-detail {
	h3 {
		font-size: 22px;
		color: var(--pink);
	}
	p {
		font-size: 18px;
	}
	ul {
		margin-top: 15px;
	}
	li {
		list-style-type: disc;
		margin-left: 1.5em;
	}
}

.qualification-read::after {
	display: block;
	position: absolute;
	top: -5%;
	right: -3%;
	rotate:5deg;
	content: "";
	background: url(img/qualification_apperl.png) no-repeat;
	background-size: contain;
	width: 230px;
	height: auto;
	aspect-ratio: 2.48 / 1;
}
}

.qualification-secondary {
	width: min(800px ,100%);
	margin-inline: auto;
li {
	margin-block:10px ;
			margin-left: 1.5em;
}
}

.qualification-tertiary {
	width: min(800px ,100%);
	margin-inline: auto;
	margin-top: 3em;
	h2 {
		color: var(--pink);
		text-align: center;
		margin-block: 1em;
	}
}

.qualification-kit {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 1em;
}

.qualification-kit-price {
	width:min(300px ,100%) ;
}

.qualification-img-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.qualification-kit-img {
	max-width: 100%;
	p {
		text-align: center;
		font-size: .68em;
	}
}

@media (width <= 767.98px) {
	.qualification-kit {
flex-direction: column;
margin-top: 1em;
}
.qualification-img-container {
	align-items: start;
}
}


/* p1_summary<end> */

/* p2_identity<start> */

#identity #contents {
	width: 600px;
	margin-right: auto;
	margin-left: auto;
}

#identity #contents .under {
	margin-bottom: 230px;
}

#identity #contents dl {
	line-height: 1.5em;
	text-indent: -10px;
	padding-left: 10px;
}

#identity .GoToHome {
	padding-bottom: 35px;
}

/* p2_identity<end>*/


/* p3_sitemap<start> */
#sitemap #contents #leftContents {
	float: left;
	width: 250px;
	padding-left: 50px;
}

#sitemap #contents #rightContents {
	float: left;
	width: 450px;
	margin-bottom: 50px;
}

#sitemap #contents li {
	line-height: 4em;
	;
	clear: both;
}

#sitemap #contents #leftContents li {
	margin-bottom: 20px;
}

#sitemap #contents li dl {
	line-height: 2em;
}

#sitemap #contents li dl li {
	line-height: 3em;
	float: left;
	clear: none;
	margin-left: 15px;
}

#sitemap #contents #rightContents li dl dd dl dt {
	clear: both;
	padding-left: 30px;
}

#sitemap #contents #rightContents li dl dd h4 {
	padding-left: 15px;
}

#sitemap #contents #rightContents li dl dd dl dd ul {
	padding-left: 30px;
}

#sitemap {
	font-size: 10px;
}

#sitemap .GoToHome {
	margin-bottom: 60px;
}

/* p3_sitemap<end> */


/* p4_contact<start> */
#contact #contents {
	width: 700px;
	margin-right: auto;
	margin-left: auto;
}

#contact #contents th {
	text-align: left;
}

#contact #contents table {
	margin-bottom: 360px;
}

#contact .GoToHome {
	margin-bottom: 60px;
}

/* p4_contact<end> */


/* p5_login<start> */
#login #contents {
	width: 450px;
	margin-left: auto;
	margin-right: auto;

}

#login #contents table {
	width: 410px;
	text-align: center;
	border: 1px solid #CCC;
	color: #000;
	margin-bottom: 5px;
	border-collapse: collapse;
	border: 0px;

}

#login #contents table th {
	height: 40px;
	background-color: #666;

}

#login #contents table input {
	font-size: large;
	width: 270px;
	height: 40px;
	text-align: right;
}

#login #contents p {
	text-align: center;
	margin-bottom: 30px;
}

#login #contents form {
	margin-bottom: 130px;
}

#login #contents #close input {
	border: 2px solid #000;
	font-size: 10px;
	width: 100px;

}

#login #contents #close {
	text-align: center;
}

#login #contents #pass a {
	font-size: 20px;
	color: #39c;
}

/* p5_login<end> */


/* p6_profile<start> */

#profile #contents p {
	margin-bottom: 15px;
}

#profile #contents {
	width: 555px;
	margin-right: auto;
	margin-left: auto;
}

#profile .GoToHome {
	margin-bottom: 20px;
}

/* p6_profile<end> */

/* p7_event<start> */

#event #contents p {
	text-align: center;
}

#event #contents p {
	margin-bottom: 60px;
}

#event #contents #read {
	margin-bottom: 90px;
}

#event .GoToHome {
	margin-bottom: 20px;
}

/* p7_event<end> */


/* p8_materoal<start> */

#material #contents {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
}

#material #contents td {
	padding-bottom: 10px;
}

#material #contents table {
	margin-bottom: 115px;
}

#material #contents p {
	font-size: 10px;
	margin-bottom: 10px;
}

#material .GoToHome {
	margin-bottom: 20px;
}

/* p8_materrial<end> */

/* p9_contact<start> */

/* p9_contact<end> */

/* p10_massage<start> */

#message #contents {
	width: 695px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 250px;
}

#message #contents p img {
	padding-right: 20px;
	padding-bottom: 20px;
}

#message #contents p {
	line-height: 1.5em;
}

#message .GoToHome {
	margin-bottom: 20px;
}

/* p10_massage<start> */



/* p11_proposal<start> */
#proposal #contents {
	width: 695px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 250px;
}

#proposal #contents img {
	float: left;
	padding-right: 30px;
	padding-bottom: 30px;
}

#proposal .GoToHome {
	margin-bottom: 20px;
}

/* p11_proposal<end> */


/* p12_sapport<start> */

#support #contents {
	margin-left: 30px;
	padding-left: 20px;
	width: 720px;
	overflow: hidden;
	margin-bottom: 20px;
}

#support #contents ul #No1 p img {
	float: left;
}

#support #PageBody #container #contents ul #No2 {
	clear: both;
}

#support #contents #No3 {
	overflow: hidden;
}

#support #contents #No3 p img {
	float: right;
	padding-left: 20px;
}

#support #contents #No35 {
	clear: both;
}

#support #contents #No35 p {
	width: 240px;
	float: right;
}

#support #contents #No6 p img {
	float: left;
}

#support .GoToHome {
	clear: both;
}

#support #contents ul li p {
	line-height: 1.5em;
}

#support #contents h3 {
	font-size: 18px;
	font-weight: normal;
	color: #063;
}

#support #contents #No1 {
	overflow: hidden;
}

#support #contents #No1 p {
	padding: 20px;
}

#support #contents #No1 p img {
	padding-right: 20px;
}

#support #contents li {
	margin-bottom: 20px;
}

#support #contents p {
	padding: 20px;
}

#support #contents #No4 p {
	padding-top: 10px;
}

#support #contents #No5 p {
	padding-top: 10px;
}


#support #contents #No6 p {
	padding-top: 10px;
	width: 360px;
	height: 130px;
}

#support #contents #No6 p img {
	padding-right: 20px;

}

#support .GoToHome {
	margin-bottom: 20px;
}

/* p12_support<end> */


/* p13_charge<start> */

#charge #contents {
	width: 730px;
	padding-left: 50px;
	padding-right: 20px;
}


#charge #contents #rightContents {
	float: right;
	width: 305px;
	padding-top: 125px;
}

#charge #contents #leftContents {
	width: 405px;
	float: left;
	margin-bottom: 90px;
}

#charge #contents table {
	text-align: center;
	width: 675px;
}

#charge #contents table th,
#charge #contents table td {
	padding-left: 10px;
	border: 1px solid #a03775;
	color: #603813;
}

#charge #contents table #No1 th {
	height: 40px;
	width: 200px;

}

#charge #contents table #No2 th {
	text-align: left;
	height: 60px;
}

#charge #contents table #No3 th {
	text-align: left;
	height: 60px;
}

#charge #contents table #No4 th {
	text-align: left;
	height: 60px;
}

#charge #contents table #No1 td {
	width: 115px;
}

#charge #contents table #No1 {
	background-color: #eddfe3;
}

#charge #contents table #No2 {
	background-color: #fffeee;
}

#charge #contents table #No3 {
	background-color: #fdf0f6;
}

#charge #contents table #No4 {
	background-color: #ede3ff;
}

#charge #contents table th {
	vertical-align: middle;
}

#charge #contents table {
	border-collapse: collapse;
	margin-bottom: 60px;
}

#charge #contents .last-child {
	margin-bottom: 20px;
}

#charge #contents #leftContents li dl dd {
	margin-left: 1em;
}

#charge #contents #leftContents li dl dd {
	line-height: 1.5em;
}

#charge #contents #leftContents li dl {
	margin-bottom: 1em;
}

#charge #contents table th dl dd {
	margin-left: 1em;
	font-size: 10px;
}

#charge #contents table th dl {
	line-height: 1em;
}

#charge .GoToHome {
	clear: both;
	margin-bottom: 70px;
}

/* p13_charge<end> */


/* p14_introduction<start> */


#introduction #contents {
	width: 640px;
	margin-right: auto;
	margin-left: auto;
}

#introduction #contents dl {
	line-height: 2em;
	margin-bottom: 130px;
}

#introduction #contents dl dt {
	clear: both;
	padding-left: 30px;
	font-size: 16px;
	color: #006837;
}

#introduction #contents dl dd ul li {
	line-height: 3em;
	float: left;
	clear: none;
	margin-left: 15px;
	margin-bottom: 20px;
}

#introduction #contents dl dd ul {
	padding-left: 30px;
}

#introduction .GoToHome {
	clear: both;
	margin-bottom: 70px;
}

#introduction #contents p {
	margin-bottom: 80px;
}


#introduction #contents dl dd {
	margin-bottom: 3em;
}

/* p14_intriduction<end> */

/* p15_qualification<start> */

#qualification {
	font-size: 15px;
}

#qualification #contents {
	width: 700px;
	margin-right: auto;
	margin-left: auto;
}

#qualification #contents #point li {
	float: left;
	margin-bottom: 20px;
}

#qualification #contents #point li #No1 {
	margin-left: 20px;

}

#qualification #contents #point li #No2 {
	margin-left: 50px;

}

#qualification #contents #point li #No3 {
	margin-left: 50px;
	margin-right: 10px;

}

#qualification #contents li {
	margin-bottom: 2em;
}


#qualification #contents #pointRead {
	color: #630;
	clear: both;
	margin-bottom: 2em;
}

#qualification #contents #leftContents {
	margin-top: 50px;
}

#qualification #contents #leftContents .read {
	padding-top: 74px;
	float: left;
	padding-left: 10px;
	width: 85px;
	text-indent: -10px;
}

#qualification #contents ul #leftContents p img {
	padding-top: 74px;
	float: left;
	padding-left: 10px;
}


#qualification #contents #rightContents {
	float: left;
	width: 340px;
	margin-bottom: 20px;
}

#qualification #contents .contactBtn {
	margin-bottom: 15px;
	text-align: center;
	clear: both;
}

#qualification .GoToHome {
	margin-bottom: 30px;
}

/* p15_qualification<end> */

/* p16_member(index.html)<start> */

#member #contents {
	padding-top: 70px;
	width: 630px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
}

#member #contents dl dt {
	margin-bottom: 40px;
}

#member #contents dl dd ul li {
	margin-bottom: 40px;
}

#member #contents dl dd {
	margin-bottom: 15px;
}

#member #contents dl {
	margin-bottom: 160px;
}

#member #contents p {
	text-align: center;
	margin-bottom: 40px;
}

#member #contents a:link {
	color: #666;
}

#member #contents a:visited {
	color: #00f;
}


#member .GoToHome {
	margin-bottom: 70px;
}

/* p16_member(index.html)<end> */

/* p16-1_service<start> */


#service #contents {
	width: 600px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
}

#service .GoToHome {
	margin-bottom: 20px;
}

/* p16-1_service<end> */

/* p16-2_goods<start> */

#goods #contents p {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;

}

#goods #contents {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
}

#goods #contents table tr th {
	text-align: left;
	height: 157px;
	width: 110px;

}

#goods #contents table tr td {
	width: 258px;
}

#goods #contents table {
	border-collapse: separate;
	border-spacing: 5px;
	border-bottom: solid 1px #666;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
}

#goods #PageBody #container #contents table tr td input {
	margin-left: 50px;
}

#goods #PageBody #container #contents table tr .space {
	height: 75px;
}

#goods #contents table tr th img {
	vertical-align: bottom;
}

#goods .GoToHome {
	margin-bottom: 20px;
}

/* p16-2_goods<end> */

/* p16-3_schedule<start> */

#schedule #contents {
	width: 700px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 100px;
}

#schedule .GoToHome {
	margin-bottom: 20px;
}

/* p16-3_schedule<end> */


/* p16-4_request<start> */

#request {
	font-size: 12px;
}

#request #contents {
	width: 700px;
	margin-right: auto;
	margin-left: auto;

}

#request #contents form table {
	width: 100%;
	vertical-align: middle;
	border-collapse: collapse;

}

#request #contents form table th {
	width: 150px;
	height: 30px;
	border: solid 2px #999;
	background-color: #cfc;
}

#request #contents form table td {
	border: solid 2px #999;

}

#request #contents form table tr th span {
	color: #F00;
	margin-left: 1em;
}

#request #contents form table tr td input[name~="startyear"] {
	width: 60px;
}

#request #contents form table tr td input[name~="startmonth"] {
	width: 60px;
}

#request #contents form table tr td input[name~="startday"] {
	width: 60px;
}

#request #contents form table tr td input[name~="hour"] {
	width: 50px;
}

#request #contents form table tr td input[name~="minutes"] {
	width: 60px;
}

#request #contents form table tr td input[name~="city"] {
	width: 150px;
}

#request #contents form table tr td input[name~="place"] {
	width: 300px;
}

#request #contents form table tr td input[name~="speaker"] {
	width: 150px;
}

#request #contents form table tr td input[name~="person"] {
	width: 150px;
}

#request #contents form table tr td input[name~="tel"] {
	width: 150px;
}

#request #contents form table tr td input[name~="money"] {
	width: 150px;
}

#request #contents form table tr td input[name~="endyear"] {
	width: 60px;
}

#request #contents form table tr td input[name~="endmonth"] {
	width: 60px;
}

#request #contents form table tr td input[name~="endday"] {
	width: 60px;
}

#request #contents form table tr td input {
	text-align: right;
}

#request #contents form table {
	margin-bottom: 40px;
}

#request #contents form p {
	text-align: center;
	margin-bottom: 45px;
}

#request #contents form p input {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	background-color: #FFF;
	font-size: 9px;
	width: 100px;
	margin: 5px;
}

#request .GoToHome {
	margin-bottom: 75px;
}

/* p16-4_request<end> */

/* p16-5_news<start> */
#news #contents {
	margin-bottom: 20px;
}

#news #contents p {
	text-align: center;
	margin-bottom: 60px;
}

#news .GoToHome {
	margin-bottom: 40px;
}

/* p16-5_news<end> */

#top #PageBody #header #bar {
	overflow: hidden;
}


#counselor #contents {
	width: 750px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 30px;
}

#counselor .GoToHome {
	margin-bottom: 20px;
}

#counselor .guide {
	margin-top: 30px;
	margin-bottom: 50px;
	text-align: center;
}


/*メンバー紹介表*/
#member1 {
	border: 1px solid #5256af;
	width: 120px;
	height: 130px;
	padding: 5px;
	border-right: none;
}

#member3 {
	border: 1px solid #5256af;
	width: 300px;
	height: 130px;
	padding: 5px;
}

#member2 {
	border: none;
	width: 50px;
	height: 130px;
}

#member4 {
	border: none;
	width: 120px;
	height: 130px;
	padding: 5px;
	border-right: none;
}

#member5 {
	border: none;
	width: 300px;
	height: 130px;
	padding: 5px;
}

.caution-text {
	color: red;
}

.identity-content dt {
	margin-block: 1rem;
	font-weight: bold;
}

.identity-content ul li{
	list-style-type: none;
	margin-block: 1rem;
}

.identity-content a {
	text-decoration: underline;
	color: var(--pink);
}

.company-info-table {
	border: solid 1px var(--black);
	border-collapse: collapse;
	tr {
		display: table-row !important;
	}
	th , td  {
		border: solid 1px var(--black);
		min-height:70px;
	}
	th {
		min-width:95px ;
	}
	
	td {
		padding: 1em !important; 

	}
}

