@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: 'Pretendard', 'KBFGDisplayM';
}

html{
  scroll-behavior: smooth;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.text-hidden {position: absolute;text-indent: -9999em;font-size: 0;}

ul, il {list-style: none;}
a {text-decoration: none; color: inherit;}

header, footer, section {position: relative; width:720px; margin:0 auto;}

header{text-align: center; border-bottom:1px solid #979189;}
  h1 {padding: 30px 0 0}
  nav {padding: 0 0 15px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
  nav a {display: inline-flex; padding: 15px 0; width: calc(100% / 3); justify-content: center; align-items: center; text-align: center; font-size: 24px; line-height: 30px; color: #544e40; text-decoration: none;}
  nav span {display: inline-block; padding: 2px 15px 0 15px; vertical-align: 2px}

.inner {position: relative;}
/* a.btn {position: absolute; display: block; left:0; bottom: 0; width: 441px; height: 83px; font-size:0; box-sizing: border-box;} */

#visual {height: 1008px; text-align: center; background: url('../images/m/visual.jpg') no-repeat center 0}

  #visual h2 {padding: 120px 0 0; font-weight: 900; font-size: 72px; color: #121212;}
  #visual h2 p {padding: 35px 0; font-size: 32px; color: #303030; font-weight: 500;}
  #visual h2 p strong {font-size: 60px;}
  #visual h2 p i {font-style: normal;}
  #visual h2 span {display: block; margin-left: -40px; color: #303030;}

  #visual a.btn {display: flex; justify-content: center; align-items: center; width: max-content; border-radius: 30px; height: 48px; font-size: 28px; font-weight: 700; padding: 5px 30px; margin: 0 auto; border: 1px solid #222;}
  #visual a.btn span {color: #fffc26;}

#s1 {padding: 130px 0 150px; background: url(../images/s1.jpg) no-repeat center top}
  #s1 h2 {padding: 20px 0 20px; font-size: 43px; text-align: center; line-height: 64px; color: #303030; font-weight: 900;}

  #s1 p {padding: 0 0 50px; font-size: 46px; text-align: center; line-height: 50px; color: #212121; font-weight: 300;}
  #s1 p .mid-arrow {display: inline-block; margin: 0 10px; font-size: 42px; line-height: 1; vertical-align: middle; color: #212121;}
  #s1 p span {display: inline-block; padding-top: 8px; font-size: 33px;}
  #s1 p strong {color: #f75f07; font-weight: 300;}

  #s1 a.btn {display: flex; justify-content: center; align-items: center; width: max-content; border-radius: 30px; height: 48px; font-size: 28px; font-weight: 700; padding: 5px 30px; margin: 0 auto; border: 1px solid #222;}

#s2 {padding: 85px 0; background:#f5f5f7 url(../images/s2.jpg) no-repeat center top}
  #s2 .inner {display: flex; flex-flow: row wrap; gap: 20px; align-content: flex-start;}
  #s2 dl {width: 90%; margin: 0 auto; min-height: 540px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-width: 0; box-sizing: border-box; padding: 20px; font-size: 22px; color: #212121; border-radius: 20px; font-weight: 300; background: #fff;}
  #s2 dl dt {padding: 55px 0 20px; font-size: 58px; font-weight: 900; line-height: 1; color: #121212; letter-spacing: -0.02em;}
  #s2 dl dd.txt {display: flex; justify-content: center; align-items: center; padding-bottom: 30px; font-size: 25px; line-height: 40px;}
  #s2 dl dd:not(.txt) {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px;}

  #s2 dl dd a {display: inline-flex; justify-content: center; align-items: center; width: max-content; border-radius: 24px; text-decoration: none; color: #222; height: 48px; font-size: 25px; font-weight: 700; padding: 0 30px; border: 1px solid #222;}
  #s2 dl dd a.ac {background: #d9dbdf;}

  #s2 dl.box1 {background: #fff url(../images/m/box_img1.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box2 {background: #fff url(../images/m/box_img2.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box3 {background: #fff url(../images/m/box_img3.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box4 {background: #fff url(../images/m/box_img4.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box5 {background: #fff url(../images/m/box_img5.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box6 {background: #fff url(../images/m/box_img6.jpg) no-repeat center bottom; background-size: contain;}
  #s2 dl.box1-layer-trigger,
  #s2 dl.box2-layer-trigger,
  #s2 dl.box3-layer-trigger,
  #s2 dl.box4-layer-trigger {cursor: pointer;}

  .layer-popup {display: none; position: fixed; inset: 0; z-index: 99999; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; line-height: 1.45; font-size: 21px; color: #212121;}
  .layer-popup.on,
  #layerBox1Detail.layer-popup.on {display: flex !important;}
  .layer-popup .layer-dim {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.65);}
  .layer-popup .layer-box {position: relative; z-index: 1; width: 100%; max-width: 940px; max-height: calc(100vh - 80px); display: flex; flex-direction: column; align-items: center;}
  .layer-popup .layer-panel {width: 100%; max-height: calc(100vh - 120px); overflow: hidden; background: #fff; border-radius: 24px; padding: 0; box-sizing: border-box; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; min-height: 0;}
  .layer-popup .layer-panel-scroll {flex: 1 1 auto; min-height: 0; max-height: calc(100vh - 120px); overflow-y: auto; overflow-x: hidden; padding: 28px 28px 40px; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: #d9dbdf #fff;}
  .layer-popup .layer-panel-scroll::-webkit-scrollbar {width: 3px;}
  .layer-popup .layer-panel-scroll::-webkit-scrollbar-track {background: #fff;}
  .layer-popup .layer-panel-scroll::-webkit-scrollbar-thumb {background: #d9dbdf; border-radius: 999px;}
  .layer-popup .layer-section {gap: 16px 20px; align-items: stretch; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid #e8e8e8;}
  .layer-popup .layer-section:last-of-type {border-bottom: 0; margin-bottom: 18px; padding-bottom: 0;}
  .layer-popup .layer-label {border-radius: 15px; padding: 16px 12px; font-size: 32px; font-weight: 800; color: #121212; box-sizing: border-box;}
  .layer-popup .layer-label small {display: block; margin-top: 10px; font-size: 18px; font-weight: 400; color: #4c4c4c; line-height: 1.35;}
  .layer-popup .layer-label-tall {align-self: stretch;}
  .layer-popup .layer-table-wrap {grid-column: 2; grid-row: 1; min-width: 0;}
  .layer-popup .layer-table-wrap p {font-size: 21px; font-weight: 300; color: #4c4c4c; text-align: right; padding: 20px 0 10px;}
  .layer-popup .layer-table-scroll {overflow-x: auto; -webkit-overflow-scrolling: touch;}
  .layer-popup .layer-table {width: 100%; border-collapse: collapse; font-size: 18px;}
  .layer-popup .layer-table th,
  .layer-popup .layer-table td {padding: 20px 20px; text-align: center; vertical-align: middle; border: 0;}
  .layer-popup .layer-table td {border-right: 1px solid #f5f5f7;}
  .layer-popup .layer-table td:last-of-type {border-right: 0;}
  .layer-popup .layer-table thead th {font-weight: 500; color: #121212; background: #fff;}
  .layer-popup .layer-table tbody th {text-align: center; font-weight: 400; color: #333;}
  .layer-popup .layer-table tbody tr:nth-child(odd) td,
  .layer-popup .layer-table tbody tr:nth-child(odd) th[scope="row"] {background: #fcfcfd; border-bottom: 1px solid #f5f5f7; }
  .layer-popup .layer-table tbody tr .nobg {background: #fff !important; border-right:1px solid #f5f5f7;}
  .layer-popup .layer-table-mileage tbody tr:nth-child(odd) td {background: #fcfcfd;}
  .layer-popup .layer-table-mileage tbody tr:nth-child(odd) th {background: #fcfcfd;}
  .layer-popup .layer-td-full {text-align: center;}
  .layer-popup .layer-note {grid-column: 1 / -1; width: auto; margin: 30px 0 0; font-size: 15px; color: #4c4c4c; line-height: 1.5; box-sizing: border-box;}
  .layer-popup .layer-btn-cta {display: flex; justify-content: center; align-items: center; width: max-content; text-decoration: none; margin: 40px auto 0; padding: 16px 60px; font-size: 25px; font-weight: 600; color: #121212; background: #d9dbdf; border: 1px solid #0d0e0e; border-radius: 999px; cursor: pointer; font-family: inherit; text-decoration: none; box-sizing: border-box;}
  .layer-popup .layer-btn-cta:hover {background: #d9dbdf;}
  .layer-popup .layer-btn-close {margin-top: 0; align-self: center; padding: 8px 18px; font-size: 25px; color: #fff; background: none; border: 0; cursor: pointer; text-decoration: underline; font-family: inherit; text-decoration: none;}
  .layer-popup .layer-btn-close:hover {opacity: 0.85;}
  body.layer-open {overflow: hidden;}

#s3 {padding: 90px 0 100px; background:#fff url(../images/s2.jpg) no-repeat center top}
  #s3 h2 {padding: 0 0 50px; font-size: 58px; text-align: center; line-height: 85px; color: #000; font-weight: 900;}
  #s3 ul li {padding: 35px 0 35px 360px; font-size: 25px; color:#121212; line-height: 40px; text-align: left;}
  #s3 ul li strong {font-weight: 600;}

  #s3 ul li:first-of-type {background: #fff url(../images/icn_img1.jpg) no-repeat 120px 50%;}
  #s3 ul li:nth-of-type(2) {background: #fff url(../images/icn_img2.jpg) no-repeat 120px 50%;}
  #s3 ul li:nth-of-type(3) {background: #fff url(../images/icn_img3.jpg) no-repeat 120px 50%;}

  #s3 a {display: flex; margin: 30px auto; justify-content: center; align-items: center; width: max-content; border-radius: 24px; text-decoration: none; color: #222; height: 48px; font-size: 25px; font-weight: 700; padding: 0 30px; border: 1px solid #222;}

#s4 {padding: 50px 0; background:#f5f5f7 url(../images/s2.jpg) no-repeat center top}

  #s4 p {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding-top: 10px;}
  #s4 p a {flex: 1; height: 60px; display: flex; justify-content: center; align-items: flex-start; border-radius: 24px; text-decoration: none; color: #121212; font-size: 25px; opacity: 0.4;}
  #s4 p a.on {color: #121212; opacity: 1;}

  #s4 div.con {display: flex; flex-wrap: wrap; align-items: self-start; gap: 40px 20px; border-radius: 25px; background: #fff;  padding: 60px 60px;}
  #s4 div.con dl {flex: 0 1 100%; font-size: 22px; color: #212112; border-radius: 20px; font-weight: 300; background: #fff;}
  #s4 div.con dl dt {font-size: 28px; font-weight: 900; line-height: 1; color: #121212; letter-spacing: -0.02em;}
  #s4 div.con dl dd {padding: 10px 0 0; font-size: 28px; line-height: 40px; padding-left: 14px; text-indent: -14px;}
  #s4 div.con dl dd.nohave {padding-left: 0; text-indent: 0;}
  #s4 div.con dl strong {color:#f75f07;}
  #s4 div.con dl span {color: #4c4c4c;}

  #s4 .inner>span {display: block; margin-top: 20px; font-size: 17px; text-align: center; color: #121212;}

footer{background: #fff;}
  #footer{padding:40px 30px; font-size: 18px; line-height: 32px; color:#121212; letter-spacing: -0.05em;}
    #footer dl{display: inline-block;}
    #footer dd{display: inline-block;}
    #footer dt{display: inline-block;padding-bottom:8px; font-weight: bold; font-size: 20px;}
