/*
Theme Name: M's factory Simple
Theme URI: https://msfactory.ne.jp/
Author: M's factory Website Renewal
Description: M's factory のシンプルな日本語企業サイト用オリジナルテーマ。投稿によるお知らせとお問い合わせフォームに対応。
Version: 1.8.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: msfactory
*/
:root{--ink:#213348;--navy:#16344b;--blue:#167b9a;--light:#edf5f7;--gray:#627380;--line:#dce5e9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;background:#fff}a{color:var(--blue)}.container{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:2}.head-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px}.brand{color:var(--navy);text-decoration:none;font-size:1.55rem;font-weight:800;letter-spacing:.01em;line-height:1.25}.brand small{display:block;font-size:.62rem;letter-spacing:.05em;color:var(--gray);font-weight:500;margin-top:5px}.nav{display:flex;flex-wrap:wrap;gap:22px}.nav a{text-decoration:none;color:var(--ink);font-size:.91rem;font-weight:600}.nav a:hover,.nav .current-menu-item a{color:var(--blue)}.hero{background:linear-gradient(115deg,#e6f4f7 0%,#f7fafb 65%,#fff 100%);padding:95px 0 100px}.eyebrow{font-size:.8rem;letter-spacing:.17em;color:var(--blue);font-weight:800}.hero h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.45;margin:12px 0 20px;color:var(--navy);letter-spacing:.01em}.hero p{font-size:1.08rem;max-width:680px;color:#455c6c}.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:12px 26px;border:0;border-radius:5px;font:inherit;font-weight:700;cursor:pointer}.btn:hover{background:var(--blue);color:#fff}.btn-outline{background:transparent;border:1px solid var(--navy);color:var(--navy);margin-left:10px}.btn-outline:hover{color:#fff}.section{padding:72px 0}.section-alt{background:#f5f9fa}.section h2,.page-title{color:var(--navy);font-size:clamp(1.55rem,2.8vw,2.2rem);margin:0 0 12px;line-height:1.4}.section-lead{color:var(--gray);margin-bottom:30px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}.card h3{margin:0 0 10px;color:var(--navy)}.card p{margin:0;color:#5c6e7b}.card a{font-weight:700}.news-list{list-style:none;margin:22px 0 0;padding:0}.news-list li{padding:14px 0;border-bottom:1px solid var(--line)}.news-list time{color:var(--gray);font-size:.88rem;margin-right:20px}.news-list a{color:var(--ink);text-decoration:none}.page-main{padding:65px 0 90px;min-height:55vh}.content{max-width:820px}.content h2{color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:40px}.content img{max-width:100%;height:auto}.content table{border-collapse:collapse;width:100%}.content th,.content td{border:1px solid var(--line);padding:12px;text-align:left}.site-footer{background:var(--navy);color:#eaf2f6;padding:35px 0;font-size:.85rem}.site-footer a{color:#fff}.foot-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.contact-form{display:grid;gap:16px;margin:26px 0;max-width:680px}.contact-form label{font-weight:700;display:block}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid #b9cbd4;border-radius:5px;background:#fff;color:var(--ink)}.contact-form textarea{min-height:160px}.contact-form .hint{font-size:.85rem;color:var(--gray)}.contact-form .hidden-field{position:absolute;left:-9999px}.notice{padding:16px;border-radius:6px;background:#e5f7ef;border:1px solid #a3d8be}.error{background:#fff0ed;border-color:#e5b4a9}.subtle{color:var(--gray)}@media(max-width:760px){.head-inner{flex-direction:column;align-items:flex-start;padding:16px 0}.nav{gap:12px 18px}.nav a{font-size:.83rem}.hero{padding:55px 0}.cards{grid-template-columns:1fr}.section{padding:48px 0}.page-main{padding:45px 0}.btn-outline{margin:10px 0 0}.foot-inner{display:block}}



/* v1.5: non-cropping, container-aligned image composition. */
.hero-with-image{position:relative;isolation:isolate;background:linear-gradient(100deg,#eaf6fa 0%,#f8fbfc 75%);min-height:452px;padding:70px 0;display:flex;align-items:center;overflow:hidden}
.hero-with-image>.container{position:relative;min-height:310px;display:flex;align-items:center}
.hero-copy{position:relative;z-index:2;width:50%;max-width:545px}
.hero-copy h1{font-size:clamp(2.2rem,3.1vw,3.5rem);line-height:1.43}
.hero-copy p{font-size:1rem;max-width:490px}
.hero-picture{position:absolute;z-index:1;right:0;top:50%;transform:translateY(-50%);width:48%;max-width:535px;pointer-events:none}
.hero-picture img{display:block;width:100%;height:auto;object-fit:contain}
.hero-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eef8fa 0%,rgba(238,248,250,.75) 10%,transparent 34%);pointer-events:none}
.service-card{display:flex;align-items:flex-start;gap:17px;padding:24px 18px;min-height:140px}
.service-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#e4f3f8}
.service-icon img{width:32px;height:32px;display:block}
.service-text{min-width:0}.service-text h3{font-size:1.02rem}.service-text p{font-size:.91rem}
.news-list li{display:flex;gap:18px;align-items:baseline}.news-list time{flex:0 0 95px;margin:0}
.contact-cta{background:#f6fafb;padding:48px 0;overflow:hidden}
.contact-layout{position:relative;min-height:205px;display:flex;align-items:center}
.contact-copy{position:relative;z-index:2;width:57%}
.contact-picture{position:absolute;right:0;top:50%;transform:translateY(-50%);width:45%;max-width:505px;pointer-events:none}
.contact-picture img{display:block;width:100%;height:auto;object-fit:contain}
.contact-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6fafb,rgba(246,250,251,.5) 13%,transparent 35%);pointer-events:none}
@media(max-width:1000px) and (min-width:761px){
 .hero-with-image{min-height:408px;padding:52px 0}
 .hero-copy{width:53%}.hero-picture{width:46%}
 .hero-copy h1{font-size:clamp(2rem,3.6vw,2.9rem)}
 .service-card{gap:11px;padding:19px 13px}.service-icon{width:45px;height:45px;flex-basis:45px}.service-icon img{width:26px;height:26px}
}
@media(max-width:760px){
 .hero-with-image{padding:47px 0 44px;min-height:0}
 .hero-with-image>.container{display:block;min-height:0}
 .hero-copy{width:100%;max-width:100%}.hero-copy h1{font-size:clamp(2rem,8vw,2.8rem)}
 .hero-picture{position:relative;right:auto;top:auto;transform:none;width:min(100%,430px);max-width:none;margin:24px auto 0}
 .hero-picture:after{background:linear-gradient(0deg,#eef8fa 0%,transparent 15%)}
 .service-card{min-height:110px}
 .news-list li{display:block}.news-list time{display:block;margin-bottom:4px}
 .contact-cta{padding:45px 0}.contact-layout{display:block;min-height:0}
 .contact-copy{width:100%}
 .contact-picture{position:relative;right:auto;top:auto;transform:none;width:min(100%,450px);margin:24px auto 0}
 .contact-picture:after{background:linear-gradient(0deg,#f6fafb 0%,transparent 15%)}
}

/* v1.6: confirmation and completion page; preserve v1.5 homepage */
#msf-contact-input[hidden],#msf-contact-confirm[hidden]{display:none!important}
.msf-fields{display:grid;gap:16px}.msf-privacy{display:flex!important;align-items:baseline;gap:8px}
.msf-privacy input{width:auto;flex:none}.msf-confirm-list{margin:20px 0 26px;border-top:1px solid var(--line)}
.msf-confirm-list>div{display:grid;grid-template-columns:minmax(150px,32%) 1fr;border-bottom:1px solid var(--line);padding:14px 10px;gap:16px}
.msf-confirm-list dt{font-weight:700;color:var(--navy)}.msf-confirm-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.msf-confirm-actions{display:flex;gap:12px;flex-wrap:wrap}.msf-confirm-actions .btn-outline{margin:0}
.msf-complete{padding:40px 0 60px}.msf-complete h2{color:var(--navy)}
@media(max-width:600px){.msf-confirm-list>div{grid-template-columns:1fr;gap:3px}}

/* v1.7: emphasize final send action only */
#msf-contact-confirm #msf-submit{
  background-color:#c62828;
  border:1px solid #c62828;
  color:#fff;
  font-weight:800;
  font-size:1rem;
  letter-spacing:.025em;
}
#msf-contact-confirm #msf-submit:hover,
#msf-contact-confirm #msf-submit:focus-visible{
  background-color:#a61d24;
  border-color:#a61d24;
  color:#fff;
}
#msf-contact-confirm #msf-submit:focus-visible{
  outline:3px solid #ffc7c7;
  outline-offset:2px;
}

/* v1.8: confirmation text emphasis (button styling retained) */
.msf-send-emphasis{color:#c62828;font-weight:800}
