/* MK CREATE custom-style.css */
:root{--mk-navy:#0b2545;--mk-navy2:#071a30;--mk-blue:#173d68;--mk-gold:#b18b2c;--mk-gold2:#d4af37;--mk-text:#222;--mk-muted:#66707a;--mk-line:#e2e6ea;--mk-bg:#f5f6f7}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body.mk-create-site{margin:0;padding:0;color:var(--mk-text);background:#fff;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.8}body.mk-create-site a{color:inherit;text-decoration:none}body.mk-create-site img{max-width:100%;height:auto;vertical-align:middle}body.mk-create-site ul,body.mk-create-site ol{margin:0;padding:0;list-style:none}body.mk-create-site h1,body.mk-create-site h2,body.mk-create-site h3,body.mk-create-site p{margin-top:0}.site-main{overflow:hidden}.mk-container{width:min(1200px,92%);margin:0 auto}.mk-page-narrow{max-width:900px}.mk-section,.mk-page-section{position:relative;padding:105px 0}.mk-section-en,.mk-page-heading>p{margin:0 0 10px;color:var(--mk-gold);font-size:12px;font-weight:700;letter-spacing:.25em}.mk-section h2,.mk-page-heading h2{margin:0;color:var(--mk-navy);font-size:clamp(30px,4vw,46px);line-height:1.3;letter-spacing:.04em}.mk-centered-heading{max-width:720px;margin:0 auto 55px;text-align:center}.mk-centered-heading>p:last-child,.mk-page-heading>span{display:block;margin-top:18px;color:var(--mk-muted);font-size:14px}.mk-page-heading.centered{text-align:center;margin-bottom:55px}.mk-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.mk-view-more{display:inline-flex;align-items:center;gap:14px;padding-bottom:7px;border-bottom:1px solid var(--mk-navy);color:var(--mk-navy);font-size:11px;font-weight:700;letter-spacing:.16em}.mk-view-more:hover{color:var(--mk-gold);border-color:var(--mk-gold)}
/* header */
.mk-header{position:sticky;top:0;z-index:9999;width:100%;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(11,37,69,.08);box-shadow:0 3px 20px rgba(0,0,0,.04);backdrop-filter:blur(12px)}.mk-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1400px,94%);min-height:82px;margin:0 auto}.mk-logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.mk-logo img{width:48px;height:48px;object-fit:contain}.mk-logo span{font-size:13px;font-weight:700;white-space:nowrap}.mk-pc-nav{margin-left:auto}.mk-pc-nav ul{display:flex;align-items:center;gap:20px}.mk-pc-nav a{position:relative;display:block;padding:29px 0;font-size:12px;font-weight:600;white-space:nowrap}.mk-pc-nav a:not(.mk-nav-contact)::after{position:absolute;right:0;bottom:22px;left:0;width:0;height:1px;margin:auto;background:var(--mk-gold);content:"";transition:.25s}.mk-pc-nav a:hover::after{width:100%}.mk-nav-contact{padding:12px 18px!important;color:#fff!important;background:var(--mk-navy)}.mk-menu-toggle{position:relative;z-index:10003;display:none;width:48px;height:48px;padding:0;border:0;background:transparent;cursor:pointer}.mk-menu-toggle span{position:absolute;left:12px;width:24px;height:1px;background:var(--mk-navy);transition:.3s}.mk-menu-toggle span:nth-child(1){top:16px}.mk-menu-toggle span:nth-child(2){top:23px}.mk-menu-toggle span:nth-child(3){top:30px}.mk-menu-toggle.is-open span:nth-child(1){top:23px;transform:rotate(45deg)}.mk-menu-toggle.is-open span:nth-child(2){opacity:0}.mk-menu-toggle.is-open span:nth-child(3){top:23px;transform:rotate(-45deg)}.mk-mobile-menu{position:fixed;top:82px;right:0;bottom:0;z-index:10002;display:flex;flex-direction:column;justify-content:space-between;width:min(420px,88%);padding:30px 28px 24px;overflow:auto;background:var(--mk-navy);color:#fff;transform:translateX(105%);visibility:hidden;transition:.35s}.mk-mobile-menu.is-open{transform:translateX(0);visibility:visible}.mk-mobile-menu nav li{border-bottom:1px solid rgba(255,255,255,.14)}.mk-mobile-menu nav a{display:flex;gap:15px;padding:17px 4px;color:#fff;font-size:15px;font-weight:600}.mk-mobile-menu nav a span{min-width:25px;color:var(--mk-gold2);font-size:10px}.mk-mobile-menu-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:25px}.mk-mobile-menu-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;padding:8px 3px;border:1px solid rgba(255,255,255,.18);color:#fff}.mk-mobile-menu-bottom strong{color:var(--mk-gold2);font-size:13px}.mk-mobile-menu-bottom span{font-size:9px}.mk-menu-backdrop{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.38)}body.mk-menu-open{overflow:hidden}
/* hero */
.mk-hero{position:relative;display:flex;align-items:center;min-height:calc(100vh - 82px);overflow:hidden;color:#fff;background:#111}.mk-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mk-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.26) 55%,rgba(0,0,0,.08))}.mk-hero-content{position:relative;z-index:2;width:min(1200px,92%);margin:0 auto;padding:100px 0}.mk-hero-subtitle{margin:0 0 18px;color:var(--mk-gold2);font-size:13px;font-weight:700;letter-spacing:.24em}.mk-hero h1{margin:0 0 24px;color:#fff;font-size:clamp(44px,6vw,78px);line-height:1.2;letter-spacing:.07em;text-shadow:0 4px 20px rgba(0,0,0,.25)}.mk-hero-description{margin-bottom:34px;color:rgba(255,255,255,.94);font-size:16px;line-height:2}.mk-hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.mk-hero-button{display:inline-flex;align-items:center;justify-content:space-between;min-width:210px;padding:15px 20px;font-size:13px;font-weight:700;transition:.25s}.mk-hero-button:hover{transform:translateY(-3px)}.mk-hero-button-main{background:var(--mk-navy);color:#fff}.mk-hero-button-sub{border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.08);color:#fff}.mk-hero-scroll{position:absolute;right:5%;bottom:30px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}.mk-hero-scroll span{font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.mk-hero-scroll i{width:1px;height:52px;background:rgba(255,255,255,.65)}
/* news */
.mk-news-section{padding:70px 0}.mk-news-list{border-top:1px solid var(--mk-line)}.mk-news-item{border-bottom:1px solid var(--mk-line)}.mk-news-item a{display:grid;grid-template-columns:115px 125px 1fr 28px;align-items:center;gap:18px;min-height:76px;padding:0 4px;transition:.25s}.mk-news-item a:hover{padding:0 14px;background:#f8f9fa}.mk-news-item time{color:#8a939c;font-size:12px}.mk-news-category{width:max-content;padding:3px 9px;border:1px solid #d9dee4;color:var(--mk-navy);font-size:10px}.mk-news-item h2,.mk-news-item h3{margin:0;color:#222;font-size:14px;font-weight:500}.mk-news-arrow{color:var(--mk-gold);font-size:18px}.mk-news-empty{padding:35px;text-align:center;color:#777}
/* about */
.mk-about-section{background:var(--mk-bg)}.mk-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.mk-about-image{min-height:520px;overflow:hidden}.mk-about-image img{width:100%;height:520px;object-fit:cover}.mk-about-content{max-width:570px}.mk-about-content h2{margin-bottom:18px}.mk-heading-line{width:50px;height:2px;margin:24px 0 28px;background:var(--mk-gold)}.mk-about-content p{color:#5f6973;font-size:14px}.mk-about-content .mk-lead{color:var(--mk-navy);font-size:21px;font-weight:700;line-height:1.8}
/* buttons */
.mk-outline-button,.mk-dark-button,.mk-light-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:230px;margin-top:24px;padding:14px 18px;font-size:12px;font-weight:700;transition:.25s}.mk-outline-button{border:1px solid var(--mk-navy);color:var(--mk-navy)}.mk-outline-button:hover{background:var(--mk-navy);color:#fff}.mk-dark-button{background:var(--mk-navy);color:#fff}.mk-light-button{border:1px solid rgba(255,255,255,.55);color:#fff}.mk-light-button:hover{background:#fff;color:var(--mk-navy)}.mk-centered-button{text-align:center;margin-top:40px}
/* strengths */
.mk-strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mk-strength-card{min-height:320px;padding:34px;border:1px solid var(--mk-line);background:#fff;transition:.3s}.mk-strength-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(11,37,69,.08)}.mk-card-number{color:var(--mk-gold);font-size:11px;font-weight:700}.mk-strength-icon{margin:26px 0 18px;color:var(--mk-navy);font-size:36px}.mk-strength-card h3{color:var(--mk-navy);font-size:20px}.mk-strength-card p{color:#6b747d;font-size:13px}.mk-card-link{color:var(--mk-navy);font-size:11px;font-weight:700}
/* customer */
.mk-business-section{background:var(--mk-bg)}.mk-customer-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.mk-customer-content{display:flex;flex-direction:column;justify-content:center;padding:65px;background:#fff}.mk-business-section .mk-customer-content{background:var(--mk-navy);color:#fff}.mk-business-section .mk-customer-content h2,.mk-business-section .mk-customer-content .mk-section-en,.mk-business-section .mk-customer-lead,.mk-business-section .mk-check-list{color:#fff}.mk-customer-lead{margin:24px 0;color:#555;font-size:17px;font-weight:600;line-height:2}.mk-check-list{display:grid;gap:7px;color:#555;font-size:13px}.mk-check-list li::before{margin-right:9px;color:var(--mk-gold2);content:"✓"}.mk-customer-image{min-height:560px;overflow:hidden}.mk-customer-image img{width:100%;height:100%;min-height:560px;object-fit:cover}
/* services */
.mk-service-section{background:#f7f7f7}.mk-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe2e5}.mk-service-card{position:relative;min-height:300px;overflow:hidden;color:#fff;background:#222}.mk-service-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s}.mk-service-card:hover>img{transform:scale(1.05)}.mk-service-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72))}.mk-service-number{position:absolute;top:24px;left:25px;z-index:2;color:var(--mk-gold2);font-size:12px;font-weight:700}.mk-service-card-content{position:absolute;right:25px;bottom:24px;left:25px;z-index:2}.mk-service-card-content p{margin:0 0 5px;color:var(--mk-gold2);font-size:10px;font-weight:700;letter-spacing:.15em}.mk-service-card-content h3{margin:0 0 12px;color:#fff;font-size:19px}.mk-service-card-content span{font-size:10px;font-weight:700}
/* works */
.mk-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mk-work-card{overflow:hidden;border:1px solid var(--mk-line);background:#fff;transition:.3s}.mk-work-card:hover{transform:translateY(-6px);box-shadow:0 15px 34px rgba(0,0,0,.08)}.mk-work-image{aspect-ratio:4/3;overflow:hidden;background:#e8ebee}.mk-work-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.mk-work-card:hover .mk-work-image img{transform:scale(1.04)}.mk-work-no-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:rgba(11,37,69,.35);font-size:12px;font-weight:700;letter-spacing:.2em}.mk-work-content{padding:20px}.mk-work-content time{color:#929aa3;font-size:10px}.mk-work-content h2,.mk-work-content h3{margin:7px 0 10px;color:var(--mk-navy);font-size:17px}.mk-work-content p{color:#68717a;font-size:12px}.mk-work-content span{color:var(--mk-gold);font-size:10px;font-weight:700}.mk-works-empty{grid-column:1/-1;padding:60px 20px;text-align:center;color:#777}
/* company/contact */
.mk-company-section{background:var(--mk-bg)}.mk-company-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px}.mk-company-lead{margin:22px 0;color:var(--mk-navy);font-size:18px;font-weight:700}.mk-company-table,.mk-detail-table{width:100%;border-collapse:collapse}.mk-company-table th,.mk-company-table td,.mk-detail-table th,.mk-detail-table td{padding:13px 14px;border-bottom:1px solid #dfe3e7;text-align:left;font-size:13px}.mk-company-table th,.mk-detail-table th{width:28%;color:var(--mk-navy);font-weight:700}.mk-company-message{display:flex;flex-direction:column;justify-content:center;min-height:490px;padding:55px;background:var(--mk-navy);color:#fff}.mk-company-message p{color:var(--mk-gold2);font-size:11px;letter-spacing:.2em}.mk-company-message h3{color:#fff;font-size:28px;line-height:1.7}.mk-company-message span{color:rgba(255,255,255,.7);font-size:12px}.mk-contact-section{background:var(--mk-navy);color:#fff}.mk-contact-inner{max-width:850px;margin:auto;text-align:center}.mk-contact-inner h2{color:#fff;font-size:clamp(30px,4vw,48px)}.mk-contact-inner>p{color:rgba(255,255,255,.7)}.mk-contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.mk-contact-button{display:grid;grid-template-columns:44px 1fr 18px;align-items:center;gap:10px;padding:17px;text-align:left;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);transition:.25s}.mk-contact-button:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}.mk-contact-button-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(212,175,55,.6);color:var(--mk-gold2);font-size:10px;font-weight:700}.mk-contact-button small{display:block;color:rgba(255,255,255,.55);font-size:9px}.mk-contact-button strong{color:#fff;font-size:12px}.mk-contact-button b{color:var(--mk-gold2)}
/* footer */
.mk-footer-cta{padding:90px 0;background:#f2f3f4}.mk-footer-cta-inner{width:min(900px,92%);margin:auto;text-align:center}.mk-footer-cta-label{color:var(--mk-gold);font-size:11px;font-weight:700;letter-spacing:.25em}.mk-footer-cta h2{color:var(--mk-navy);font-size:clamp(28px,4vw,44px)}.mk-footer-cta-text{color:#666;font-size:14px}.mk-footer-cta-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.mk-cta-button{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #ddd;background:#fff;text-align:left}.mk-cta-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--mk-navy);color:var(--mk-navy);font-size:10px;font-weight:700}.mk-cta-button small{display:block;color:#929aa3;font-size:9px}.mk-cta-button strong{color:var(--mk-navy);font-size:12px}.mk-footer{background:var(--mk-navy2);color:#fff}.mk-footer-inner{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:60px;width:min(1200px,92%);margin:auto;padding:72px 0}.mk-footer-logo img{width:55px;height:55px;object-fit:contain}.mk-footer-company h2{margin:12px 0 2px;color:#fff;font-size:17px}.mk-footer-tagline{color:var(--mk-gold2);font-size:12px}.mk-footer-description{max-width:430px;color:rgba(255,255,255,.55);font-size:12px}.mk-footer h3{color:var(--mk-gold2);font-size:11px;letter-spacing:.2em}.mk-footer-menu li{margin-bottom:9px}.mk-footer-menu a{color:rgba(255,255,255,.72);font-size:12px}.mk-footer-contact p{color:rgba(255,255,255,.55);font-size:12px}.mk-footer-contact a{display:block;margin-bottom:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12px}.mk-footer-bottom{padding:18px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.mk-footer-bottom p{margin:0;color:rgba(255,255,255,.4);font-size:10px}.mk-mobile-fixed-contact{position:fixed;right:0;bottom:0;left:0;z-index:9998;display:none;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.12)}.mk-mobile-fixed-contact a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-right:1px solid #ddd;color:var(--mk-navy)}.mk-mobile-fixed-contact span{font-size:12px;font-weight:700}.mk-mobile-fixed-contact small{font-size:9px}
/* inner pages */
.mk-page-hero{padding:95px 0 70px;background:linear-gradient(135deg,var(--mk-navy2),var(--mk-navy));color:#fff}.mk-page-hero p{margin:0 0 8px;color:var(--mk-gold2);font-size:11px;font-weight:700;letter-spacing:.24em}.mk-page-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(34px,5vw,58px);letter-spacing:.05em}.mk-page-hero span{color:rgba(255,255,255,.7);font-size:13px}.mk-page-hero-small{padding:75px 0 55px}.mk-page-gray{background:var(--mk-bg)}.mk-message-box{padding:45px;border:1px solid var(--mk-line);background:#fff}.mk-message-box h3{color:var(--mk-navy);font-size:25px;line-height:1.6}.mk-message-box p{color:#5d6770;font-size:14px}.mk-sign{margin-top:35px;text-align:right;color:#555;font-size:13px}.mk-timeline{border-top:1px solid var(--mk-line)}.mk-timeline>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--mk-line)}.mk-timeline time{color:var(--mk-gold);font-weight:700}.mk-timeline p{margin:0}.mk-page-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mk-page-card-grid article{padding:30px;border:1px solid var(--mk-line);background:#fff}.mk-page-card-grid h3{color:var(--mk-navy);font-size:18px}.mk-page-card-grid p{margin-bottom:0;color:#68727b;font-size:13px}.mk-flow{display:grid;gap:0;border-top:1px solid var(--mk-line)}.mk-flow li{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--mk-line)}.mk-flow>li>span{color:var(--mk-gold);font-size:13px;font-weight:700}.mk-flow h3{margin-bottom:4px;color:var(--mk-navy)}.mk-flow p{margin:0;color:#6b747d;font-size:13px}.mk-promise-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mk-promise-list>div{padding:28px;background:#fff;border:1px solid var(--mk-line)}.mk-promise-list strong{color:var(--mk-gold)}.mk-promise-list h3{color:var(--mk-navy)}.mk-promise-list p{font-size:13px;color:#67717a}.mk-service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--mk-line)}.mk-service-detail-grid article{padding:42px;background:#fff}.mk-service-detail-grid article>span{color:var(--mk-gold);font-size:10px;font-weight:700;letter-spacing:.12em}.mk-service-detail-grid h2{margin:8px 0 15px;color:var(--mk-navy);font-size:24px}.mk-service-detail-grid p{margin:0;color:#667079;font-size:13px}.mk-single-content{font-size:15px}.mk-single-eyecatch{margin-bottom:35px}.mk-single-eyecatch img{width:100%;height:auto}.mk-single-content h2,.mk-single-content h3{color:var(--mk-navy)}.mk-back-link{margin-top:50px;padding-top:25px;border-top:1px solid var(--mk-line)}.mk-back-link a{color:var(--mk-navy);font-weight:700}.mk-generic-list article,.mk-generic-entry{padding:25px 0;border-bottom:1px solid var(--mk-line)}.mk-generic-list time{color:#999;font-size:11px}.mk-generic-list h2{font-size:20px;color:var(--mk-navy)}
/* reveal */
.mk-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s,transform .75s}.mk-reveal.is-visible{opacity:1;transform:none}.mobile-only{display:none}
/* SWELL coexistence */
.l-header{display:none!important}.c-pageTitle{display:none!important}.l-mainContent,.l-mainContent__inner,#content{margin-top:0!important;padding-top:0!important}.mk-create-site .p-breadcrumb{display:none!important}
@media(max-width:1100px){.mk-pc-nav ul{gap:12px}.mk-pc-nav a{font-size:11px}.mk-customer-content{padding:48px}.mk-footer-inner{gap:35px}}
@media(max-width:900px){.mk-pc-nav{display:none}.mk-menu-toggle{display:block}.mk-header-inner{min-height:72px}.mk-mobile-menu{top:72px}.mk-hero{min-height:calc(100vh - 72px)}.mk-about-grid,.mk-company-grid{grid-template-columns:1fr}.mk-strength-grid{grid-template-columns:repeat(2,1fr)}.mk-customer-grid{grid-template-columns:1fr}.mk-customer-grid-reverse .mk-customer-image{order:1}.mk-customer-grid-reverse .mk-customer-content{order:2}.mk-service-grid,.mk-works-grid,.mk-page-card-grid{grid-template-columns:repeat(2,1fr)}.mk-contact-buttons,.mk-footer-cta-buttons{grid-template-columns:1fr}.mk-footer-inner{grid-template-columns:1fr 1fr}.mk-footer-company{grid-column:1/-1}.mk-service-detail-grid{grid-template-columns:1fr}.mk-promise-list{grid-template-columns:1fr}}
@media(max-width:640px){body.mk-create-site{padding-bottom:62px}.mk-section,.mk-page-section{padding:72px 0}.mk-container{width:90%}.mk-header-inner{width:92%;min-height:68px}.mk-logo img{width:38px;height:38px}.mk-logo span{font-size:11px}.mk-mobile-menu{top:68px;width:100%;padding:24px 22px 85px}.mk-hero{min-height:calc(100svh - 68px)}.mk-hero-content{width:90%;padding:70px 0 95px}.mk-hero h1{font-size:clamp(38px,11vw,56px)}.mk-hero-subtitle{font-size:10px}.mk-hero-description{font-size:13px}.mk-hero-buttons{flex-direction:column;align-items:flex-start}.mk-hero-button{width:100%;max-width:310px}.mk-hero-scroll{right:16px;bottom:82px}.mobile-only{display:block}.mk-section-heading{align-items:flex-start;flex-direction:column;gap:18px}.mk-news-item a{grid-template-columns:80px 1fr 18px;gap:9px}.mk-news-category{display:none}.mk-news-item h2,.mk-news-item h3{font-size:12px}.mk-about-grid{gap:38px}.mk-about-image,.mk-about-image img{min-height:300px;height:300px}.mk-strength-grid,.mk-service-grid,.mk-works-grid,.mk-page-card-grid{grid-template-columns:1fr}.mk-customer-content{padding:42px 24px}.mk-customer-image,.mk-customer-image img{min-height:300px}.mk-company-table th,.mk-company-table td,.mk-detail-table th,.mk-detail-table td{padding:11px 7px;font-size:11px}.mk-company-message{min-height:330px;padding:36px 28px}.mk-contact-inner h2{font-size:28px}.mk-footer-inner{grid-template-columns:1fr;padding:55px 0 32px}.mk-footer-company{grid-column:auto}.mk-mobile-fixed-contact{display:grid}.mk-page-hero{padding:70px 0 52px}.mk-message-box{padding:28px 22px}.mk-message-box h3{font-size:21px}.mk-timeline>div{grid-template-columns:95px 1fr}.mk-flow li{grid-template-columns:55px 1fr}.mk-service-detail-grid article{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mk-reveal{opacity:1;transform:none;transition:none}}
/* =========================================================
   濃紺ボタンの文字色 修正
   ========================================================= */

a.mk-dark-button,
a.mk-dark-button:link,
a.mk-dark-button:visited,
a.mk-dark-button:hover,
a.mk-dark-button:active {
    color: #ffffff !important;
}

a.mk-dark-button span {
    color: #ffffff !important;
}
/* =========================================================
   スマホメニュー修正
========================================================= */

@media (max-width: 960px) {

    .mk-mobile-menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #071d35 !important;
        z-index: 9998 !important;

        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;

        padding-top: 110px !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .mk-mobile-menu.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .mk-header {
        position: relative;
        z-index: 9999 !important;
    }

    .mk-mobile-menu nav {
        display: block !important;
        width: 100% !important;
        padding: 20px 30px 150px !important;
    }

    .mk-mobile-menu ul {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .mk-mobile-menu li {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }

    .mk-mobile-menu li a {
        display: flex !important;
        align-items: center !important;
        gap: 25px !important;

        width: 100% !important;
        padding: 22px 5px !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-decoration: none !important;

        font-size: 18px !important;
        font-weight: 600 !important;
    }

    .mk-mobile-menu li a span {
        color: #D4AF37 !important;
        -webkit-text-fill-color: #D4AF37 !important;

        font-size: 12px !important;
        font-weight: 700 !important;
    }

    body.menu-open {
        overflow: hidden !important;
    }
}
/* =========================================
   スマホメニューのタップ不具合修正
========================================= */

@media (max-width: 960px) {

    /* 古い黒いオーバーレイを無効化 */
    body.mk-menu-open::after {
        display: none !important;
        content: none !important;
        pointer-events: none !important;
    }

    /* メニューを最前面へ */
    .mk-mobile-menu {
        z-index: 10001 !important;
    }

    /* ×ボタンはさらに上 */
    .mk-menu-toggle {
        z-index: 10002 !important;
    }

    /* メニューリンクを確実にタップ可能に */
    .mk-mobile-menu nav,
    .mk-mobile-menu ul,
    .mk-mobile-menu li,
    .mk-mobile-menu li a {
        position: relative !important;
        z-index: 10002 !important;
        pointer-events: auto !important;
    }

}
/* =========================================================
   iPhone スマホメニュー タップ最終修正
========================================================= */

@media (max-width: 960px) {

    /* メニュー展開時の不要なオーバーレイを完全無効化 */
    body.mk-menu-open::before,
    body.mk-menu-open::after {
        display: none !important;
        content: none !important;
        pointer-events: none !important;
    }

    /* スマホメニュー本体 */
    #mk-mobile-menu {
        position: fixed !important;
        top: 68px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;

        width: 100% !important;
        height: calc(100dvh - 68px) !important;

        z-index: 999999 !important;

        background: #071d35 !important;

        pointer-events: auto !important;
        touch-action: auto !important;
    }

    /* メニュー内部の疑似要素も邪魔させない */
    #mk-mobile-menu::before,
    #mk-mobile-menu::after {
        pointer-events: none !important;
    }

    #mk-mobile-menu nav,
    #mk-mobile-menu ul,
    #mk-mobile-menu li {
        position: relative !important;
        z-index: 1000000 !important;
        pointer-events: auto !important;
    }

    /* リンクを最前面 */
    #mk-mobile-menu li a {
        position: relative !important;
        z-index: 1000001 !important;

        display: flex !important;
        width: 100% !important;

        pointer-events: auto !important;
        touch-action: manipulation !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    #mk-mobile-menu li a span {
        pointer-events: none !important;
    }

    /* LINE等の下部ボタン */
    .mk-mobile-menu-bottom {
        position: relative !important;
        z-index: 1000001 !important;
        pointer-events: auto !important;
    }

    .mk-mobile-menu-bottom a {
        position: relative !important;
        z-index: 1000002 !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
    }

    /* ハンバーガー・×ボタン */
    #mk-menu-toggle {
        position: relative !important;
        z-index: 1000002 !important;
    }
}
/* =========================================================
   MK CREATE スマホメニュー 最終上書き
   ========================================================= */

@media (max-width: 900px) {

    /* メニュー展開時の古いオーバーレイを無効化 */
    body.mk-menu-open::before,
    body.mk-menu-open::after {
        display: none !important;
        content: none !important;
        pointer-events: none !important;
    }

    body.mk-menu-open {
        overflow: hidden !important;
    }


    /* ヘッダー */
    .mk-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 999999 !important;
        background: #ffffff !important;
    }

    .mk-header-inner {
        position: relative !important;
        z-index: 1000001 !important;
        min-height: 68px !important;
    }


    /* PCメニューをスマホでは非表示 */
    .mk-pc-nav {
        display: none !important;
    }


    /* ハンバーガー */
    #mk-menu-toggle {
        position: relative !important;
        z-index: 1000002 !important;
        display: block !important;
        width: 48px !important;
        height: 48px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        cursor: pointer !important;
    }

    #mk-menu-toggle span {
        position: absolute !important;
        left: 12px !important;
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        background: #0b2545 !important;
        transition: .3s ease !important;
    }

    #mk-menu-toggle span:nth-child(1) {
        top: 15px !important;
    }

    #mk-menu-toggle span:nth-child(2) {
        top: 23px !important;
    }

    #mk-menu-toggle span:nth-child(3) {
        top: 31px !important;
    }

    #mk-menu-toggle.is-open span:nth-child(1) {
        top: 23px !important;
        transform: rotate(45deg) !important;
    }

    #mk-menu-toggle.is-open span:nth-child(2) {
        opacity: 0 !important;
    }

    #mk-menu-toggle.is-open span:nth-child(3) {
        top: 23px !important;
        transform: rotate(-45deg) !important;
    }


    /* ============================
       スマホメニュー本体
       ============================ */

    #mk-mobile-menu {
        position: fixed !important;

        top: 68px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        z-index: 1000000 !important;

        display: block !important;

        width: 100% !important;
        height: calc(100dvh - 68px) !important;

        margin: 0 !important;
        padding: 18px 24px 100px !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        background: #071d35 !important;

        opacity: 1 !important;
        visibility: hidden !important;

        transform: translateX(100%) !important;

        pointer-events: none !important;

        transition:
            transform .3s ease,
            visibility .3s ease !important;

        -webkit-overflow-scrolling: touch !important;
    }


    /* メニューOPEN */
    #mk-mobile-menu.is-open {
        visibility: visible !important;

        transform: translateX(0) !important;

        pointer-events: auto !important;
    }


    /* 古い疑似要素を無効化 */
    #mk-mobile-menu::before,
    #mk-mobile-menu::after {
        display: none !important;
        content: none !important;
        pointer-events: none !important;
    }


    /* ============================
       メニューリンク
       ============================ */

    #mk-mobile-menu > a.mk-mobile-link {
        position: relative !important;

        z-index: 1000001 !important;

        display: flex !important;
        align-items: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 19px 5px !important;

        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.14) !important;

        background: transparent !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;

        text-decoration: none !important;

        opacity: 1 !important;

        pointer-events: auto !important;
        touch-action: manipulation !important;
    }


    /* 番号 */
    #mk-mobile-menu > a.mk-mobile-link > span {
        display: inline-block !important;

        width: 45px !important;
        min-width: 45px !important;

        color: #d4af37 !important;
        -webkit-text-fill-color: #d4af37 !important;

        font-size: 11px !important;
        font-weight: 700 !important;

        pointer-events: none !important;
    }


    /* ============================
       電話・LINE・Instagram
       ============================ */

    #mk-mobile-menu .mk-mobile-menu-bottom {
        position: relative !important;

        z-index: 1000001 !important;

        display: grid !important;

        grid-template-columns: repeat(3, 1fr) !important;

        gap: 6px !important;

        width: 100% !important;

        margin: 25px 0 0 !important;
        padding: 0 !important;

        pointer-events: auto !important;
    }

    #mk-mobile-menu .mk-mobile-menu-bottom a {
        position: relative !important;

        z-index: 1000002 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 72px !important;

        padding: 8px 3px !important;

        border: 1px solid rgba(255,255,255,.20) !important;

        background: transparent !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        text-decoration: none !important;

        pointer-events: auto !important;
        touch-action: manipulation !important;
    }

    #mk-mobile-menu .mk-mobile-menu-bottom strong {
        margin-bottom: 4px !important;

        color: #d4af37 !important;
        -webkit-text-fill-color: #d4af37 !important;

        font-size: 13px !important;
    }

    #mk-mobile-menu .mk-mobile-menu-bottom span {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        font-size: 9px !important;
    }

}
/* =========================================================
   NEWS一覧ページ
========================================================= */

.mk-subpage-hero {
    padding: 100px 0 70px;
    background: #f6f7f8;
}

.mk-subpage-hero h1 {
    margin: 0 0 20px;
    color: #0b2545;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.3;
}

.mk-subpage-lead {
    max-width: 700px;
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.9;
}

.mk-news-archive-section {
    background: #fff;
}

.mk-news-archive-list {
    border-top: 1px solid #ddd;
}

.mk-news-archive-item {
    border-bottom: 1px solid #ddd;
}

.mk-news-archive-item > a {
    display: block;
    padding: 35px 10px;
    transition:
        background .3s ease,
        padding .3s ease;
}

.mk-news-archive-item > a:hover {
    padding-left: 20px;
    padding-right: 20px;
    background: #f8f8f8;
}

.mk-news-archive-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.mk-news-archive-meta time {
    color: #888;
    font-size: 12px;
}

.mk-news-archive-item h2 {
    margin: 0 0 12px;
    color: #0b2545;
    font-size: 22px;
    line-height: 1.5;
}

.mk-news-archive-item p {
    margin: 0 0 15px;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}

.mk-news-archive-link {
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-pagination {
    margin-top: 50px;
    text-align: center;
}

.mk-pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.mk-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d7dbe0;
    color: #0b2545;
    font-size: 12px;
}

.mk-pagination .page-numbers.current,
.mk-pagination .page-numbers:hover {
    background: #0b2545;
    color: #fff;
    border-color: #0b2545;
}

@media (max-width: 640px) {

    .mk-subpage-hero {
        padding: 75px 0 50px;
    }

    .mk-subpage-hero h1 {
        font-size: 36px;
    }

    .mk-news-archive-item > a {
        padding: 25px 5px;
    }

    .mk-news-archive-item h2 {
        font-size: 18px;
    }

    .mk-news-archive-meta {
        gap: 10px;
    }

}
/* =========================================================
   NEWS 記事詳細ページ
========================================================= */

.mk-news-single-hero {
    padding: 100px 0 65px;
    background: #f6f7f8;
}

.mk-news-single-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 15px 0 20px;
}

.mk-news-single-meta time {
    color: #777;
    font-size: 13px;
    letter-spacing: 1px;
}

.mk-news-category {
    display: inline-block;
    padding: 5px 13px;
    background: #b18b2c;
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
}

.mk-news-single-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #0b2545;
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.5;
}


/* 本文エリア */

.mk-news-single-section {
    padding: 80px 0 100px;
    background: #fff;
}

.mk-news-single-content {
    max-width: 900px;
    margin: 0 auto;
}


/* アイキャッチ */

.mk-news-single-image {
    margin-bottom: 50px;
}

.mk-news-single-image img {
    display: block;
    width: 100%;
    height: auto;
}


/* 本文 */

.mk-news-single-body {
    color: #444;
    font-size: 15px;
    line-height: 2.1;
}

.mk-news-single-body p {
    margin: 0 0 28px;
}

.mk-news-single-body h2 {
    margin: 60px 0 25px;
    padding: 0 0 15px;
    border-bottom: 2px solid #0b2545;
    color: #0b2545;
    font-size: 27px;
    line-height: 1.5;
}

.mk-news-single-body h3 {
    margin: 45px 0 20px;
    padding-left: 15px;
    border-left: 4px solid #b18b2c;
    color: #0b2545;
    font-size: 21px;
}

.mk-news-single-body img {
    max-width: 100%;
    height: auto;
}


/* 一覧へ戻る */

.mk-news-single-back {
    margin-top: 70px;
    padding-top: 35px;
    border-top: 1px solid #ddd;
    text-align: center;
}

.mk-news-single-back a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-width: 230px;
    padding: 17px 30px;
    background: #0b2545;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: opacity .3s ease;
}

.mk-news-single-back a:hover {
    opacity: .8;
}


/* ==========================================
   スマホ
========================================== */

@media (max-width: 640px) {

    .mk-news-single-hero {
        padding: 70px 0 45px;
    }

    .mk-news-single-hero h1 {
        font-size: 27px;
        line-height: 1.5;
    }

    .mk-news-single-meta {
        margin: 12px 0 18px;
    }

    .mk-news-single-section {
        padding: 50px 0 80px;
    }

    .mk-news-single-body {
        font-size: 14px;
        line-height: 2;
    }

    .mk-news-single-body h2 {
        margin-top: 45px;
        font-size: 22px;
    }

    .mk-news-single-body h3 {
        margin-top: 35px;
        font-size: 19px;
    }

    .mk-news-single-image {
        margin-bottom: 35px;
    }

    .mk-news-single-back {
        margin-top: 50px;
    }

    .mk-news-single-back a {
        width: 100%;
    }

}
/* =========================================================
   会社概要ページ
========================================================= */

.mk-president-section {
    background: #ffffff;
}

.mk-president-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 80px;
    align-items: start;
}

.mk-president-heading h2 {
    margin: 0;
    color: #0b2545;
    font-size: 36px;
}

.mk-president-message {
    max-width: 760px;
}

.mk-president-message p {
    margin: 0 0 28px;
    color: #555;
    font-size: 15px;
    line-height: 2.1;
}

.mk-president-message .mk-president-lead {
    margin-bottom: 35px;
    color: #0b2545;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.8;
}

.mk-president-sign {
    margin-top: 50px;
    text-align: right;
}

.mk-president-sign span {
    display: block;
    margin-bottom: 5px;
    color: #777;
    font-size: 13px;
}

.mk-president-sign strong {
    color: #0b2545;
    font-size: 17px;
}


/* 会社情報 */

.mk-company-info-section {
    background: #f6f7f8;
}

.mk-company-profile {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
}

.mk-company-profile table {
    width: 100%;
    border-collapse: collapse;
}

.mk-company-profile th,
.mk-company-profile td {
    padding: 20px 25px;
    border-bottom: 1px solid #e1e4e7;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.mk-company-profile th {
    width: 26%;
    color: #0b2545;
    background: #fafafa;
    font-weight: 700;
}

.mk-company-profile td {
    color: #555;
}

.mk-company-profile td a {
    color: #0b2545;
    font-weight: 700;
}


/* 方針 */

.mk-company-policy-section {
    background: #fff;
}

.mk-company-policy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.mk-company-policy-card {
    min-height: 260px;
    padding: 35px;
    border: 1px solid #e0e3e6;
}

.mk-company-policy-card > span {
    display: block;
    margin-bottom: 30px;
    color: #b18b2c;
    font-size: 12px;
    font-weight: 700;
}

.mk-company-policy-card h3 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 20px;
}

.mk-company-policy-card p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}


/* 対応エリア */

.mk-company-area-section {
    background: #f6f7f8;
}

.mk-company-area-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 50px;
    background: #fff;
}

.mk-company-area-inner h2 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 32px;
}

.mk-company-area-inner p:last-child {
    margin: 0;
    color: #666;
    font-size: 14px;
}


/* スマホ */

@media (max-width: 700px) {

    .mk-president-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .mk-president-heading h2 {
        font-size: 30px;
    }

    .mk-president-message .mk-president-lead {
        font-size: 20px;
    }

    .mk-president-message p {
        font-size: 14px;
        line-height: 2;
    }

    .mk-president-sign {
        text-align: left;
    }

    .mk-company-profile th,
    .mk-company-profile td {
        display: block;
        width: 100%;
    }

    .mk-company-profile th {
        padding-bottom: 8px;
        border-bottom: 0;
    }

    .mk-company-profile td {
        padding-top: 0;
    }

    .mk-company-policy-grid {
        grid-template-columns: 1fr;
    }

    .mk-company-policy-card {
        min-height: auto;
    }

    .mk-company-area-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .mk-company-area-inner .mk-dark-button {
        width: 100%;
    }

}
/* =========================================================
   法人のお客様ページ
========================================================= */

.mk-corporate-intro-section {
    background: #fff;
}

.mk-corporate-intro-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.mk-corporate-intro-heading h2 {
    margin: 0;
    color: #0b2545;
    font-size: 38px;
    line-height: 1.6;
}

.mk-corporate-intro-text p {
    margin: 0 0 25px;
    color: #555;
    font-size: 15px;
    line-height: 2;
}


/* 対応工事 */

.mk-corporate-service-section {
    background: #f6f7f8;
}

.mk-corporate-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mk-corporate-service-card {
    min-height: 240px;
    padding: 30px;
    background: #fff;
    border: 1px solid #e1e4e7;
}

.mk-corporate-service-card > span {
    display: block;
    margin-bottom: 25px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-corporate-service-card h3 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 19px;
}

.mk-corporate-service-card p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}


/* 法人様に選ばれる理由 */

.mk-corporate-strength-section {
    background: #0b2545;
}

.mk-corporate-strength-section .mk-section-en {
    color: #d4af37;
}

.mk-corporate-strength-section .mk-centered-heading h2 {
    color: #fff;
}

.mk-corporate-strength-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mk-corporate-strength-card {
    padding: 35px;
    border: 1px solid rgba(255,255,255,.18);
}

.mk-corporate-strength-card > span {
    display: block;
    margin-bottom: 30px;
    color: #d4af37;
    font-size: 11px;
    font-weight: 700;
}

.mk-corporate-strength-card h3 {
    margin: 0 0 15px;
    color: #fff;
    font-size: 21px;
}

.mk-corporate-strength-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.9;
}


/* 対応物件 */

.mk-corporate-property-section {
    background: #fff;
}

.mk-corporate-property-inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 60px;
    align-items: start;
}

.mk-corporate-property-inner h2 {
    margin: 0;
    color: #0b2545;
    font-size: 35px;
}

.mk-corporate-property-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.mk-corporate-property-list span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 12px;
    border: 1px solid #dfe2e5;
    color: #0b2545;
    background: #fafafa;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}


/* ご依頼の流れ */

.mk-corporate-flow-section {
    background: #f6f7f8;
}

.mk-corporate-flow-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.mk-corporate-flow-item {
    min-height: 210px;
    padding: 25px 20px;
    background: #fff;
    border-top: 3px solid #0b2545;
}

.mk-corporate-flow-item > span {
    display: block;
    margin-bottom: 25px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-corporate-flow-item h3 {
    margin: 0 0 12px;
    color: #0b2545;
    font-size: 17px;
}

.mk-corporate-flow-item p {
    margin: 0;
    color: #666;
    font-size: 12px;
    line-height: 1.8;
}


/* スマホ */

@media (max-width: 800px) {

    .mk-corporate-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .mk-corporate-intro-heading h2 {
        font-size: 30px;
    }

    .mk-corporate-service-grid,
    .mk-corporate-strength-grid {
        grid-template-columns: 1fr;
    }

    .mk-corporate-service-card {
        min-height: auto;
    }

    .mk-corporate-property-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .mk-corporate-property-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .mk-corporate-flow-grid {
        grid-template-columns: 1fr;
    }

    .mk-corporate-flow-item {
        min-height: auto;
    }

}
/* =========================================================
   個人のお客様ページ
========================================================= */

.mk-personal-intro-section {
    background: #ffffff;
}

.mk-personal-intro-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.mk-personal-intro-heading h2 {
    margin: 0;
    color: #0b2545;
    font-size: 38px;
    line-height: 1.6;
}

.mk-personal-intro-text p {
    margin: 0 0 25px;
    color: #555;
    font-size: 15px;
    line-height: 2;
}


/* お悩み */

.mk-personal-trouble-section {
    background: #f6f7f8;
}

.mk-personal-trouble-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mk-personal-trouble-card {
    min-height: 230px;
    padding: 30px;
    background: #fff;
    border: 1px solid #e1e4e7;
}

.mk-personal-trouble-card > span {
    display: block;
    margin-bottom: 25px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-personal-trouble-card h3 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 19px;
}

.mk-personal-trouble-card p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}


/* 対応工事 */

.mk-personal-service-section {
    background: #fff;
}

.mk-personal-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mk-personal-service-card {
    display: block;
    min-height: 250px;
    padding: 30px;
    border: 1px solid #e0e3e6;
    background: #fff;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.mk-personal-service-card:hover {
    transform: translateY(-5px);
    border-color: #0b2545;
    box-shadow: 0 15px 35px rgba(11, 37, 69, .08);
}

.mk-personal-service-card > span {
    display: block;
    margin-bottom: 30px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-personal-service-card h3 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 20px;
}

.mk-personal-service-card p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}


/* 大切にしていること */

.mk-personal-strength-section {
    background: #0b2545;
}

.mk-personal-strength-section .mk-section-en {
    color: #d4af37;
}

.mk-personal-strength-section .mk-centered-heading h2 {
    color: #fff;
}

.mk-personal-strength-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.mk-personal-strength-card {
    padding: 35px;
    border: 1px solid rgba(255,255,255,.18);
}

.mk-personal-strength-card > span {
    display: block;
    margin-bottom: 30px;
    color: #d4af37;
    font-size: 11px;
    font-weight: 700;
}

.mk-personal-strength-card h3 {
    margin: 0 0 15px;
    color: #fff;
    font-size: 21px;
}

.mk-personal-strength-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.9;
}


/* リフォーム例 */

.mk-personal-example-section {
    background: #f6f7f8;
}

.mk-personal-example-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.mk-personal-example-card {
    padding: 35px;
    background: #fff;
    border-left: 4px solid #0b2545;
}

.mk-personal-example-card h3 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 20px;
}

.mk-personal-example-card p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}


/* 流れ */

.mk-personal-flow-section {
    background: #fff;
}

.mk-personal-flow-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.mk-personal-flow-item {
    min-height: 210px;
    padding: 25px 20px;
    background: #f7f8f9;
    border-top: 3px solid #0b2545;
}

.mk-personal-flow-item > span {
    display: block;
    margin-bottom: 25px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
}

.mk-personal-flow-item h3 {
    margin: 0 0 12px;
    color: #0b2545;
    font-size: 17px;
}

.mk-personal-flow-item p {
    margin: 0;
    color: #666;
    font-size: 12px;
    line-height: 1.8;
}


/* スマホ */

@media (max-width: 800px) {

    .mk-personal-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .mk-personal-intro-heading h2 {
        font-size: 30px;
    }

    .mk-personal-trouble-grid,
    .mk-personal-service-grid,
    .mk-personal-strength-grid {
        grid-template-columns: 1fr;
    }

    .mk-personal-trouble-card,
    .mk-personal-service-card {
        min-height: auto;
    }

    .mk-personal-example-grid {
        grid-template-columns: 1fr;
    }

    .mk-personal-flow-grid {
        grid-template-columns: 1fr;
    }

    .mk-personal-flow-item {
        min-height: auto;
    }

}
/* =========================================================
   業務内容ページ
========================================================= */

.mk-service-intro-section {
    background: #fff;
}

.mk-service-intro-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.mk-service-intro-heading h2 {
    margin: 0;
    color: #0b2545;
    font-size: 38px;
    line-height: 1.6;
}

.mk-service-intro-text p {
    margin: 0 0 25px;
    color: #555;
    font-size: 15px;
    line-height: 2;
}


/* 各サービス */

.mk-service-detail-section {
    background: #fff;
}

.mk-service-detail-alt {
    background: #f6f7f8;
}

.mk-service-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.mk-service-detail-reverse .mk-service-detail-image {
    order: 2;
}

.mk-service-detail-reverse .mk-service-detail-content {
    order: 1;
}

.mk-service-detail-image {
    overflow: hidden;
}

.mk-service-detail-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.mk-service-detail-content h2 {
    margin: 0 0 25px;
    color: #0b2545;
    font-size: 34px;
}

.mk-service-detail-content > p {
    margin-bottom: 25px;
    color: #555;
    font-size: 14px;
    line-height: 2;
}

.mk-service-detail-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}

.mk-service-detail-list li {
    position: relative;
    padding: 13px 10px 13px 28px;
    border-bottom: 1px solid #e0e3e6;
    color: #444;
    font-size: 13px;
}

.mk-service-detail-list li::before {
    position: absolute;
    left: 5px;
    color: #b18b2c;
    content: "✓";
    font-weight: 700;
}


/* 対応建物 */

.mk-service-support-section {
    background: #0b2545;
}

.mk-service-support-section .mk-section-en {
    color: #d4af37;
}

.mk-service-support-section .mk-centered-heading h2 {
    color: #fff;
}

.mk-service-support-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.mk-service-support-card {
    min-height: 150px;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.18);
}

.mk-service-support-card > span {
    display: block;
    margin-bottom: 30px;
    color: #d4af37;
    font-size: 11px;
    font-weight: 700;
}

.mk-service-support-card h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}


/* 施工事例CTA */

.mk-service-works-section {
    background: #f6f7f8;
}

.mk-service-works-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 55px;
    background: #fff;
}

.mk-service-works-inner h2 {
    margin: 0 0 20px;
    color: #0b2545;
    font-size: 34px;
    line-height: 1.6;
}

.mk-service-works-inner > div > p:last-child {
    margin: 0;
    color: #666;
    font-size: 14px;
}


/* スマホ */

@media (max-width: 800px) {

    .mk-service-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .mk-service-intro-heading h2 {
        font-size: 30px;
    }

    .mk-service-detail-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .mk-service-detail-reverse .mk-service-detail-image,
    .mk-service-detail-reverse .mk-service-detail-content {
        order: initial;
    }

    .mk-service-detail-content h2 {
        font-size: 28px;
    }

    .mk-service-detail-list {
        grid-template-columns: 1fr;
    }

    .mk-service-support-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mk-service-support-card {
        min-height: 130px;
        padding: 25px 20px;
    }

    .mk-service-works-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 35px 25px;
    }

    .mk-service-works-inner h2 {
        font-size: 28px;
    }

    .mk-service-works-inner .mk-dark-button {
        width: 100%;
    }

}
/* =========================================================
   施工事例一覧ページ
========================================================= */

.mk-works-category-section {
    padding: 35px 0;
    background: #fff;
    border-bottom: 1px solid #e1e4e7;
}

.mk-works-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.mk-works-category-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 18px;
    border: 1px solid #d8dce0;
    color: #0b2545;
    background: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}

.mk-works-category-link:hover {
    color: #fff;
    background: #0b2545;
    border-color: #0b2545;
}


/* 一覧 */

.mk-works-page-section {
    background: #f6f7f8;
}

.mk-works-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.mk-works-page-card {
    background: #fff;
    border: 1px solid #e2e5e8;
    overflow: hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.mk-works-page-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(11, 37, 69, .09);
}

.mk-works-page-card > a {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.mk-works-page-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e8eaec;
}

.mk-works-page-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.mk-works-page-card:hover .mk-works-page-image img {
    transform: scale(1.05);
}

.mk-works-page-content {
    padding: 22px;
}

.mk-works-page-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.mk-works-page-meta time {
    color: #999;
    font-size: 10px;
}

.mk-works-page-category {
    padding: 3px 9px;
    border: 1px solid #d8dde2;
    color: #0b2545;
    font-size: 9px;
}

.mk-works-page-content h2 {
    margin: 0 0 12px;
    color: #0b2545;
    font-size: 19px;
    line-height: 1.6;
}

.mk-works-page-content p {
    margin: 0 0 18px;
    color: #666;
    font-size: 12px;
    line-height: 1.8;
}

.mk-works-page-more {
    color: #b18b2c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}


/* 施工事例なし */

.mk-works-page-empty {
    padding: 80px 20px;
    text-align: center;
    background: #fff;
}

.mk-works-page-empty h2 {
    margin: 0 0 15px;
    color: #0b2545;
    font-size: 28px;
}

.mk-works-page-empty p:last-child {
    margin: 0;
    color: #666;
    font-size: 14px;
}


/* スマホ */

@media (max-width: 900px) {

    .mk-works-page-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 640px) {

    .mk-works-category-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .mk-works-category-link {
        width: 100%;
        padding: 8px 10px;
    }

    .mk-works-page-grid {
        grid-template-columns: 1fr;
    }

    .mk-works-page-content {
        padding: 20px;
    }

    .mk-works-page-content h2 {
        font-size: 18px;
    }

}
/* =========================================================
   施工事例 詳細ページ
========================================================= */

.mk-works-single-hero {
    padding: 100px 0 65px;
    background: #f6f7f8;
}

.mk-works-single-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 15px 0 20px;
}

.mk-works-single-meta time {
    color: #777;
    font-size: 12px;
    letter-spacing: .05em;
}

.mk-works-single-category {
    display: inline-block;
    padding: 5px 13px;
    background: #b18b2c;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.mk-works-single-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #0b2545;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.5;
}


/* 本文 */

.mk-works-single-section {
    background: #fff;
}

.mk-works-single-content {
    max-width: 950px;
    margin: 0 auto;
}


/* メイン画像 */

.mk-works-single-main-image {
    margin-bottom: 50px;
}

.mk-works-single-main-image img {
    display: block;
    width: 100%;
    height: auto;
}


/* 本文エリア */

.mk-works-single-body {
    color: #444;
    font-size: 15px;
    line-height: 2.1;
}

.mk-works-single-body p {
    margin: 0 0 28px;
}

.mk-works-single-body h2 {
    margin: 60px 0 25px;
    padding-bottom: 14px;
    border-bottom: 2px solid #0b2545;
    color: #0b2545;
    font-size: 27px;
    line-height: 1.5;
}

.mk-works-single-body h3 {
    margin: 45px 0 20px;
    padding-left: 15px;
    border-left: 4px solid #b18b2c;
    color: #0b2545;
    font-size: 21px;
}

.mk-works-single-body ul,
.mk-works-single-body ol {
    margin: 25px 0;
    padding-left: 25px;
}

.mk-works-single-body ul {
    list-style: disc;
}

.mk-works-single-body ol {
    list-style: decimal;
}

.mk-works-single-body li {
    margin-bottom: 8px;
}

.mk-works-single-body img {
    max-width: 100%;
    height: auto;
}


/* テーブル */

.mk-works-single-body table {
    width: 100%;
    margin: 30px 0;
    border-collapse: collapse;
}

.mk-works-single-body th,
.mk-works-single-body td {
    padding: 14px 16px;
    border: 1px solid #dfe2e5;
    text-align: left;
    vertical-align: top;
    font-size: 13px;
}

.mk-works-single-body th {
    width: 28%;
    background: #f6f7f8;
    color: #0b2545;
}


/* 一覧へ戻る */

.mk-works-single-back {
    margin-top: 70px;
    padding-top: 35px;
    border-top: 1px solid #ddd;
    text-align: center;
}

.mk-works-single-back a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-width: 250px;
    padding: 17px 30px;
    background: #0b2545;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: opacity .3s ease;
}

.mk-works-single-back a:hover {
    opacity: .8;
}


/* スマホ */

@media (max-width: 640px) {

    .mk-works-single-hero {
        padding: 70px 0 45px;
    }

    .mk-works-single-hero h1 {
        font-size: 28px;
    }

    .mk-works-single-section {
        padding: 55px 0 80px;
    }

    .mk-works-single-main-image {
        margin-bottom: 35px;
    }

    .mk-works-single-body {
        font-size: 14px;
        line-height: 2;
    }

    .mk-works-single-body h2 {
        margin-top: 45px;
        font-size: 22px;
    }

    .mk-works-single-body h3 {
        margin-top: 35px;
        font-size: 19px;
    }

    .mk-works-single-body th,
    .mk-works-single-body td {
        display: block;
        width: 100%;
    }

    .mk-works-single-body th {
        border-bottom: 0;
    }

    .mk-works-single-back a {
        width: 100%;
    }

}
/* =========================================================
   トップページ 法人・個人2分割
========================================================= */

.mk-top-customer-section {
    background: #f6f7f8;
}

.mk-top-customer-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.mk-top-customer-card {
    position: relative;
    display: block;
    min-height: 470px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.mk-top-customer-corporate {
    background-image:
        url("https://mk-create.co.jp/wp-content/uploads/2026/08/S__17481734_0.jpg");
}

.mk-top-customer-personal {
    background-image:
        url("https://mk-create.co.jp/wp-content/uploads/2026/08/70e7082d-9a54-4e56-abe9-6f3ea28ccc93.png");
}

.mk-top-customer-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(11,37,69,.15) 0%,
        rgba(11,37,69,.85) 100%
    );
    transition: background .3s ease;
}

.mk-top-customer-card:hover .mk-top-customer-overlay {
    background: linear-gradient(
        180deg,
        rgba(11,37,69,.05) 0%,
        rgba(11,37,69,.72) 100%
    );
}

.mk-top-customer-content {
    position: absolute;
    right: 35px;
    bottom: 40px;
    left: 35px;
    z-index: 2;
    color: #fff;
}

.mk-top-customer-content > p {
    margin: 0 0 10px;
    color: #d4af37;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
}

.mk-top-customer-content h2 {
    margin: 0 0 15px;
    color: #fff;
    font-size: 34px;
}

.mk-top-customer-content > span {
    display: block;
    margin-bottom: 25px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    line-height: 1.9;
}

.mk-top-customer-content strong {
    color: #fff;
    font-size: 11px;
    letter-spacing: .08em;
}

@media (max-width: 700px) {

    .mk-top-customer-grid {
        grid-template-columns: 1fr;
    }

    .mk-top-customer-card {
        min-height: 360px;
    }

    .mk-top-customer-content {
        right: 25px;
        bottom: 30px;
        left: 25px;
    }

    .mk-top-customer-content h2 {
        font-size: 28px;
    }

}
/* =========================================================
   FOOTER 最終調整
========================================================= */

.mk-footer-cta {
    padding: 90px 0;
    background: #f6f7f8;
}

.mk-footer-cta-inner {
    width: min(900px, 92%);
    margin: 0 auto;
    text-align: center;
}

.mk-footer-cta-label {
    margin-bottom: 10px;
    color: #b18b2c;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .25em;
}

.mk-footer-cta h2 {
    margin: 0 0 20px;
    color: #0b2545;
    font-size: clamp(30px, 4vw, 44px);
}

.mk-footer-cta-text {
    margin-bottom: 35px;
    color: #666;
    font-size: 14px;
    line-height: 1.9;
}

.mk-footer-cta-buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.mk-cta-button {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px;
    background: #fff;
    border: 1px solid #dfe2e5;
    text-align: left;
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.mk-cta-button:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,.07);
}

.mk-cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 1px solid #0b2545;
    color: #0b2545;
    font-size: 11px;
    font-weight: 700;
}

.mk-cta-button small {
    display: block;
    margin-bottom: 3px;
    color: #999;
    font-size: 9px;
}

.mk-cta-button strong {
    color: #0b2545;
    font-size: 12px;
}


/* フッター本体 */

.mk-footer {
    background: #071a30;
    color: #fff;
}

.mk-footer-inner {
    display: grid;
    grid-template-columns: 1.4fr .8fr .8fr;
    gap: 70px;
    width: min(1200px, 92%);
    margin: 0 auto;
    padding: 75px 0;
}

.mk-footer-logo {
    display: inline-block;
    margin-bottom: 15px;
}

.mk-footer-logo img {
    width: auto;
    height: 55px;
}

.mk-footer-company h2 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 17px;
}

.mk-footer-catch {
    margin-bottom: 20px;
    color: #d4af37;
    font-size: 12px;
}

.mk-footer-description {
    max-width: 430px;
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: 12px;
    line-height: 2;
}

.mk-footer h3 {
    margin: 0 0 20px;
    color: #d4af37;
    font-size: 11px;
    letter-spacing: .2em;
}

.mk-footer-menu li {
    margin-bottom: 10px;
}

.mk-footer-menu a {
    color: rgba(255,255,255,.78);
    font-size: 12px;
    transition: color .3s ease;
}

.mk-footer-menu a:hover {
    color: #d4af37;
}

.mk-footer-contact > p {
    margin-bottom: 18px;
    color: rgba(255,255,255,.55);
    font-size: 12px;
}

.mk-footer-contact-link {
    display: block;
    margin-bottom: 10px;
    padding: 11px 14px;
    border: 1px solid rgba(255,255,255,.16);
    color: #fff !important;
    font-size: 12px;
    transition:
        border-color .3s ease,
        background .3s ease;
}

.mk-footer-contact-link:hover {
    border-color: #d4af37;
    background: rgba(212,175,55,.08);
}

.mk-footer-bottom {
    padding: 18px 20px;
    border-top: 1px solid rgba(255,255,255,.08);
    text-align: center;
}

.mk-footer-bottom p {
    margin: 0;
    color: rgba(255,255,255,.42);
    font-size: 10px;
}


/* スマホ固定バー */

.mk-mobile-fixed-contact {
    display: none;
}

@media (max-width: 640px) {

    body {
        padding-bottom: 62px;
    }

    .mk-footer-cta {
        padding: 70px 0;
    }

    .mk-footer-cta-buttons {
        grid-template-columns: 1fr;
    }

    .mk-footer-inner {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 55px 0 35px;
    }

    .mk-mobile-fixed-contact {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99999;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        background: #fff;
        box-shadow: 0 -4px 20px rgba(0,0,0,.12);
    }

    .mk-mobile-fixed-contact a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 62px;
        gap: 2px;
        border-right: 1px solid #ddd;
        color: #0b2545 !important;
    }

    .mk-mobile-fixed-contact a:last-child {
        border-right: 0;
    }

    .mk-mobile-fixed-contact span {
        font-size: 13px;
        font-weight: 700;
    }

    .mk-mobile-fixed-contact small {
        font-size: 9px;
    }

}
/* =========================================================
   スマホ NEWS 横書き修正
========================================================= */

@media (max-width: 640px) {

    .mk-news-item a {
        display: grid !important;
        grid-template-columns: auto auto 1fr auto !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .mk-news-item h3 {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;

        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        white-space: normal !important;
        word-break: normal !important;

        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .mk-news-item time {
        white-space: nowrap !important;
    }

    .mk-news-category {
        white-space: nowrap !important;
    }

    .mk-news-arrow {
        position: static !important;
        white-space: nowrap !important;
    }

}
/* =========================================================
   MK CREATEの強み 枠線強調
   PC・スマホ共通
========================================================= */

.mk-strength-card {
    border: 3px solid #0B2545 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.mk-strength-card:hover {
    border-color: #0B2545 !important;
    box-shadow: 0 10px 25px rgba(11, 37, 69, 0.08) !important;
}


/* PC */
@media (min-width: 901px) {

    .mk-strength-grid {
        gap: 28px !important;
    }

    .mk-strength-card {
        padding: 38px !important;
    }

}


/* スマホ */
@media (max-width: 900px) {

    .mk-strength-grid {
        gap: 22px !important;
    }

    .mk-strength-card {
        padding: 32px 26px !important;
        border-width: 3px !important;
    }

}


/* 小さいスマホ */
@media (max-width: 640px) {

    .mk-strength-card {
        width: 100% !important;
        padding: 30px 24px !important;
        border: 3px solid #0B2545 !important;
    }

}