/* ===== Base ===== */
:root{
  --bg:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2563eb;
  --shadow: 0 12px 30px rgba(0,0,0,.12);
  --radius: 14px;
  --max: 1150px;
  --header-h: 110px;
}
@media (max-width: 860px) {
  :root {
    --header-h: 70px;
  }
}

*{ box-sizing:border-box; }

/* CSSリセット */
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,small,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,summary,time,mark,audio,video {
  margin:0;padding:0;border:0;outline:0;
  font-size:100%;vertical-align:baseline;
  background:transparent;
}

body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

html{
  font-size:15px;           
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "Noto Sans JP",
    system-ui,
    sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  letter-spacing: 0.01em;
}

img { max-width:100%; height:auto; }
a{ color: #1b6ffc; text-decoration:none; }
a:hover {color: #ff7800;}

button{ font:inhericolor: #1b6ffc;t; }

.pc{ display:inline; }
.sp{ display:none; }
.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
  position: relative;
}
main {
  padding-bottom: 30px;
}
.btn{
  padding:7px 14px;
  border-radius:5px;
  border:1px solid var(--line);
  background: #4e72ff;
  color: #fff;
  font-weight:800;
  font-size:1rem; 
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.btn:hover {
  background: #2c35de;
  color: #ffd800;
}

.btn a {
  color: #fff;
}
/*.btn-primary{
  border-color: transparent;
  background: var(--accent);
  color:#fff;
}*/

.btn:hover{ filter:brightness(.98); }
.btn:focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }

.btn2 {
  background: #2563eb;
  color: #fff;
}
h3 {
  background: url(./img/h2.png) no-repeat left;
  margin-bottom: 35px;
  padding: 21px 0 10px 110px;
  font-weight: bold;
  font-size: 1.6rem;
  color: #283387;
  text-shadow: 0 0 1px #fff;
  clear: both;
}
h4 {
  color: #283387;
  font-size: 1.2rem;
  font-weight: bold;
  background: url(img/mark3.png) no-repeat;
  background-size: auto 50px;
  padding-left: 60px;
  padding: 15px 0 15px 55px;
  margin-bottom: 15px;
  text-decoration: underline;
  text-decoration-color: #c0e0ff;
  text-decoration-thickness: .3em;
  text-underline-offset: -.05em;
  text-decoration-skip-ink: none;
}
h5 {
  font-size: 105%;
  font-weight: bold;
  color: #396bbe;
  background: url(img/car.png) no-repeat left;
  padding-left: 20px;
  margin-top: 7px;
  margin-bottom: 3px;
}
.sml {
  font-size: 85%;
}
.big {
  font-size: 105%;
  font-weight: bold;
}
.title-txt {
  font-size: 1.1rem;
  font-weight: bold;
  color:#ff7200 ;
  margin-bottom: 8px;
}
.flexbox{
  display: flex;
  flex-wrap: wrap; 
  gap: 15px;
}
.mrb-20 {margin-bottom: 20px;}
.mrb-30 {margin-bottom: 30px;}
.mrb-60 {margin-bottom: 60px;}
.t-center { text-align:center; }
.t-left { text-align:left; }
.t-right { text-align:right; }
.note{
  text-indent:-1em;
  padding-left:1em;
}
.blue {color: #283387;}
.orange{color: #ff7800;}
.light-blue {color: #1b6ffc; }
section {
  padding: 40px 0;
}
section.bg {
  background: #eaf7ff;
}

/* ===== Header ===================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}
.header-inner{
  height:var(--header-h);
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding: 10px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.logo{
  width:85px;
  height:85px;
  display:inline-block;
}
.brand-text .h1{
  line-height: 1;  
}     
.brand-text span.txt01{
  font-family: "Arial Black", "Segoe UI", sans-serif;
  font-size: 1.7rem;
  letter-spacing: 0;
  font-weight: 900;
  background: linear-gradient( to bottom, #0b01b8 30%, #0072ff 50%, #0b01b8 70% );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.brand-text span.txt02{
  font-family: "Meiryo", "Yu Gothic", sans-serif;
  display: block;
  text-align: center;
  margin: 6px 0;
  font-size: 1.2rem;
  letter-spacing: 0;
  font-weight: 700;
  background: linear-gradient( to bottom, #0b01b8 30%, #135bb5 50%, #0b01b8 70% );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.brand-text span.txt03{
    display:block;
    text-align: center;
  color:var(--muted) !important;
  font-weight:300;
  font-size:0.81rem;
}


/* ===== Nav (PC) ===================================================== */
.nav{ display:flex; align-items:center; }

.nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:2px;
  position: relative;
  z-index: 5;
}

.nav-item{ 
  position:relative;

}

.nav-link{
  display:flex;
  align-items:center;
  gap:2px;
  height:38px;
  padding:0 10px;
  border-radius:5px;
  font-weight:600;
  font-size:1rem; 
  background:transparent;
  border:none;
  cursor:pointer;
  color: #283387;
}

.nav-link:hover,
.nav-link:focus-visible{
  background:#5288ff;
  color: #fff;
  outline:none;
}



/* Dropdown (PC default hidden) */
.dropdown{
  position:absolute;
  top:calc(100%);
  left:0;
  min-width:280px;

  border:1px solid var(--line);
  border-radius: var(--radius);
  background:#fff;
  box-shadow: var(--shadow);
  display:none;
  z-index: 10;
  pointer-events: auto; 
}
.dropdown-sml{
  min-width: 200px;
}
.dropdown a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 10px;
  border-radius:10px;
  font-weight:650;
  font-size:0.9rem; 
}

.dropdown a span{
  color:var(--muted);
  font-weight:600;
  font-size:0.8rem; 
  white-space:nowrap;
}

.dropdown a:hover,
.dropdown a:focus-visible{
  background:#f3f4f6;
  outline:none;
}

.nav-link.is-current,
.nav-link.is-current-parent,
.nav button.nav-link.is-current-parent,
.mobile-panel button.nav-link.is-current-parent {
  background: #c3d6ff;
}

.nav a.is-current,
.mobile-panel a.is-current{ 
  /*color: #ff7800;*/
  background: #e5eeff;
}
.footer-menu a.is-current { 
  color: #ffd200;
}
/* Hover open (PC only) */
@media (hover:hover){
  .nav-item.has-dropdown:hover > .dropdown,
  .nav-item.has-dropdown:focus-within > .dropdown{
    display:block;
  }
}

/* ===== CTA buttons ===================================================== */
.header-cta{
  display: flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  top:8px;
  right: 15px;
  white-space:nowrap;
  color: #b9001a;
  font-size: 1.2rem;
  font-weight: bold;
}
.header-cta p{
  font-size: .7rem;
  color:var(--text);
  text-align: relative;
}

/* ===== Mobile ============================================================ */
.hamburger{
  display:none;
  width:42px; height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.hamburger:focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }

.hamburger-lines{
  width:18px; height:2px;
  background:#111;
  display:block;
  position:relative;
}

.hamburger-lines::before,
.hamburger-lines::after{
  content:"";
  position:absolute;
  left:0; width:18px; height:2px; background:#111;
}
.hamburger-lines::before{ top:-6px; }
.hamburger-lines::after{ top:6px; }

.mobile-panel{
  display:none;
  border-top:1px solid var(--line);
  background:#fff;
}
.mobile-panel.open{ display:block; }

.mobile-list{
  list-style:none;
  margin:0;
  padding:10px 12px 14px;
}
.mobile-panel .nav-link{
  width:100%;
  justify-content:space-between;
  height:46px;
  font-size:1.1rem;
}
.mobile-panel .nav-item {
  border-bottom: 1px solid #e5eaff;
}
.mobile-panel .dropdown{
  position:static;
  display:none;
  box-shadow:none;
  border:none;
  padding:0 0 6px 0;
  margin:0 0 6px 0;
}

.mobile-panel .dropdown a{ padding:10px 14px; }
.mobile-panel .nav-item.open > .dropdown{ display:block; }

.mobile-cta{
  padding:0 12px 14px;
  display:flex;
  gap:10px;
}
.mobile-cta .btn{ flex:1; justify-content:center; }
.mobile-panel .sp-time {
  text-align: center;
  font-size: .9rem;
  margin-bottom: 10px;
}

/* ===== Page Top button ======================================================= */
.to-top{
  position:fixed;
  right:16px;
  bottom:16px;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: var(--shadow);
  cursor:pointer;

  opacity:0;
  pointer-events:none;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}

.to-top.show{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0);
}

.to-top:focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }

/* ===== Footer ======================================================= */

footer{
  background:#427cff;
  padding-bottom:20px;
  color:#fff;
  overflow: hidden;
}
footer a{
  color:#d4e5ff;
  text-decoration:none;
}
footer a:hover{
  color:#ffd200;
}

footer .contact{
  background:url(img/footer-back.png) repeat-x;
  height:60px;
  display: flex;
  align-items: center;
  gap:25px;
}
footer .contact .text{
  color:#fff;
  text-align:center;
  margin:0 auto;
}
footer .contact .tel{
  font-weight:bold;
  font-size:1.4rem;
  padding-left:30px;
  color:#ffd200;
}
footer .contact .time{
  font-size:.8rem;
  text-align:left;
  line-height:1.4;
  display:inline-block;
  padding-left:20px;
}
footer .footer-contents{
  max-width:var(--max);
  margin:0 auto;
  font-size: .85rem;
}
footer .area{
  margin-top:15px;
  margin-bottom:15px;
  line-height: 1.4;
  text-align:center;
  border-bottom:1px solid #7ea4fb;
  padding-bottom:15px;
}
footer .area .btn {
  margin-top: 10px;
}
footer #left-bottom{
  float:left;
  display:inline-block;
}
footer .adla{
  font-size:1.3rem;
  display:block;
  height:55px;
  line-height: 55px;
  background:url(img/adlalogo.png) no-repeat left;
  background-size: 55px 55px;
  padding-left:60px;
  font-weight:bold;
}
footer .sml{font-size:90%; display:block;}
footer .adla2{padding-left:60px;}

footer #menu-bottom{
  float:right;
}
footer #menu-bottom-top{
  margin-top:30px;
}
footer ul{
  overflow:hidden;
  float:left;
  margin: 10px;
}
footer li{
  float: left;
  clear: left;
  margin-bottom: 4px;
}
footer li.menu1{
  background:url(img/point.png) no-repeat left;
  padding-left:25px;
}

footer li.menu2{
  padding-left:30px;
  margin-bottom: 2px;
}
footer li a{
  color:#fff;
  text-decoration:none;
}

footer li a:hover{
  color:#ffd200;
}

p.copyright{
  text-align:center; 
  font-size:.8rem;
  color: #abc5ff;
  padding-top:20px;
  margin-top:15px;
  clear:both;
}
/* ===== Hero ================================================================= */
.hero{
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  position: relative;
  background: url("./img/top-image.webp") center/cover no-repeat;
  color:#fff;
}
.hero.subpage {
  min-height: 280px;
  background: url("./img/top-image-sub.webp") center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0, 112, 255, 0.25);
}
.hero-inner{
  width:100%;
}
.hero-text{
  position:relative;
  z-index:1;
  text-align: center;
}
.hero h1,
.hero .main-title{
  font-size: 1.6rem; 
  line-height: 1.4;
  margin-bottom: 12px;
  font-weight: 900;
  text-shadow: 1px 1px 3px #0029a2;
}
.hero h1 span,
.hero p,
.hero .main-title2 {
  font-size: 1rem;
  margin-bottom: 18px;
  text-shadow: 1px 1px 3px #0029a2 
}

.hero.subpage p {
  margin-bottom: 10px;
}
.hero .hero-cta .btn {
  background: rgba(255, 255, 255, .75);
  color: #283387;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 15px 25px;
}
.hero .hero-cta .btn:hover {
  color: #ffd800;
  background: rgba(255, 255, 255, .15);
}



.top-box .greeting {
  display: flex;
  margin: 40px 0;
}
.top-box .top-left {
  width: 67%;
  margin-right: 3%;
}
.top-box .top-right {
  width: 30%;
}
.top-box .txt00 {
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
  color: #283387;
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.top-left .img01 {
  position: relative;
  width: 65%;
  margin-bottom: -30px;
  padding-left: 50px;
  z-index: 1;
}
.top-left ul {
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 0 5px #ccc;
  padding: 25px;
  display: inline-flex;
  flex-direction: column;
}
.top-left ul li{
  position: relative;
  padding: 1px .5em 1px 2em; 
  margin: .35em 0;
  text-decoration: underline;
  text-decoration-color: #ffcf06;
  text-decoration-thickness: .3em;
  text-underline-offset: -.05em; /* 文字に近づける（負にすると重なる） */
  text-decoration-skip-ink: none;
  font-size: 1.05rem;
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
  font-weight: bold;
}
.top-left ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .15em;           
  width: 1.7em;
  height: 1.7em;
  background: url("./img/check01.png") no-repeat center / contain;
}
.top-left .gaitou {
  margin: 10px;
}
.top-left .gaitou img {
  float: left;
  width: 30%;
  margin-right: 20px;
}
.top-left .gaitou .txt01 {
  font-size: 1.1rem;
  font-weight: bold;
}
.top-left .gaitou .txt02 {
  font-size: 1.7rem;
  font-weight: bold;
  color: #ea0000;
  margin-bottom: 10px;
}
.top-left .gaitou .btn {
  font-size: 1.34rem;
}

/* ===== Reason section ============================================= */

.reason-section{
  padding-top: 0;
}
.reason-grid {
  display: flex;
  justify-content: center; 
}
.reason-box{
  border: 2px solid #43cd76;
  border-radius: 10px;
  background: #fff;
  padding: 18px 18px 14px;
  position: relative;
}

/* タイトル */
.reason-title{
  margin: 0 0 12px;
  font-size:1.38rem; 
  font-weight: 900;
  text-align: center;
}

.reason-green .reason-title{ color: #16a34a; }


/* 区切り線 */
.reason-rule{
  height: 2px;
  background: #c1e1d2;
  margin: 0 0 14px;
}

/* リスト */
.reason-list{
  list-style:none;
  margin:0;
  padding:0;
}
.reason-item{
  display:grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-top: 2px solid #c1e1d2;
}
.reason-item:first-child{ border-top: 0; }
.reason-item p{
  margin:0;
  font-weight: 700;
  line-height: 1.2;
  font-size:1.1rem;
}
.reason-item p span {
  font-weight: 400;
  font-size: 0.9rem;
}
/* ===== Pointバッジ ===== */
.reason-badge{
  width: 70px;
  border-radius: 8px;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: 10px 0;
  font-weight: 900;
  position: relative;
  overflow: hidden;
  text-shadow: 1px 1px 3px #555;
  font-weight: bold;
  text-shadow: 1px 1px 3px #555;
}

/* 緑（ストライプ） */
.reason-green .reason-badge{
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,0.15) 0px,
      rgba(255,255,255,0.15) 4px,
      transparent 4px,
      transparent 10px
    ),
    #22c55e;
}
.reason-badge span {
  font-size:1rem; 
  letter-spacing: .04em;
  font-weight: bold;
}
.reason-badge b {
  font-size:1.5rem; 
  line-height: 1;
  font-weight: bold;
}

/* 車 */
.reason-car{
  position:absolute;
  right: 14px;
  bottom: 10px;
  font-size:5rem; 
  opacity: .25;
}

.minasan .flexbox {
  margin-bottom: 30px;
}
.minasan .imgbox {
  width: 45%;
}
.minasan .txtbox {
  width: calc( 55% - 15px);
}
.minasan .txtbox p{
  line-height: 1.55;
}
.minasan .txtbox p span {
  font-weight: bold;
  font-size: 1.1rem;
}

.kokufuku p span {
  font-weight: bold;
  font-size: 1.1rem; 
  color: #ff6c00;
}
.kokufuku .left-box {
  width: 48%;
}
.kokufuku .right-box {
  width: calc(52% - 15px);
  border: 1px solid #293384;
  border-radius: 10px;
  padding: 15px;
  background: #eff9f9;
}
.kokufuku .right-box ul {
  list-style: disc;
  margin: 5px 0 15px;
  padding-left: 30px;

}
.kokufuku .right-box ul li{
  line-height: 1.2;
  margin-bottom: 5px;
  font-size: .95em;
  color: #2563eb;
}
.kokufuku .right-box ul li::marker{
  color: #2c3686;
  font-size: 1.5em;
}
.kokufuku .right-box ul li span {
  font-size: .8rem;
}
.kokufuku .txt {
  margin: 30px auto;
  padding-top: 30px;
  border-top: 1px solid #ccc;
  text-align: center; 
}
.kokufuku .txt p {
  color: #283387;
  display: inline-block;
  text-align: left;
  font-size: 1.1rem;
  font-weight: bold;
} 

.servicearea p{ 
  margin: 0 auto;
  padding: 25px;
  font-family: "ヒラギノ丸ゴ Pro W4","Hiragino maru Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","Verdana","Osaka",sans-serif;
  line-height: 2;
  text-align: center;
  color: #283387;
  background: #fff;
  border: 1px solid #283387;
  max-width: 900px;
}

.top-ranking .rank {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; 
  gap: 2%;
  background: #6c97f9;
  padding: 25px;
}
.top-ranking .rank .ranking {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.2;
  background: #fff;
  padding: 25px;
  box-shadow: 0 0 2px #5891ad;
}

.top-ranking .rank .ranking dt{
  width: 80px;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  background: url(img/line.png) repeat-x bottom;
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 6px 0;
}
.top-ranking .rank .ranking dd{
  width: calc(100% - 80px);
  background: url(img/line.png) repeat-x bottom;
  display: flex;
  align-items: center;
  padding: 6px 0 6px 15px;
}
.top-ranking .rank .ranking dt.no {
  color: #ff6c00;
  font-size: 1.2rem;
}
.top-ranking .rank .ranking dt img {
  width: 28px;
}
.top-ranking .rank dl.ranking2 {
  width: calc(35% - 2%);
  text-align: center;
  background: #fff;
  padding: 25px;
  box-shadow: 0 0 2px #5891ad;
}
.top-ranking .rank .ranking2 p {
  color: #fff;
  background: #ff6c00;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  padding: 5px;
  border-radius: 10px;
}
.top-ranking .rank .ranking2 dt {
  color: #2563eb;
  font-size: 1.1rem;
  padding: 20px 10px 5px 10px;
}
.top-ranking .rank .ranking2 dd {
  padding: 0 10px 20px 10px ;
  background: url(img/line.png) repeat-x bottom;
}
.naiyou-box{
  width: auto;
}
/* subpage ***************************************************************/
.subpage .rev{
  flex-direction: row-reverse;
}
.subpage .text-box {
  width: 60%;
}
.subpage .photo-box {
  width: calc(40% - 15px);
  padding: 0 15px 10px;
}
.subpage .circle {
  color: #ff7200;
  font-size: 80%;
}
.subpage .subp-list li {
  padding: 0 0 15px 15px;
}

.subpage .subp-list2 li{
  position:relative;
  padding: 3px 0 3px 1.6em;
}
.subpage .subp-list2 li::before{
  content:"●"; 
  font-size: .8rem;
  vertical-align: middle;
  position:absolute;
  left:0;
  color:#8dc7ff;
  top:5px;
}

.subpage .subp-box {
  border:3px double #c0e0ff;
  padding: 20px;
}
.subpage .subp-box2 {
  border: 1px solid #283387;
  padding: 25px;
}
.subpage .check-list li{
  position:relative;
  padding: 3px 0 3px 1.6em;
}
.subpage .check-list li::before{
  content:"\f00c"; 
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size: 1.1rem;
  position:absolute;
  left:0;
  color:#ff7200;
}
.subpage dl.mycar dt{
  color:#2563eb;
  font-weight: 600;
  letter-spacing: .06em;
}
.subpage dl.mycar dt span{
  font-size: 280%;
  font-weight: 800;
  font-style: italic;
  color: #5288ff;
  opacity: 0.2;         /* 薄くして背景っぽく */
  letter-spacing: 0.05em;
}
.subpage dl.mycar dd{
  margin-bottom: 15px;
  padding: 0 0 15px 1.5rem;
  border-bottom: 1px solid #dce7ff;
}
.subpage .check-list{
  list-style:none;
  padding-left:0;
  margin-left: 1rem;
}
.subpage .check-list li{
  position:relative;
  padding: 3px 0 3px 1.6em;
}
.subpage .check-list li::before{
  content:"\f00c"; 
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size: 1.1rem;
  position:absolute;
  left:0;
  color:#ff7200;
}
.voice .voice-cmt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap:30px;
  margin: 35px 0;
}
main.voice {
  padding-bottom: 0;
}
.voice .voice-cmt dl {
  width: calc(50% - 15px);
  max-width: 450px;
  border: 1px solid #ccc;
  padding: 2%;
  box-shadow: 0 7px 6px -6px rgba(66, 110, 149, 0.3);
  background: #f7fcff;
}
.voice .voice-cmt dt { 
  color: #283387;
  line-height: 1.3;
  border-bottom: 3px dotted #c3e0ff;
  padding-bottom: 15px;
  padding-left: 55px;
  background-image: url(./img/voice-icon01.png);
  background-repeat: no-repeat;
  background-size: 45px auto;
  background-position: top left;
  
}
.voice .voice-cmt dl:nth-child(2n) dt{background-image: url(./img/voice-icon02.png);}
.voice .voice-cmt dl:nth-child(3n) dt{background-image: url(./img/voice-icon03.png);}
.voice .voice-cmt dl:nth-child(4n) dt{background-image: url(./img/voice-icon05.png);}
.voice .voice-cmt dl:nth-child(5n) dt{background-image: url(./img/voice-icon04.png);}
.voice .voice-cmt dl:nth-child(6n) dt{background-image: url(./img/voice-icon06.png);}
.voice .voice-cmt dt span {
  font-size: .85rem;
}
.voice .voice-cmt dd {
  font-size: .9rem;
  padding-top: 15px;
}
.voice .voice-cmt-mail dl {
  border: 1px solid #ccc;
  padding: 25px;
  box-shadow: 0 7px 6px -6px rgba(66, 110, 149, 0.3);
  background: #fff;
  margin-bottom: 30px;
}
.voice .voice-cmt-mail dl:nth-child(2n) dt{background-image: url(./img/voice-icon-m02.png);}
.voice .voice-cmt-mail dl:nth-child(3n) dt{background-image: url(./img/voice-icon-m03.png);}
.voice .voice-cmt-mail dl:nth-child(4n) dt{background-image: url(./img/voice-icon-m05.png);}
.voice .voice-cmt-mail dl:nth-child(5n) dt{background-image: url(./img/voice-icon-m04.png);}
.voice .voice-cmt-mail dl:nth-child(6n) dt{background-image: url(./img/voice-icon-m06.png);}
.voice .voice-cmt-mail dt { 
  color: #283387;
  line-height: 1.3;
  border-bottom: 3px dotted #c3e0ff;
  padding-bottom: 15px;
  padding-left: 75px;
  background-image: url(./img/voice-icon-m01.png);
  background-repeat: no-repeat;
  background-size: 65px auto;
  background-position: top left;
}
.voice .voice-cmt-mail dd {
  font-size: .9rem;
  padding-top: 15px;
}

.charge .naiyou-box {
  display: inline-block;
  background: #6c97f9;
  padding: 25px;
  margin-bottom: 30px;
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
}
.charge .naiyou {
  background: #fff;
  padding: 3px; 
  border: 6px solid #fff;
  min-width:650px;
  margin: 0 auto;
}
.charge .naiyou col.col1{ background: #eff9ff; }   /* 日数 */
.charge .naiyou col.col2{ background: #eff9ff; }   /* 教習時間 */
.charge .naiyou col.col3{ background: #fbfdff; }   /* 教習内容 */
.charge .naiyou col.col4{ width:80px; }
.charge .naiyou col.col5{ width:80px; }

.charge .naiyou th{
  font-weight: bold;
  padding: 10px 20px;
  font-size: 16px;
  color: #2639ab;
  border: 3px solid #fff;
  background: linear-gradient(to bottom, #b2e1ff 0%,#89c8ff 100%);
  vertical-align: middle;
}
.charge .naiyou td {
  border: 3px solid #fff;
  padding: 5px 20px;
  vertical-align: middle;
}
.charge .naiyou  td:first-child {
  text-align: center;
}
.charge .naiyou .cal-tt {
  color: #396bbe;
  background: url(img/car.png) no-repeat left;
  padding-left: 20px;
  line-height: 33px;
}
.charge .naiyou td.hour6, 
.charge .naiyou td.hour8 {
  text-align: center;
  padding: 0 25px;
  background: #d3e8ff;
  /*writing-mode: vertical-rl;
  text-orientation: upright;*/
  white-space: nowrap;
}
.charge .charge-list {
  display: flex;
  flex-wrap: wrap;
  gap:20px;
}
.charge .charge-list dl{
  width:calc(25% - 20px);
  border: 1px solid #fefefe;
  border-radius: 7px;
  background-image: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#fafcfe));
  background-image: -webkit-linear-gradient(top, #fff, #fafcfe);
  background-image: -moz-linear-gradient(top, #fff, #fafcfe);
  background-image: -o-linear-gradient(top, #fff, #fafcfe);
  background-image: -ms-linear-gradient(top, #fff, #fafcfe);
  background-image: linear-gradient(to bottom, #fff, #fafcfe);
  -webkit-box-shadow: 0 0 2px rgba(0,0,0,0.5), inset 0 1px 1px white;
  -moz-box-shadow:  0 0 2px rgba(0,0,0,0.5), inset 0 1px 1px white;
  box-shadow:  0 0 2px rgba(0,0,0,0.5), inset 0 1px 1px white;
}
.charge .charge-list dt{
  background:url(img/car2.png) center no-repeat;
  text-align:center;
  color:#396bbe;
  font-size:1.4rem;
  font-weight:bold;
  height:69px;
  line-height:69px;
  text-shadow: 0 0 3px #fff;
}
.charge .charge-list dd{
  background:url(img/dot-back.png);
  background-size: auto;
  text-align:center;
  font-size:1.1rem;
  color:#fff;
  padding:15px 0;
  margin:5px;
  font-weight:bold;
}
.charge .ryoukin .txt01 {
  display: inline-table;
  padding: 20px;
  border-radius: 7px;
  box-shadow:  0 0 2px rgba(0,0,0,0.5), inset 0 1px 1px white;
  text-align: center;
  font-size: 1.1rem;
}
.charge .ryoukin .txt01 .txt-a {
  font-size:1.2rem;
  font-weight: bold;
}
.charge .ryoukin .txt01 .txt-b {
  color: #396bbe;
  font-size: 1.4rem;
  font-weight: bold;
}
.charge .ryoukin .box01 {
  padding: 25px;
  border: 1px solid #396bbe;;
}

dl.qa dt {
  background: url(./img/q.png) no-repeat 20px 1px;
  margin: 20px 0 0 0;
  padding: 0 20px 15px 45px;
  color: #396bbe;
  font-size: 105%;
}
dl.qa dd {
  background: url(./img/a.png) no-repeat 20px 1px;
  margin: 20px 0 -1px 0;
  padding: 0 20px 15px 45px;
  border-bottom: 1px #555 dotted;
}
dl.kiyaku-box {
  margin: 0 15px;
}
dl.kiyaku-box dt {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #283387;
  border-bottom: 1px dotted #2f50eb;
}
dl.kiyaku-box dd {
  margin-bottom: 20px;
  padding-left: 1rem;
}
dl.kiyaku-box ul {
  list-style-type: decimal;
  margin-left: 2rem;
  
}
dl.kiyaku-box ul li {
  padding:3px 0;
}
.assessment .ases-box{
  display: flex;
  flex-wrap: wrap;
  gap:10px;
}
.assessment .ases-box dt {
  width: 25%;
}
.assessment .ases-box dd {
  width: calc(75% - 10px);
}
.contact .required {
  color:red;
  font-size:0.9rem;
}
.contact .contactform input[type="text"],
.contact .contactform input[type="email"],
.contact .contactform input[type="tel"],
.contact .contactform textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.contactform input[type="checkbox"],
.contactform input[type="radio"]{
  accent-color:#ff6600;
  vertical-align: middle;
  transform: scale(1.4);
  margin-right:6px;
  margin-top: 0;
}
.contactform label{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.radio input{
  appearance:none;
  width:18px;
  height:18px;
  border:2px solid #999;
  border-radius:50%;
  position:relative;
}

.radio input:checked::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  background:#ff6600;
  border-radius:50%;
  top:3px;
  left:3px;
}
.contact .zip{
  width:120px;
}
.contact .required-note {
  text-align: center;
}
.contactform {
  max-width: 1000px;
  background: #a2d3ff;
  margin: 30px auto 0;
  padding: 30px;
}
.contactform .form-list {
  background: #fff;
  padding: 30px;
  display: flex;
  flex-wrap: wrap;
}
.contact .form-list dt {
  display: flex;
  align-items: center;
  width: 25%;
  font-weight: bold;
  padding: 5px;
  border-top: 1px dotted #ccc;
}

.contact .form-list dd {
  width: 75%;
  padding: 5px;
  border-top: 1px dotted #ccc;
}

.contact .option-group label {
  display: inline-block;
  padding: 5px;
}

.contact .option-group.vertical label {
  display: block;
  margin-right: 0;
}

.contact .help-text {
  margin-top: 0.5em;
  font-size: 0.9rem;
  color: #666;
}

.contact .agreebox {
  margin-top: 2em;
  padding: 1em;
  border: 1px solid #ddd;
  background: #fafafa;
  text-align: center;
}

.contact .submit {
  margin-top: 1.5em;
}

/* Responsive ***************************************************************/
@media (max-width: 1080px){
  .logo {
    width: 60px;
    height: 60px;
  }
  .brand-text span.txt01 {
    font-size: 1.4rem;
  }
  .brand-text span.txt02 {
    font-size: 1.1rem;
  }
  .nav-link {
    font-size: .9rem;
    padding: 0 4px;
  }
  .btn {
    font-size: .9rem;
  }
}
@media (max-width: 860px){
  body {line-height: 1.5;}
  html{ font-size:13px; } 

  .nav{ display:none; }
  .header-cta { display:none; }
  .hamburger{ display:flex; }
  .pc{ display:none !important; }
  .sp{ display:inline; }
  .logo {
    width: 40px;
    height: 40px;
  }
  h3 {
    display: flex;
    align-items: center;
    font-size: 1.3rem;
    line-height: 1.05;
    background: url(./img/h2-sp.png) no-repeat left;
    height: 55px;
    padding: 0 5px 0 65px;
  }
  .sp-left {text-align: left;}
  .sp-center {text-align: center;}
  .sp-right {text-align: right;}
  section {
    padding: 30px 0;
  }
  .flexbox{
    display: block;
  }
  footer:before{
    content: "";
    display: table;
    clear: both;
  }
  footer .contact {
    display: block;
    height: auto;
    background-size: contain;
    padding: 5px;
  }
  footer .contact .tel {
    padding-left: 0;
    display: block;
    text-align: center;
  }
  footer .contact .time {
    display: none;
  }
  footer .footer-contents {
    width: auto;
  }
  footer #left-bottom,
  footer #menu-bottom {
    float: none;
    padding: 8px;
    display: block;
  }
  footer .area {
    font-size: .85rem;
  }
  footer .adla {
    font-size: 1.1rem;
    height: 35px;
    line-height: 35px;
    background-size: 35px 35px;
    text-align: center;
    background: none;
    padding-left: 0;
  }
  footer .adla2 {
    padding-left: 0;
    font-size: .9rem;
    text-align: center;
  }
  footer ul {
   width: 48%;
   margin: 0 1%;
  }
  footer li {
    border-bottom: 1px solid #8eb0ff;
    width: 100%;
    padding-top:10px;
    padding-bottom: 10px;
    line-height: 1;
  }
  footer li.menu1 {
    background-size: 13px;
    padding-left: 15px;
    font-size: .9rem;
  }
  footer li.menu2 {
    font-size: .9rem;
    padding-left: 15px;
    margin-bottom: 4px;
  }
  .brand-text span.txt01 {
    font-size: 1.3rem;
  }
  .brand-text span.txt02 {
    font-size: 1rem;
    margin: 3px 0;
  }
  .brand-text span.txt03 {
    font-size: .7rem;
  }
  .hero{
    min-height: 360px;
    padding: 40px 0;
  }
  .hero.subpage{
    min-height: 150px;
  }
  .hero h1 {
    font-size: 1.3rem;
  }
  .hero p {
    font-size: .9rem;
  }
  .hero .h1{
    font-size: 1.6rem;
  }
  .top-box .greeting {
    display: block;
    margin: 0;
  }
  .top-box .onayami {
    text-align: center;
  }
  .top-box .top-left {
    width: 100%;
    margin-right: 0;
  }
  .top-box .txt00 {
    font-size: 1rem;
  }
  .top-left .img01 {
    display: block;
    width: 90%;
    max-width: 400px;
    margin: 0 auto -30px ;
    padding-left: 0;
  }
  .top-left ul {
    padding: 15px;
    text-align: left;
  }
  .top-left .gaitou {
    text-align: center;
  }
  .top-left .gaitou img {
    float: none;
    display: block;
    width: 60%;
    max-width: 250px;
    margin: 0 auto;
    padding: 0;
  }
  .top-left .gaitou .btn {
    font-size: 1.05rem;
    padding: 20px;
  }
  .top-left .gaitou {
    padding-bottom: 30px;
  }
  .top-box .top-right {
    width: 100%;
  }
  .top-box .top-right ul {
    display: flex;
    flex-wrap: wrap;
    gap:5px;
    justify-content: center;
    max-width: 700px;
    margin: 0 auto;
  }
  .top-box .top-right ul li {
    width: calc(50% - 2.5px);
  }
  .minasan .imgbox,
  .minasan .txtbox {
    width: 100%;
  }
  .minasan .imgbox img{
    display: block;
    margin: 0 auto;
  }
  .reason-item {
    padding: 10px 0;
    grid-template-columns: 50px 1fr;
  }
  .reason-badge {
    width: 50px;
    padding: 7px 0;
  }
  .reason-badge span {
    font-size: .9rem;
  }
  .reason-badge b {
    font-size: 1.3rem;
  }
  .reason-rule {
    margin: 0; 
  }
  .kokufuku .left-box,
  .kokufuku .right-box {
    width: 100%;
  }
  .kokufuku .left-box {
    margin-bottom: 20px;
  }
  .kokufuku p span {
    font-size: 1.05rem;
  }
  .servicearea p {
    text-align: left;
  }
  .top-ranking .rank {
    display: block;
    padding:10px;
  }
  .top-ranking .rank .ranking {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
  }
  .top-ranking .rank .ranking dt {
    width: 50px;
  }
  .top-ranking .rank .ranking dd {
    width: calc(100% - 50px);
    padding: 12px 10px 12px 12px;
  }
  .top-ranking .rank dl.ranking2 {
    width: 100%;
    padding: 10px;
  }
  .subpage .text-box {
    width: 100%;
  }
  .subpage .photo-box {
    width: 90%;
    padding: 15px;
    margin: 0 auto;
  }
  .subpage .photo-box img {
    display: block;
    margin: 0 auto;    
  }
  .voice .voice-cmt {
    display: block;
    margin: 20px 0;
    overflow: hidden;
  }
  .voice .voice-cmt dl {
    width: 100%;
    margin: 15px auto;
    padding: 15px;
    display: block;
  }
  .charge .charge-list {
    display: block;
    width: 90%;
    max-width: 280px;
    margin: 0 auto;
  }
  .charge .charge-list dl {
    width: 100%;
    margin-bottom: 15px;
  }
  .charge .ryoukin .box01 {
    padding: 17px;
  }
  .subpage .subp-box {
    padding: 15px;
  }
  dl.qa dt {
    background: url(./img/q.png) no-repeat 0 1px;
    margin: 20px 0 0 0;
    padding: 0 5px 5px 25px;
  }
  dl.qa dd {
    background: url(./img/a.png) no-repeat 0 1px;
    margin: 5px 0 -1px 0;
    padding: 0 5px 15px 25px;
  }
  dl.kiyaku-box {
    margin: 0 5px;
  }
  dl.kiyaku-box ul {
    margin-left: 1rem;
  }
  .contactform {
    padding: 10px;
  }
  .contactform .form-list {
    padding: 10px ;
    display: block;
  }
  .contact .form-list dt {
    width: 100%;
  }
  .contact .form-list dd {
    width: 100%;
    border-top: 0;
  }
   .charge .naiyou-box{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px;
  }

  .charge .naiyou-box .naiyou{
    min-width: 650px;
    white-space: normal;
  }

  .charge .naiyou-box::after{
    content: "← 横にスクロールできます →";
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #fff;
    text-align: center;
  }
  .charge .naiyou th {
    padding: 8px;
    font-size: 1rem;
  }
  .charge .naiyou td {
    padding: 8px;
  }
  .charge .naiyou td.hour6, .charge .naiyou td.hour8 {
    padding: 0 10px;
  }
  .charge .naiyou col.col4,
  .charge .naiyou col.col5 {
    width: auto;
  }




}


