@charset "UTF-8";

/* =======================================

	Style Contents CSS

	Last Update 2026.02.27
========================================== */

/* ------------------------------------------------------------------------
	Home CSS

	------ INDEX ------
	1. Top Image [Last Update 2026.02.27]
		1-1. Top Image --Medium only-- [Last Update 2026.02.27]
		1-2. Top Image --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Top Image [Last Update 2026.02.27]
========================================== */
main #topimage {
	background: url(.assets/ogimage.png) right bottom / cover no-repeat;
	min-width: 100%;
	min-height: 850px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 auto;
	padding: 0;
}

main #topimage h1 {
	background: url(.assets/top_img_h1.png) center bottom no-repeat;
	width: 1440px;
	height: 0;
	margin: 0 auto;
	padding: 850px 0 0;
	overflow: hidden;
}
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 2dppx) {
	main #topimage h1 {
		background: url(.assets/top_img_h1@2x.png) center bottom / 1440px 850px no-repeat;
	}
}

/* 1-1. Top Image --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1024px) {
	main #topimage {
		min-height: 614px;
	}
	main #topimage h1 {
		background-size: 1024px auto;
		width: 1024px;
		padding: 614px 0 0;
	}
}

/* 1-2. Top Image --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	main #topimage {
		min-height: 453px;
	}
	main #topimage h1 {
		background-size: 768px auto;
		width: 768px;
		padding: 453px 0 0;
	}
}

@media screen and (max-width: 480px) {
	main #topimage {
		min-height: 283px;
	}
	main #topimage h1 {
		background-size: 480px auto;
		width: 480px;
		padding: 283px 0 0;
	}
}


/* ------------------------------------------------------------------------
	Content CSS

	------ INDEX ------
	1. Page Image [Last Update 2026.02.27]
                              1-1. Page Image --Medium only-- [Last Update 2026.02.27]
		1-1. Page Image --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Page Image [Last Update 2026.02.27]
========================================== */
main #pageimage {
	background: url(.assets/page-image.png) right bottom / cover no-repeat;
	min-width: 100%;
	min-height: 200px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 auto 10px;
	padding: 0;
}
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-moz-min-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
	main #pageimage {
		background: url(.assets/page-image@2x.png) center bottom / 1440px 200px no-repeat;
	}
}

/* 1-1. Page Image --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1024px) {
	main .pageimage {
		min-height: 142px;
	}
}

/* 1-2. Page Image --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	main .pageimage {
		min-height: 107px;
	}
}

@media screen and (max-width: 480px) {
	main .pageimage {
		min-height: 67px;
	}
}


/* ------------------------------------------------------------------------
	Page : Strong Point CSS

	------ INDEX ------
	1. Strong Point [Last Update 2026.02.27]
                              1-1. Strong Point --Medium only-- [Last Update 2026.02.27]
		1-2. Strong Point --Small only-- [Last Update 2026.02.27]
	2. Strong Point Top [Last Update 2026.02.27]
                              2-1. Strong Point Top --Medium only-- [Last Update 2026.02.27]
		2-2. Strong Point Top --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Strong Point [Last Update 2026.02.27]
---------------------------------------- */
.strong-point {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               max-width: 1200px;
               margin: 0 auto;
}

.strong-point-card {
               flex: 0 0 calc((100% - 60px) / 2);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 6px;
               padding: 30px;
               display: flex;
               flex-direction: column;
               gap: 30px;
               background: rgba(255, 255, 255, 1);
               box-sizing: border-box;
}

.strong-point-card-header {
               display: flex;
               gap: 30px;
}

.strong-point-card-image img {
               width: 200px;
               height: 200px;
               object-fit: cover;
               display: block;
}

.strong-point-card-title {
               display: flex;
               flex-direction: column;
               gap: 20px;
               flex: 1;
}

.strong-point-label img {
               width: 278px;
               height: auto;
               display: block;
}

.strong-point-card-lead {
               margin: 0;
               font-size: 20px;
               line-height: 1.6;
}

/* 本文 */
.strong-point-card-text {
               margin: 0;
               font-size: 16px;
               line-height: 1.8;
}

/* 1-1. Strong Point --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.strong-point {
		padding: 0 15px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1180px) {
	.strong-point-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
	.strong-point-card-image img {
		width: 180px;
		height: 180px;
	}

	.strong-point-label img {
		width: 260px;
	}
}

@media screen and (max-width: 1130px) {
	.strong-point-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
	.strong-point-card-image img {
		width: 170px;
		height: 170px;
	}

	.strong-point-label img {
		width: 250px;
	}
}

@media screen and (max-width: 1024px) {
	.strong-point {
		padding: 0 15px;
		gap: 40px;
	}

	.strong-point-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
		padding: 25px;
	}

	.strong-point-card-header {
		gap: 20px;
	}

	.strong-point-card-image img {
		width: 140px;
		height: 140px;
	}

	.strength-label img {
		width: 200px;
	}

	.strong-point-card-lead {
		font-size: 18px;
	}

}

/* 1-2. Strong Point --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media (max-width: 768px) {

	.strong-point {
		padding: 0 10px;
		gap: 30px;
	}

	.strong-point-card {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 25px 20px;
	}

	/* ヘッダー縦並び */
	.strong-point-card-header {
		flex-direction: column;
		gap: 20px;
	}

	.strong-point-card-image img {
		width: 100%;
		height: auto;
	}

	.strength-label img {
		width: 200px;
	}

	.strong-point-card-lead {
		font-size: 17px;
	}

}

/* 2. Strong Point Top [Last Update 2026.02.27]
---------------------------------------- */
.strong-point-top {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               max-width: 1200px;
               margin: 0 auto 60px;
}

.strong-point-top-card {
               flex: 0 0 calc((100% - 60px) / 2);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 6px;
               padding: 30px;
               background: rgba(255, 255, 255, 1);
               box-sizing: border-box;
}

.strong-point-top-card-header {
               display: flex;
               gap: 30px;
}

.strong-point-top-card-image img {
               width: 200px;
               height: 200px;
               object-fit: cover;
               display: block;
}

.strong-point-top-card-title {
               display: flex;
               flex-direction: column;
               gap: 20px;
               flex: 1;
}

.strong-point-top-label img {
               width: 278px;
               height: auto;
               display: block;
}

.strong-point-top-card-lead {
               margin: 0;
               font-size: 20px;
               line-height: 1.6;
}

/* 1-1. Strong Point Top --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.strong-point-top {
		padding: 0 15px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1180px) {
	.strong-point-top-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
	.strong-point-top-card-image img {
		width: 180px;
		height: 180px;
	}

	.strong-point-top-label img {
		width: 260px;
	}
}

@media screen and (max-width: 1130px) {
	.strong-point-top-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
	.strong-point-top-card-image img {
		width: 170px;
		height: 170px;
	}

	.strong-point-top-label img {
		width: 250px;
	}
}

@media screen and (max-width: 1024px) {
	.strong-point-top {
		padding: 0 15px;
		gap: 40px;
	}

	.strong-point-top-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
		padding: 25px;
	}

	.strong-point-top-card-header {
		gap: 20px;
	}

	.strong-point-top-card-image img {
		width: 140px;
		height: 140px;
	}

	.strong-point-top-label img {
		width: 200px;
	}

	.strong-point-top-card-lead {
		font-size: 18px;
	}

}

/* 1-2. Strong Point Top --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.strong-point-top {
		padding: 0 10px;
		gap: 30px;
	}

	.strong-point-top-card {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 25px 20px;
	}

	/* ヘッダー縦並び */
	.strong-point-top-card-header {
		flex-direction: column;
		gap: 20px;
	}

	.strong-point-top-card-image img {
		width: 100%;
		height: auto;
	}

	.strong-point-top-label img {
		width: 200px;
	}

	.strong-point-top-card-lead {
		font-size: 17px;
	}

}


/* ------------------------------------------------------------------------
	Page : Customer CSS

	------ INDEX ------
	1. Customer [Last Update 2026.02.27]
                              1-1. Customer --Medium only-- [Last Update 2026.02.27]
		1-2. Customer --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Customer [Last Update 2026.02.27]
---------------------------------------- */
.customer {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               max-width: 1200px;
               margin: 0 auto;
}

/* 3列タイル */
.customer-card {
               flex: 0 0 calc((100% - 120px) / 3);
               background: rgba(255, 255, 255, 1);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 8px;
               padding: 30px;
               display: flex;
               flex-direction: column;
               gap: 20px;
               box-sizing: border-box;
}

.customer-head {
               display: flex;
               align-items: center;
               gap: 20px;
}

.customer-label {
               font-size: 22px;
               font-weight: 700;
               letter-spacing: 2px;
               color: rgba(119, 119, 119, 1);
}

.customer-num {
               width: 100px;
               height: 100px;
               background: rgba(170, 213, 255, 1);
               border-radius: 50%;
               display: flex;
               align-items: center;
               justify-content: center;
               font-size: 60px;
               line-height: 0;
               font-weight: 900;
               color: rgba(85, 170, 255, 1);
               text-box: trim-both cap alphabetic;
}
.customer-title {
               font-size: 18px;
               font-weight: 700;
               line-height: 1.6;
               margin: 0;
}

/* 1-1. Customer --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.customer {
		padding: 0 15px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1180px) {
	.customer-card {
		flex: 0 0 calc((100% - 120px) / 3);
		max-width: calc((100% - 120px) / 3);
	}
}

@media screen and (max-width: 1130px) {
	.customer-card {
		flex: 0 0 calc((100% - 120px) / 3);
		max-width: calc((100% - 120px) / 3);
	}
	.customer-label {
		font-size: 20px;
	}
	.customer-num {
		width: 90px;
		height: 90px;
		font-size: 50px;
	}
}

@media screen and (max-width: 1024px) {
	.customer {
		padding: 0 15px;
		gap: 40px; /* 2列用gap */
	}
	.customer-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
	.customer-label {
		font-size: 18px;
	}
	.customer-num {
		width: 80px;
		height: 80px;
		font-size: 40px;
	}
}

/* 1-2. Customer --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.customer {
		padding: 0 10px;
	}
	.customer-card {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.customer-label {
		font-size: 16px;
		letter-spacing: 1px;
	}
	.customer-num {
		width: 70px;
		height: 70px;
		font-size: 30px;
	}
}


/* ------------------------------------------------------------------------
	Page : Insurance CSS

	------ INDEX ------
	1. Insurance Buttons [Last Update 2026.02.27]
                              1-1. Insurance Buttons --Medium only-- [Last Update 2026.02.27]
		1-2. Insurance Buttons --Small only-- [Last Update 2026.02.27]
	2. Insurance Products [Last Update 2026.02.27]
                              2-1. Insurance Products --Medium only-- [Last Update 2026.02.27]
		2-2. Insurance Products --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Insurance Buttons [Last Update 2026.02.27]
---------------------------------------- */
.insurance-buttons {
               max-width: 1200px;
               margin: 0 auto;
}

.insurance-buttons.insurance-buttons-top {
               margin: 0 auto 60px;
}

.insurance-buttons ul {
               display: flex;
               flex-wrap: wrap;
               justify-content: flex-start;
               gap: 30px;
               margin: 0;
               padding: 0;
               list-style: none;
}

.insurance-buttons li {
               flex: 0 0 auto;
               width: 380px;
               margin: 0;
               padding: 0;
}

/* ボタン本体 */
.insurance-buttons a {
               display: inline-flex;
               align-items: center;
               justify-content: space-between;
               gap: 10px;

               width: 100%;
               height: 100px;
               padding: 0 20px;

               font-size: 18px;
               font-weight: 700;
               text-decoration: none;

               border-radius: 6px;
               outline: 1px solid rgba(0, 0, 0, 1);
               outline-offset: -1px;
               background: rgba(255, 255, 255, 1);
               color: rgba(0, 0, 0, 1);

               transition: all 0.3s ease;
               box-sizing: border-box;
}

/* 左丸アイコン */
.insurance-buttons .insurance-icon {
               width: 70px;
               height: 70px;
               border-radius: 50%;
               background: rgba(170, 213, 255, 1);

               display: flex;
               align-items: center;
               justify-content: center;

               flex-shrink: 0;
               transition: background 0.3s ease, transform 0.3s ease;
}

.insurance-buttons .insurance-icon img {
               width: 70px;
               height: auto;
               display: block;
               filter: brightness(0) invert(1);
}

/* テキスト */
.insurance-buttons .label {
               flex: 1;
               text-align: left;
}

/* 右矢印丸 */
.insurance-buttons .arrow-icon {
               width: 24px;
               height: 24px;
               border-radius: 50%;
               background: rgba(85, 170, 255, 1);

               display: flex;
               align-items: center;
               justify-content: center;

               flex-shrink: 0;
               transition: background 0.3s ease, transform 0.3s ease;
}

.insurance-buttons .arrow-icon img {
               width: 24px;
               height: auto;
               display: block;
               filter: brightness(0) invert(1);
}

/* hover */
.insurance-buttons a:hover,
.insurance-buttons a:focus {
               background: rgba(212, 234, 255, 1);
               outline: 2px solid rgba(85, 170, 255, 1);
               outline-offset: -2px;
               color: rgba(45, 130, 220, 1);
}

.insurance-buttons a:hover .arrow-icon {
               background: rgba(85, 170, 255, 1);
               transform: translateX(3px);
}

.insurance-buttons a:active {
               box-shadow: inset 0 3px 4px rgba(0,0,0,0.2);
}

/* 1-1. Insurance Buttons --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.insurance-buttons {
		padding: 0 15px;
		box-sizing: border-box;
	}
	.insurance-buttons li {
		width: calc((100% - 60px) / 3);
	}
}

@media screen and (max-width: 1180px) {

	.insurance-buttons li {
		width: calc((100% - 60px) / 3);
	}

}

@media screen and (max-width: 1130px) {
	.insurance-buttons li {
		width: calc((100% - 60px) / 3);
	}
	/* 文字が詰まりやすいので微調整 */
	.insurance-buttons .label {
		font-size: 17px;
	}
	.insurance-buttons .insurance-icon {
		width: 65px;
		height: 65px;
	}
	.insurance-buttons .insurance-icon img {
		width: 60px;
	}
}

@media screen and (max-width: 1024px) {
	.insurance-buttons {
		padding: 0 15px;
	}
	.insurance-buttons ul {
		gap: 20px;
	}
	.insurance-buttons li {
		width: calc((100% - 40px) / 3);
	}
	.insurance-buttons a {
		height: 95px;
		font-size: 16px;
	}
	.insurance-buttons .insurance-icon {
		width: 60px;
		height: 60px;
	}
	.insurance-buttons .insurance-icon img {
		width: 50px;
	}
}

/* 1-2. Insurance Buttons --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.insurance-buttons {
		padding: 0 10px;
	}
	.insurance-buttons ul {
		gap: 20px;
	}
	.insurance-buttons li {
		width: 100%;
	}
	.insurance-buttons a {
		height: 85px;
		font-size: 16px;
	}
	.insurance-buttons .insurance-icon {
		width: 55px;
		height: 55px;
	}
	.insurance-buttons .insurance-icon img {
		width: 45px;
	}
}

/* 2. Insurance Products [Last Update 2026.02.27]
---------------------------------------- */
.insurance-products {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	max-width: 1200px;
	margin: 0 auto 60px;
	box-sizing: border-box;
}

/* 2列 */
.insurance-products-card {
	flex: 0 0 calc((100% - 60px) / 2);
	max-width: calc((100% - 60px) / 2);
	border: 1px solid rgba(0, 0, 0, 1);
	border-radius: 8px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	background: rgba(255, 255, 255, 1);
	box-sizing: border-box;
}

/* タイトル */
.insurance-products-card h3 {
	margin: 0;
	font-size: 20px;
	line-height: 1.6;
	font-weight: 700;
	color: rgba(0, 0, 0, 1);
}

/* ロゴボックス */
.insurance-products-logo {
	background: rgba(248, 248, 248, 1);
	border-radius: 8px;
	padding: 0;
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	align-items: center;
}

/* ロゴ画像 */
.insurance-products-img {
	margin: 0;
}

.insurance-products-img img {
	max-width: 100%;
	height: auto;
	display: block;
}

.insurance-products-card .link-buttons {
	margin-top: auto;
	margin-bottom: 0;
}

/* 2-1. Insurance Products --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.insurance-products {
		padding: 0 15px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1180px) {
	.insurance-products-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
}

@media screen and (max-width: 1130px) {
	.insurance-products-card {
		flex: 0 0 calc((100% - 60px) / 2);
		max-width: calc((100% - 60px) / 2);
	}
	.insurance-products-card h3 {
		font-size: 18px;
		line-height: 1.5;
	}
	.insurance-products-img img {
		max-height: 120px;
		width: auto;
	}

}

@media screen and (max-width: 1024px) {

	.insurance-products {
		padding: 0 15px;
		gap: 40px;
	}

	.insurance-products-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}

	.insurance-products-card h3 {
		font-size: 17px;
		line-height: 1.5;
	}

	.insurance-products-img img {
		max-height: 110px;
	}

}

/* 2-2. Insurance Products --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.insurance-products {
		padding: 0 10px;
		gap: 30px;
	}
	.insurance-products-card {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.insurance-products-card h3 {
		font-size: 16px;
		line-height: 1.4;
	}
	.insurance-products-img img {
		max-height: 100px;
	}
}


/* ------------------------------------------------------------------------
	Page : Contact Us CSS

	------ INDEX ------
	1. Contact Us [Last Update 2026.02.27]
                              1-1. Contact Us --Medium only-- [Last Update 2026.02.27]
		1-2. Contact Us --Small only-- [Last Update 2026.02.27]
	1. Contact Buttons [Last Update 2026.02.27]
                              1-1. Contact Buttons --Medium only-- [Last Update 2026.02.27]
		1-2. Contact Buttons --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Contact Us [Last Update 2026.02.27]
---------------------------------------- */
.contact-us {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}

.contact-us p {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 1.6;
	text-align: center;
}
.contact-us p.margin-none {
	margin: 0;
}

.contact-us figure {
	margin: 0 0 20px;
}

.contact-us figure img {
	width: 320px;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	transition: opacity 0.3s ease;
}

.contact-us figure a:hover img {
	opacity: 0.7;
}

/* 1-1. Contact Us --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.contact-us {
		padding: 0 40px;
	}
	.contact-us p {
		font-size: 17px;
	}
	.contact-us figure img {
		width: 300px;
	}
}

@media screen and (max-width: 1130px) {
	.contact-us {
		padding: 0 30px;
	}
	.contact-us p {
		font-size: 16px;
	}
	.contact-us figure img {
		width: 280px;
	}
}

@media screen and (max-width: 1024px) {
	.contact-us {
		padding: 0 20px;
	}
	.contact-us p {
		font-size: 16px;
	}
	.contact-us figure img {
		width: 260px;
	}
}

/* 1-2. Contact Us --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.contact-us {
		padding: 0 10px;
	}
	.contact-us p {
		font-size: 15px;
		margin-bottom: 15px;
	}
	.contact-us figure {
		margin-bottom: 15px;
	}
	.contact-us figure img {
		width: 85%;
		max-width: 260px;
	}
}

/* 2. Contact Buttons [Last Update 2026.02.27]
---------------------------------------- */
.contact-nav {
               max-width: 1200px;
               margin: 0 auto;
}

.contact-nav ul {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               padding: 0;
               margin: 0;
               list-style: none;
}

/* 3列 */
.contact-nav li {
               flex: 0 0 calc((100% - 120px) / 3);
               padding: 0;
               margin: 0;
}

/* ボタン本体 */
.contact-nav a {
               position: relative;
               display: flex;
               align-items: center;
               justify-content: center;

               height: 110px;
               padding: 0 40px;
               text-decoration: none;

               background: rgba(170, 213, 255, 1);
               border-radius: 6px;

               color: rgba(85, 170, 255, 1);
               box-sizing: border-box;
               transition: all 0.3s ease;
}

/* 左右の縦線 */
.contact-nav a::before,
.contact-nav a::after {
               content: "";
               position: absolute;
               top: 15%;
               width: 1px;
               height: 70%;
               background: rgba(255, 255, 255, 1);
}

.contact-nav a::before {
               left: 15px;
}

.contact-nav a::after {
               right: 15px;
}

/* 内部レイアウト */
.contact-nav .inner {
               display: flex;
               align-items: center;
               gap: 10px;
}

/* アイコン */
.contact-nav .icon img {
               width: 28px;
               height: auto;
               display: block;
}

/* テキスト */
.contact-nav .text {
               font-size: 26px;
               font-weight: 700;
               line-height: 1.2;
}
.contact-nav .text2 {
               font-size: 30px;
}

/* hover */
.contact-nav a:hover {
               background: rgba(170, 213, 255, 0.5);
}
.contact-nav a:hover::before,
.contact-nav a:hover::after {
               width: 6px;
               background: rgba(255, 255, 255, 1);
}

.contact-nav a:active {
               box-shadow: inset 0 3px 4px rgba(0,0,0,0.2);
}

/* 2-1. Contact Buttons --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.contact-nav {
		padding: 0 15px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1180px) {
	.contact-nav li {
		flex: 0 0 calc((100% - 120px) / 3);
		max-width: calc((100% - 120px) / 3);
	}
	.contact-nav .text {
		font-size: 22px;
	}
	.contact-nav .text2 {
		font-size: 24px;
	}
	.contact-nav .icon img {
		width: 24px;
	}
}

@media screen and (max-width: 1130px) {
	.contact-nav li {
		flex: 0 0 calc((100% - 120px) / 3);
		max-width: calc((100% - 120px) / 3);
	}
	.contact-nav .text {
		font-size: 22px;
	}
	.contact-nav .text2 {
		font-size: 24px;
	}
	.contact-nav .icon img {
		width: 24px;
	}
}

@media screen and (max-width: 1024px) {
	.contact-nav li {
		flex: 0 0 calc((100% - 120px) / 3);
		max-width: calc((100% - 120px) / 3);
	}
	.contact-nav .text {
		font-size: 18px;
	}
	.contact-nav .text2 {
		font-size: 20px;
	}
	.contact-nav .icon img {
		width: 20px;
	}
}

/* 2-2. Contact Buttons --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.contact-nav {
		padding: 0 10px;
	}
	.contact-nav ul {
		gap: 15px;
	}
	.contact-nav li {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.contact-nav a {
		height: 85px;
		padding: 0 20px;
	}
	.contact-nav .text {
		font-size: 20px;
	}
	.contact-nav .text2 {
		font-size: 22px;
	}
	.contact-nav .icon img {
		width: 22px;
	}
}


/* ------------------------------------------------------------------------
	Page : Questions CSS

	------ INDEX ------
	1. Questions [Last Update 2026.02.27]
                              1-1. Contact Buttons --Medium only-- [Last Update 2026.02.27]
		1-2. Contact Buttons --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Questions [Last Update 2026.02.27]
---------------------------------------- */
.questions {
               max-width: 1200px;
               margin: 0 auto;
               padding: 30px;
               background: rgba(255, 255, 255, 1);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 12px;
               box-sizing: border-box;
}
.questions.questions-top {
               margin: 0 auto 60px;
}

.questions-list {
               display: flex;
               flex-wrap: wrap;
               gap: 40px;
               margin: 0;
               padding: 0;
               list-style: none;
}

.questions-item {
    flex: 0 0 calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
               margin: 0;
               padding: 0;
}

.questions-inner {
               display: flex;
               align-items: flex-start;
               gap: 20px;
               margin: 0;
               padding: 0;
}

/* 丸アイコン */
.questions-icon {
               flex-shrink: 0;
               flex: 0 0 70px;
               width: 70px;
               height: 70px;
               border-radius: 50%;

               display: flex;
               align-items: center;
               justify-content: center;

               font-size: 45px;
               font-weight: 900;
}

.q-icon {
               background: rgba(85, 170, 255, 1);
               color: rgba(255, 255, 255, 1);
}

.a-icon {
               background: rgba(170, 213, 255, 1);
               color: rgba(45, 130, 220, 1);
}

/* テキスト */
.questions-text {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;   /* ← これが重要 */
}
.questions-text p.q-text {
	font-weight: 700;
}

/* 1-1. Questions --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1200px) {
	.questions {
		padding: 30px 15px;
	}
	.questions-item {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
}

@media screen and (max-width: 1180px) {
	.questions {
		width: auto;
		max-width: none;
		margin: 0 15px;
		padding: 30px 15px;
	}
}

@media screen and (max-width: 1130px) {
	.questions {
		width: auto;
		max-width: none;
		margin: 0 15px;
		padding: 30px 15px;
	}
	.questions-text {
		width: 100%;
		flex: 1 1 auto;
	}
	.questions-icon {
		width: 64px;
		height: 64px;
		font-size: 40px;
	}

}

@media screen and (max-width: 1024px) {
	.questions {
		padding: 25px 15px;
	}
	.questions-list {
		gap: 40px;
	}
	.questions-item {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
	.questions-icon {
		width: 56px;
		height: 56px;
		font-size: 34px;
	}

}

/* 1-2. Questions --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.questions {
		padding: 20px 10px;
	}
	.questions-list {
		gap: 30px;
	}
	.questions-item {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.questions-icon {
		width: 52px;
		height: 52px;
		font-size: 30px;
	}
	.questions-text {
		font-size: 15px;
		line-height: 1.6;
	}
}


/* ------------------------------------------------------------------------
	Page : About Us CSS

	------ INDEX ------
	1. About Us [Last Update 2026.02.27]
                              1-1. About Us --Medium only-- [Last Update 2026.02.27]
		1-2. About Us --Small only-- [Last Update 2026.02.27]
	2. About Us Top [Last Update 2026.02.27]
                              2-1. About Us Top --Medium only-- [Last Update 2026.02.27]
		2-2. About Us Top --Small only-- [Last Update 2026.02.27]
               3. Philosophy / Policy [Last Update 2026.02.27]
                              3-1. Philosophy / Policy --Medium only-- [Last Update 2026.02.27]
                              3-2. Philosophy / Policy --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. About Us [Last Update 2026.02.27]
---------------------------------------- */

.about-us {
	max-width: 1200px;
	margin: 0 auto 40px;
	box-sizing: border-box;
}

/* =========================
   第1ブロック（概要）
========================= */

.about-us-inner {
	display: flex;
	gap: 60px;
	margin-bottom: 60px;
}

/* 左 */
.about-us-left {
	flex: 0 0 350px;
}

.about-us-left figure {
	margin: 0;
}

.about-us-left img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	background: rgba(240, 240, 240, 1);
}

/* 右（※中身の装飾は触らない） */
.about-us-right {
	flex: 1 1 auto;
}


/* =========================
   第2ブロック（Google Map）
========================= */

.about-us iframe {
	width: 100%;
	height: 742px;
	border: 0;
	display: block;
	margin: 0 0 30px 0;
	border-radius: 6px;
	overflow: hidden;
	background: rgba(240, 240, 240, 1);
}


/* =========================
   第3ブロック（ギャラリー）
========================= */

.about-us-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* 3列 */
.gallery-item {
	flex: 0 0 calc((100% - 60px) / 3);
	box-sizing: border-box;
}

/* 画像 */
.gallery-item figure {
	margin: 0;
}

.gallery-item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	background: rgba(240, 240, 240, 1);
}


/* 1-1. About Us --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.about-us {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.about-us-left {
		flex: 0 0 320px;
	}
	.profile-list dt {
		font-size: 15px;
	}
	.profile-list dd {
		font-size: 15px;
	}
}

@media screen and (max-width: 1024px) {
	.about-us-inner {
		display: flex;
		flex-direction: row;
		gap: 40px;
	}
	.about-us-left {
		flex: 0 0 280px;
	}
	.about-us-right {
		flex: 1 1 auto;
	}
	.about-us iframe {
		height: 500px;
	}
	.about-us-gallery {
		gap: 30px;
	}
	.gallery-item {
		flex: 0 0 calc((100% - 60px) / 3);
	}

}

/* 1-2. About Us --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.about-us-inner {
		flex-direction: column;
		gap: 30px;
	}
	.about-us-left,
	.about-us-right {
		flex: 0 0 100%;
	}
	.about-us-left img {
		max-width: 100%;
		height: auto;
	}
	.about-us iframe {
		height: 350px;
	}
	.gallery-item {
		flex: 0 0 100%;
	}

}

/* 2. About Us Top [Last Update 2026.02.27]
---------------------------------------- */

.about-us-top {
               max-width: 1200px;
               margin: 0 auto 60px;
               box-sizing: border-box;
}

.about-us-top-inner {
               display: flex;
               gap: 60px;
}

/* =========================
   左カラム（350px固定）
========================= */

.about-us-top-left {
               flex: 0 0 350px;
               display: flex;
               flex-direction: column;
               gap: 20px;
}

.about-us-top-left figure {
               margin: 0;
}

.about-us-top-left img {
               width: 100%;
               height: auto;
               display: block;
               border-radius: 6px;
               background: rgba(240, 240, 240, 1);
}

/* 住所テキスト */
.about-us-top-left p {
               margin: 0;
               font-size: 15px;
               line-height: 1.8;
               color: rgba(0, 0, 0, 1);
}

/* アクセスリスト */
.about-us-top-left ul {
               margin: 0;
               padding: 0; 
               list-style: none;
}

.about-us-top-left li {
               margin: 0;
               padding: 0;
               font-size: 14px;
               line-height: 1.8;
               color: rgba(0, 0, 0, 1);
}

/* =========================
   右カラム（790px固定）
========================= */

.about-us-top-right {
               flex: 0 0 790px;
               height: 560px;
               border-radius: 6px;
               overflow: hidden;
               background: rgba(240, 240, 240, 1);
}

.about-us-top-right iframe {
               width: 100%;
               height: 100%;
               border: 0;
               display: block;
}

/* 2-1. About Us Top --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.about-us-top {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
	.about-us-top-right {
		flex: 1 1 auto;	 /* 固定790pxを解除 */
		min-width: 0;	   /* ← これ重要 */
		height: 560px;
	}

	.about-us-top-right iframe {
		width: 100%;
		height: 100%;
		display: block;
	}
}

@media screen and (max-width: 1130px) {
	.about-us-top-left {
		flex: 0 0 320px;
	}
	.about-us-top-left li {
		font-size: 13px;
		line-height: 1.7;
	}
}

@media screen and (max-width: 1024px) {
	.about-us-top-inner {
		display: flex;
		flex-direction: row;
		gap: 40px;
	}
	.about-us-top-left {
		flex: 0 0 280px;
	}
	.about-us-top-right {
		flex: 1 1 auto;
		height: 480px;
	}
	.about-us-top-left img {
		width: 100%;
		height: auto;
	}

}

/* 2-2. About Us Top --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {

	.about-us-top-inner {
		flex-direction: column;
		gap: 30px;
	}

	.about-us-top-left,
	.about-us-top-right {
		flex: 0 0 100%;
		width: 100%;
	}

	.about-us-top-left img {
		width: 100%;
		height: auto;
	}

	.about-us-top-left li {
		font-size: 14px;
	}

	.about-us-top-right {
		height: 320px;
	}

}


/* 3. Philosophy / Policy [Last Update 2026.02.27]
---------------------------------------- */
.philosophy-policy {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               max-width: 1200px;
               margin: 0 auto;
               box-sizing: border-box;
}

/* 2列 */
.philosophy-policy-card {
               flex: 0 0 calc((100% - 60px) / 2);
               background: rgba(255, 255, 255, 1);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 8px;
               padding: 30px;
               box-sizing: border-box;
}

/* 見出し */
.philosophy-policy-card h3 {
               margin: 0 0 20px 0;
               font-size: 20px;
               font-weight: 700;
               color: rgba(0, 0, 0, 1);
}

/* リスト */
.philosophy-policy-card ul {
               margin: 0;
               padding: 0;
               list-style: none;
}

.philosophy-policy-card li {
               margin: 0 0 12px 0;
               padding: 0;
               font-size: 16px;
               line-height: 1.8;
               color: rgba(0, 0, 0, 1);
}

/* 3-1. Philosophy / Policy --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.philosophy-policy {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.philosophy-policy-card h3 {
		font-size: 18px;
	}
	.philosophy-policy-card li {
		font-size: 15px;
		line-height: 1.7;
	}
}

@media screen and (max-width: 1024px) {
	.philosophy-policy {
		gap: 40px;
	}
	.philosophy-policy-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
	.philosophy-policy-card h3 {
		font-size: 18px;
	}
	.philosophy-policy-card li {
		font-size: 15px;
	}
}

/* 3-2. Philosophy / Policy --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.philosophy-policy {
		gap: 30px;
	}
	.philosophy-policy-card {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 30px 20px;
	}
	.philosophy-policy-card h3 {
		font-size: 17px;
	}
	.philosophy-policy-card li {
		font-size: 14px;
		line-height: 1.6;
	}
}


/* ------------------------------------------------------------------------
	Page : Greeting CSS

	------ INDEX ------
	1. Greeting [Last Update 2026.02.27]
                              1-1. Greeting --Medium only-- [Last Update 2026.02.27]
		1-2. Greeting --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Greeting [Last Update 2026.02.27]
---------------------------------------- */
.greeting {
               max-width: 1200px;
               margin: 0 auto;
               box-sizing: border-box;
}

.greeting-inner {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
}

.greeting-left {
               flex: 0 0 380px;
}

.greeting-left figure {
               margin: 0;
}

.greeting-left img {
               width: 380px;
               height: 380px;
               object-fit: cover;
               display: block;
               border-radius: 6px;
               background: rgba(240, 240, 240, 1);
}

.greeting-right {
               flex: 1 1 0;
               min-width: 0;
}

.greeting-text p {
               margin: 0 0 20px 0;
               font-size: 16px;
               line-height: 1.9;
               color: rgba(0, 0, 0, 1);
}

.greeting-text .lead {
               font-size: 18px;
               font-weight: 700;
}

.greeting-signature {
               text-align: right;
               margin-top: 30px;
}


/* 1-1. Greeting --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.greeting {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.greeting-left {
		flex: 0 0 340px;
	}
	.greeting-left img {
		width: 340px;
		height: 340px;
	}
	.lead {
		font-size: 17px;
		line-height: 1.7;
	}

}

@media screen and (max-width: 1024px) {
	.greeting-inner {
		display: flex;
		flex-direction: row;
		gap: 40px;
	}
	.greeting-left {
		flex: 0 0 300px;
	}
	.greeting-left img {
		width: 300px;
		height: 300px;
	}
	.lead {
		font-size: 16px;
	}
}

/* 1-2. Greeting --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.greeting-inner {
		flex-direction: column;
		gap: 30px;
	}
	.greeting-left,
	.greeting-right {
		flex: 0 0 100%;
		width: 100%;
	}
	.greeting-left img {
		width: 100%;
		max-width: 360px;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.lead {
		font-size: 16px;
		line-height: 1.6;
	}
}


/* ------------------------------------------------------------------------
	Page : Staff CSS

	------ INDEX ------
	1. Staff [Last Update 2026.02.27]
                              1-1. Staff --Medium only-- [Last Update 2026.02.27]
		1-2. Staff --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Staff [Last Update 2026.02.27]
---------------------------------------- */
.staff {
               max-width: 1200px;
               margin: 0 auto;
               box-sizing: border-box;
}

/* 横2列 */
.staff-inner {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
}

/* カード */
.staff-card {
               flex: 0 0 calc((100% - 60px) / 2);
               max-width: calc((100% - 60px) / 2);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 8px;
               padding: 30px;
               display: flex;
               flex-direction: column;
               gap: 20px;
               background: rgba(255, 255, 255, 1);
               box-sizing: border-box;
}

/* タイトル */
.staff-card h3 {
               margin: 0;
               font-size: 20px;
               font-weight: 700;
               color: rgba(0, 0, 0, 1);
}

/* 強調文 */
.staff-card p em {
               font-weight: 700;
               font-style: normal;
}

/* 本文 */
.staff-card p {
               margin: 0;
               font-size: 16px;
               line-height: 1.9;
               color: rgba(0, 0, 0, 1);
}

/* 1-1. Staff --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.staff {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.staff {
		margin-left: 15px;
		margin-right: 15px;
	}
	.staff-card h3 {
		font-size: 18px;
	}
	.staff-card p {
		font-size: 15px;
		line-height: 1.8;
	}
}

@media screen and (max-width: 1024px) {
	.staff {
		margin-left: 15px;
		margin-right: 15px;
	}
	.staff-inner {
		gap: 40px;
	}
	.staff-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
	.staff-card h3 {
		font-size: 18px;
	}
	.staff-card p {
		font-size: 15px;
	}
}

/* 1-2. Staff --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.staff-inner {
		gap: 30px;
	}
	.staff-card {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 30px 20px;
	}
	.staff-card h3 {
		font-size: 17px;
	}
	.staff-card p {
		font-size: 14px;
		line-height: 1.7;
	}

}


/* ------------------------------------------------------------------------
	Page : Sonsultations CSS

	------ INDEX ------
	1. Staff [Last Update 2026.02.27]
                              1-1. Staff --Medium only-- [Last Update 2026.02.27]
		1-2. Staff --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Sonsultations [Last Update 2026.02.27]
---------------------------------------- */
.sonsultations {
               display: flex;
               flex-wrap: wrap;
               gap: 60px;
               max-width: 1200px;
               margin: 0 auto;
               box-sizing: border-box;
}

/* 横2列 */
.sonsultation-card {
               flex: 0 0 calc((100% - 60px) / 2);
               max-width: calc((100% - 60px) / 2);
               background: rgba(255, 255, 255, 1);
               border: 1px solid rgba(0, 0, 0, 1);
               border-radius: 10px;
               padding: 30px;
               display: flex;
               flex-direction: column;
               gap: 20px;
               box-sizing: border-box;
}

/* STEPヘッダー */
.sonsultation-head {
               display: flex;
               align-items: center;
               gap: 20px;
}

.sonsultation-label {
               font-size: 20px;
               font-weight: 700;
               letter-spacing: 2px;
               color: rgba(120, 120, 120, 1);
}

.sonsultation-num {
               width: 100px;
               height: 100px;
               background: rgba(170, 213, 255, 1);
               border-radius: 50%;
               display: flex;
               align-items: center;
               justify-content: center;
               font-size: 52px;
               font-weight: 900;
               color: rgba(85, 170, 255, 1);
}

/* タイトル */
.sonsultation-card h3 {
               margin: 0;
               font-size: 20px;
}

/* 本文 */
.sonsultation-card p {
               margin: 0;
}
.sonsultation-card p.link-center {
               margin: 0 auto;
}

/* 画像 */
.sonsultation-card figure {
               margin: 0 auto;
}
.sonsultation-card figure a[href^="http:"],
.sonsultation-card figure a[href^="https:"] {
	background: none;
	padding: 0;
}

.sonsultation-card img {
               max-width: 100%;
               height: auto;
               display: block;
}

/* 1-1. Sonsultations --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.sonsultations {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.sonsultations {
		margin-left: 15px;
		margin-right: 15px;
	}
	.sonsultation-card h3 {
		font-size: 18px;
	}
	.sonsultation-card p {
		font-size: 15px;
		line-height: 1.8;
	}
	.sonsultation-num {
		width: 90px;
		height: 90px;
		font-size: 46px;
	}
}

@media screen and (max-width: 1024px) {
	.sonsultations {
		margin-left: 15px;
		margin-right: 15px;
		gap: 40px;
	}
	.sonsultation-card {
		flex: 0 0 calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}
	.sonsultation-card h3 {
		font-size: 18px;
	}
	.sonsultation-card p {
		font-size: 15px;
	}
}

/* 1-2. Sonsultations --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.sonsultations {
		gap: 30px;
	}
	.sonsultation-card {
		flex: 0 0 100%;
		max-width: 100%;
		padding: 30px 20px;
	}
	.sonsultation-card h3 {
		font-size: 17px;
	}
	.sonsultation-card p {
		font-size: 14px;
		line-height: 1.7;
	}
	.sonsultation-num {
		width: 80px;
		height: 80px;
		font-size: 36px;
	}
}


/* ------------------------------------------------------------------------
	Page : Companies CSS

	------ INDEX ------
	1. Companies [Last Update 2026.02.27]
                              1-1. Companies --Medium only-- [Last Update 2026.02.27]
		1-2. Companies --Small only-- [Last Update 2026.02.27]
-------------------------------------------------------------------------- */

/* 1. Companies [Last Update 2026.02.27]
---------------------------------------- */
.companies {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	max-width: 1054px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* PC：横3列 */

.companies-item {
	flex: 0 0 calc((100% - 120px) / 3);
	max-width: calc((100% - 120px) / 3);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* ロゴ */
.companies-item figure {
	margin: 0;
	width: 100%;
	text-align: center;
}

.companies-item img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}

/* 1-1. Companies --Medium only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 1180px) {
	.companies {
		margin-left: 15px;
		margin-right: 15px;
		max-width: none;
	}
}

@media screen and (max-width: 1130px) {
	.companies {
		margin-left: 15px;
		margin-right: 15px;
	}
	.companies-item img {
		max-width: 90%;
		height: auto;
	}
}

@media screen and (max-width: 1024px) {
	.companies {
		margin-left: 15px;
		margin-right: 15px;
		gap: 40px;
	}
	.companies-item img {
		max-width: 85%;
		height: auto;
	}
}

/* 1-2. Companies --Small only-- [Last Update 2026.02.27]
---------------------------------------- */
@media screen and (max-width: 768px) {
	.companies {
		gap: 30px;
	}
	.companies-item {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.companies-item img {
		max-width: 70%;
		height: auto;
	}
}