@font-face {
        font-family: KBFGDisplayM;
        font-style: normal;
        font-display: swap;
        src: url("font/KBFGDisplayM.woff") format("woff"), url("font/KBFGDisplayM.woff2") format("woff2");
}
html, body, div, span, h2, h3, h4, h5, h6, p, blockquote, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, small, strike, strong, sub, tt, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, embed, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  word-break: keep-all;
  font-family: 'KBFGDisplayM';
}

ul, il {list-style: none;}
a {text-decoration: none; color: inherit;}

header, footer, section {position: relative; width:750px; margin:0 auto;}

header{height: 130px; text-align: center; border-bottom:1px solid #979189;}
  h1 {padding:30px 0 0}
  nav {padding: 5px 0 0; overflow: hidden;}
  nav a {display: inline-block; font-size: 20px; line-height: 20px; color: #544e40; text-decoration: none; font-weight: ;}
  nav span {display: inline-block; padding: 0 18px 0 16px; vertical-align: 1px; font-size: 18px; color: #4d453b}

#visual{height: 925px; background:#454545 url(../images/m/visual.jpg) no-repeat center top; letter-spacing: -0.08em; text-align: center}
  #visual h2{padding: 50px 0 10px; line-height: 50px; font-size: 38px; color:#482a1a; font-weight: bold; }
  #visual h2 strong {position: relative; font-size: 38px; color: #fb2e02;}
  #visual h2 strong span {position: relative; z-index: 1}
  #visual h2 strong::before {position: absolute; left:0; bottom: 6px; content: ""; height: 12px; width: 100%; background: #fcd800; z-index: 0}
  #visual div.txt {margin: 195px 0 0; padding: 25px 0 0; font-size: 28px; color:#482a1a; font-weight: bold; line-height: 38px;}
  #visual div.txt>p {font-size: 24px; font-weight: normal; padding-left: 40px; color:#79685f; background: url(../images/ico_q.png) no-repeat 228px 5px; background-size: 28px auto;}

  #visual ul {width: 48%; text-align: left; margin: 3px auto 0; padding: 15px 35px 10px; line-height: 28px; font-size: 20px; font-weight: normal; border-radius: 6px; box-shadow: 5px 5px 5px #dbd7d7; background: #fff}
  #visual ul li {padding: 3px 0 3px 27px; background: url(../images/ico_check.png) no-repeat left 5px}
  #visual ul li strong {color: #fb2e02;}
  #visual ul li span { font-size: 15px;}

  #visual a.btn {display: inline-block; height: 85px; margin: 35px auto 27px; padding:0 80px; line-height: 90px; font-size: 36px; color: #482a1a; font-weight: bold; background: #f9bb00; border-radius: 50px; text-decoration: none}

  #visual .banner {position: relative; margin-top: 0; height: 135px; letter-spacing: -0.02em; overflow:hidden; z-index: 1}
  #visual .banner::before {position: absolute; left: 0; top: 0; content: ""; width: 100px; height: 150px; background:#fcd800; }
  #visual .banner .info {position: relative; color:#fffefe; font-size: 18px; padding: 30px 0 12px 160px;}
  #visual .banner .info::before {position: absolute;  left: 0; top: 0; content: ""; width: 250px; height: 250px; background: url(../images/banner_img.png) no-repeat 0 -13px; background-size: 160px auto; z-index: 1}
  #visual .banner .info span {padding:1px 30px 0 26px; background:url(../images/icn_tel.png) no-repeat left 1px; background-size: 20px auto;}
  #visual .banner .txt {padding-top: 16px; color:#e2e1e1; font-size: 18px; text-align: left; padding: 0 0 0 220px}
  #visual .banner .txt span {display: inline-block; padding-top: 3px; color: #b2b2b2; font-size: 17px;}

#s1 {height: 700px; text-align: center; background: #f6f6f6}
  #s1 h2, #s2 h2 {position: relative; padding: 55px 0 25px; font-size: 30px; color:#482a1a; line-height: 140%; font-weight: bold; text-align: center}
  #s1 h2 p, #s2 h2 p {position: relative; z-index: 1;}
  #s1 h2 em {position: absolute; display: block; left: 294px; top: 77px; height: 12px; width: 41.5%; background: #fcd800; z-index: 0;}
  #s2 h2 em {position: absolute; display: block; left: 394px; top: 118px; height: 12px; width: 27.5%; background: #fcd800; z-index: 0;}
  #s1 h2 strong, #s2 h2 strong{ color:#eb501a;}

  #s1 div.box_wrap {position: relative; display: flex; justify-content: center; text-align: center; flex-wrap: wrap;}

  #s1 dl.box {position: relative; display: flex; justify-content: center; text-align: center; flex-direction: column; margin-bottom: 0px; width: 200px; height: 240px; margin: 7px; letter-spacing: -0.05em; background:#fff; box-shadow: 5px 5px 5px #dbd7d7; border-radius: 14px; z-index: 1}
  #s1 dl.box dt {font-size: 21px; color:#482a1a; line-height: 28px;}
  #s1 dl.box dd span {display: inline-block; width: 70px; padding: 4px 0 0; font-size: 23px; color:#fff; border-radius: 25px; box-shadow: 2px 2px 2px #e3a200; background: #ffba00}
  #s1 dl.box dd img {margin: 6px 0 10px;}
  #s1 dl.box dd span.ac {box-shadow: 2px 2px 2px #85c329; background: #91d72d}
  #s1 dl.box dd span.ac1 {box-shadow: 2px 2px 2px #e27106; background: #ff8207 }

#s2 {padding: 0 45px 58px; text-align: center; letter-spacing: -0.05em; box-sizing: border-box; overflow: hidden;}
  #s2 h2 {padding-bottom: 40px}
  #s2 .boxarea {position: relative; display: grid; grid-template-row: 3fr 1.38fr; padding: 0 0;}
  #s2 .boxarea .box_wrap {position: relative; display: grid; padding: 10px; grid-gap: 10px; border-radius: 12px;border-radius: 12px}
  #s2 .boxarea .box_wrap::before {position: absolute; width: 100%; height: 100%; background: #fff;border-radius: 12px; content: ""; z-index: 1}
  #s2 .boxarea .box_wrap.box1 {grid-template-columns: 1fr 1fr 1fr; border: 2px dashed #ffa11a;}
  #s2 .boxarea .box_wrap.box2 {grid-template-columns: 1fr 1fr; border: 2px dashed #fc4803; margin-top: -1px; }
  #s2 .boxarea .box_wrap.box1 dl.box {position: relative; height: 295px; border-radius: 12px; box-sizing: border-box; background: linear-gradient(320deg, #ffc000, #ffc600); z-index: 1}
  #s2 .boxarea .box_wrap.box2 dl.box {position: relative; height: 138px; padding: 15px 20px; border-radius: 12px; background: linear-gradient(320deg, #ffa300, #ff9e00); z-index: 1}
  #s2 .boxarea .box_wrap dl.box {padding: 30px 20px 25px; text-align: left; color:#482a1a;}
  #s2 .boxarea .box_wrap dl.box dt {font-size: 25px; line-height: 34px; font-weight: bold; letter-spacing: -0.02em}
  #s2 .boxarea .box_wrap dl.box dt span {display: inline-block; margin-bottom: 15px; padding: 10px 5px 7px; border-radius: 5px; font-size: 45px; color:#fff; background: #ff5500}
  #s2 .boxarea .box_wrap dl.box dd {padding: 10px 0 0; font-size: 17px; line-height: 24px; color:#482a1a; letter-spacing: -0.07em}
  #s2 .boxarea .box_wrap .stxt {position: absolute; left:0; top: -34px; background: #ff9700; color:#fff; border-radius: 6px; font-size: 25px; padding: 3px 10px 10px;}
  #s2 .boxarea .box_wrap.box2 .stxt {left: auto; right:0; top:auto; bottom: -35px; padding: 12px 10px 3px; background: #fd5c04;}

  #s2 a.btn {display: inline-block; width: 540px; height: 73px; margin: 35px auto 0; padding:0; line-height: 73px; font-size: 28px; color: #fff; font-weight: bold; background: #5a3e30; border-radius: 50px; text-decoration: none}
  #s2 a.btn span {color:#fcd800;}
  #s2 a.btn img {margin-left: 5px; vertical-align: -5px;}

#s3 {padding-bottom: 100px; background:#fff; text-align: center}
  #s3 h2 {position: relative; padding: 0 0 35px; font-size: 30px; color:#482a1a; line-height: 140%; font-weight: bold; text-align: center}
  #s3 h2 img {margin-bottom: 20px;}
  #s3 h2 strong {color:#eb501a;}

  #s3 div.boxarea {display: grid; grid-template-columns: 1fr 1fr; text-align: left; padding:30px 10px 30px 20px; gap: 20px; border-radius: 16px; background: #f6f6f6; color:#482a1a; margin: 0 45px;}
  #s3 div.boxarea div {display: grid; gap: 27px;}
  #s3 div.boxarea div dt {padding: 0 0 10px 28px; font-size: 23px; font-weight: bold; background: url(../images/ico_check.png) no-repeat left 3px; letter-spacing: -0.04em}
  #s3 div.boxarea div dd {font-size: 17px; line-height: 23px; padding:3px 0 3px 40px; text-indent: -14px; letter-spacing: -0.02em}

  #s3 a.btn {display: inline-block; width: 540px; height: 73px; margin: 35px auto 0; padding:0; line-height: 73px; font-size: 28px; color: #fff; font-weight: bold; background: #5a3e30; border-radius: 50px; text-decoration: none}
  #s3 a.btn span {color:#fcd800;}
  #s3 a.btn img {margin-left: 5px; vertical-align: -5px; }

footer{}
  footer div.banner {position: relative; display: flex; align-items: center; height: 210px; background: #ffffd8; color:#433011; font-size: 20px; padding-left: 80px; overflow: hidden;}
  footer div.banner p {padding-bottom: 8px; font-size: 21px; line-height: 50px; font-weight: bold; letter-spacing: -0.05em}
  footer div.banner p span {font-size: 30px; line-height: 38px;}
  footer div.banner p strong {color:#fb2e02;}
  footer div.banner img {position: absolute; right:-15px; bottom: 17px;width: 47%;}

  #footer{padding:40px 80px; font-size: 17px; line-height: 28px; color:#b3b3b3; letter-spacing: -0.05em; background: #545454;}
    #footer dl{display: inline-block;}
    #footer dd{display: inline-block;}
    #footer dt{display: inline-block;padding-bottom:8px; font-weight: bold; font-size: 19px;}
