@charset "utf-8";
@import url("wp-native-style.css");
:root {
 --pink:#0060B3;
 --pink-soft:#E6F0FA;
 --pink-line:#BFDCF2;
 --navy:#1E2A38;
 --ink:#2B2320;
 --ink-soft:#5C534F;
 --bg:#FFFFFF;
 --bg-soft:#FDF3EA;
 --line:#E9E2E0;
 --gold:#EE7000;
}
* {
	box-sizing:border-box;
}
html {
	scroll-behavior:smooth;
}
@media (prefers-reduced-motion: reduce) {
html {
	scroll-behavior:auto;
}
* {
	animation-duration:0.01ms !important;
	transition-duration:0.01ms !important;
}
}
body {
	margin:0;
	background:var(--bg);
	color:var(--ink);
	font-family:'Noto Sans JP', sans-serif;
	line-height:1.9;
	-webkit-font-smoothing:antialiased;
}
h1, h2, h3 {
	font-family:'Shippori Mincho', serif;
	margin:0;
	color:var(--ink);
}
a {
	color:inherit;
}
img {
	max-width:100%;
	display:block;
}
  :focus-visible {
outline:2px solid var(--pink);
outline-offset:3px;
}
.wrap {
	max-width:1120px;
	margin:0 auto;
	padding:0 24px;
}
section {
	padding:84px 0;
}
.center {
	text-align:center;
}
.mb_n {
	margin-bottom: 0 !important;
}
.mb_xs {
	margin-bottom: 0.5em !important;
}
.mb_s {
	margin-bottom: 1em !important;
}
.mt_s {
	margin-top: 1em !important;
}
.mb_m {
	margin-bottom: 3em !important;
}
.mt_m {
	margin-top: 3em !important;
}
.mb_l {
	margin-bottom: 6em !important;
}
.ptb_m {
	padding-top: 3em !important;
	padding-bottom: 3em !important;
}
.w_s {
	width: 30% !important;
}
.w_m {
	width: 70% !important;
}
.w_l {
	width: 100% !important;
}
@media (max-width:720px) {
section {
	padding:56px 0;
}
.wrap {
	padding:0 20px;
}
}
header.site {
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(255, 255, 255, 0.94);
	backdrop-filter:blur(6px);
	border-bottom:1px solid var(--line);
}
.nav {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 24px;
	max-width:1120px;
	margin:0 auto;
}
.brand {
	display:flex;
	align-items:center;
	gap:10px;
	font-size:14.5px;
	font-weight:700;
}
.brand.logo-brand img {
	height:30px;
	width:auto;
	display:block;
}
footer .brand.logo-brand img {
	height:22px;
}
.brand-mark {
	width:32px;
	height:32px;
	border-radius:50%;
	background:linear-gradient(135deg, #E8763A, #3E7FE0);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:'Shippori Mincho', serif;
	font-weight:800;
	font-size:15px;
	flex-shrink:0;
}
.nav-links {
	display:flex;
	gap:30px;
	list-style:none;
	margin:0;
	padding:0;
	font-size:14px;
}
.nav-links a {
	text-decoration:none;
	color:var(--ink-soft);
}
.nav-links a:hover {
	color:var(--pink);
}
.nav-right {
	display:flex;
	align-items:center;
	gap:18px;
}
.tel {
	font-size:14px;
	color:var(--ink);
	text-decoration:none;
	font-weight:700;
}
.tel span {
	color:var(--pink);
	margin-right:4px;
}
.btn-nav {
	background:var(--navy);
	color:#fff;
	text-decoration:none;
	padding:10px 20px;
	font-size:13px;
	border-radius:2px;
	white-space:nowrap;
}
@media (max-width:860px) {
.brand.logo-brand img {
	height:24px;
}
.nav-links, .tel {
	display:none;
}
}
.hero {
	padding-top:0;
	padding-bottom:0;
	text-align:center;
}
.eyebrow {
	font-size:13px;
	color:var(--ink-soft);
	letter-spacing:.06em;
	margin-bottom:18px;
}
h1.hero-title {
	font-size:clamp(28px, 4vw, 42px);
	font-weight:600;
	line-height:1.7;
	letter-spacing:.02em;
}
h1.hero-title .accent {
	color:var(--pink);
}
.hero-lead {
	max-width:600px;
	margin:20px auto 0;
	font-size:15px;
	color:var(--ink-soft);
}
.hero-banner-built {
	margin:20px 0 0;
	width:100vw;
	position:relative;
	left:50%;
	right:50%;
	margin-left:-50vw;
	margin-right:-50vw;
	max-width:100vw;
	overflow:hidden;
	box-shadow:0 24px 50px -28px rgba(30, 42, 56, 0.35);
	background:linear-gradient(135deg, #EAF6F0 0%, #DCEEF4 55%, #E7EEFA 100%);
	border-top:5px solid #E8763A;
	border-bottom:5px solid #3E7FE0;
}
.banner-top {
	position:relative;
	display:flex;
	height:420px;
	overflow:hidden;
}
@media (max-width:640px) {
.banner-top {
	height:320px;
}
}
.banner-photo {
	flex:1;
	position:relative;
	overflow:hidden;
}
.banner-photo img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.banner-photo.woman img {
	object-position:58% 42%;
}
.banner-photo.man img {
	object-position:50% 38%;
}
.banner-photo::after {
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(234, 246, 240, 0) 60%, rgba(225, 240, 240, 0.92) 100%);
}
.banner-scrim-top {
	position:absolute;
	inset:0 0 auto 0;
	height:62%;
	z-index:2;
	pointer-events:none;
	background:linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.42) 65%, rgba(255, 255, 255, 0) 100%);
}
.banner-head-overlay {
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:3;
	padding:22px 26px 0;
}
.banner-eyebrow {
	font-size:11.5px;
	color:var(--ink-soft);
	letter-spacing:.04em;
	margin-bottom:8px;
	display:flex;
	align-items:center;
	gap:8px;
}
.banner-eyebrow::before {
	content:'';
	width:16px;
	height:1px;
	background:var(--pink);
}
.banner-h1 {
	font-family:'Shippori Mincho', serif;
	font-weight:700;
	line-height:1.7;
	color:var(--ink);
	font-size:clamp(17px, 3.4vw, 25px);
}
.banner-h1 .accent {
	color:var(--pink);
}
@media (max-width:640px) {
.banner-head-overlay {
	padding:16px 18px 0;
}
.banner-eyebrow {
	font-size:10px;
	margin-bottom:5px;
}
}
.banner-tagline2 {
	position:absolute;
	top:8px;
	right:14px;
	text-align:left;
	z-index:2;
	font-family:'Shippori Mincho', serif;
	font-weight:600;
	color:var(--navy);
	font-size:11px;
	line-height:1.6;
}
@media (max-width:640px) {
.banner-tagline2 {
	font-size:9px;
}
}
.banner-tagline2 .underline {
	display:block;
	border-top:1.5px solid #3E7FE0;
	margin-top:1px;
	width:70%;
	transform:rotate(-1deg);
}
.banner-mid {
	padding:8px 20px 0;
	display:flex;
	align-items:baseline;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
}
.banner-mid .brand-name {
	font-family:'Shippori Mincho', serif;
	font-weight:800;
	font-size:clamp(14px, 2.2vw, 19px);
	background:linear-gradient(90deg, #F2994A, #EB5757);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}
.banner-mid .x2 {
	font-size:13px;
	color:#5C534F;
}
.banner-mid .dept {
	font-family:'Shippori Mincho', serif;
	font-weight:800;
	font-size:clamp(14px, 2.2vw, 19px);
	color:var(--navy);
}
.banner-divider {
	width:56%;
	margin:6px auto;
	border:none;
	border-top:1px solid #B9C2CC;
}
.banner-headline {
	text-align:center;
	padding:0 20px 12px;
}
.banner-headline span {
	font-family:'Shippori Mincho', serif;
	font-weight:800;
	letter-spacing:.05em;
	font-size:clamp(26px, 5vw, 42px);
	background:linear-gradient(90deg, #3FAE8C, #3E7FE0);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}
.banner-logo-bar2 {
	background:#fff;
	padding:8px 18px;
	display:flex;
	align-items:center;
}
.banner-logo-bar2 svg {
	height:16px;
	width:auto;
}
.hero-banner {
	margin:0 auto 4rem;
	width:100%;
	border-radius:4px;
	overflow:hidden;
	box-shadow:0 24px 50px -28px rgba(30, 42, 56, 0.35);
}
.hero-banner img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
}
.badges-row {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin:36px 0 0;
}
.badge {
	border:1px solid var(--pink-line);
	background:var(--pink-soft);
	color:var(--ink);
	font-size:12.5px;
	padding:10px 18px;
	border-radius:100px;
}
.hero-news {
	max-width:720px;
	margin:40px auto 0;
	text-align:left;
	border:1px solid var(--line);
	border-radius:8px;
	padding:10px 24px;
	background:#fff;
}
.hero-news-inner {
	display:flex;
	align-items:center;
	gap:18px;
	flex-wrap:wrap;
}
.hero-news-label {
	font-size:12px;
	font-weight:700;
	color:var(--pink);
	flex-shrink:0;
	padding:6px 0;
}
.hero-news ul {
	list-style:none;
	margin:0;
	padding:0;
	flex:1;
	min-width:220px;
}
.hero-news li {
	display:flex;
	gap:14px;
	padding:10px 0;
	font-size:13px;
	align-items:baseline;
	border-top:1px solid var(--line);
}
.hero-news li:first-child {
	border-top:none;
}
.hero-news .date {
	color:var(--ink-soft);
	font-size:11.5px;
	flex-shrink:0;
}
.hero-news .see-all {
	flex-shrink:0;
	font-size:12px;
}
@media (max-width:600px) {
.hero-news-inner {
	flex-direction:column;
	align-items:flex-start;
	gap:4px;
}
}
.link-banners {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	margin-top:56px;
}
@media (max-width:800px) {
.link-banners {
	grid-template-columns:1fr;
}
}
.link-banner {
	display:block;
	position:relative;
	border-radius:4px;
	overflow:hidden;
	box-shadow:0 18px 40px -26px rgba(30, 42, 56, 0.3);
transition:transform .2s ease;
}
.link-banner:hover {
	transform:translateY(-3px);
}
.link-banner img {
	width:100%;
}
.link-banner .cta-tag {
	position:absolute;
	right:18px;
	bottom:16px;
	background:rgba(255, 255, 255, 0.92);
	color:var(--ink);
	font-size:12.5px;
	font-weight:700;
	padding:8px 16px;
	border-radius:100px;
}
.sec-head {
	max-width:640px;
	margin:0 auto 52px;
	text-align:center;
}
.sec-head .eyebrow-en {
	font-size:12px;
	letter-spacing:.22em;
	color:var(--pink);
	font-weight:700;
	display:block;
	margin-bottom:12px;
}
.sec-head h2 {
	font-size:clamp(22px, 2.8vw, 30px);
	font-weight:600;
}
.sec-head p {
	margin-top:14px;
	color:var(--ink-soft);
	font-size:14px;
}
section.soft {
	background:var(--bg-soft);
}
.reasons {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:28px 40px;
}
@media (max-width:760px) {
.reasons {
	grid-template-columns:1fr;
}
}
.reason {
	display:flex;
	gap:22px;
	align-items:flex-start;
}
.reason .num {
	font-family:'Shippori Mincho', serif;
	font-size:38px;
	font-weight:800;
	color:var(--pink);
	line-height:1;
	flex-shrink:0;
	width:56px;
}
.reason h3 {
	font-size:16.5px;
	font-weight:600;
	margin-bottom:10px;
	line-height:1.7;
}
.reason p {
	font-size:13.5px;
	color:var(--ink-soft);
	margin:0;
}
.reason.wide {
	grid-column:1 / -1;
}
.menu-tabs {
	display:flex;
	gap:10px;
	margin-bottom:32px;
	justify-content:center;
	flex-wrap:wrap;
}
.menu-tab {
	font-size:12.5px;
	padding:9px 20px;
	border:1px solid var(--line);
	border-radius:100px;
	color:var(--ink-soft);
	background:#fff;
}
.menu-tab.active {
	background:var(--pink);
	color:#fff;
	border-color:var(--pink);
}
.menu-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:14px;
}
@media (max-width:900px) {
.menu-grid {
	grid-template-columns:repeat(2, 1fr);
}
}
@media (max-width:500px) {
.menu-grid {
	grid-template-columns:1fr;
}
}
.menu-item {
	border:1px solid var(--line);
	background:#fff;
	padding:24px 20px;
	border-radius:6px;
	min-height:120px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	text-align:center;
}
.menu-item.live {
	border-color:var(--pink-line);
	background:var(--pink-soft);
}
.menu-item h4 {
	font-size:14.5px;
	font-weight:500;
	color:var(--ink);
	line-height:1.7;
}
.menu-item .status {
	font-size:11px;
	color:#B9AFAC;
	margin-top:14px;
}
.menu-item.live a {
	text-decoration:none;
	font-size:12.5px;
	color:var(--pink);
	font-weight:700;
	border-bottom:1px solid var(--pink);
	padding-bottom:2px;
}
.device-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:18px;
}
@media (max-width:900px) {
.device-grid {
	grid-template-columns:repeat(2, 1fr);
}
}
@media (max-width:500px) {
.device-grid {
	grid-template-columns:1fr;
}
}
.device {
	background:#fff;
	border:1px solid var(--line);
	border-radius:6px;
	overflow:hidden;
}
.device-thumb {
	aspect-ratio:4/3;
	background:var(--bg-soft);
	display:flex;
	align-items:center;
	justify-content:center;
	color:#C9BEBB;
	font-size:11px;
	overflow:hidden;
}
.device-thumb img {
	width:100%;
	height:100%;
	object-fit:contain;
}
.device-body {
	padding:16px 18px 20px;
	text-align:center;
}
.device-body h4 {
	font-size:13.5px;
	font-weight:500;
}
.device-body .status {
	font-size:11px;
	color:#B9AFAC;
	margin-top:8px;
	display:block;
}
.two-col {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
}
@media (max-width:860px) {
.two-col {
	grid-template-columns:1fr;
}
}
.news-list {
	list-style:none;
	margin:0;
	padding:0;
}
.news-list li {
	display:flex;
	gap:18px;
	padding:16px 0;
	border-bottom:1px solid var(--line);
	font-size:13.5px;
	align-items:baseline;
}
.news-list .date {
	color:var(--pink);
	font-size:12.5px;
	flex-shrink:0;
	font-weight:700;
}
.col-list {
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:14px;
}
.col-item {
	display:flex;
	gap:16px;
	align-items:center;
	border:1px solid var(--line);
	background:#fff;
	padding:14px;
	border-radius:6px;
}
.col-thumb {
	width:64px;
	height:64px;
	background:var(--bg-soft);
	border-radius:4px;
	flex-shrink:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:9px;
	color:#C9BEBB;
}
.col-item h4 {
	font-size:13.5px;
	font-weight:500;
	margin:0;
	line-height:1.7;
}
.see-all {
	display:inline-block;
	margin-top:24px;
	font-size:13px;
	color:var(--pink);
	text-decoration:none;
	border-bottom:1px solid var(--pink);
	font-weight:700;
}
.info-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:start;
}
@media (max-width:860px) {
.info-grid {
	grid-template-columns:1fr;
}
}
table.info-table {
	width:100%;
	border-collapse:collapse;
	font-size:13.5px;
}
table.info-table th {
	text-align:left;
	font-weight:700;
	color:var(--ink);
	font-size:13px;
	padding:16px 0;
	vertical-align:top;
	width:110px;
	border-top:1px solid var(--line);
}
table.info-table td {
	padding:16px 0;
	border-top:1px solid var(--line);
	color:var(--ink-soft);
}
.map-box {
	aspect-ratio:4/3;
	background:var(--bg-soft);
	border-radius:6px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
	color:#B9AFAC;
	overflow:hidden;
}
.map-box iframe {
	width:100%;
	height:100%;
	border:0;
	display:block;
}
.cta {
	background:var(--navy);
	color:#fff;
	text-align:center;
}
.cta h2 {
	color:#fff;
	font-size:clamp(22px, 3vw, 32px);
	font-weight:600;
}
.cta p {
	color:#B9C2CC;
	margin-top:14px;
	font-size:13.5px;
}
.cta-btns {
	display:flex;
	gap:16px;
	justify-content:center;
	margin-top:32px;
	flex-wrap:wrap;
}
.btn {
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	padding:15px 28px;
	font-size:14px;
	border-radius:100px;
}
.btn-pink {
	background:var(--pink);
	color:#fff;
}
.btn-outline-w {
	border:1px solid #5C6B7A;
	color:#fff;
}
footer.site {
	padding:48px 0 30px;
	font-size:12.5px;
	color:var(--ink-soft);
}
.footer-top {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
	gap:24px;
	border-bottom:1px solid var(--line);
	padding-bottom:28px;
	margin-bottom:22px;
}
.footer-links {
	display:flex;
	gap:22px;
	list-style:none;
	padding:0;
	margin:0;
	flex-wrap:wrap;
}
.footer-links a {
	text-decoration:none;
	color:var(--ink-soft);
}
.copyright {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
}
.promo-slider {
	position:relative;
	max-width:1120px;
	margin:26px auto 0;
	padding:0 4px;
}
.promo-viewport {
	overflow:hidden;
}
.promo-track {
	display:flex;
	gap:14px;
	transition:transform .5s cubic-bezier(.4, 0, .2, 1);
}
.promo-slide {
	flex:0 0 auto;
	width:min(560px, 78vw);
	aspect-ratio:1200/500;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 10px 24px rgba(0, 0, 0, .18);
}
.promo-slide img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.promo-controls {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:14px;
}
.promo-dots {
	display:flex;
	align-items:center;
	gap:7px;
}
.promo-dots .dot {
	width:7px;
	height:7px;
	border-radius:99px;
	background:#e7e2d8;
	transition:all .3s ease;
	cursor:pointer;
}
.promo-dots .dot.on {
	width:28px;
	background:#b3925a;
	position:relative;
	overflow:hidden;
}
.promo-dots .dot.on::after {
	content:'';
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:0%;
	background:#93753f;
	animation:promoProgress 3.5s linear forwards;
}
@keyframes promoProgress {
	from {
	width:0%;
}
to {
	width:100%;
}
}
.promo-arrows {
	display:flex;
	gap:10px;
}
.promo-arrow {
	width:34px;
	height:34px;
	border-radius:50%;
	border:1px solid #e7e2d8;
	background:#fff;
	color:#686c74;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	font-size:15px;
 transition:background .2s ease, color .2s ease;
}
.promo-arrow:hover {
	background:#16335c;
	color:#fff;
	border-color:#16335c;
}
