@charset "UTF-8";
/*
Theme Name: MY THEME 
Author: Zenshin
Description: オリジナルテーマ
Version: 1.0
*/
img {
    max-width: 100%;
    height: auto;
	vertical-align: bottom;
}

.img-full img {
	width: 100%;
	height: auto;
	text-align: center;
	vertical-align: bottom;
}


@media screen and (max-width: 780px) {
	.flex_res{
		flex-direction: column;
		align-items: center;
	}
}

.flex_hanyo{
	display: flex;
	justify-content: center;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-center {
	display: flex;
	justify-content: center;
}

.flex-base {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

.alignleft {
	float: left;
	margin-left: 0;
	margin-right: 1em;
}

.alignright {
	float: right;
	margin-left: 1em;
	margin-right: 0;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
	text-align: center;
}

figure {
	margin-left: 0;
	margin-right: 0;
}

body {
	box-sizing: border-box;
}

body *,
body *::before,
body *::after {
	box-sizing: inherit;
}

ul {
	padding-inline-start: 1rem;
}

pre {
	font-family: unset;
}

/* 変数 */
:root {
	--f1: 2.44em;
	/* 39.04px */
	--f2: 1.95em;
	/* 31.2px */
	--f3: 1.56em;
	/* 24.96px */
	--f4: 1.25em;
	/* 20px */
	--f5: 1em;
	/* 16px */
	--f6: 0.8em;
	/* 12.8px */

	--f7: 0.66em;
	/* 12.8px */

	--basecolor: #63a211;
	/* 基本色 */
	--gradient: linear-gradient(81.7deg, rgba(34, 126, 34, 1) 8.1%, rgba(99, 162, 17, 1) 86.5%);

	--myfont: "Noto Sans JP", sans-serif;
	--myw: 720px;
	/*標準幅*/
}


/* フォント */
body {
	font-family: var(--myfont);
	font-size: 21px;
}

p {
	line-height: 1.8;
	font-size: var(--f5);
}


h1 {
	font-size: var(--f1);
	font-weight: 300;
}

h2 {
	font-size: var(--f3);
	margin-block-start: 0;
}

h3 {
	font-size: var(--f3);
}

h4 {
	font-size: var(--f4);
}

h5 {
	font-size: var(--f5);
}

h6 {
	font-size: var(--f6);
}

.text_item_double_L{
	width: 55%;
	padding: 30px 0;
	margin: 0 auto;
}

.text_item_double_L p{
	font-size: 18px;
}

.text_img_double_R{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	padding: 30px 0;
	margin-left: 8%;
}

.text_img_double_R img{
	vertical-align: middle;
}
.title_wrapper{
	margin-right: 50%;
}

.title_img{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0;
}

.top_assist_text{
	font-size: 14px;
	/* margin-top: 35px; */
}

@media screen and (max-width: 780px) {
	.text_item_double_L{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
		padding: 0;
	}
	.text_img_double_R{
		width: 70%;
		margin-left: 0;
		margin-bottom: 10px;
	}
	.title_img{
		width: 70%;
		margin: 20px 0 30px 0;
	}
	.text_item_double_L p{
		font-size: 14px;
	}
	.title_wrapper{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
	}
	.osirase_img{
		width: 50%;
	}
}


/* 横幅 */
body {
	margin: 0;
}


.alignfull {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.alignwide {
	margin-top: 5%;
	padding-left: 25%;
	padding-right: 25%;
}

/*スマホ*/
@media (max-width: 600px) {
	.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (min-width: 1320px) {}


/*配置*/
.center {
	text-align: center;
}

.space-between {
	justify-content: space-between;
}

/* ポジション */
.relative {
	position: relative;
}

.top {
	vertical-align: top;
}

/*リンク*/
a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
	opacity: 0.7;
}

/*色*/
.white {
	color: white;
}

.red {
	color: red;
}

.green {
	color: green;
}

.grey {
	background-color: #F2F2F2;
	padding-bottom: 5%;
}

.white-bg {
	background-color: white;
}

/*スマホ限定/PC限定*/
/*フッターの画像切替のみに使用 bootstrapのxlに対応*/

@media only screen and (max-width:768px) {
	.sp-md {
		display: block;
	}

}

/*-----マージン共通-----*/
.margin_hanyo {
	margin-top: 120px;
}

.margin_hanyo_sub2 {
	margin-top: 100px;
}

.margin_right_pc{
	margin-right: 20px;
}

.margin_hanyo_bottom {
	margin-bottom: 5%;
}

@media screen and (max-width: 780px) {
	.margin_hanyo{
		margin-top: 50px;
	}
	.margin_hanyo_sub {
		margin-top: 10px;
	}
	.margin_hanyo_sub2 {
		margin-top: 50px;
	}
	.margin_top_res{
		margin-top: 15px;
	}
	.margin_right_pc{
		margin-right: 0;
	}
}

p {
	font-size: 21px;
}

/* ベーシックプラン用。汎用CSS */
/* width指定 */
.w-10 {width: 10%}
.w-15 {width: 15%}
.w-20 {width: 20%}
.w-25 {width: 25%}
.w-30 {width: 30%}
.w-33 {width: 33%} /* flexの3等分用 */
.w-40 {width: 40%}
.w-45 {width: 45%}
.w-48 {width: 48%} /* flexの2等分用 */
.w-50 {width: 50%}
.w-60 {width: 60%}
.w-65 {width: 65%} /* flexの2:1の比率用 */
.w-70 {width: 70%}
.w-75 {width: 75%}
.w-80 {width: 80%} /* 基本のサイズ */
.w-90 {width: 90%}
.w-95 {width: 95%}
.w-100 {width: 100%}
.w-fit {width: fit-content}
/* 余白 */
.p-10 {padding: 10px}
.p-15 {padding: 15px}
.p-20 {padding: 20px}
.p-30 {padding: 30px}
.p-60 {padding: 60px}
/* flexなど位置系 */
.flex-center {display: flex;justify-content: center;align-items: center;gap: 2%}
.flex-between {display: flex;justify-content: space-between;align-items: center;}
.column {display: flex;flex-direction: column;align-items: center;gap: 2%}
.flex-start {display: flex;justify-content: flex-start;align-items: center;gap: 2%}
.flex-end {display: flex;justify-content: flex-end;align-items: center;gap: 2%}
.right {text-align: right;}
.center {text-align: center;}
.left {text-align: left;}
/* font-size汎用 */
.font14 {font-size: 14px}
.font16 {font-size: 16px}
.font18 {font-size: 18px}
.font20 {font-size: 20px}
.font24 {font-size: 24px}
.font30 {font-size: 30px;font-weight: bold}
.font40 {font-size: 40px;font-weight: bold}
/* その他汎用 marginやpaddingそのほか */
.style-none {list-style: none;padding: 0;}
.bold {font-weight: bold}
.m-auto {margin: auto}
.m-0 {margin: 0}
.m-l-3 {margin-left: 3%}
.m-l-5 {margin-left: 5%}
.m-t-5 {margin-top: 5%;}
.p-l-8 {padding: 0 0 0 8%;}
.p-l-15px {padding-left: 15px;}
.p-b-5 {padding-bottom: 5px;}
.p-t-5 {padding-top: 5px;}
.vertical-top {vertical-align: top;}
.p-y-10 {padding: 10px 0;}
/* レスポ化用汎用 */
@media only screen and (min-width: 769px) {
	.sp {display: none} /* SP表示（769px未満で表示） */
}
@media only screen and (max-width: 768px) {
	.pc {display: none} /* PC表示（768px以上で表示） */
	.sp-column {display: flex;flex-direction: column;align-items: center;}
	.hamburger_menu_btn_wrap.sp {display: block;}
	.sp-w-70 {width: 70%;}
}
@media only screen and (min-width: 561px) {
	.sm {display: none} /* スマホ表示（561px未満で表示） */
}
@media only screen and (max-width: 560px) {
	.extra {display: none} /* それ以外表示（560px以上で表示） */
	.sm-column {display: flex;flex-direction: column;align-items: center;}
	.sm-w-90 {width: 90%;}
}
/* header */
.myhead {padding: 2% 0;background-color: #f0f8ff;box-shadow: 1px 2px 9px rgba(0,0,0,0.4)}
/*-----ハンバーガーメニュー-----*/
.hamburger_menu_btn_wrap {display: none;margin-right: 1.4%;margin-left: auto;position: fixed;right: 0;top: 15%;}
.hamburger_menu_btn {width: 30px;height: 24px;position: relative;cursor: pointer;z-index: 1001;display: flex;flex-direction: column;justify-content: space-between;}
.hamburger_menu_btn span {display: block;width: 100%;height: 3px;background-color: #0a4bc1;border-radius: 2px;transition: all 0.3s ease;}
.hamburger_menu_btn.active span:nth-child(1) {transform: translateY(10.5px) rotate(45deg);}
.hamburger_menu_btn.active span:nth-child(2) {opacity: 0;}
.hamburger_menu_btn.active span:nth-child(3) {transform: translateY(-10.5px) rotate(-45deg);}
.hamburger_window {position: fixed;top: 0;right: -300px;width: 300px;height: 100vh;background-color: rgba(30, 30, 30, 0.95);padding-top: 80px;box-sizing: border-box;transition: right 0.5s ease;z-index: 1000;visibility: hidden;overflow-y: auto;}
.hamburger_window.open {right: 0;visibility: visible;}
.hamburger_list_item {list-style: none;padding: 0;margin: 0;}
.hamburger_list_item li {border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
.hamburger_list_item li:first-child {border-top: 1px solid rgba(255, 255, 255, 0.2);}
.hamburger_list_item li a {display: block;padding: 15px 20px;color: white;text-decoration: none;font-size: 1.1rem;transition: background-color 0.3s ease;}
.hamburger_list_item li a:hover {background-color: rgba(255, 255, 255, 0.1);}
.hamburger_background {position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.5);z-index: 999;opacity: 0;visibility: hidden;transition: opacity 0.5s ease;}
.hamburger_background.open {opacity: 1;visibility: visible;}
/* footer */
.myfoot {background-color: #0071bc;padding: 20px 0 0;}
.sp-li {background-color: #fff;color: #0071bc;margin-bottom: 10px;width: 100%;text-align: center;font-weight: bold}
@media only screen and (max-width: 850px) {
	.c-width {width: 90% !important;margin: auto;}
	.pc-850 {display: none !important;}
}
@media only screen and (min-width: 851px) {
	.sp-850 {display: none !important;}
}
/* front-page */
.bg-sky {background-color: #f0f8ff}
.bg-blue {background-color: #0071bc}
.bg-white {background-color: #fff}
.font-blue {color: #0071bc}
.arrow-button {background-color: #3a75bb;color: #fff;width: fit-content;padding: 1px 6px;border-radius: 100%;}
.arrow-button-wh {background-color: #fff;color: #3a75bb;width: fit-content;padding: 1px 6px;border-radius: 100%;}
.b-tandb-wh {border-top: 1px solid #fff;border-bottom: 1px solid #fff;}
/* お知らせ欄 */
.l-font {font-size: 120px;font-weight: bold;color: white;text-align: center;margin: 0;line-height: 1.0;}
.s-font {font-size: 18px;color: white;text-align: right;margin-right: 115px;}
@media only screen and (max-width: 900px) {
	.pc-900 {display: none !important;}
	.sp-900-column {flex-direction: column;}
	.sp-900-w-100 {width: 100%;}
	.sp-900-w-90 {width: 90%;}
	.l-font {font-size: 80px;}
	.s-font {text-align: center;margin-right: 0;}
}
@media only screen and (min-width: 901px) {
	.sp-900 {display: none !important;}
}
/* overview */
.font-pale {color: #2e3192;}
.b-b-blue {border-bottom: 1px solid #29abe2;font-weight: normal}
.b-b-ash {border-bottom: 1px solid #ccc}
.normal {font-weight: normal}
/* contact */
.cform {width: 100%}
.cform tbody {width: 100%}
.cform tr {width: 100%;}
.bg-form {background-color: #0071bc;color: #fff;padding: 10px 25px 10px 25px;}
.bg-form p,.border-form p {margin: 0; font-size: 18px;}
.b-b-black {border-bottom: 1px solid #000}
.required-srt {background-color: #c1272d;padding: 2px 15px;border-radius: 12px;font-size: 16px !important;}
.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px 0 10px 4%;}
.border-form input[type="tel"],.border-form input[type="email"] {width: 60%;margin:10px 0 10px 4%;}
.zip-code {width:40%}
.short input[type="text"] {width: 80% !important;margin: 10px 0 10px 11%}
.short {display: flex;justify-content: flex-start;gap: 15px;align-items: center;}
.credential {font-size: 14px;margin: 0;}
.a-tag {color: #29abe2}
.a-tag:hover {opacity: 0.6;color: #0071bc;}
.sending-button {background: url('./image/contact/bg-but.png');background-repeat: no-repeat;background-position: center bottom;padding: 40px 0 30px;background-size: 40%;}
.sending-button p {margin: 0;font-size: 24px;text-align: center;}
.sending-button input {color:#fff;background-color: #0071bc;border: none;box-shadow: none;}
.wpcf7-spinner {display: none !important;}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
	.zip-code {width:60%}
	.short input[type="text"] {width: 80% !important;margin: 10px 0 10px 12%}
}
@media only screen and (max-width: 768px) and (min-width: 561px) {
	.sp-w-90 {width: 90%}
	.cform tr {display: flex;flex-direction: column;align-items: center;justify-content: center;}
	.bg-form {width: 100%;}
	.border-form {width: 100%;text-align: center;}
	.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px auto;}
	.border-form input[type="tel"],.border-form input[type="email"] {width: 90%;margin:10px auto;}
	.zip-code {width: 100%}
	.short input[type="text"] {width: 90% !important;margin: 10px auto}
	.short {flex-direction: column;}
	.credential {width: 90%;}
}
@media only screen and (max-width: 560px) {
	.sp-w-90 {width: 95%}
	.cform tr {display: flex;flex-direction: column;align-items: center;justify-content: center;}
	.bg-form {width: 100%;}
	.border-form {width: 100%;text-align: center;}
	.border-form input[type="text"],.border-form textarea {width: 90%;margin:10px auto;}
	.border-form input[type="tel"],.border-form input[type="email"] {width: 90%;margin:10px auto;}
	.zip-code {width: 100%}
	.short input[type="text"] {width: 90% !important;margin: 10px auto}
	.short {flex-direction: column;}
	.credential {width: 90%;}
}
/* recruit */
.bef-hash {margin-left: 8%;position: relative;}
.bef-hash::before {width: 3.5vw;height: 2px;background-color: #0071bc;position: absolute;content:'';top: 50%;left: -8.7%;}
.f-ash {color: #999;}
.table-pad {padding-top: 15px;padding-bottom: 15px;}
@media only screen and (max-width: 560px) {
	.sm-bg-ash {background-color: #999;}
	.sm-f-white {color: #fff;}
	.sm-w-100 {width: 100% !important; text-align: center !important;}
}
/* equip */
.bg-ash {background-color: #ccc;}
/* products */
.bef-half-square {position: relative;margin-left: 35px;}
.bef-half-square::before {position: absolute;content: '';width: 15px;height: 30px;top: 25%;left: -30px;background-color: #0071bc;}
/* sending-button */
.send-btn-wrap {position: relative;}
.send-btn-wrap input[type="submit"] {position: absolute;inset: 0;opacity: 0;z-index: 2;}
.fake-btn {display: block;padding: 22px 70px 22px 40px;border-radius: 999px;background: #0071bc;color: #fff;position: relative;width: 25%;margin: auto;text-align: center;}
.fake-btn .arrow {position: absolute;right: 18px;top: 50%;transform: translateY(-50%);background: #fff;color: #0071bc;width: 42px;height: 42px;border-radius: 50%;display: flex;align-items: center;justify-content: center;padding: 25px;}
@media only screen and (max-width: 1300px) and (min-width: 1000px) {.fake-btn {width: 50%;}}
@media only screen and (max-width: 1000px) and (min-width: 700px) {.fake-btn {width: 60%;}}
@media only screen and (max-width: 700px) and (min-width: 500px) {.fake-btn {width: 70%;}}
@media only screen and (max-width: 500px) {.fake-btn {width: 80%;}}
/* kanda header / footer */
body {margin: 0;padding-top: 80px;}
body.kanda-menu-open {overflow: hidden;}
body.admin-bar .kanda-header {top: 32px;}
body.admin-bar .kanda-mobile-menu {top: 92px;}
.kanda-header {position: fixed;top: 0;left: 0;right: 0;z-index: 50;background: #fff;padding: 16px 0;border-bottom: 1px solid rgba(226,232,240,1);transition: background-color .3s ease, padding .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;-webkit-backdrop-filter: blur(0);}
.kanda-header.is-scrolled {background: rgba(255,255,255,.95);padding: 8px 0;box-shadow: 0 1px 2px rgba(15,23,42,.08);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);}
.kanda-header__container,.kanda-footer__container {width: 100%;max-width: 1280px;margin: 0 auto;padding-left: 16px;padding-right: 16px;box-sizing: border-box;}
.kanda-header__row {display: flex;align-items: center;justify-content: space-between;gap: 24px;}
.kanda-header__logo-link {display: inline-flex;align-items: center;gap: 12px;text-decoration: none;flex-shrink: 0;}
.kanda-header__logo {height: 48px;width: auto;object-fit: contain;display: block;}
.kanda-header__nav {display: none;align-items: center;gap: 24px;}
.kanda-header__nav-link {font-size: 14px;font-weight: 700;color: #334155;text-decoration: none;transition: color .2s ease;}
.kanda-header__nav-link:hover {color: #0070c0;}
.kanda-header__contact {display: none;align-items: center;gap: 16px;}
.kanda-header__contact-text {display: flex;flex-direction: column;align-items: flex-end;}
.kanda-header__contact-caption {font-size: 10px;color: #64748b;font-weight: 700;line-height: 1;}
.kanda-header__contact-phone {font-size: 18px;font-weight: 900;color: #003366;line-height: 1.25;letter-spacing: .08em;text-decoration: none;}
.kanda-header__contact-hours {font-size: 10px;color: #94a3b8;font-weight: 700;line-height: 1;margin-top: 2px;}
.kanda-header__menu-button {display: inline-flex;align-items: center;justify-content: center;padding: 8px;border: 0;background: transparent;color: #0f172a;cursor: pointer;line-height: 0;}
.kanda-header__menu-icon {display: inline-flex;align-items: center;justify-content: center;}
.kanda-header__menu-icon--close {display: none;}
.kanda-header.is-menu-open .kanda-header__menu-icon--menu {display: none;}
.kanda-header.is-menu-open .kanda-header__menu-icon--close {display: inline-flex;}
.kanda-mobile-menu {display: none;position: fixed;inset: 0;top: 60px;background: #fff;z-index: 40;overflow-y: auto;}
.kanda-header.is-menu-open .kanda-mobile-menu {display: block;animation: mobileMenuIn .25s ease-out forwards;}
.kanda-mobile-menu__inner {display: flex;flex-direction: column;padding: 24px;gap: 24px;}
.kanda-mobile-menu__link {font-size: 18px;font-weight: 700;color: #0f172a;text-decoration: none;border-bottom: 1px solid #f1f5f9;padding-bottom: 8px;}
.kanda-mobile-menu__contact-wrap {display: flex;flex-direction: column;gap: 16px;padding-top: 16px;}
.kanda-mobile-menu__contact-card {padding: 16px;background: #f8fafc;border-radius: 12px;}
.kanda-mobile-menu__phone-row {display: flex;align-items: center;gap: 12px;color: #003366;}
.kanda-mobile-menu__phone-icon {display: inline-flex;align-items: center;justify-content: center;color: #003366;flex-shrink: 0;}
.kanda-mobile-menu__phone-number {font-weight: 900;font-size: 20px;letter-spacing: .08em;color: #003366;text-decoration: none;}
.kanda-mobile-menu__hours {font-size: 12px;color: #64748b;margin: 4px 0 0;}
.kanda-mobile-menu__closed {font-size: 12px;color: #94a3b8;margin: 2px 0 0;}
.kanda-footer {background: #0f172a;color: #fff;padding-top: 96px;padding-bottom: 48px;}
.kanda-footer__grid {display: grid;grid-template-columns: 1fr;gap: 48px;margin-bottom: 80px;}
.kanda-footer__brand-row {display: flex;align-items: center;gap: 4px;margin-bottom: 32px;}
.kanda-footer__brand-mark {width: 32px;height: 32px;background: #fff;display: flex;align-items: center;justify-content: center;color: #003366;font-weight: 700;font-size: 20px;font-style: italic;flex-shrink: 0;}
.kanda-footer__brand-name {font-size: 24px;font-weight: 900;letter-spacing: -.04em;}
.kanda-footer__brand-copy {color: #94a3b8;font-weight: 700;font-size: 18px;line-height: 1.625;max-width: 28rem;margin: 0 0 32px;}
.kanda-footer__social {display: flex;align-items: center;gap: 12px;}
.kanda-footer__social-instagram {display: inline-flex;align-items: center;justify-content: center;color: #94a3b8;transition: color .2s ease;text-decoration: none;}
.kanda-footer__social-instagram:hover {color: #E1306C;}
.kanda-footer__social-message {display: inline-flex;align-items: center;justify-content: center;color: #94a3b8;}
.kanda-footer__social-handle {margin-left: 4px;color: #64748b;font-size: 14px;font-weight: 700;text-decoration: none;transition: color .2s ease;}
.kanda-footer__social-handle:hover {color: #fff;}
.kanda-footer__heading {font-size: 14px;font-weight: 900;color: #64748b;letter-spacing: .3em;text-transform: uppercase;margin: 0 0 32px;}
.kanda-footer__nav-list {list-style: none;margin: 0;padding: 0;}
.kanda-footer__nav-list li + li {margin-top: 16px;}
.kanda-footer__nav-link {display: inline-flex;align-items: center;gap: 8px;color: #cbd5e1;font-weight: 700;text-decoration: none;transition: color .2s ease;}
.kanda-footer__nav-link:hover {color: #fff;}
.kanda-footer__nav-icon {display: inline-flex;align-items: center;justify-content: center;color: #0070c0;flex-shrink: 0;}
.kanda-footer__office-content {display: flex;flex-direction: column;gap: 24px;}
.kanda-footer__office-name {font-size: 20px;font-weight: 900;color: #fff;margin: 0 0 4px;}
.kanda-footer__office-address {color: #94a3b8;font-weight: 700;margin: 0;}
.kanda-footer__office-phone-block {padding-top: 24px;border-top: 1px solid #1e293b;}
.kanda-footer__office-label {color: #64748b;font-size: 12px;font-weight: 900;letter-spacing: .1em;text-transform: uppercase;margin: 0 0 8px;}
.kanda-footer__office-phone {font-size: 24px;font-weight: 900;color: #fff;text-decoration: none;transition: color .2s ease;}
.kanda-footer__office-phone:hover {color: #0070c0;}
.kanda-footer__bottom {padding-top: 48px;border-top: 1px solid #1e293b;display: flex;flex-direction: column;justify-content: space-between;align-items: center;gap: 24px;}
.kanda-footer__copyright {margin: 0;color: #64748b;font-size: 12px;font-weight: 700;text-align: center;}
.kanda-footer__bottom-links {display: flex;gap: 32px;flex-wrap: wrap;justify-content: center;}
.kanda-footer__bottom-link {color: #64748b;font-size: 12px;font-weight: 700;text-decoration: none;transition: color .2s ease;}
.kanda-footer__bottom-link:hover {color: #fff;}
@keyframes mobileMenuIn {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@media only screen and (min-width: 768px) {
	body {padding-top: 96px;}
	.kanda-header__container,.kanda-footer__container {padding-left: 24px;padding-right: 24px;}
	.kanda-header__logo {height: 64px;}
	.kanda-header__contact {display: flex;}
	.kanda-footer__bottom {flex-direction: row;}
	.kanda-footer__copyright {text-align: left;}
}
@media only screen and (min-width: 1024px) {
	.kanda-header__nav {display: flex;}
	.kanda-header__menu-button {display: none;}
	.kanda-mobile-menu {display: none !important;}
	.kanda-footer__grid {grid-template-columns: repeat(12, minmax(0, 1fr));gap: 48px;}
	.kanda-footer__brand {grid-column: span 5 / span 5;}
	.kanda-footer__nav-column {grid-column: span 3 / span 3;}
	.kanda-footer__office {grid-column: span 4 / span 4;}
}
@media only screen and (max-width: 1023px) {
	body.admin-bar .kanda-mobile-menu {top: 106px;}
}
@media only screen and (max-width: 782px) {
	body.admin-bar .kanda-header {top: 46px;}
	body.admin-bar .kanda-mobile-menu {top: 106px;}
}
html {scroll-behavior: smooth;}
body {overflow-x: hidden;}
::selection {background-color: #0070c0;color: #fff;}
::-webkit-scrollbar {width: 10px;}
::-webkit-scrollbar-track {background: #f1f1f1;}
::-webkit-scrollbar-thumb {background: #003366;border-radius: 5px;}
::-webkit-scrollbar-thumb:hover {background: #002850;}
/* kanda front page hero */
.kanda-home {min-height: 100vh;background: #fff;color: #0f172a;overflow-x: hidden;}
.kanda-hero {position: relative;width: 100%;height: 100vh;min-height: 640px;overflow: hidden;display: flex;align-items: center;background: #0a0f1a;}
.kanda-hero__background {position: absolute;inset: 0;z-index: 0;}
.kanda-hero__slide {position: absolute;inset: 0;opacity: 0;transition: opacity 2s ease-in-out;z-index: 0;}
.kanda-hero__slide.is-active {opacity: 1;z-index: 1;}
.kanda-hero__slide-image-wrap {position: absolute;inset: 0;transform-origin: center center;}
.kanda-hero__slide.is-active .kanda-hero__slide-image-wrap {animation: heroZoom 10s ease-out forwards;}
.kanda-hero__slide-image {width: 100%;height: 100%;object-fit: cover;display: block;}
.kanda-hero__overlay {position: absolute;pointer-events: none;}
.kanda-hero__overlay--main {inset: 0;background: linear-gradient(to right, rgba(5,10,25,.88) 0%, rgba(5,10,25,.60) 55%, rgba(5,10,25,.25) 100%);z-index: 2;}
.kanda-hero__overlay--top {top: 0;left: 0;right: 0;height: 180px;background: linear-gradient(to bottom, rgba(5,10,25,.55), transparent);z-index: 3;}
.kanda-hero__overlay--bottom {bottom: 0;left: 0;right: 0;height: 160px;background: linear-gradient(to top, rgba(5,10,25,.7), transparent);z-index: 3;}
.kanda-hero__overlay--mobile {inset: 0;background: rgba(5,10,25,.35);z-index: 4;}
.kanda-hero__content-wrap {position: relative;z-index: 10;width: 100%;max-width: 1200px;margin: 0 auto;padding: 80px 24px 0;box-sizing: border-box;}
.kanda-hero__title {font-weight: 700;color: #fff;line-height: 1.25;letter-spacing: .01em;margin: 0 0 28px;font-size: 2.2rem;transform: translateX(-48px);opacity: 0;animation: kandaHeroTitleIn 1s cubic-bezier(.16,1,.3,1) .2s forwards;}
.kanda-hero__title span {color: #4da6ff;}
.kanda-hero__text {font-weight: 400;font-size: clamp(14px, 2vw, 17px);color: rgba(220,228,245,.85);line-height: 1.9;max-width: 520px;letter-spacing: .02em;margin: 0;transform: translateX(-36px);opacity: 0;animation: kandaHeroTextIn .9s ease-out .45s forwards;}
.kanda-hero__break-desktop {display: none;}
.kanda-hero__indicators {position: absolute;bottom: 40px;left: 50%;transform: translateX(-50%);z-index: 10;display: flex;gap: 8px;align-items: center;}
.kanda-hero__indicator {height: 3px;width: 8px;border-radius: 2px;background: rgba(255,255,255,.30);border: 0;cursor: pointer;transition: width .4s ease, background .4s ease;padding: 0;}
.kanda-hero__indicator.is-active {width: 32px;background: #0070c0;}
.kanda-hero__counter {position: absolute;bottom: 36px;right: 32px;z-index: 10;display: flex;align-items: baseline;gap: 4px;}
.kanda-hero__counter-current {font-size: 22px;font-weight: 700;color: #fff;line-height: 1;}
.kanda-hero__counter-total {font-size: 12px;color: rgba(255,255,255,.35);font-weight: 500;}
@keyframes heroZoom {
	from {
		transform: scale(1.1);
	}
	to {
		transform: scale(1);
	}
}
@keyframes kandaHeroTitleIn {
	from {
		opacity: 0;
		transform: translateX(-48px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes kandaHeroTextIn {
	from {
		opacity: 0;
		transform: translateX(-36px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
@media only screen and (min-width: 640px) {
	.kanda-hero__title {font-size: 3rem;}
}
@media only screen and (min-width: 768px) {
	.kanda-hero__title {font-size: 3.8rem;}
	.kanda-hero__break-desktop {display: inline;}
	.kanda-hero__overlay--mobile {display: none;}
}
@media only screen and (min-width: 1024px) {
	.kanda-hero__title {font-size: 4.8rem;}
}
@media only screen and (max-width: 767px) {
	.kanda-hero__content-wrap {padding-top: 72px;}
	.kanda-hero__counter {right: 20px;bottom: 28px;}
	.kanda-hero__indicators {bottom: 32px;}
}
/* kanda front page manufacturers */
.kanda-manufacturers {padding: 40px 0;background: #fff;border-top: 1px solid #f1f5f9;border-bottom: 1px solid #f1f5f9;overflow: hidden;}
.kanda-manufacturers__label {text-align: center;font-size: 11px;font-weight: 900;color: #94a3b8;letter-spacing: .3em;text-transform: uppercase;margin: 0 0 28px;}
.kanda-manufacturers__viewport {width: 100%;overflow: hidden;position: relative;}
.kanda-manufacturers__track {display: flex;align-items: center;width: max-content;animation: manufacturerScroll 18s linear infinite;}
.kanda-manufacturers__item {display: flex;align-items: center;justify-content: center;padding: 0 60px;flex-shrink: 0;min-width: max-content;}
.kanda-manufacturers__image {height: 52px;width: auto;max-width: 160px;object-fit: contain;display: block;opacity: .8;transition: opacity .3s ease;}
.kanda-manufacturers__image:hover {opacity: 1;}
.kanda-manufacturers__fallback {font-size: 22px;font-weight: 900;color: #94a3b8;font-style: italic;letter-spacing: -.03em;}
@keyframes manufacturerScroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
/* kanda front page services */
.kanda-services {padding: 96px 0;background: #fff;}
.kanda-services__container {width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-services__heading {text-align: center;margin-bottom: 64px;}
.kanda-services__title {font-size: 3rem;font-weight: 900;color: #0f172a;margin: 0 0 16px;letter-spacing: -.04em;}
.kanda-services__subtitle {margin: 0;color: #64748b;font-weight: 700;letter-spacing: .3em;font-size: 14px;}
.kanda-services__grid {display: grid;grid-template-columns: 1fr;gap: 24px;}
.kanda-service-card {position: relative;overflow: hidden;background: #fff;border: 1px solid #f1f5f9;padding: 32px;border-radius: 2px;box-shadow: 0 1px 2px rgba(15,23,42,.06);transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.kanda-service-card:hover {transform: translateY(-10px);box-shadow: 0 25px 50px -12px rgba(15,23,42,.2);border-color: rgba(0,112,192,.3);}
.kanda-service-card__number {position: absolute;top: 0;right: 0;padding: 16px;opacity: .05;transition: opacity .3s ease;font-size: 60px;font-weight: 900;font-style: italic;line-height: 1;}
.kanda-service-card:hover .kanda-service-card__number {opacity: .1;}
.kanda-service-card__icon-wrap {margin-bottom: 24px;background: #f8fafc;width: 64px;height: 64px;display: flex;align-items: center;justify-content: center;border-radius: 4px;color: #0070c0;transition: background-color .3s ease;}
.kanda-service-card:hover .kanda-service-card__icon-wrap {background: rgba(0,112,192,.1);}
.kanda-service-card__title {font-size: 20px;font-weight: 900;color: #0f172a;margin: 0 0 16px;letter-spacing: -.025em;transition: color .3s ease;}
.kanda-service-card:hover .kanda-service-card__title {color: #0070c0;}
.kanda-service-card__desc {margin: 0;color: #475569;line-height: 1.7;font-weight: 500;}
.is-reveal {opacity: 0;transform: translateY(30px);transition: opacity .5s ease, transform .5s ease;}
.kanda-services__heading.is-reveal {transform: translateY(20px);transition-duration: .6s;}
.is-reveal.is-visible {opacity: 1;transform: translateY(0);}
@media only screen and (min-width: 768px) {
	.kanda-services__container {padding: 0 24px;}
	.kanda-services__title {font-size: 3rem;}
	.kanda-services__grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media only screen and (min-width: 1024px) {
	.kanda-services__grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media only screen and (max-width: 767px) {
	.kanda-manufacturers__item {padding: 0 32px;}
	.kanda-manufacturers__image {height: 42px;max-width: 140px;}
	.kanda-services {padding: 72px 0;}
	.kanda-services__title {font-size: 2rem;}
}
/* kanda front page machining */
.kanda-machining {position: relative;padding: 96px 0;overflow: hidden;background: #0f172a;}
.kanda-machining__bg {position: absolute;inset: 0;z-index: 0;opacity: .4;}
.kanda-machining__bg-image,.kanda-machining__bg-fallback {width: 100%;height: 100%;object-fit: cover;display: block;}
.kanda-machining__bg-image {animation: kandaMachiningParallax 18s ease-in-out infinite alternate;}
.kanda-machining__bg-fallback {background: #003366;}
.kanda-machining__shade {position: absolute;inset: 0;pointer-events: none;}
.kanda-machining__shade--main {background: linear-gradient(to bottom, rgba(15,23,42,.92), rgba(15,23,42,.2), rgba(15,23,42,.92));z-index: 10;}
.kanda-machining__shade--top {top: 0;left: 0;right: 0;bottom: auto;height: 180px;background: linear-gradient(to bottom, rgba(15,23,42,.85), transparent);z-index: 11;}
.kanda-machining__shade--bottom {left: 0;right: 0;top: auto;bottom: 0;height: 180px;background: linear-gradient(to top, rgba(15,23,42,.9), transparent);z-index: 11;}
.kanda-machining__container {position: relative;z-index: 20;width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-machining__lead-grid {display: grid;grid-template-columns: 1fr;gap: 48px;align-items: center;margin-bottom: 80px;}
.kanda-machining__eyebrow {display: block;color: #0070c0;font-weight: 900;letter-spacing: .3em;text-transform: uppercase;font-size: 14px;margin-bottom: 16px;}
.kanda-machining__title {font-size: 4rem;font-weight: 900;color: #fff;margin: 0 0 32px;letter-spacing: -.04em;line-height: 1.05;}
.kanda-machining__bar {width: 80px;height: 8px;background: #0070c0;margin-bottom: 32px;}
.kanda-machining__text {margin: 0;max-width: 40rem;color: #cbd5e1;font-size: 18px;line-height: 1.8;font-weight: 500;}
.kanda-machining__button {display: inline-flex;align-items: center;justify-content: center;margin-top: 40px;background: #0070c0;color: #fff;padding: 16px 40px;border-radius: 4px;font-weight: 900;font-size: 18px;text-decoration: none;transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;box-shadow: 0 20px 40px rgba(0,51,102,.4);}
.kanda-machining__button:hover {background: #005fa3;transform: scale(1.05);}
.kanda-machining__button:active {transform: scale(.95);}
.kanda-machining__visual {display: none;position: relative;}
.kanda-machining__visual-ring {aspect-ratio: 1 / 1;background: rgba(0,51,102,.2);border: 2px solid rgba(0,112,192,.3);border-radius: 999px;display: flex;align-items: center;justify-content: center;padding: 48px;animation: kandaMachiningPulse 2.4s ease-in-out infinite;}
.kanda-machining__visual-icon {position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;color: rgba(0,112,192,.2);}
.kanda-machining__visual-icon svg {animation: spin-slow 20s linear infinite;}
.kanda-machining__cards {display: grid;grid-template-columns: 1fr;gap: 32px;}
.kanda-machining-card {background: rgba(255,255,255,.05);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border: 1px solid rgba(255,255,255,.1);padding: 24px;border-radius: 8px;transition: background-color .3s ease;}
.kanda-machining-card:hover {background: rgba(255,255,255,.1);}
.kanda-machining-card__image-wrap {aspect-ratio: 16 / 9;background: #1e293b;border-radius: 6px;margin-bottom: 24px;overflow: hidden;position: relative;}
.kanda-machining-card__image {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .7s ease;}
.kanda-machining-card:hover .kanda-machining-card__image {transform: scale(1.1);}
.kanda-machining-card__icon {position: absolute;top: 16px;left: 16px;width: 48px;height: 48px;background: #0070c0;color: #fff;display: flex;align-items: center;justify-content: center;border-radius: 4px;}
.kanda-machining-card__title {font-size: 20px;font-weight: 900;color: #fff;margin: 0 0 12px;letter-spacing: -.025em;}
.kanda-machining-card__desc {margin: 0;color: #94a3b8;font-weight: 500;line-height: 1.75;font-style: italic;}
@keyframes spin-slow {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
@keyframes kandaMachiningParallax {
	from {
		transform: translateY(-10%);
	}
	to {
		transform: translateY(10%);
	}
}
@keyframes kandaMachiningPulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.02);
	}
	100% {
		transform: scale(1);
	}
}
/* kanda front page product search */
.kanda-product-search {padding: 96px 0;background: #f8fafc;}
.kanda-product-search__container {width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-product-search__header {display: flex;flex-direction: column;gap: 16px;margin-bottom: 64px;}
.kanda-product-search__eyebrow {margin: 0 0 12px;color: #0070c0;font-size: 12px;font-weight: 900;letter-spacing: .3em;text-transform: uppercase;}
.kanda-product-search__title {margin: 0;color: #0f172a;font-size: 2.5rem;font-weight: 900;letter-spacing: -.04em;line-height: 1.1;}
.kanda-product-search__text {margin: 12px 0 0;color: #64748b;font-weight: 500;}
.kanda-product-search__link {display: inline-flex;align-items: center;gap: 4px;color: #0070c0;font-weight: 900;font-size: 14px;text-decoration: none;white-space: nowrap;}
.kanda-product-search__link-icon {display: inline-flex;transition: transform .2s ease;}
.kanda-product-search__link:hover .kanda-product-search__link-icon {transform: translateX(4px);}
.kanda-product-search__grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 16px;}
.kanda-product-card {background: #fff;border: 1px solid #f1f5f9;border-radius: 2px;padding: 20px;display: flex;flex-direction: column;align-items: center;text-align: center;cursor: pointer;transition: transform .3s ease, box-shadow .3s ease;}
.kanda-product-card:hover {transform: translateY(-6px);box-shadow: 0 16px 40px rgba(0,0,0,.1);}
.kanda-product-card__accent {width: 32px;height: 4px;border-radius: 999px;margin-bottom: 16px;transition: width .3s ease;}
.kanda-product-card:hover .kanda-product-card__accent {width: 48px;}
.kanda-product-card__name {margin: 0 0 4px;font-size: 16px;font-weight: 900;letter-spacing: -.025em;}
.kanda-product-card__kana {margin: 0 0 12px;color: #94a3b8;font-size: 10px;font-weight: 700;}
.kanda-product-card__category {margin: 0;color: #64748b;font-size: 10px;line-height: 1.4;}
.kanda-product-search__bottom {margin-top: 64px;text-align: center;}
.kanda-product-search__bottom-text {margin: 0 0 24px;color: #64748b;font-size: 14px;}
.kanda-product-search__button {display: inline-flex;align-items: center;gap: 8px;background: #003366;color: #fff;padding: 16px 32px;border-radius: 4px;font-weight: 900;text-decoration: none;transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;box-shadow: 0 10px 24px rgba(0,51,102,.22);}
.kanda-product-search__button:hover {background: #002850;transform: translateY(-4px);box-shadow: 0 18px 28px rgba(0,51,102,.28);}
.kanda-product-search__button-icon {display: inline-flex;}
@media only screen and (min-width: 768px) {
	.kanda-machining__container,.kanda-product-search__container {padding: 0 24px;}
	.kanda-machining__cards {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.kanda-product-search__grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media only screen and (min-width: 1024px) {
	.kanda-machining__lead-grid {grid-template-columns: repeat(2, minmax(0, 1fr));gap: 48px;}
	.kanda-machining__visual {display: block;}
	.kanda-product-search__header {flex-direction: row;align-items: flex-end;justify-content: space-between;}
	.kanda-product-search__grid {grid-template-columns: repeat(6, minmax(0, 1fr));}
}
@media only screen and (max-width: 767px) {
	.kanda-machining {padding: 72px 0;}
	.kanda-machining__title {font-size: 2.5rem;}
	.kanda-machining__text {font-size: 16px;}
	.kanda-machining__button {width: 100%;padding-left: 24px;padding-right: 24px;font-size: 16px;}
	.kanda-product-search {padding: 72px 0;}
	.kanda-product-search__title {font-size: 2rem;}
}
/* kanda front page events */
.kanda-events {padding: 96px 0;background: #fff;}
.kanda-events__container {width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-events__header {display: flex;flex-direction: column;align-items: flex-start;justify-content: space-between;margin-bottom: 48px;gap: 24px;}
.kanda-events__title {margin: 0 0 8px;color: #0f172a;font-size: 3rem;font-weight: 900;letter-spacing: -.04em;}
.kanda-events__subtitle {margin: 0;color: #64748b;font-size: 12px;font-weight: 700;letter-spacing: .25em;text-transform: uppercase;}
.kanda-events__link {display: inline-flex;align-items: center;gap: 8px;color: #003366;font-weight: 900;text-decoration: none;}
.kanda-events__link-icon {display: inline-flex;transition: transform .2s ease;}
.kanda-events__link:hover .kanda-events__link-icon {transform: translateX(8px);}
.kanda-events__grid {display: grid;grid-template-columns: 1fr;gap: 32px;}
.kanda-event-card {display: block;text-decoration: none;cursor: pointer;}
.kanda-event-card__image-wrap {aspect-ratio: 16 / 9;background: #f1f5f9;overflow: hidden;border-radius: 4px;margin-bottom: 24px;position: relative;}
.kanda-event-card__image {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .5s ease;}
.kanda-event-card:hover .kanda-event-card__image {transform: scale(1.05);}
.kanda-event-card__date-badge {position: absolute;top: 16px;left: 16px;background: #fff;padding: 8px 16px;border-radius: 4px;box-shadow: 0 10px 24px rgba(15,23,42,.18);}
.kanda-event-card__date-row {display: flex;align-items: center;gap: 8px;color: #003366;font-weight: 900;font-size: 14px;}
.kanda-event-card__date-icon {display: inline-flex;}
.kanda-event-card__title {margin: 0 0 8px;font-size: 2rem;font-weight: 900;color: #0f172a;transition: color .2s ease;}
.kanda-event-card:hover .kanda-event-card__title {color: #0070c0;}
.kanda-event-card__location {margin: 0;color: #64748b;font-weight: 700;display: flex;align-items: center;gap: 8px;}
.kanda-event-card__dot {width: 4px;height: 4px;background: #cbd5e1;border-radius: 999px;display: inline-block;flex-shrink: 0;}
/* kanda front page instagram */
.kanda-instagram {padding: 96px 0;background: #f8fafc;}
.kanda-instagram__container {width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-instagram__header {display: flex;flex-direction: column;gap: 24px;margin-bottom: 48px;}
.kanda-instagram__handle-row {display: flex;align-items: center;gap: 8px;color: #E1306C;margin-bottom: 16px;}
.kanda-instagram__icon {display: inline-flex;}
.kanda-instagram__handle {font-weight: 900;font-size: 16px;letter-spacing: -.02em;}
.kanda-instagram__title {margin: 0;color: #0f172a;font-size: 2.5rem;font-weight: 900;letter-spacing: -.04em;line-height: 1.15;}
.kanda-instagram__title-break {display: none;}
.kanda-instagram__text {margin: 12px 0 0;color: #64748b;font-size: 14px;line-height: 1.7;}
.kanda-instagram__follow {display: inline-flex;align-items: center;gap: 8px;border: 2px solid #E1306C;color: #E1306C;padding: 12px 32px;border-radius: 999px;font-weight: 900;font-size: 14px;text-decoration: none;transition: background-color .2s ease, color .2s ease;}
.kanda-instagram__follow:hover {background: #E1306C;color: #fff;}
.kanda-instagram__follow-icon,.kanda-instagram__external {display: inline-flex;}
.kanda-instagram__grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 16px;}
.kanda-instagram-card {display: block;background: #fff;border-radius: 2px;overflow: hidden;box-shadow: 0 1px 2px rgba(15,23,42,.06);border: 1px solid #f1f5f9;text-decoration: none;transition: transform .3s ease, box-shadow .3s ease;}
.kanda-instagram-card:hover {transform: translateY(-6px);box-shadow: 0 16px 40px rgba(0,0,0,.12);}
.kanda-instagram-card__image-wrap {aspect-ratio: 1 / 1;position: relative;overflow: hidden;background: #f1f5f9;}
.kanda-instagram-card__image {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .7s ease;}
.kanda-instagram-card:hover .kanda-instagram-card__image {transform: scale(1.05);}
.kanda-instagram-card__overlay {position: absolute;inset: 0;background: rgba(0,0,0,.3);opacity: 0;transition: opacity .3s ease;display: flex;align-items: center;justify-content: center;}
.kanda-instagram-card:hover .kanda-instagram-card__overlay {opacity: 1;}
.kanda-instagram-card__overlay-icon {background: rgba(255,255,255,.9);border-radius: 999px;padding: 12px;color: #0f172a;display: inline-flex;}
.kanda-instagram-card__tag {position: absolute;top: 12px;left: 12px;background: rgba(255,255,255,.9);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);padding: 4px 10px;border-radius: 4px;font-size: 10px;font-weight: 900;color: #1e293b;letter-spacing: .2em;text-transform: uppercase;}
.kanda-instagram-card__body {padding: 16px;}
.kanda-instagram-card__caption {margin: 0;color: #475569;font-size: 12px;line-height: 1.6;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.kanda-instagram-card__handle {margin: 8px 0 0;color: #94a3b8;font-size: 10px;font-weight: 700;}
.kanda-instagram__bottom {margin-top: 40px;display: flex;flex-direction: column;align-items: center;justify-content: space-between;gap: 24px;}
.kanda-instagram__note {margin: 0;color: #94a3b8;font-size: 12px;display: flex;align-items: center;gap: 6px;text-align: center;}
.kanda-instagram__note-dot {width: 6px;height: 6px;border-radius: 999px;background: #cbd5e1;display: inline-block;flex-shrink: 0;}
.is-desktop {display: none;}
@media only screen and (min-width: 768px) {
	.kanda-events__container,.kanda-instagram__container {padding: 0 24px;}
	.kanda-events__header {flex-direction: row;align-items: flex-end;}
	.kanda-events__grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.kanda-instagram__header {flex-direction: row;align-items: flex-end;justify-content: space-between;}
	.kanda-instagram__grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.kanda-instagram__bottom {flex-direction: row;}
	.is-desktop {display: inline-flex;}
}
@media only screen and (max-width: 767px) {
	.kanda-events {padding: 72px 0;}
	.kanda-events__title {font-size: 2rem;}
	.kanda-event-card__title {font-size: 1.5rem;}
	.kanda-instagram {padding: 72px 0;}
	.kanda-instagram__title {font-size: 2rem;}
	.kanda-instagram__title-break {display: inline;}
}
/* kanda front page contact */
.kanda-contact {padding: 96px 0;background: #f1f5f9;border-top: 1px solid #e2e8f0;}
.kanda-contact__container {width: 100%;max-width: 1280px;margin: 0 auto;padding: 0 16px;box-sizing: border-box;}
.kanda-contact__inner {max-width: 1152px;margin: 0 auto;}
.kanda-contact__heading {text-align: center;margin-bottom: 64px;}
.kanda-contact__title {margin: 0 0 16px;color: #0f172a;font-size: 3rem;font-weight: 900;letter-spacing: -.04em;}
.kanda-contact__text {margin: 0;color: #64748b;font-weight: 700;font-size: 18px;}
.kanda-contact__grid {display: grid;grid-template-columns: 1fr;gap: 24px;}
.kanda-contact-card {display: flex;flex-direction: column;align-items: center;text-align: center;padding: 40px;background: #fff;border-radius: 2px;box-shadow: 0 20px 40px rgba(15,23,42,.12);transition: transform .3s ease;}
.kanda-contact-card:hover {transform: translateY(-8px);}
.kanda-contact-card--line {background: #06C755;color: #fff;}
.kanda-contact-card--form {background: #003366;color: #fff;}
.kanda-contact-card__icon-wrap {width: 64px;height: 64px;background: #f8fafc;border-radius: 999px;display: flex;align-items: center;justify-content: center;color: #003366;margin-bottom: 24px;transition: background-color .3s ease, color .3s ease;}
.kanda-contact-card:hover .kanda-contact-card__icon-wrap {background: #003366;color: #fff;}
.kanda-contact-card--line .kanda-contact-card__icon-wrap,.kanda-contact-card--form .kanda-contact-card__icon-wrap {background: rgba(255,255,255,.2);color: #fff;}
.kanda-contact-card--line:hover .kanda-contact-card__icon-wrap {background: #fff;color: #06C755;}
.kanda-contact-card--form:hover .kanda-contact-card__icon-wrap {background: #fff;color: #003366;}
.kanda-contact-card__title {margin: 0 0 4px;color: inherit;font-size: 20px;font-weight: 900;}
.kanda-contact-card__subtext {margin: 0 0 4px;color: #64748b;font-size: 14px;font-weight: 700;}
.kanda-contact-card__meta {margin: 0 0 24px;color: #94a3b8;font-size: 12px;font-weight: 700;}
.kanda-contact-card--line .kanda-contact-card__subtext,.kanda-contact-card--form .kanda-contact-card__subtext {color: rgba(255,255,255,.8);}
.kanda-contact-card--line .kanda-contact-card__meta,.kanda-contact-card--form .kanda-contact-card__meta {color: rgba(255,255,255,.75);}
.kanda-contact-card__phone {font-size: 32px;font-weight: 900;color: #003366;letter-spacing: .08em;text-decoration: none;}
.kanda-contact-card__phone:hover {text-decoration: underline;}
.kanda-contact-card__button {display: inline-flex;align-items: center;gap: 8px;padding: 12px 32px;border-radius: 4px;font-weight: 900;text-decoration: none;transition: transform .2s ease;}
.kanda-contact-card__button:hover {transform: translateX(2px);}
.kanda-contact-card__button-icon {display: inline-flex;transition: transform .2s ease;}
.kanda-contact-card__button:hover .kanda-contact-card__button-icon {transform: translateX(4px);}
.kanda-contact-card__button--line {background: #fff;color: #06C755;}
.kanda-contact-card__button--form {background: #0070c0;color: #fff;}
/* kanda floating cta */
.kanda-floating-cta {position: fixed;bottom: 24px;right: 24px;z-index: 9999;display: inline-flex;align-items: center;gap: 10px;background: #0070c0;color: #fff;padding: 14px 22px;border-radius: 999px;font-weight: 700;font-size: 14px;letter-spacing: .04em;text-decoration: none;white-space: nowrap;cursor: pointer;box-shadow: 0 6px 24px rgba(0,80,160,.45);animation: floatCTA 3.2s ease-in-out infinite;transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;}
.kanda-floating-cta:hover {transform: scale(1.07);background: #005fa3;box-shadow: 0 12px 36px rgba(0,80,160,.55);animation-play-state: paused;color: #fff;}
.kanda-floating-cta__icon {display: inline-flex;flex-shrink: 0;}
@keyframes floatCTA {
	0%,100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-6px);
	}
}
@media only screen and (min-width: 768px) {
	.kanda-contact__container {padding: 0 24px;}
	.kanda-contact__grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media only screen and (max-width: 767px) {
	.kanda-contact {padding: 72px 0;}
	.kanda-contact__title {font-size: 2rem;}
	.kanda-contact__text {font-size: 16px;}
	.kanda-contact-card {padding: 32px 24px;}
	.kanda-contact-card__phone {font-size: 26px;}
	.kanda-floating-cta {right: 16px;bottom: 16px;padding: 12px 18px;font-size: 13px;}
}
