/* HOME.CSS - TOPページ専用スタイル */

/* WordPress ブロックレイアウトのリセット（TOPページ用）
   ※ main 直下のセクション(sec_*)のみ対象。
   ※ 内部の tmpl_inner 等は巻き添えにしない */
body.home main > .wp-block-group,
body.page-template-front-page main > .wp-block-group {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}
body.home main > .wp-block-group.is-layout-constrained,
body.home main > .wp-block-group.is-layout-flow {
	max-width: none;
}

/* WP is-layout-flow が display を上書きするのを防止 */
body.home main .is-layout-flow {
	display:block;
}

/* ============================================
   Gutenberg wp:group flex補助
   layout type:flex にしたセクションの
   追加プロパティ（gap, direction等）を指定
============================================ */
.sec_news_wrap.is-layout-flex,
.sec_service_wrap.is-layout-flex,
.sec_recruit_content.is-layout-flex,
.sec_contact_wrap.is-layout-flex {
	gap:40px;
}
.sec_daily_wrap.is-layout-flex {
	flex-wrap:nowrap;
	gap:0;
}
/* is-layout-flexのデフォルトgapを上書き */
.sec_cert_btn_wrap.is-layout-flex,
.sec_about_btn_wrap.is-layout-flex,
.sec_recruit_btn_wrap.is-layout-flex,
.sec_contact_btn_wrap.is-layout-flex {
	justify-content:center;
}
.sec_daily_btn_wrap.is-layout-flex,
.sec_service_btn_wrap.is-layout-flex {
	justify-content:flex-end;
}
@media screen and (max-width:768px) {
	.sec_daily_btn_wrap.is-layout-flex,
	.sec_service_btn_wrap.is-layout-flex {
		justify-content:flex-start;
	}
}

/* ============================================
   メインビジュアル — CSS animation 方式
   ・Slick不要、JSゼロ、GPU accelerated
   ・画像を横一列に並べて @keyframes で流す
   ・CSS Grid で背景レイヤーとコンテンツを重ねる
   ・リサイズで崩れない
============================================ */
.sec_mv {
	margin-top:90px;
	display:grid;
	grid-template-columns:1fr;
	grid-template-rows:1fr;
	background:#fffef8;
	min-height:880px;
	overflow:hidden;
	position:relative;
}
.sec_mv > * {
	grid-area:1 / 1;
}

/* --- フロー背景レイヤー --- */
.mv_flow {
	z-index:1;
	overflow:hidden;
	align-self:stretch;
}

/* トラック: 画像を横に並べてアニメーション */
.mv_flow_track {
	display:flex;
	align-items:flex-start;
	gap:30px;
	width:max-content;
	animation:mvFlow 80s linear infinite;
	padding:110px 0 20px;
}

@keyframes mvFlow {
	0%   { transform:translateX(0); }
	100% { transform:translateX(-50%); }
}

/* 個々の画像 */
.mv_flow_item {
	flex-shrink:0;
	width:clamp(380px, 31.6vw, 633px);
	height:clamp(380px, 31.6vw, 633px);
}
.mv_flow_item img {
	width:100%;
	height:100%;
	object-fit:contain;
	display:block;
}

/* 段差（交互に上下ずらし・下寄せ） */
.mv_flow_item--up {
	transform:translateY(140px);
}
.mv_flow_item--down {
	transform:translateY(220px);
}


/* 浮遊丸 → 下の独立セクションで定義 */

/* コンテンツラッパー（最前面） */
.sec_mv .sec_mv_wrap {
	z-index:10;
	margin:0 auto;
	max-width:1400px;
	width:100%;
}

/* コンテンツ内部: flex縦並びで上下に配置 */
.sec_mv .sec_mv_inner {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:700px;
	padding:100px 5% 80px;
}

/* タイトル（右寄せ） */
.sec_mv_title {
	align-self:flex-end;
	font-size:42px;
	font-weight:700;
	font-family:'Zen Maru Gothic', sans-serif;
	letter-spacing:0.08em;
	color:#333;
	padding:30px 30px;
	background:#fff;
	box-shadow: 3px 3px 0 rgba(255,211,93,1);
}
.sec_mv_title img {
	display:block;
	max-width:100%;
	height:auto;
}

/* テキストボックス（左寄せ・下寄せ） */
.sec_mv_box {
	align-self:flex-start;
	width:470px;
	padding:40px 50px;
	background:#fff;
	border-radius:20px;
	box-shadow: 3px 3px 8px rgba(0,0,0,0.15);
}
.sec_mv_box_title {
	font-size:36px;
	font-weight:700;
	color:#e69a00;
	line-height:1.6;
	margin-bottom:20px;
}
.sec_mv_box_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
}

/* --- レスポンシブ --- */
@media screen and (max-width:768px) {
	.sec_mv {
		margin-top:60px;
		position:relative;
		min-height:auto;
	}
	/* SP: 重ねず縦並びに */
	.sec_mv > * {
		grid-area:auto;
	}
	.mv_flow_track {
		gap:15px;
		padding:55px 0 10px;
		animation-duration:25s;
	}
	.mv_flow_item {
		width:220px;
		height:220px;
	}
	.mv_flow_item--up {
		transform:translateY(10px);
	}
	.mv_flow_item--down {
		transform:translateY(40px);
	}
	.sec_mv .sec_mv_wrap {
		position:static;
	}
	.sec_mv .sec_mv_inner {
		padding:10px 5% 20px;
		min-height:auto;
	}
	.sec_mv_circles {
		display:none;
	}
	.sec_mv_title {
		position:absolute;
		right:3%;
		top:80px;
		z-index:15;
		align-self:auto;
		padding:10px;
		margin-bottom:0;
		font-size:inherit;
		box-shadow:2px 2px 0 rgba(255,211,93,1);
		background:rgba(255,255,255,0.92);
	}
	.sec_mv_title img {
		max-height:240px;
		width:auto;
		max-width:100%;
		display:block;
		margin:0 auto;
	}
	.sec_mv_box {
		align-self:stretch;
		width:auto;
		padding:30px 10px;
		text-align:center;
	}
	.sec_mv_box_title {
		font-size:5.5vw;
		margin-bottom:15px;
	}
	.sec_mv_box_text {
		font-size:3.5vw;
	}
}

/* 浮遊する丸のアニメーション */
.sec_mv_circles {
	position:absolute;
	top:50px;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
	z-index:5;
	pointer-events:none;
}

.sec_mv_circle {
	position:absolute;
	background:#ffebaa;
	opacity:0.7;
	border-radius:50%;
	animation:floatLeft 60s linear infinite;
}

/* 各丸のサイズと位置 */
.sec_mv_circle1 {
	width:150px;
	height:150px;
	top:10%;
	left:100%;
	animation-duration:55s;
	animation-delay:0s;
}

.sec_mv_circle2 {
	width:100px;
	height:100px;
	top:40%;
	left:100%;
	animation-duration:70s;
	animation-delay:-8s;
}

.sec_mv_circle3 {
	width:200px;
	height:200px;
	top:60%;
	left:100%;
	animation-duration:50s;
	animation-delay:-15s;
}

.sec_mv_circle4 {
	width:120px;
	height:120px;
	top:25%;
	left:100%;
	animation-duration:65s;
	animation-delay:-25s;
}

.sec_mv_circle5 {
	width:80px;
	height:80px;
	top:75%;
	left:100%;
	animation-duration:75s;
	animation-delay:-5s;
}

/* 左に浮遊するアニメーション */
@keyframes floatLeft {
	0% {
		transform:translateX(0);
	}
	100% {
		transform:translateX(-200vw);
	}
}

/* スマホ用調整 */
@media screen and (max-width:768px) {
	/* ★SPではゆっくりめに（個別速度は各circle定義で上書き） */
	
	/* ★SP時のディレイと速度を調整 */
	.sec_mv_circle1 {
		width:80px;
		height:80px;
		animation-duration:20s;
		animation-delay:-2s;
	}
	.sec_mv_circle2 {
		width:60px;
		height:60px;
		animation-duration:28s;
		animation-delay:-8s;
	}
	.sec_mv_circle3 {
		width:120px;
		height:120px;
		animation-duration:18s;
		animation-delay:-14s;
	}
	.sec_mv_circle4 {
		width:70px;
		height:70px;
		animation-duration:25s;
		animation-delay:-5s;
	}
	.sec_mv_circle5 {
		width:50px;
		height:50px;
		animation-delay:-11s;
	}
}


/* 認定セクション */
.sec_certification {
	position:relative;
	padding:80px 0 330px;
	background:#fffef8 url(../images/certification_bg.png) no-repeat center bottom;
	background-size:auto 90%;
	text-align:center;
}
.sec_certification .tmpl_inner {
	max-width:1000px;
}
.sec_cert_content {
	max-width:800px;
	margin:0 auto;
}
.sec_cert_title {
	font-size:42px;
	font-weight:700;
	color:#ffc813;
	line-height:1.6;
	margin-bottom:30px;
}
.sec_cert_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
	margin-bottom:50px;
}
.sec_cert_btn_wrap {
	text-align:center;
}
.sec_cert_btn {
	display:inline-block;
	padding:18px 50px 18px 30px;
	background:#e6929e;
	color:#fff;
	font-size:18px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	position:relative;
}
.sec_cert_btn:after {
	content:'▶';
	position:absolute;
	right:25px;
	top:50%;
	transform:translateY(-50%);
	font-size:14px;
	color:#fff;
}
.sec_cert_btn:hover {
	background:#d67a86;
	color:#fff;
}

@media screen and (max-width:768px) {
	.sec_certification {
		padding:60px 0 160px;
		background:#fffef8 url(../images/certification_bg.png) no-repeat center bottom;
		background-size:auto 60%;
	}
	.sec_cert_title {
		font-size:6.0vw;
		margin-bottom:20px;
	}
	.sec_cert_text {
		font-size:3.5vw;
		margin-bottom:40px;
	}
	.sec_cert_btn {
		font-size:4.0vw;
		padding:15px 50px 15px 35px;
	}
}

/* お知らせセクション */
.sec_news {
	padding:80px 0 100px;
}
.sec_news .tmpl_inner {
	max-width:1000px;
}
.sec_news_wrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:60px;
}
.sec_news_left {
	width:30%;
}
.sec_news_right {
	width:62%;
}
.sec_news_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#e6929e;
	margin-bottom:10px;
}
.sec_news_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_news_text {
	font-size:16px;
	line-height:1.8;
	color:#666;
}
.sec_news_list {
	margin-bottom:40px;
}
.sec_news_item {
	display:flex;
	align-items:center;
	gap:15px;
	padding:25px 0;
	border-bottom:2px solid #f0dedf;
}
.sec_news_item:first-child {
	padding-top:0;
}
.sec_news_item:last-child {
	border-bottom:0;
}
.sec_news_date {
	font-size:16px;
	color:#333;
	flex-shrink:0;
}
.sec_news_cat {
	display:inline-block;
	padding:10px 25px;
	border-radius:40px;
	font-size:16px;
	font-weight:600;
	color:#fff;
	flex-shrink:0;
}
.sec_news_cat_info {
	background:#e6929e;
}
.sec_news_cat_recruit {
	background:#f8cf19;
}
.sec_news_item_title {
	font-size:16px;
	color:#333;
	font-weight:500;
}
.sec_news_item_title a {
	color:#333;
	text-decoration:none;
}
.sec_news_item_title a:hover {
	color:#000;
	text-decoration:underline;
}
.sec_news_btn_wrap {
	text-align:center;
}
.sec_news_btn {
	display:inline-block;
	padding:15px 40px 15px 25px;
	background:#fff;
	color:#e6929e;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	border:2px solid #e6929e;
	position:relative;
}
.sec_news_btn:after {
	content:'▶';
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	color:#e6929e;
}
.sec_news_btn:hover {
	background:#fdf3f5;
	color:#e6929e;
}

@media screen and (max-width:768px) {
	.sec_news {
		padding:0px 0 60px;
	}
	.sec_news .tmpl_inner {
		max-width:90%;
	}
	.sec_news_wrap {
		flex-direction:column;
		gap:40px;
	}
	.sec_news_left {
		width:100%;
	}
	.sec_news_right {
		width:100%;
	}
	.sec_news_label {
		font-size:4vw;
	}
	.sec_news_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_news_text {
		font-size:3.2vw;
	}
	.sec_news_item {
		flex-wrap: wrap;
		align-items:flex-start;
		gap:10px;
		padding:20px 0;
	}
	.sec_news_date {
		font-size:3.5vw;
	}
	.sec_news_cat {
		font-size:3vw;
		padding:4px 12px;
	}
	.sec_news_item_title {
		font-size:4vw;
		width:100%;
	}
	.sec_news_btn {
		font-size:4vw;
		padding:12px 45px 12px 30px;
	}
}


/* 事務所についてセクション */
.sec_about {
	margin:0 20px;
}
.sec_about .tmpl_inner {
	padding:80px 0 100px;
	background:#fff8de;
	border-radius:80px;
	max-width:1400px;
}
.sec_about_header {
	text-align:center;
	margin-bottom:60px;
}
.sec_about_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#e6929e;
	margin-bottom:10px;
}
.sec_about_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_about_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
}
.sec_about_content {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:40px;
	margin:0 5% 60px;
	position:relative;
}
.sec_about_item {
	width:calc(25% - 30px);
	text-align:center;
	position:relative;
}
/* 点線の区切り */
.sec_about_item:not(:last-child):after {
	content:'';
	position:absolute;
	right:-20px;
	top:50%;
	transform:translateY(-50%);
	width:2px;
	height:80%;
	background-image:linear-gradient(to bottom, #ffc813 50%, transparent 50%);
	background-size:2px 10px;
	background-repeat:repeat-y;
}
.sec_about_icon {
	width:200px;
	height:200px;
	margin:0 auto 30px;
	background:#fff;
	border-radius:50%;
	border:3px solid #ffc813;
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
}
.sec_about_icon img {
	width:200px;
	height:auto;
	max-width:100%;
}
.sec_about_item_title {
	font-size:24px;
	font-weight:700;
	color:#333;
	margin-bottom:20px;
}
.sec_about_item_text {
	padding:0 7%;
	font-size:16px;
	line-height:1.8;
	color:#333;
	text-align:left;
}
.sec_about_btn_wrap {
	text-align:center;
}
.sec_about_btn {
	display:inline-block;
	padding:18px 50px 18px 30px;
	background:#e6929e;
	color:#fff;
	font-size:18px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	position:relative;
}
.sec_about_btn:after {
	content:'▶';
	position:absolute;
	right:25px;
	top:50%;
	transform:translateY(-50%);
	font-size:14px;
	color:#fff;
}
.sec_about_btn:hover {
	background:#d67a86;
	color:#fff;
}

@media screen and (max-width:768px) {
	.sec_about {
		padding:20px 0 30px;
		border-radius:40px;
		margin:0 0%;
	}
	.sec_about .tmpl_inner {
		padding:60px 0 60px;
		border-radius:40px;
		max-width:90%;
	}
	.sec_about_header {
		margin-bottom:40px;
	}
	.sec_about_label {
		font-size:4vw;
	}
	.sec_about_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_about_text {
		font-size:3.5vw;
	}
	.sec_about_content {
		gap:40px 20px;
		margin-bottom:40px;
	}
	.sec_about_item {
		width:calc(50% - 10px);
	}
	/* SP時は横の点線を削除 */
	.sec_about_item:not(:last-child):after {
		display:none;
	}
	.sec_about_icon {
		width:120px;
		height:120px;
		margin-bottom:20px;
	}
	.sec_about_icon img {
		width:120px;
	}
	.sec_about_item_title {
		font-size:5vw;
		margin-bottom:15px;
	}
	.sec_about_item_text {
		font-size:3.5vw;
		text-align:center;
	}
	.sec_about_btn {
		font-size:4.5vw;
		padding:15px 50px 15px 35px;
	}
}

/* 日常セクション */
.sec_daily {
	position:relative;
}
.sec_daily .tmpl_inner {
	max-width:1150px;
}
.sec_daily_wrap {
	display:flex;
	flex-wrap:nowrap;
	justify-content:space-between;
	gap:60px;
	align-items:center;
	padding:100px 0 120px;
	background:url(../images/daily_birds_bg.png) no-repeat right bottom;
	background-size:60% auto;
}
.sec_daily_left {
	width:50%;
}
.sec_daily_right {
	width:46%;
	text-align:right;
}

/* 写真エリア */
.sec_daily_photos {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:20px;
	position:relative;
}
.sec_daily_photo_item {
	position:relative;
	width:100%;
	aspect-ratio:1 / 1;
	overflow:hidden;
	border-radius:15px;
}
.sec_daily_photo_item img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* 写真の段差 */
.sec_daily_photo_item1 {
	margin-top:0;
}
.sec_daily_photo_item2 {
	margin-top:30px;
}
.sec_daily_photo_item3 {
	margin-top:-30px;
}
.sec_daily_photo_item4 {
	margin-top:0px;
}

/* 黄色ラベル */
.sec_daily_photo_label {
	position:absolute;
	top:0;
	left:0;
	background:#ffc813;
	color:#fff;
	font-size:14px;
	font-weight:600;
	padding:8px 20px;
	z-index:10;
	white-space:nowrap;
	border-radius:0 0 15px 0;
}

/* テキストエリア */
.sec_daily_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#ffc813;
	margin-bottom:10px;
}
.sec_daily_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
	line-height:1.5;
}
.sec_daily_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
	margin-bottom:40px;
}
.sec_daily_btn_wrap {
	text-align:right;
}
.sec_daily_btn {
	display:inline-block;
	padding:15px 50px 15px 30px;
	background:#fff;
	color:#e6929e;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	border:2px solid #e6929e;
	position:relative;
}
.sec_daily_btn:after {
	content:'▶';
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	color:#e6929e;
}
.sec_daily_btn:hover {
	background:#fdf3f5;
	color:#e6929e;
}

@media screen and (max-width:768px) {
	.sec_daily {
		padding:50px 0 60px;
		background-size:auto 30%;
	}
	.sec_daily .tmpl_inner {
		max-width:90%;
	}
	.sec_daily_wrap {
		flex-direction:column-reverse;
		gap:40px;
		padding:0px 0 120px;
		background:url(../images/daily_birds_bg.png) no-repeat right bottom;
		background-size:85% auto;
	}
	/* sec_daily_wrapクラスが無い場合のフォールバック */
	.sec_daily .tmpl_inner > .wp-block-group.is-layout-flex {
		flex-direction:column-reverse;
		flex-wrap:wrap;
		gap:40px;
	}
	.sec_daily_left {
		width:100%;
	}
	.sec_daily_right {
		width:100%;
		text-align:left;
	}
	/* sec_daily_wrapクラスが無い場合の子要素幅制御 */
	.sec_daily .tmpl_inner > .wp-block-group.is-layout-flex > .sec_daily_left,
	.sec_daily .tmpl_inner > .wp-block-group.is-layout-flex > .sec_daily_right {
		width:100%;
		flex:0 0 100%;
	}
	
	/* 写真エリア SP */
	.sec_daily_photos {
		gap:15px;
	}
	
	/* 写真の段差 SP */
	.sec_daily_photo_item1 {
		margin-top:0;
	}
	.sec_daily_photo_item2 {
		margin-top:20px;
	}
	.sec_daily_photo_item3 {
		margin-top:10px;
	}
	.sec_daily_photo_item4 {
		margin-top:30px;
	}
	
	/* 黄色ラベル SP */
	.sec_daily_photo_label {
		font-size:3vw;
		padding:6px 12px;
	}
	
	/* テキストエリア SP */
	.sec_daily_label {
		font-size:4vw;
	}
	.sec_daily_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_daily_text {
		font-size:4vw;
		margin-bottom:30px;
	}
	.sec_daily_btn_wrap {
		text-align:left;
	}
	.sec_daily_btn {
		font-size:4vw;
		padding:12px 35px 12px 20px;
	}
}


/* スタッフ紹介セクション */
.sec_staff {
	padding:80px 0 100px;
	background:#fffef8 url(../images/staff_birds_bg.png) no-repeat left 10% bottom;
	background-size:auto 150px;
	position:relative;
}
.sec_staff_header {
	max-width:1140px;
	margin:0 auto 60px;
	padding:0 20px;
}
.sec_staff_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#ffc813;
	margin-bottom:10px;
}
.sec_staff_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_staff_text {
	font-size:16px;
	line-height:1.8;
	color:#666;
}

/* スライダーラッパー */
.sec_staff_slider_wrap {
	position:relative;
	margin-bottom:60px;
	width:100vw;
	margin-left:calc(-50vw + 50%);
}

/* Slick矢印のカスタマイズ */
.staff_slider .slick-prev,
.staff_slider .slick-next {
	width:70px;
	height:70px;
	background:#ffc813;
	border-radius:50%;
	z-index:100;
	transition:background 0.3s;
}
.staff_slider .slick-prev {
	left:3%;
	top:35%;
}
.staff_slider .slick-next {
	right:3%;
	top:35%;
}
.staff_slider .slick-prev:hover,
.staff_slider .slick-next:hover {
	background:#e1ad03;
}
.staff_slider .slick-prev:before,
.staff_slider .slick-next:before {
	content:'';
	width:0;
	height:0;
	border-style:solid;
	opacity:1;
	position:absolute;
	top:50%;
	left:50%;
}
.staff_slider .slick-prev:before {
	border-width:12px 18px 12px 0;
	border-color:transparent #fff transparent transparent;
	transform:translate(-60%, -50%);
}
.staff_slider .slick-next:before {
	border-width:12px 0 12px 18px;
	border-color:transparent transparent transparent #fff;
	transform:translate(-40%, -50%);
}

/* スタッフカード */
.staff_card {
	margin:0 ;
	padding:0 ;
	text-align:center;
	transition:margin-top 0.3s ease;
}

/* カードリンク */
.staff_card a.staff_card_link {
	display:block;
	text-decoration:none;
	color:inherit;
	cursor:pointer;
}
.staff_card a.staff_card_link p {
	margin-block:0;
}

/* 交互に段差をつける */
.staff_slider .slick-slide:nth-child(even) .staff_card {
	margin-top:50px;
}
/* slick-slide用の余白調整 */
.staff_slider .slick-slide {
	margin:0 15px;
}
.staff_slider .slick-list {
	margin:0 -15px;
}

.sec_staff_photo {
	width:100%;
	margin:0 auto 20px;
	border-radius:15px;
	overflow:hidden;
}
.sec_staff_photo img {
	width:100%;
	height:auto;
	display:block;
	transition:transform 0.4s ease;
}
.staff_card a.staff_card_link:hover .sec_staff_photo img {
	transform:scale(1.08);
}
.sec_staff_badge_info {
	display:flex;
	align-items:center;
	gap:15px;
	margin-bottom:8px;
	flex-wrap:wrap;
}
.sec_staff_badge {
	display:inline-block;
	padding:6px 18px;
	background:#ffc813;
	color:#fff;
	font-size:13px;
	font-weight:600;
	border-radius:50px;
	flex-shrink:0;
}
.sec_staff_info {
	font-size:14px;
	font-weight:500;
	color:#888;
	text-align:left;
}
.sec_staff_name {
	font-size:20px;
	font-weight:700;
	color:#333;
	text-align:left;
	margin:0 0 8px;
}
.sec_staff_comment {
	font-size:14px;
	line-height:1.7;
	color:#666;
	text-align:left;
	margin:0;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

/* 全スタッフを見るボタン */
.sec_staff_btn_wrap {
	text-align:center;
	padding:0 20px;
}
.sec_staff_btn {
	display:inline-block;
	padding:15px 50px 15px 35px;
	background:#fff;
	color:#e6929e;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	border:2px solid #e6929e;
	position:relative;
}
.sec_staff_btn:after {
	content:'▶';
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	color:#e6929e;
}
.sec_staff_btn:hover {
	background:#fdf3f5;
	color:#e6929e;
}

@media screen and (max-width:768px) {
	.sec_staff {
		padding:40px 0 120px;
		background-size:auto 80px;
	}
	.sec_staff_header {
		margin-bottom:40px;
	}
	.sec_staff_label {
		font-size:4vw;
	}
	.sec_staff_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_staff_text {
		font-size:4vw;
	}
	
	/* SP用矢印 */
	.staff_slider .slick-prev,
	.staff_slider .slick-next {
		width:50px;
		height:50px;
		top:30%;
	}
	.staff_slider .slick-prev {
		left:3%;
	}
	.staff_slider .slick-next {
		right:3%;
	}
	.staff_slider .slick-prev:before {
		border-width:10px 14px 10px 0;
		border-color:transparent #fff transparent transparent;
	}
	.staff_slider .slick-next:before {
		border-width:10px 0 10px 14px;
		border-color:transparent transparent transparent #fff;
	}
	
	/* SP用カード */
	.staff_card {
		margin:0 10px;
		padding:0;
	}
	.staff_slider .slick-slide:nth-child(even) .staff_card {
		margin-top:40px;
	}
	.staff_slider .slick-slide {
		margin:0 10px;
	}
	.staff_slider .slick-list {
		margin:0 -10px;
	}
	.sec_staff_photo {
		margin-bottom:15px;
	}
	.sec_staff_badge_info {
		flex-direction:row;
		align-items:center;
		gap:8px;
	}
	.sec_staff_badge {
		font-size:11px;
		padding:4px 14px;
	}
	.sec_staff_info {
		font-size:12px;
	}
	.sec_staff_name {
		font-size:16px;
	}
	.sec_staff_comment {
		font-size:13px;
	}
}


/* サービス紹介セクション */
.sec_service {
	padding:100px 0;
}
.sec_service .tmpl_inner {
	max-width:1140px;
}
.sec_service_wrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:40px;
}
.sec_service_left {
	width:546px;
	flex-shrink:0;
}
/* wp:imageブロック用リセット */
.sec_service_left figure.wp-block-image {
	margin:0;
}
.sec_service_left figure.wp-block-image img,
.sec_service_left img {
	width:100%;
	height:auto;
	border-radius:15px;
}
.sec_service_right {
	flex:1;
	text-align:right;
}
.sec_service_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#ffc508;
	margin-bottom:10px;
}
.sec_service_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_service_text {
	font-size:16px;
	line-height:1.8;
	color:#333;
	margin-bottom:40px;
}
.sec_service_catch {
	font-size:32px;
	font-weight:700;
	color:#ffc508;
	line-height:1.6;
	margin-bottom:30px;
	position:relative;
	display:inline-block;
}
.sec_service_catch:after {
	content:'';
	display:block;
	width:50px;
	height:3px;
	background:#ffc508;
	margin-top:10px;
	margin-left:auto;
}
.sec_service_desc {
	font-size:18px;
	line-height:1.8;
	color:#333;
	margin-left:40px;
	margin-bottom:30px;
	text-align:left;
}
.sec_service_area {
	font-size:18px;
	font-weight:600;
	color:#ffc508;
	margin-bottom:40px;
}
.sec_service_btn_wrap {
	text-align:right;
}
.sec_service_btn {
	display:inline-block;
	padding:15px 50px 15px 35px;
	background:#fff;
	color:#e6929e;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	border:2px solid #e6929e;
	position:relative;
}
.sec_service_btn:after {
	content:'▶';
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	font-size:12px;
	color:#e6929e;
}
.sec_service_btn:hover {
	background:#fdf3f5;
	color:#e6929e;
}

@media screen and (max-width:768px) {
	.sec_service {
		padding:40px 0 60px;
	}
	.sec_service .tmpl_inner {
		max-width:90%;
	}
	.sec_service_wrap {
		flex-direction:column-reverse;
		gap:30px;
	}
	.sec_service_left {
		width:100%;
	}
	.sec_service_right {
		width:100%;
		text-align:left;
	}
	.sec_service_label {
		font-size:4vw;
	}
	.sec_service_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_service_text {
		font-size:4vw;
		margin-bottom:30px;
	}
	.sec_service_catch {
		font-size:6vw;
		margin-bottom:25px;
	}
	.sec_service_catch:after {
		width:120px;
		margin-left:0;
	}
	.sec_service_desc {
		font-size:4vw;
		margin-left:0;
		margin-bottom:25px;
	}
	.sec_service_area {
		font-size:4.5vw;
		margin-bottom:30px;
	}
	.sec_service_btn_wrap {
		text-align:left;
	}
	.sec_service_btn {
		font-size:4vw;
		padding:12px 35px 12px 20px;
	}
}


/* 採用情報セクション */
.sec_recruit {
	margin:0 20px;
}
.sec_recruit .tmpl_inner {
	padding:80px 0 100px;
	background:#fff8de;
	border-radius:80px;
	max-width:1400px;
}
.sec_recruit_header {
	text-align:center;
	margin-bottom:60px;
}
.sec_recruit_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#ffc508;
	margin-bottom:10px;
}
.sec_recruit_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_recruit_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
}
.sec_recruit_content {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	gap:60px;
	margin:0 auto;
	max-width:1200px;
	padding:0 5%;
}
.sec_recruit_left {
	width:510px;
	flex-shrink:0;
}
.sec_recruit_right {
	width:580px;
	flex-shrink:0;
}
/* wp:imageブロック用リセット */
.sec_recruit_right figure.wp-block-image {
	margin:0;
}
.sec_recruit_right figure.wp-block-image img,
.sec_recruit_right img {
	width:100%;
	height:auto;
	border-radius:15px;
}
.sec_recruit_catch {
	font-size:28px;
	font-weight:700;
	color:#e6929e;
	line-height:1.6;
	margin-bottom:30px;
}
.sec_recruit_desc {
	font-size:18px;
	line-height:1.8;
	color:#333;
	margin-bottom:30px;
}
.sec_recruit_area {
	font-size:18px;
	font-weight:600;
	color:#e6929e;
	margin-bottom:40px;
}
.sec_recruit_btn_wrap {
	text-align:left;
}
.sec_recruit_btn {
	display:inline-block;
	padding:18px 50px 18px 30px;
	background:#e6929e;
	color:#fff;
	font-size:18px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	position:relative;
}
.sec_recruit_btn:after {
	content:'▶';
	position:absolute;
	right:25px;
	top:50%;
	transform:translateY(-50%);
	font-size:14px;
	color:#fff;
}
.sec_recruit_btn:hover {
	background:#d67a86;
	color:#fff;
}

@media screen and (max-width:768px) {
	.sec_recruit {
		margin:0 0%;
	}
	.sec_recruit .tmpl_inner {
		padding:60px 0;
		border-radius:40px;
		max-width:90%;
	}
	.sec_recruit_header {
		margin-bottom:40px;
	}
	.sec_recruit_label {
		font-size:4vw;
	}
	.sec_recruit_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_recruit_text {
		font-size:4vw;
	}
	.sec_recruit_content {
		flex-direction:column;
		gap:40px;
		padding:0 5%;
	}
	.sec_recruit_left {
		width:100%;
	}
	.sec_recruit_right {
		width:100%;
	}
	.sec_recruit_catch {
		font-size:6vw;
		margin-bottom:25px;
	}
	.sec_recruit_desc {
		font-size:4vw;
		margin-bottom:25px;
	}
	.sec_recruit_area {
		font-size:4.5vw;
		margin-bottom:30px;
	}
	.sec_recruit_btn {
		font-size:4.5vw;
		padding:15px 50px 15px 35px;
	}
}


/* お問い合わせセクション */
.sec_contact {
	padding:100px 0 100px;
}
.sec_contact .tmpl_inner {
	max-width:1200px;
}
.sec_contact_wrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:60px;
}
.sec_contact_left {
	width:48%;
}
.sec_contact_right {
	width:48%;
}
.sec_contact_label {
	font-family:'Noto Serif JP', serif;
	font-size:20px;
	font-weight:700;
	color:#ffb800;
	margin-bottom:10px;
}
.sec_contact_title {
	font-size:40px;
	font-weight:700;
	color:#333;
	margin-bottom:30px;
}
.sec_contact_text {
	font-size:18px;
	line-height:1.8;
	color:#333;
	margin-bottom:40px;
}
.sec_contact_btn_wrap {
	text-align:left;
}
.sec_contact_btn_link {
	display:inline-block;
	padding:18px 60px 18px 35px;
	background:#e6929e;
	color:#fff;
	font-size:18px;
	font-weight:600;
	text-decoration:none;
	border-radius:50px;
	position:relative;
}
.sec_contact_btn_link:after {
	content:'▶';
	position:absolute;
	right:25px;
	top:50%;
	transform:translateY(-50%);
	font-size:14px;
	color:#fff;
}
.sec_contact_btn_link:hover {
	background:#d67a86;
	color:#fff;
}

/* 会社情報ボックス */
.sec_contact_info {
	padding:40px;
	background:#fff;
	border:2px solid #ffc813;
	border-radius:15px;
}
.sec_contact_info_title {
	font-size:24px;
	font-weight:700;
	color:#ffbb0a;
	margin-bottom:25px;
}
.sec_contact_info dl {
	display:flex;
	margin-bottom:20px;
	font-size:16px;
}
.sec_contact_info dl.sec_contact_info_time {
	padding-top:20px;
	border-top:2px dotted #ffc813;
}
.sec_contact_info dt {
	font-weight:600;
	color:#666;
	width:110px;
	flex-shrink:0;
}
.sec_contact_info dd {
	color:#333;
}
.sec_contact_info dd a {
	color:#333;
	text-decoration:none;
}
.sec_contact_info dd a:hover {
	color:#ffa500;
}

/* 地図 */
.sec_contact_map {
	margin-top:40px;
	border-radius:15px;
	overflow:hidden;
}

@media screen and (max-width:768px) {
	.sec_contact {
		padding:40px 0;
	}
	.sec_contact .tmpl_inner {
		max-width:90%;
	}
	.sec_contact_wrap {
		flex-direction:column;
		margin-bottom:40px;
	}
	.sec_contact_left {
		width:100%;
		margin-bottom:40px;
	}
	.sec_contact_right {
		width:100%;
	}
	.sec_contact_label {
		font-family:'Noto Serif JP', serif;
		font-size:4vw;
	}
	.sec_contact_title {
		font-size:7vw;
		margin-bottom:20px;
	}
	.sec_contact_text {
		font-size:4vw;
		margin-bottom:30px;
	}
	.sec_contact_btn_link {
		font-size:4.5vw;
		padding:15px 40px 15px 25px;
	}
	.sec_contact_info {
		padding:30px 5%;
	}
	.sec_contact_info_title {
		font-size:5vw;
		margin-bottom:20px;
		padding-bottom:15px;
	}
	.sec_contact_info dl {
		flex-direction:column;
		margin-bottom:20px;
		font-size:4vw;
	}
	.sec_contact_info dt {
		margin-bottom:5px;
		width:100%;
	}
}

/* Google Map iframe */
.sec_contact_iframe {
	border:0;
}


/* ============================================
   ふわっと出現アニメーション（IntersectionObserver連携）
============================================ */
.js-fadeIn {
	opacity:0;
	transform:translateY(40px);
	transition:opacity 0.8s ease, transform 0.8s ease;
}
.js-fadeIn.is-visible {
	opacity:1;
	transform:translateY(0);
}

/* 子要素の段階的な遅延（2列・4列レイアウト用） */
.js-fadeIn-children > *:nth-child(1) { transition-delay:0s; }
.js-fadeIn-children > *:nth-child(2) { transition-delay:0.15s; }
.js-fadeIn-children > *:nth-child(3) { transition-delay:0.3s; }
.js-fadeIn-children > *:nth-child(4) { transition-delay:0.45s; }

/* 子要素もopacity初期値0 */
.js-fadeIn-children > * {
	opacity:0;
	transform:translateY(30px);
	transition:opacity 0.6s ease, transform 0.6s ease;
}
.js-fadeIn-children.is-visible > * {
	opacity:1;
	transform:translateY(0);
}


/* ============================================
   ホバーエフェクト
============================================ */

/* --- ボタン共通：浮き上がり + 影 --- */
.sec_cert_btn,
.sec_news_btn,
.sec_about_btn,
.sec_daily_btn,
.sec_staff_btn,
.sec_service_btn,
.sec_recruit_btn,
.sec_contact_btn_link {
	transition:all 0.3s ease;
}
.sec_cert_btn:hover,
.sec_news_btn:hover,
.sec_about_btn:hover,
.sec_daily_btn:hover,
.sec_staff_btn:hover,
.sec_service_btn:hover,
.sec_recruit_btn:hover,
.sec_contact_btn_link:hover {
	transform:translateY(-3px);
	box-shadow:0 6px 20px rgba(0,0,0,0.12);
}

/* --- ABOUTアイコンカード --- */
.sec_about_item {
	transition:transform 0.3s ease, box-shadow 0.3s ease;
	border-radius:20px;
	padding:20px 10px;
}
.sec_about_item:hover {
	transform:translateY(-8px);
}
.sec_about_icon {
	transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.sec_about_item:hover .sec_about_icon {
	transform:scale(1.05);
	box-shadow:0 8px 25px rgba(255,200,19,0.3);
}

/* --- 日常セクション写真 --- */
.sec_daily_photo_item {
	transition:transform 0.4s ease, box-shadow 0.4s ease;
}
.sec_daily_photo_item:hover {
	transform:translateY(-5px) scale(1.02);
	box-shadow:0 12px 30px rgba(0,0,0,0.15);
}
.sec_daily_photo_item img {
	transition:transform 0.5s ease;
}
.sec_daily_photo_item:hover img {
	transform:scale(1.05);
}

/* --- スタッフカード --- */
.sec_staff_photo {
	overflow:hidden;
}
.sec_staff_photo img {
	transition:transform 0.4s ease;
}
.staff_card a.staff_card_link:hover .sec_staff_photo img {
	transform:scale(1.08);
}

/* --- サービス画像 --- */
.sec_service_left img,
.sec_service_left figure.wp-block-image img {
	transition:transform 0.4s ease;
}
.sec_service_left:hover img,
.sec_service_left:hover figure.wp-block-image img {
	transform:scale(1.03);
}
.sec_service_left {
	overflow:hidden;
	border-radius:15px;
}

/* --- 採用画像 --- */
.sec_recruit_right img,
.sec_recruit_right figure.wp-block-image img {
	transition:transform 0.4s ease;
}
.sec_recruit_right:hover img,
.sec_recruit_right:hover figure.wp-block-image img {
	transform:scale(1.03);
}
.sec_recruit_right {
	overflow:hidden;
	border-radius:15px;
}

/* --- ニュースアイテム --- */
.sec_news_item {
	transition:background 0.3s ease;
}
.sec_news_item:hover {
	background:rgba(255,200,19,0.06);
}
.sec_news_item_title a {
	transition:color 0.3s ease;
}

/* --- ナビゲーション強化 --- */
.nav_item a {
	transition:background 0.3s ease, transform 0.2s ease;
}
.nav_item a:hover {
	transform:translateY(-2px);
}
.contact_btn a {
	transition:background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}
.contact_btn a:hover {
	transform:translateY(-2px);
	box-shadow:0 4px 15px rgba(255,197,8,0.4);
}

/* --- お問い合わせ情報ボックス --- */
.sec_contact_info {
	transition:box-shadow 0.3s ease;
}
.sec_contact_info:hover {
	box-shadow:0 8px 25px rgba(255,200,19,0.2);
}

/* --- フッターリンク --- */
footer .footer_nav ul li a {
	transition:opacity 0.3s ease, transform 0.2s ease;
}
footer .footer_nav ul li a:hover {
	transform:translateY(-2px);
}


/* ============================================
   Gutenberg ネイティブ化 互換CSS
   wp:html → wp:group/wp:image 変換に伴う追加
============================================ */

/* ------------------------------------------
   ボタンリンク: wp:paragraph でラップ
   <p> の余白を除去し <a> のスタイルを維持
------------------------------------------ */
.sec_cert_btn_wrap p,
.sec_about_btn_wrap p,
.sec_daily_btn_wrap p,
.sec_service_btn_wrap p,
.sec_recruit_btn_wrap p,
.sec_contact_btn_wrap p {
	margin:0;
	margin-block:0;
}


/* ------------------------------------------
   事業所について: sec_about_content
   wp:group (flex) でラップ
------------------------------------------ */
.sec_about_content.is-layout-flex {
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	gap:40px;
	margin:0 5% 60px;
}
.sec_about_item.is-layout-flex {
	flex-direction:column;
	align-items:center;
	width:calc(25% - 30px);
	flex:0 0 calc(25% - 30px);
	text-align:center;
	gap:0;
	position:relative;
}

/* 点線の縦区切り（is-layout-flex版） */
.sec_about_item.is-layout-flex:not(:last-child):after {
	content:'';
	position:absolute;
	right:-20px;
	top:50%;
	transform:translateY(-50%);
	width:2px;
	height:80%;
	background-image:linear-gradient(to bottom, #ffc508 50%, transparent 50%);
	background-size:2px 10px;
	background-repeat:repeat-y;
}

/* アイコン: wp-block-image の figure 余白除去 */
.sec_about_icon .wp-block-image {
	margin:0;
}
.sec_about_icon .wp-block-image img {
	width:200px;
	height:auto;
	max-width:100%;
}

/* margin-block リセット */
.sec_about_item h3,
.sec_about_item .wp-block-heading,
.sec_about_item p {
	margin-block-start:0;
	margin-block-end:0;
}
.sec_about_item .sec_about_item_title {
	margin-bottom:20px;
}

@media screen and (max-width:768px) {
	.sec_about_content.is-layout-flex {
		gap:40px 20px;
		margin-bottom:40px;
	}
	.sec_about_item.is-layout-flex {
		width:calc(50% - 10px);
		flex:0 0 calc(50% - 10px);
	}
	.sec_about_item.is-layout-flex:not(:last-child):after {
		display:none;
	}
	.sec_about_icon .wp-block-image img {
		width:120px;
	}
}


/* ------------------------------------------
   日常セクション: sec_daily_photos
   wp:group + wp:image でラップ
------------------------------------------ */

/* グリッドを強制（WP is-layout-flow に勝つ） */
.sec_daily_photos,
.sec_daily_photos.wp-block-group,
.sec_daily_photos.is-layout-flow {
	display:grid !important;
	grid-template-columns:repeat(2, 1fr);
	gap:20px;
	position:relative;
}

/* 各写真アイテム: aspect-ratio を維持 */
.sec_daily_photo_item.wp-block-group,
.sec_daily_photo_item.is-layout-flow {
	position:relative;
	width:100%;
	aspect-ratio:1 / 1;
	overflow:hidden;
	border-radius:15px;
}

/* wp-block-image の figure: 絶対配置でコンテナを埋める */
.sec_daily_photo_item .wp-block-image {
	margin:0;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.sec_daily_photo_item .wp-block-image img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* ラベル（p タグ版）: position:absolute を維持 */
p.sec_daily_photo_label {
	margin:0;
	margin-block:0;
	position:absolute;
	top:0;
	left:0;
	background:#ffc813;
	color:#fff;
	font-size:14px;
	font-weight:600;
	padding:8px 20px;
	z-index:10;
	white-space:nowrap;
}

@media screen and (max-width:768px) {
	.sec_daily_photos,
	.sec_daily_photos.wp-block-group,
	.sec_daily_photos.is-layout-flow {
		gap:15px;
	}
	p.sec_daily_photo_label {
		font-size:3vw;
		padding:6px 12px;
	}
}


/* ============================================
   スタッフ紹介: Gutenberg ネイティブ化互換
   <section> → wp:group 変換に伴う追加
============================================ */

/* sec_staff がsectionではなくdivになるため背景等を維持 */
.sec_staff.wp-block-group {
	background:#fff;
}

/* tmpl_inner100 の max-width リセット（WPが制約する場合） */
.tmpl_inner100.wp-block-group,
.tmpl_inner100.is-layout-flow {
	max-width:1140px;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}

/* ヘッダー内のmargin-blockリセット */
.sec_staff_header h2,
.sec_staff_header .wp-block-heading,
.sec_staff_header p {
	margin-block-start:0;
	margin-block-end:0;
}

/* slider_wrapからショートコード出力の余白制御 */
.sec_staff_slider_wrap.wp-block-group,
.sec_staff_slider_wrap.is-layout-flow {
	position:relative;
	margin-bottom:60px;
	width:100vw;
	margin-left:calc(-50vw + 50%);
}

/* ボタンラップ内のp余白リセット */
.sec_staff_btn_wrap p {
	margin:0;
	margin-block:0;
}


/* ============================================
   お問い合わせ連絡先: Gutenberg ネイティブ化
   dl/dt/dd → wp:group(flex) + wp:paragraph
============================================ */

/* sec_contact_info が wp-block-group になるので装飾を再適用 */
.sec_contact_info.wp-block-group,
.sec_contact_info.is-layout-flow {
	padding:40px;
	background:#fff;
	border:2px solid #ffc813;
	border-radius:15px;
}

/* 見出しのmargin-blockリセット */
.sec_contact_info h3,
.sec_contact_info .wp-block-heading {
	margin-block-start:0;
	margin-block-end:0;
	margin-bottom:25px;
}

/* 各行（dl代替）: flex横並び */
.sec_contact_info_row,
.sec_contact_info_row.wp-block-group,
.sec_contact_info_row.is-layout-flex {
	display:flex;
	align-items:flex-start;
	gap:0;
	margin-bottom:20px;
	font-size:16px;
}

/* 営業時間の上ボーダー */
.sec_contact_info_time,
.sec_contact_info_time.wp-block-group {
	padding-top:20px;
	border-top:2px dotted #ffc813;
}

/* dt代替 */
p.sec_contact_info_dt {
	margin:0;
	margin-block:0;
	font-weight:600;
	color:#666;
	width:110px;
	flex-shrink:0;
}

/* dd代替 */
p.sec_contact_info_dd {
	margin:0;
	margin-block:0;
	color:#333;
}
p.sec_contact_info_dd a {
	color:#333;
	text-decoration:none;
}
p.sec_contact_info_dd a:hover {
	color:#ffa500;
}

@media screen and (max-width:768px) {
	.sec_contact_info.wp-block-group,
	.sec_contact_info.is-layout-flow {
		padding:30px 5%;
	}
	.sec_contact_info_row,
	.sec_contact_info_row.wp-block-group,
	.sec_contact_info_row.is-layout-flex {
		flex-direction:column;
		margin-bottom:20px;
		font-size:4vw;
	}
	p.sec_contact_info_dt {
		margin-bottom:5px;
		width:100%;
	}
}
