@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&amp;display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap');

@charset "utf-8";
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form, label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary,time,mark,audio,video,a,input,textarea{ margin:0;padding:0; border:0; font-size:100%; background:transparent; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{ display:block;}
nav ul{ list-style:none;}
blockquote,q{ quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{ content:''; content:none;}
pre,code,kbd,samp{ font-family:monospace,monospace; font-size:inherit;}
table{ border-collapse:collapse; border-spacing:0;}
img{ border:0;}
address,caption,cite,code,dfn,th,var{ font-style:normal; font-weight:normal;}
caption,th{ text-align:left;}
h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal}
sup{ vertical-align:text-top; font-size:75%;}
sub{ vertical-align:text-bottom; font-size:75%;}
input,textarea,select{ z-index:auto; font-family:inherit; font-size:inherit; font-weight:inherit; vertical-align:middle;}
a{ outline:none;}
audio:not([controls]){ display:none;}
time{ display:inline;}
[hidden]{ display:none;}
input::-ms-clear,input::-ms-reveal,input:focus::-ms-clear,input:focus::-ms-reveal{visibility:hidden; display:none;}
button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"]>input[type="button"]::-moz-focus-inner{ padding:0; border:0;}
button{cursor:pointer;}

/* ===== Common ===== */
body,input,button,select,textarea{-webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; line-height:1; color:#444;}
a:link{ color:#5C4BFF; text-decoration:none;}
a:visited{ color:#5C4BFF; text-decoration:underline;}
a:hover{ color:#5C4BFF; text-decoration:none;}
a:active{ color:#5C4BFF;}
*{-webkit-tap-highlight-color:rgba(0,0,0,0);}
.clr{clear:both;}
section {clear:both; zoom:1;}
article:after,section:after,.clrFx:after{content:''; clear:both; display:block;}
a,button{transition:all .2s ease-in;}
a img{transition:all .3s ease-in;}
a:hover img{opacity:0.7;}
.aCt{text-align:center;}
.mCt{margin: 0 auto;}
.aLt{text-align:left;}
.aRt{text-align:right;}
.fLt{float:left;}
.fRt{float:right;}
.sp{display:none !important;}
.pc{display:block !important;}
.textRed{color: #FF0004 !important;}
.txtBig{font-size: 1.45rem !important;}
.txtNom{font-size: 1rem !important;}
.textLineRed{border-bottom:2px solid #FF0004;}
.textLineBlue{border-bottom:2px solid #113F67;}
.textDelRed{text-decoration-line: line-through; text-decoration-color:#FF0004;text-decoration-thickness:3px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb00{margin-bottom: 0px !important;
}
@media screen and (min-width:768px){
.spbr{display:none;}
.pcbr{display:inline;}
}

/* ===== Font ===== */
body,button,select,section{font-family: "Noto Sans JP", "Roboto", sans-serif; font-feature-settings: "palt";}
#siteHeader,article h1,article h2,article h3,
article h4,footer nav ul,.topWhat,.topNew{font-family: "Noto Sans JP", "Roboto", sans-serif; font-feature-settings: "palt";}
article strong{font-weight:bold;}
article h1{font-size:3.0rem; margin-bottom:70px; line-height: 1.5; color:#131313; font-weight: bold;}
article h1 small{font-size: 2.0rem;}
article h2{font-size:2.3rem; margin-bottom:50px; line-height: 1.6; color: #131313;}
article h3{font-size:1.5625rem; margin-bottom:30px; color:#131313; line-height: 1.6;}
article h3 small{font-size:1.125rem; display: block;}
article h4{font-size:1.35rem; margin-bottom:30px;  line-height: 1.6; font-weight: bold;}
article h2 small{display: block; font-size:1.56rem;}
article h3.sinTitH3{font-size:1.7rem; line-height: 1.7; font-weight: 600; border-left: 4px solid #113F67;  border-bottom: 1px solid #113F67;  padding-left: 12px; margin-bottom:50px; color: #113F67;}
article h3.cBarH3{font-size: 1.7rem; color: #113F67; font-weight: bold; padding-left: 8px; border-left:10px solid #113F67; margin-bottom: 50px;}
article h4.h4Tit{font-size:1.5rem; font-weight: bold; margin-bottom:50px;  padding-left: 8px; border-left:10px solid #113F67; border-bottom: 1px solid #113F67;}

article p,.pageCont article p{ font-size: 1rem; line-height: 1.85; margin: 0 0 25px 0; color: #333; font-family: "Noto Sans JP", "Noto Sans","Hiragino Kaku Gothic ProN","Meiryo", sans-serif; letter-spacing: 0.02em;}
.pageCont p{font-size: 1.15rem;}
.pageCont article h2.pageTitH2 {font-size: 1.8rem; color: #113F67; font-weight: bold;  position: relative; text-align: center;}
.pageCont article h2.pageTitH2::after{  content:""; display:block;  width:80px; height:5px;margin:12px auto 0;background:#113f67; border-radius:2px;}
article .txtRed{color: #ff0000;}

/* ===== min-width制御 ===== */
#siteHeader,#siteFooter,article,section,.hero,.info header.pageHead{min-width: 1280px;}

/* ===== Header ===== */
#siteHeader {width: 100%; background: linear-gradient(to right, #ffffff, #f6f9ff);  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); z-index: 1000;  position: relative; padding: 18px 20px;  }
#siteHeader .header-inner {display: grid; grid-template-columns: auto 1fr auto; align-items: center;  width: 100%; }
#siteHeader .sitelogo {  transform: scale(0.9);
  transform-origin: left center;}
#siteHeader .sitelogo img {width: 100%;height:50px; }

/* Navigation */
#siteHeader nav#gNav {justify-self: center; align-items: center;}
#siteHeader nav#gNav ul.navList {display: flex;  gap: 10px;  align-items: center;}
#siteHeader nav#gNav ul.navList>li>a {position: relative; text-decoration: none;  color: #113F67;  font-weight: 600;   padding: 20px 16px;  transition: all 0.3s ease;letter-spacing: -0.02em;}
#siteHeader nav#gNav ul.navList>li>a::after {content: ""; position: absolute; bottom: 4px;  left: 0; width: 100%;  height: 2px;  background-color: #113F67; transform: scaleX(0); transition: transform 0.3s ease; transform-origin: right;}
#siteHeader nav#gNav ul.navList>li>a:hover::after,
#siteHeader nav#gNav ul.navList>li>a.active::after {transform: scaleX(1); transform-origin: left;}
#siteHeader nav#gNav ul.navList li{line-height: 1.5;}
/* Submenu */
#siteHeader nav#gNav ul.navList li.hasMenu{position: relative;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu {display: none; position: absolute; top: 100%;  left: 0;  background: #ffffff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  min-width: 250px;  list-style: none; z-index: 10;  border-radius: 6px;  overflow: hidden;  border: 1px solid #dceeff;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu a {display: block;  padding: 20px 20px;  text-decoration: none; color: #113F67; font-size: 0.9rem;  transition: background 0.3s, color 0.3s;}
#siteHeader nav#gNav ul.navList li.hasMenu.is-open > ul.subMenu {display: block;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu a:hover { background: #f0f7ff;  color: #113F67;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu:hover {display: block;}
#siteHeader .headContact{justify-self: end; display: flex;  background: #2349c2;  color: #fff;  padding:10px 14px; align-items: center;  gap:7px;}
#siteHeader .headContact .phone-icon::before {font-family: "Font Awesome 6 Free";font-weight: 900;  content: "\f095"; font-size: 1.4rem; color: #ff0000;}
#siteHeader .headContact .phone-details a{color: #fff;}
#siteHeader .headContact .phone-details p{font-weight: bold;  font-size: 1rem;}
#siteHeader .headContact .phone-details p small{display: block;  font-size: 0.8rem;  color: rgba(255, 255, 255, 0.85); margin-top: 10px;}
#siteHeader .headContact .phone-details p small span{display: block; line-height: 1.5;}

/* Fixed ContactBox */
.headContactFloat{position: fixed; top: 14px; right: 14px; z-index: 2000; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;}
.headContactFloat.is-visible{opacity: 1; visibility: visible; transform: translateY(0px);}
.headContactFloat-link{display: flex; align-items: center; gap: 14px; background: #2349c2; padding: 14px 18px; border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,0.18); text-decoration: none;}
.headContactFloat-link .phone-icon{display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: rgba(255,255,255,0.12);}
.headContactFloat-link .phone-icon::before{font-family: "Font Awesome 6 Free";font-weight: 900; content: "\f095"; font-size: 1.4rem; color: #ff0000;}
.headContactFloat-link .phone-details p{font-weight: bold; font-size: 1rem; margin: 0px; color: #fff;}
.headContactFloat-link .phone-details p small{display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.85); margin-top: 10px;}
.headContactFloat-link .phone-details p small span{display: block; line-height: 1.5;}


/* ===== Footer Sitemap ===== */
#siteFooter {background: #f5f8ff;color: #333; position: relative;}
#siteFooter .footer-sitemap {background: #eef3ff; border-top: 1px solid #d0e2ff;  padding: 60px 20px;}
#siteFooter .footer-sitemap .footer-inner{max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 40px;}
#siteFooter .footer-sitemap .footer-inner .footer-nav {display: flex; flex-direction: column;}
#siteFooter .footer-sitemap .footer-inner .footer-nav h4 {font-size: 1.1rem; color: #113F67; margin-bottom: 12px; border-left: 4px solid #113F67; padding-left: 10px;}
#siteFooter .footer-sitemap .footer-inner .footer-nav ul {list-style: none; padding: 0; margin: 0;}
#siteFooter .footer-sitemap .footer-inner .footer-nav ul li {margin-bottom: 8px;}
#siteFooter .footer-sitemap .footer-inner .footer-nav ul li a {font-size: 0.95rem; color: #333; text-decoration: none; transition: color .2s;}
#siteFooter .footer-sitemap .footer-inner .footer-nav ul li a:hover {color: #2349c2;}
/* ===== Footer Info ===== */
#siteFooter .footer-info {background: #f7f9ff; padding: 40px 20px;}
#siteFooter .footer-info-inner {max-width: 1400px;  margin: 0 auto;  display: grid;  grid-template-columns: 1fr 1fr;  gap: 40px;  align-items: start;}
#siteFooter .footer-org img {max-width: 260px; margin-bottom: 16px;}
#siteFooter .footer-org address {font-style: normal; font-size: 0.9rem; line-height: 1.8;}
/* map */
#siteFooter .footer-map iframe {width: 100%; height: 180px; border-radius: 6px;}
.footBnr h3.sinTitH3{font-size:1.2rem; margin-bottom: 20px;}
/* footer bottom */
#siteFooter .footer-bottom {background: #eef3ff;text-align: center; padding: 20px; font-size: 0.85rem;}
#back-to-top {position: fixed; right: 24px; bottom: 32px; width: 44px; height: 44px; border-radius: 50%; background: #2349c2; color: #fff;  border: none;  cursor: pointer; z-index: 1000; display: none;}
#back-to-top.is-visible {display: block;}
a.tBtn {display:inline-block; background: #2349c2;  color: #fff; padding: 10px 20px;  border-radius: 4px; text-decoration: none; font-size: 0.95rem;    transition: all 0.2s ease; max-width: 500px;}
a.tBtn:hover {background: #113f67; transform: translateY(-2px); color: #fff;}
a.tBtn.tBntb{width: 350px; padding: 20px; position: relative;}
a.tBtn.tBntb:before{font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f054";  font-size: 14px; color: #fff; position: absolute; right: 15px;}

/* ===== HeroImages ===== */
.pageCont .hero.about{background-image:url("../jpg/kvabout.jpg");}
.pageCont .hero.business{background-image:url("../jpg/kvbusiness.jpg");}
.pageCont .hero.other{background-image:url("../jpg/kvother.jpg");}
.pageCont .hero.support{background-image:url("../jpg/kvsupport.jpg");}
.pageCont .hero.info{background-image:url("../jpg/kvinfo.jpg");}

/* ===== Common Style ===== */
section{max-width: 1200px;  margin:0 auto;}
article{background:#f4f7ff; padding:0px 0px 150px 0px;}
header.pageHead{padding:100px 15px 50px 15px;}
header.pageHead h2.pageTitH2{margin-bottom: 0px;}


article figure{margin-bottom: 60px;}
article figure figcaption{font-size:15px; padding-top: 5px; text-align: center;}
article .mc{display:flex; flex-wrap:wrap; justify-content:space-between; margin-bottom: 40px;}
article .mc .col{margin-bottom:30px; /*flex: auto !important;*/}
article .mc .col img{width: 100%; height: auto;}
article .mc .col img.def{width: auto !important; height: auto !important;}
article .mc.duo .col{width:calc(50% - 10px);}
article .mc.trio .col{width:calc(33.5% - 15px);}
article .mc.trio .col.g2{width:calc(66% - 15px);}
article .mc.fort .col.g3{width:calc(75% - 15px);}
article .mc.fort .col{width:calc(25% - 15px);}
article .mc.fiv .col.g4{width:calc(80% - 15px);}
article .mc.fiv .col{width:calc(20% - 15px);}
article ul,article ol{margin:0px 0 40px 1.5em; line-height:1.5;}
article ul li,article ol li{margin-bottom: 5px;}
article ul li:last-child,section ol li:last-child{margin-bottom: 5px;}
article ul li .btn,article ol li .btn{margin:15px 0;}
article ul.is-check {list-style: none;margin-left: 0; padding-left: 0;}
article ul.is-check li {position: relative; padding-left: 1.8em;}
article ul.is-check li::before {content: "\f00c";  font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute;  left: 0; top: 0.1em; color: #5C4BFF;}
article ul.listUL,article ol.listOL{}
article ul.listUL li,article ol.listOL li{margin-bottom: 20px; line-height: 1.5;}
article .listMd{line-height:1.7; margin-bottom:70px; font-size: 1.15rem;}
article .listMd dt{font-weight:bold; }
article .listMd dd{border-bottom:1px solid #3c5adf; margin-bottom:20px; position:relative;}
article .mapArea{margin-bottom: 50px;}
article a.btn{display: block;  background: #2349c2; color: #fff; padding: 10px 20px; border-radius: 4px; text-decoration: none; transition: all 0.2s ease; text-align:center; font-size: 1.1rem; font-weight: bold; line-height: 1.6; width: 300px;}
article a.btn:hover {background: #113f67; transform: translateY(-2px);}
article a.btn.btnB{width: 500px; padding: 20px; border-radius: 20px;}
article a.btn{margin-bottom: 50px;}
article a.btn.btnB.mCt{margin: 0 auto 50px auto;}
article a.btn.bGb{background: #3ab474;}
article a.btn.bRb{background: #ff690b;}
article .mc .col a.btn{width: 100%; padding: 20px; display: block; margin-bottom: 0px; border-radius:10px;}
article .pageSection{margin-bottom: 70px; padding-top: 60px;}
article .bg-frame{position: relative; padding: 60px 20px 60px 20px; background-color: #fff;}
article .bg-frame:before{content: "";  position: absolute;  inset: 0; background:repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.03) 0, rgba(0, 0, 0, 0.03) 1px, transparent 1px, transparent 20px),repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.03) 0, rgba(0, 0, 0, 0.03) 1px, transparent 1px, transparent 20px);pointer-events:none;}
.pageCont{overflow-wrap:break-word;}
.pageCont .bg-radius{padding:60px 20px 60px 20px; max-width: 1000px; margin: 0 auto; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); border-radius:20px;}
.pageCont .bg-wh{background: #fff;padding:60px 20px 60px 20px; }
.pageCont .shWrap{max-width:1000px; margin: 0 auto; padding: 30px 0;}
.pageCont .hero{height: 30vh; min-height: 180px; background-image: url("../jpg/kv.jpg"); background:50% 38%/110% no-repeat; position: relative;   display: flex; align-items: center; justify-content: center; text-align: center;}
.pageCont .hero::before {content: ""; position: absolute; inset: 0; backdrop-filter: blur(1.5px); background-color: rgba(0, 0, 0, 0.3);  z-index: 0;}
.pageCont h1.heroH1{position: relative; z-index: 1; color: #fff;font-size:2.7rem;  font-weight: 700; text-shadow: 0 2px 8px rgba(0,0,0,.8); max-width: 90%}
.pageCont h1.heroH1 small{font-size: 1.25rem; display: block; margin-bottom:20px;}
.pageCont p.intro {font-size: 1.25rem; font-weight:bold;}
.pageCont .imgWrap{display: inline-block; border: 3px solid #0b3a6f; border-radius: 12px; background: #fff;}
.pageCont .imgWrap img{display: block; border-radius: 6px; width: 100%; height: auto;}
.pageCont .mc.fiv.greeting .col .imgWrap{margin-bottom: 10px;}
.pageCont .mc.fiv.greeting .col .imgWrap+p{font-size: 0.9rem;}
.pageCont .noteCont,.pageCont .meshCont,.pageCont .redCont{margin-bottom: 60px; padding: 20px;}
.pageCont .redCont{background: #fff; border:2px solid #d64000;}
.pageCont .noteCont{background:#fffaad;} 
.pageCont .meshCont{position: relative; background: #fff;}
.pageCont .meshCont:before{content: "";  position: absolute;  inset: 0; background:repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.03) 0, rgba(0, 0, 0, 0.03) 1px, transparent 1px, transparent 20px),repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.03) 0, rgba(0, 0, 0, 0.03) 1px, transparent 1px, transparent 20px);pointer-events:none;}
.pageCont .noteCont h3,.pageCont .noteCont h4,
.pageCont .meshCont h3,.pageCont .meshCont h4,
.pageCont .redCont h3,.pageCont .redCont h4{font-size: 1.35rem; font-weight: bold; margin-bottom:20px;}
.pageCont .noteCont p:last-child,.pageCont .noteCont ul:last-child,.pageCont .noteCont ol:last-child,
.pageCont .meshCont p:last-child,.pageCont .meshCont ul:last-child,.pageCont .meshCont ol:last-child,
.pageCont .redCont p:last-child,.pageCont .redCont ul:last-child,.pageCont .redCont ol:last-child{margin-bottom: 0px;}
.pageCont .noteCont.oreBg{background: #ffbf97;}
.pageCont .noteCont.ogrBg{background: #d0ffe6;}
.pageCont .guideTxtBg{background: #fff;  text-align: center; font-size: 1.3rem; font-weight: 600; padding: 16px 0;  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); margin-bottom: 60px;}
.pageCont a.pdfLink,.pageCont a.wordLink,
.pageCont a.excelLink,.pageCont a.zipLink,
.pageCont a.pptLink{position: relative; padding-left: 28px;}
.pageCont a.pdfLink::before,.pageCont a.wordLink::before,
.pageCont a.excelLink::before,.pageCont a.zipLink::before,
.pageCont a.pptLink::before{font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.pageCont a.pdfLink::before{content: "\f1c1"; color: #e60000;}
.pageCont a.wordLink::before{content: "\f1c2"; color: #2b579a;}
.pageCont a.excelLink::before{content: "\f1c3"; color: #217346;}
.pageCont a.zipLink::before{content: "\f1c6";  color: #666666;}
.pageCont a.pptLink::before{content: "\f1c4"; color: #d24726;}
.pageCont table.tbl{width:100%; border-collapse:collapse;margin-bottom:30px;}
table.tbl th,table.tbl td{border:1px solid #ccc;padding:15px; line-height: 1.5; }
table.tbl th{background:#f5f5f5;}
table.tbl td{background: #fff;}
table.tbl thead th{background:#f5f5f5; font-weight: bold;}
.pageCont p+h2{margin-top:80px;}

/* ===== services ===== */
.services-grid{display: grid; grid-template-columns: repeat(3, 1fr);  gap: 32px; margin-bottom: 60px;}
.services-grid .service-card{display: block; text-decoration: none; color: inherit; background: #fff; border-top: 2px solid #2349c2;  border-left: 2px solid #2349c2;  border-right: none; border-bottom: none;  border-radius: 4px; padding: 40px 24px 24px;  text-align: center;  position: relative;transition: transform 0.3s, box-shadow 0.3s;}
.services-grid .service-card.num01 .number{color:#2349c2;}
.services-grid .service-card:hover {transform: translateY(-6px);  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);}
.services-grid .service-card .number {position: absolute;  top: 0; left: 5px;  font-size: 8rem;  color: #2348c221;    font-weight: bold;}
.services-grid .service-card .icon { margin: 16px auto 24px;}
.services-grid .service-card .icon img {width: 70px; height: 70px;}
.services-grid .service-card.num01{background: #fffddc;}
.services-grid > div{display: contents;}
.outline-details dl {display: grid; grid-template-columns: 120px 1fr 120px 1fr; column-gap: 40px; row-gap: 0; line-height: 1.7; }
.outline-details dt,.outline-details dd {padding: 12px 0; bo rder-bottom: 1px solid #ddd; align-self: center;}
.outline-details dt {font-weight: bold;  color: #113F67;  }
.outline-details dd {}


/* ===== info ===== */
.info header.pageHead{max-width:1280px; margin: 0 auto;}
.info header.pageHead .pageTitH2{padding:0 0 0 8px; border-left:10px solid #113F67; margin-bottom:20px; text-align: left;}
.info header.pageHead .pageTitH2:after{background:none; height: 0px; width: auto;}
.info .pageSection{padding:60px 15px 30px 15px; }
.info .infoList{display:flex; flex-wrap:wrap; font-size: 1.0rem; margin-bottom: 50px;}
.info .infoList dt,.info .infoList dd{padding: 20px 0; border-bottom:1px solid #e0e0e0; }
.info .infoList dt{width:160px; }
.info .infoList dd{width:calc(100% - 160px);line-height: 1.5;}
.info .infoList dd .category {width: 120px;  background: #2349c2; color: #fff;  font-weight: 600; border-radius: 4px; padding: 3px 10px; text-align: center; margin-bottom:10px;}
.info .infoList dd a{display: inline-block;}
.info .infoList dd a:hover{color:#2349c2;  transform:translateX(3px);  transition: color 0.2s ease, transform 0.15s ease;}
.info .pagination{display:flex;  gap:10px; justify-content:center;}
.info .pagination a,.info .pagination span{padding:8px 14px; border:1px solid #9fb4e5; border-radius:4px;color:#2349c2; text-decoration:none; cursor:pointer;}
.info .pagination .current{ background:#2349c2; color:#fff;}
.info .pagination a:hover{transform:translateX(2px);}
.info .pagination a{transition:transform .15s ease;}
.info .pagination a.next i{margin-left:5px;}
.info .pagination a.prev i{margin-right: 5px;}
.pageCont .flow{position:relative; padding-left:70px; margin-bottom: 70px;}
.pageCont .flow h3{color: #113F67; font-weight: bold;}
.pageCont .flow::before{content:""; position:absolute; left:120px; top:0;bottom:0; width:10px; background:#2c5c7c;}
.pageCont .flow-item{position:relative; margin-bottom:30px;}
.pageCont .flow-item .noteCont{margin-bottom: 30px;}
.pageCont .flow-item ul,.pageCont .flow-item ul.listflow{margin-bottom: 20px;}
.pageCont .flow-item ul.listflow{list-style: none;}
.pageCont .flow-num{position:absolute; left:-20px; top:0;width:40px;  height:40px;  background:#2c5c7c;  color:#fff;  border-radius:50%;  text-align:center; line-height:40px;font-weight:bold; z-index:2;}
.pageCont .flow-box{background:#fff; padding:20px; border-radius:20px; box-shadow:0 8px 24px rgba(0,0,0,0.15);}

.contactArea {max-width: 820px; margin: 0 auto; padding: 48px 60px; border-radius: 10px; background: #fff; border-top: 4px solid #2349c2; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);}
.contactArea .contactRow {margin-bottom: 28px;}
.contactArea .contactRow label {display: block; margin-bottom: 12px;　font-size: 16px; font-weight: 700;　line-height: 1.6; color: #0f3e73;}
.contactArea .contactRow .required {color: #ff2a2a; font-weight: 700;}
.contactArea .contactRow .optional {color: #0f3e73;font-weight: 700;}
.contactArea input[type="text"],.contactArea input[type="email"],.contactArea input[type="tel"],.contactArea select,
.contactArea textarea {width: 100%; font-size: 16px; line-height: 1.6; color: #333; background: #fff; border: 1px solid #c7d1dc; border-radius: 6px; box-sizing: border-box;
  box-shadow: none; appearance: none;}
.contactArea input[type="text"],.contactArea input[type="email"],.contactArea input[type="tel"],
.contactArea select {height: 54px; padding: 0 16px;}
.contactArea textarea {min-height: 210px; padding: 14px 16px; resize: vertical;}
.contactArea input::placeholder,.contactArea textarea::placeholder {color: #6f7782; opacity: 1;}
.contactArea select {padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, #555 50%),linear-gradient(135deg, #555 50%, transparent 50%);
  background-position: calc(100% - 18px) 24px, calc(100% - 12px) 24px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat;}
.contactArea .contactSubmit {margin-top: 40px; text-align: center;}
.contactArea input[type="submit"] {min-width: 160px; height: 56px; padding: 0 32px; font-size: 16px; font-weight: 700; color: #fff; background: #1f4fbf; border: 1px solid #173f99; border-radius: 6px; box-shadow: none; cursor: pointer; transition: opacity 0.2s ease;}
.contactArea input[type="submit"]:hover {opacity: 0.9;}
.contactArea .wpcf7-not-valid-tip {margin-top: 6px; font-size: 13px;}
.contactArea .wpcf7-response-output {margin: 24px 0 0; padding: 12px 16px; border-radius: 6px;}
.contactArea .wpcf7-spinner {display: block; margin: 12px auto 0;}




@media (max-width: 768px) {
/* ===== min-width制御 ===== */
#siteHeader,#siteFooter,article,section,.hero,.info header.pageHead{min-width: 320px;}

/* ===== Header ===== */
#siteHeader .headContact {display: none;}
#siteHeader .header-inner {display:block; grid-template-columns:auto;}
#siteHeader .sitelogo{transform: none; transform-origin: none; width: 230px;}
#siteHeader nav#gNav {position: fixed; top: 0px; right: 0px; width: 100%; background: #fff; display: none; padding-top: 40px; height: 100%;}
#siteHeader nav#gNav ul.navList {  display:block; height: 100%; overflow-y: auto;}
#siteHeader nav#gNav ul.navList > li { border-bottom: 1px solid #e2e8f0;}
#siteHeader nav#gNav ul.navList > li > a {display: block;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu { position: static;  box-shadow: none; border: none;border-radius: 0; min-width: 0; background: #f7faff; margin: 0;    padding: 0;}
#siteHeader nav#gNav ul.navList li.hasMenu ul.subMenu li a {font-size: 0.95rem;}
#siteHeader nav#gNav.open {transform: translateX(0);display: block; }
	
/* ===== Hamburger ===== */
#navToggle{width: 40px; height: 32px; position:absolute; top:25px; right:20px;  cursor: pointer; z-index: 3000;}
#navToggle::before,#navToggle::after,#navToggle span{content: ""; position: absolute; left: 0; width: 100%; height: 3px; background: #113F67;  transition: transform .3s ease, opacity .3s ease;}
#navToggle::before{ top: 0; }
#navToggle span{ top: 50%; transform: translateY(-50%); }
#navToggle::after{ bottom: 0; }
#navToggle[aria-expanded="true"]::before{transform: translateY(14px) rotate(45deg);}
#navToggle[aria-expanded="true"]::after{transform: translateY(-14px) rotate(-45deg);}
#navToggle[aria-expanded="true"] span{opacity: 0;}

	
/* ===== Footer===== */

#siteFooter .footer-sitemap .footer-inner {display: flex; flex-wrap: wrap;  gap: 40px 60px;}
#siteFooter .footer-sitemap .footer-nav {width: calc(50% - 30px);  display: flex;  flex-direction: column;}
#siteFooter .footer-info-inner{grid-template-columns:auto;}
	#siteFooter .footer-bottom p{font-size: 0.85rem;}
#back-to-top {right: 16px;   bottom: 16px;  }

/* ===== CommonSP ===== */
.sp{display:block !important;}
.pc{display:none !important;}
.fLt,.fRt{float: none;}
article{padding:50px 0px 100px 0px;}
section{padding:30px 15px;}
article .fLt{margin:0 0px 50px 0px;}
article .fRt{margin:0 0px 50px 0px;}
article img{width:100%; height:auto;}
article img.def{width: auto; height: auto;}
.breadcrumbs{margin: 0px; padding: 50px 15px 0px 15px;}
table.tbl{display:block;overflow-x:auto;white-space:nowrap;}
header.pageHead h1{line-height:1.4; font-size:30px;}
article h2{font-size:25px; margin-bottom:30px;}
article h3{font-size:20px; margin-bottom:30px; line-height:1.5;}
article .colBox{padding:15px;}
article a.btn,article a.btn.btnB{width:100%;}	
article .mc{display:block;}
article .mc .col{margin-bottom:30px;}
article .mc.duo .col,article .mc.trio .col.g2,article .mc.fort .col.g3,
article .mc.fort .col,article .mc.trio .col{width:100%;}
article .mc.duo .col.btn{margin: 20px 0;}
article .mc.fiv{display:flex; flex-wrap:wrap; justify-content:space-between; margin: 40px 0;}
article .mc.fiv .col,article .mc.fiv .col.g4{width:calc(50% - 10px);}
article .mapArea {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;}
article .mapArea iframe{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.pageCont article h2.pageTitH2{padding: 0 20px; font-size: 1.6rem;}
.pageCont section{padding: 0 15px;}
.pageCont .hero{height: 20vh; min-height: 120px;}
.pageCont h1.heroH1{font-size: 1.8rem;}
.pageCont .mc.fiv.greeting{display:block;}
.pageCont .mc.fiv.greeting .col,article .mc.fiv.greeting .col.g4{width:100%;}
.pageCont .mc.fiv.greeting .col .imgWrap{border: none;}
.pageCont .mc.fiv.greeting .col .imgWrap img{width: 40%; height: auto;border: 3px solid #0b3a6f; border-radius: 12px;}
.services-grid {grid-template-columns: 1fr; }
.outline-details dl {display: block;}
.outline-details dd{margin-bottom: 20px;}
.headContactFloat{display:none;}
.info .infoList{display:block;}
.info .infoList dt{ border-bottom:none; margin-bottom: 0px; padding: 0px; padding-top: 10px;}
.info .infoList dt,.info .infoList dd{width:100%; }
.pageCont .flow{padding-left: 0px;}
.pageCont .flow-num{left: 0px;}
.pageCont .flow-box{padding: 40px 15px 15px 15px;}
.contactArea {padding: 28px 20px 32px; border-radius: 10px;}
.contactArea .contactRow {margin-bottom: 22px;}
.contactArea .contactRow label {font-size: 15px; margin-bottom: 10px;}
.contactArea input[type="text"],.contactArea input[type="email"],  .contactArea input[type="tel"],.contactArea select {height: 50px; font-size: 15px;}
.contactArea textarea { min-height: 180px; font-size: 15px;}
.contactArea input[type="submit"] {min-width: 140px; height: 52px;font-size: 15px;}
}

@media (max-width: 480px) {
    .outline-section .outline-details dl {
        grid-template-columns: 1fr;
    }
}
