/* shared-bundled */
/* Reference geometry; local assets and confirmed shop information. */
.keyvisual--main{background:#e0edff;line-height:0;}.keyvisual--main picture{display:block;}.keyvisual--main img{display:block;width:100%;height:auto;}

				.stock-section{
					padding:60px 10px;
					background: linear-gradient(180deg, #005ecc, #0293c1), #1776cd;
				}
				.stock-inner{
					max-width:1200px;
					margin:0 auto;
				}
				.stock-head{
					text-align:center;
					margin-bottom:30px;
				}
				.stock-head h2{
					font-size:36px;
					margin:0 0 10px;
				}
				.stock-head p{
					margin:0;
					color:#666;
				}
				.stock-grid{
					display:grid;
					grid-template-columns:repeat(4,1fr);
					gap:24px;
				}
				.stock-card{
					display:block;
					text-decoration:none;
					color:#222;
					border-radius:14px;
					overflow:hidden;
					box-shadow:0 8px 24px rgba(0,0,0,0.08);
					transition:.25s;
					background:#fff;
				}
				.stock-card:hover{
					transform:translateY(-4px);
				}
				.stock-thumb{
					aspect-ratio:4 / 3;
					background:#f3f3f3;
				}
				.stock-thumb img{
					width:100%;
					height:100%;
					object-fit:cover;
					display:block;
				}
				.stock-noimage{
					display:flex;
					align-items:center;
					justify-content:center;
					height:100%;
					min-height:220px;
					color:#888;
					font-weight:bold;
				}
				.stock-body{
					padding:8px;
				}
				.stock-title{
					font-size:15px;
					font-weight:bold;
					margin-bottom:15px;
					line-height:1.3;
				}
				.stock-price{
					background: linear-gradient(180deg, #005ecc, #0293c1), #1776cd;
					padding:10px 12px;
					border-radius:10px;
					margin-bottom:14px;
				}
				.stock-price span{
					display:block;
					font-size:12px;font-weight:bold;
					color:#fff;
				}
				.stock-price strong{
					font-size:26px;
					color:#ffea30;
				}
				.stock-spec{
					list-style:none;
					padding:0;
					margin:0;
				}
				.stock-spec li{
					display:flex;
					justify-content:space-between;
					gap:10px;
					padding:8px 0;
					border-bottom:1px solid #eee;
					font-size:14px;
				}
				.stock-more{
					text-align:center;
					margin-top:28px;
				}
				.stock-more a{
					display:inline-block;
					background:#111;
					color:#fff;
					padding:14px 28px;
					border-radius:999px;
					text-decoration:none;
				}
				@media (max-width:1024px){
					.stock-grid{
						grid-template-columns:repeat(3,1fr);
					}
				}
				@media (max-width:768px){
					.stock-grid{
						grid-template-columns:repeat(2,1fr);
						gap:10px;
					}
				}
				@media (max-width:480px){
					.stock-grid{
						grid-template-columns:repeat(2,1fr);
					}
				}
			

.keyvisual .slide-wrapper {margin-top:200px;max-width:500px;}

				.wp-post {
					width:90%;
					position:relative;
					margin:10px auto;
					max-width:1000px;
					font-size:0; /* inline-blockの隙間対策 */
				}
				
				.wp-post-link {
					width:90%;
					text-align:center;
					margin:30px auto 60px;
					max-width:400px;
					padding:15px;
					background:#1776cd;
					color:#fff;
				}
				
				.wp-post-link a {
					color:#fff;font-weight:bold;font-size:16px;
				}
				
				.wp-post li {
					list-style:none;
					display:inline-block;
					vertical-align:top;
					font-size:14px; /* リセット */
				}
				
				.eyecatch {
					border:1px solid #000000;
					margin-bottom:20px;
				}
				
				.eyecatch > a > img {
					width:100%;
					vertical-align:top;
					height:auto;
				}
				
				.wp-post > article.wp-article p {
					display:none;
				}
				
				.wp-post > article.wp-article h3 {
					margin-bottom:30px;
				}
				
				.post_date {
					margin:5px 0;font-weight:bold;
				}
				.post_title {font-weight:bold;}
				
				/* =====================
   スマホ：2列
   ===================== */
				@media screen and (max-width:479px){
					.wp-post li {
						width:48%;
						margin-right:4%;
						margin-bottom:30px;
					}
					
					.wp-post li:nth-child(2n){
						margin-right:0;
					}
				}
				
				
				/* =====================
   PC：4列
   ===================== */
				@media screen and (min-width:480px){
					.wp-post li {
						width:22.75%;
						margin-right:3%;
					}
					
					.wp-post li:nth-child(4n){
						margin-right:0;
					}
				}




				.cm-minuma-lp .vision-block{
					padding:80px 20px;
					background:#ffea30;
				}
				
				.cm-minuma-lp .vision-block__inner{
					max-width:1100px;
					margin:auto;
				}
				
				/* VISION */
				
				.cm-minuma-lp .vision-block__bg-text{
					text-align:center;
					font-size:clamp(80px,12vw,180px);
					font-weight:900;
					letter-spacing:0.06em;
					margin-bottom:10px;
					line-height:1;
					
					background:#0b3a82;
					-webkit-background-clip:text;
					-webkit-text-fill-color:transparent;
				}
				
				/* キャプション */
				
				.cm-minuma-lp .vision-block__label{
					text-align:center;
					font-size:12px;
					letter-spacing:0.15em;
					color:#000;
					margin-bottom:24px;
				}
				
				/* タイトル */
				
				.cm-minuma-lp .vision-block__title{
					text-align:center;
					font-size:42px;
					font-weight:900;
					line-height:1.4;
					margin-bottom:10px;
				}
				
				.cm-minuma-lp .vision-block__title span{
					color:#d80000;
				}
				
				/* モットー */
				
				.cm-minuma-lp .vision-block__motto{
					display:flex;
					justify-content:center;
					gap:20px;
					margin-bottom:30px;
					flex-wrap:wrap;
				}
				
				.cm-minuma-lp .vision-block__motto-item{
					background:red;
					padding:12px 26px;
					border-radius:8px;
					font-size:28px;
					font-weight:900;
				color:#fff;  }
				
				/* リード */
				
				.cm-minuma-lp .vision-block__lead{
					text-align:center;
					font-size:20px;
					font-weight:700;
					margin-bottom:30px;
					line-height:1.8;
				}
				
				/* カード */
				
				.cm-minuma-lp .vision-block__card{
					background:#fff;
					border-radius:20px;
					padding:40px 20px;
					box-shadow:0 10px 40px rgba(0,0,0,0.08);
					border:1px solid #e5edf7;
					margin-bottom:40px;
				}



				
				/* テキスト */
				
				.cm-minuma-lp .vision-block__text{
					font-size:18px;
					line-height:1.5;
					margin-bottom:20px;font-weight:bold;
				}
				
				.cm-minuma-lp .vision-block__negative{
					color:#d80000;
					font-weight:900;
					font-size:22px;
				}
				
				.cm-minuma-lp .vision-block__highlight{
					background:linear-gradient(transparent 60%,#ffe066 60%);
					font-weight:700;font-size:130%;
				}
				
				/* サポート */
				
				.cm-minuma-lp .vision-block__support{
					display:grid;
					grid-template-columns:repeat(3,1fr);
					gap:20px;
					margin:30px 0;
				}
				
				.cm-minuma-lp .vision-block__support-item{
					background: linear-gradient(180deg, #005ecc, #0293c1), #1776cd;
					border-radius:14px;
					padding:20px;
					text-align:center;
					border:1px solid #e3ecf7;
				}
				
				.cm-minuma-lp .vision-block__support-head{
					display:block;
					font-size:14px;
					color:#fff;
					font-weight:700;
					margin-bottom:6px;
				}
				
				.cm-minuma-lp .vision-block__support-body{
					font-size:20px;
					font-weight:900;color:#ffea30;
				}
				
				/* メッセージ */
				
				.cm-minuma-lp .vision-block__message{
					background: linear-gradient(180deg, #005ecc, #0293c1), #1776cd;
					color:#fff;
					padding:40px;
					border-radius:20px;
					text-align:left;
				}
				
				.cm-minuma-lp .vision-block__message-sub{
					font-size:18px;
					margin-bottom:15px;font-weight:900;
				}
				
				.cm-minuma-lp .vision-block__message-main{
					font-size:36px;
					font-weight:900;
					line-height:1.5;color:#ffea30;
				}
				
				.cm-minuma-lp .vision-block__message-main span{
					color:#ffcc00;
				}
				
				.cm-minuma-lp .vision-block__message-text{
					margin-top:20px;
					font-size:17px;
					line-height:1.5;
				}
				
				/* SP */
				
				@media (max-width:768px){
					
					.cm-minuma-lp .vision-block{
						padding:30px 16px;
					}
					
					.cm-minuma-lp .vision-block__bg-text{
						font-size:70px;
					}
					
					.cm-minuma-lp .vision-block__title{
						font-size:36px;
					}
					
					.cm-minuma-lp .vision-block__motto{
						gap:10px;
					}
					
					.cm-minuma-lp .vision-block__motto-item{
						font-size:30px;
						padding:8px 16px;
					}
					
					.cm-minuma-lp .vision-block__lead{
						font-size:16px;
					}
					
					.cm-minuma-lp .vision-block__text{
						font-size:16px;
					}
					
					.cm-minuma-lp .vision-block__support{
						grid-template-columns:1fr;
					}
					
					.cm-minuma-lp .vision-block__message-main{
						font-size:24px;color:#ffea30;
					}
					
					.cm-minuma-lp .vision-block__message-text{
						font-size:15px;font-weight:900;
					}
					
				}

				@media screen and (min-width:480px){
					.cm-minuma-lp .vision-block__card {padding:60px;}
					.cm-minuma-lp .vision-block__message {padding:60px;}
				}
				@media screen and (max-width:479px) {
					.about-header h2 {
						font-size: 20px;
						line-height:1.6;
						padding: 0 15px;
						text-align:left;
					}
					.about-header h2 {margin-bottom:20px;}
				}


				.lesson-flow li p span {font-size:70%;color:#fff;}
				

			.cmsin-faq {
				padding: 80px 0 100px;
				background: #fff;
				font-family: 'Noto Sans JP', sans-serif;
			}
			.cmsin-faq-header {
				background: #2660ad;
				color: #fff;
				margin: 0 0 50px;
				text-align: center;
				padding: 20px 0;
				width: 100%;
			}
			.cmsin-faq-header h2 {
				font-size: 28px;
				font-weight: 900;
				color: #fff;
				letter-spacing: 0.08em;
				margin: 0;
			}
			.cmsin-faq-inner {
				width: 90%;
				max-width: 840px;
				margin: 0 auto;
			}
			.cmsin-faq-list { list-style: none; padding: 0; margin: 0; }
			.cmsin-faq-item {
				margin-bottom: 16px;
				border: 1px solid #dde6f5;
				border-radius: 8px;
				overflow: hidden;
				box-shadow: 0 2px 8px rgba(0,0,0,0.05);
			}
			.cmsin-faq-q {
				display: flex;
				align-items: flex-start;
				gap: 14px;
				padding: 20px 24px;
				cursor: pointer;
				background: #f0f5ff;
				transition: background 0.2s;
				-webkit-user-select: none;
				user-select: none;
			}
			.cmsin-faq-q:hover { background: #e0eaff; }
			.cmsin-faq-q-icon {
				flex-shrink: 0;
				width: 32px;
				height: 32px;
				border-radius: 50%;
				background: #2660ad;
				color: #fff;
				font-size: 17px;
				font-weight: 900;
				display: flex;
				align-items: center;
				justify-content: center;
				margin-top: 1px;
			}
			.cmsin-faq-q-text {
				flex: 1;
				font-size: 17px;
				font-weight: 700;
				color: #2660ad;
				line-height: 1.6;
			}
			.cmsin-faq-q-toggle {
				flex-shrink: 0;
				width: 20px;
				height: 20px;
				position: relative;
				margin-top: 4px;
			}
			.cmsin-faq-q-toggle::before,
			.cmsin-faq-q-toggle::after {
				content: "";
				position: absolute;
				background: #2660ad;
				border-radius: 2px;
				transition: 0.3s;
			}
			.cmsin-faq-q-toggle::before { width: 2px; height: 14px; top: 3px; left: 9px; }
			.cmsin-faq-q-toggle::after  { width: 14px; height: 2px; top: 9px; left: 3px; }
			.cmsin-faq-item.is-open .cmsin-faq-q-toggle::before { transform: rotate(90deg); opacity: 0; }
			.cmsin-faq-a {
				display: none;
				padding: 20px 24px 20px 70px;
				background: #fff;
				border-top: 1px solid #dde6f5;
				gap: 14px;
				align-items: flex-start;
			}
			.cmsin-faq-item.is-open .cmsin-faq-a { display: flex; }
			.cmsin-faq-a-icon {
				flex-shrink: 0;
				width: 32px;
				height: 32px;
				border-radius: 50%;
				background: #e8a020;
				color: #fff;
				font-size: 17px;
				font-weight: 900;
				display: flex;
				align-items: center;
				justify-content: center;
				margin-top: 1px;
				margin-left: -56px;
			}
			.cmsin-faq-a-text { flex: 1; font-size: 15px; color: #444; line-height: 1.85; }
			@media screen and (max-width: 768px) {
				.cmsin-faq { padding: 50px 0 60px; }
				.cmsin-faq-header h2 { font-size: 20px; }
				.cmsin-faq-q { padding: 16px; gap: 10px; }
				.cmsin-faq-q-icon { width: 26px; height: 26px; font-size: 14px; }
				.cmsin-faq-q-text { font-size: 14px; }
				.cmsin-faq-a { padding: 14px 16px 14px 52px; }
				.cmsin-faq-a-icon { width: 26px; height: 26px; font-size: 14px; margin-left: -36px; }
				.cmsin-faq-a-text { font-size: 13px; }
			}
		

.cm-prefsec-row{border-bottom:1px solid #eee;padding:14px 0;}
.cm-prefsec-name{font-weight:bold;color:#0a6;margin-bottom:8px;}
.cm-prefsec-prefs{display:flex;flex-wrap:wrap;gap:10px 16px;}
.cm-prefsec-prefs a{color:#2a6dc0;text-decoration:none;font-size:14px;font-weight:bold;white-space:nowrap;}
@media(min-width:768px){.cm-prefsec-row{display:flex;gap:24px;align-items:flex-start;}.cm-prefsec-name{flex:0 0 140px;margin-bottom:0;}.cm-prefsec-prefs{flex:1;}}

/* Intrinsic image proportions: explicit width/height attributes must not stretch icons. */
img{max-width:100%;height:auto}
.top-lesson .lesson-row-have img{width:auto;max-width:100%;object-fit:contain}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffba22;outline-offset:4px}
.header-nav .taiken a .icon{background:none;text-indent:0;width:40px;height:auto;white-space:normal;color:#fff;font:700 11px/1.4 sans-serif;text-align:center}
.header-nav .taiken a .icon:before{content:"";display:block;width:28px;height:24px;margin:0 auto 4px;background:url("/assets/icon-consult.svg") center/contain no-repeat}
.p-tel__number{font:700 46px/1.25 Arial,sans-serif;white-space:nowrap;letter-spacing:.025em}
.p-tel .p-tel__link{pointer-events:auto}
.about-block{cursor:default}.about-block:hover{opacity:1}.about-cp{background-image:none}
.rental-li picture{display:block;width:100%;aspect-ratio:11/6;background:#e9ecef}
.rental-li picture img{display:block;width:100%;height:100%;object-fit:contain}
.voice-source{display:inline-block;font-size:12px;margin-top:12px;color:#2660ad;text-decoration:underline}
.cmsin-faq-q{border:0;width:100%;text-align:left;font-family:inherit;font-size:inherit;color:inherit}
.footer>p a{color:#fff}.footer-menu__row>div>img{width:100%;height:auto}
.rental-thumbs button{padding:0;border:2px solid transparent;background:transparent;flex:1;min-width:0;cursor:pointer;margin-right:8px;border-radius:2px;overflow:hidden}
.rental-thumbs button:last-child{margin-right:0}.rental-thumbs button.active{border-color:#1776cd}
.rental-thumbs button img{display:block;width:100%;height:46px;object-fit:contain}
.arrows button{border:0}
@media(max-width:768px){
 .p-tel__number{font-size:30px}.p-tel__time{white-space:nowrap;font-size:12px!important}
 .rental-body{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:0 calc((100% - 280px)/2);box-sizing:border-box;scrollbar-width:none}
 .rental-body::-webkit-scrollbar{display:none}
 .rental-li,.rental-li:nth-child(odd),.rental-li:nth-child(2n){flex:0 0 280px;float:none;margin:0 0 20px;scroll-snap-align:center}
}
