@charset "UTF-8";


:root {
  --font-header:clamp(18px, calc(18px + (8 * (100vw - 375px) / 1025)), 26px);
  --font-footer:clamp(21px, calc(21px + (9 * (100vw - 375px) / 1025)), 26px);

  --font-36: clamp(25px, calc(25px + (11 * (100vw - 375px) / 650)), 36px);
  --font-30: clamp(24px, calc(24px + (3 * (100vw - 500px) / 750)), 30px);
  --font-27: clamp(25px, calc(25px + (2 * (100vw - 500px) / 900)), 27px);
  --font-24: 24px;
  --font-18: clamp(17px, calc(17px + (1 * (100vw - 500px) / 900)), 18px);
  --font-16: 16px;
  --font-14: 14px;
  --font-12: 12px;
  --color-white:#fff;
  --color-yellow:#FFF100;
  --color-black:#1A1B1F;
  --color-black2:#3C3E47;
  --color-gray:#F3F3F5;
  --color-gray2:#E1E1E5;
  --color-gray3:#A4A4A4;
  --color-link:#3987d4;

  --margin-xl:clamp(20px, calc(20px + (50 * (100vw - 375px) / 650)), 70px);
  --margin-m:clamp(16px, calc(16px + (14 * (100vw - 375px) / 1025)), 30px);
  --margin-s:clamp(8px, calc(8px + (4 * (100vw - 375px) / 1025)), 12px);
    }

  .font-12 {font-size:var(--font-12);}
  .font-16 {font-size: var(--font-16);}
  .font-24 {font-size: var(--font-24);}
  .font-30 {font-size: var(--font-30);}
  .font-36 {font-size: var(--font-36);}
  
  .font-500 {font-weight: 500;}
  .font-700 {font-weight: 700;}

  .color-black{color:var(--color-black);}
  .color-yellow{color:var(--color-yellow);}
  .color-gray2{color:var(--color-gray2);}
  .color-gray3{color:var(--color-gray3);}

  .font-header {font-size: var(--font-header);}
  .font-footer {font-size:var(--font-footer);}

  .margin-xl{ margin:var(--margin-xl) auto 0 !important;}
  .margin-l{ margin:50px auto 0 !important;}
  .margin-m{ margin:var(--margin-m) auto 0 !important;}
  .margin-s{ margin:var(--margin-s) auto 0 !important;}
  .margin-auto{ margin:0 auto;}
  .max-1500{ max-width: 1500px; padding: 0 15px;}
  .max-1250{ max-width: 1250px; padding: 0 15px;}
  .max-1000{ max-width: 1000px; padding: 0; }

  a:hover{
    text-decoration: none;
  }

  p {font-size: var(--font-16); line-height: 1.6;}


  .text-center {text-align: center;}

  /* ベーススタイル */
  body {
    /*font-family: "Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
    font-family: 'Jost','Noto Sans JP', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: white;
    color: var(--color-black);
  }

  body.no-scroll{
    /*スクロール無効*/
    overflow: hidden;
    height: 100vh;

  }

  .flex{
    display: flex;
  }

  .j-s{justify-content: start;}
  .j-c{justify-content: center;}
  .j-e{justify-content: end;}
  .j-sb{justify-content: space-between;}
  .j-s-s{justify-self:start;}
  .j-s-c{justify-self: center;}
  .j-s-e{justify-self: end;}

  .a-c{align-items: center !important;}

  .border {border-bottom: 1px dashed var(--color-gray3);}
  .br-sp {display: none; }


/* ------------------------------
  グローバル
--------------------------------*/

html {
  scroll-behavior: smooth;
}

  main {
    max-width: 100%;
    margin: 0 auto;
    padding: 0px;
    background-color: #fff;
  }

body,main,div,section,h1,h2,h3,h4,h5,h6{
  box-sizing: border-box;
}

nav a {
    color: white;
    text-decoration: none;
    display: block;
}

h1{
  font-size:var(--font-36);
}

  h1 a{
  color:var(--color-black);
  }

  h2 {
    font-size: var(--font-24);
    margin-bottom: 15px;
    color: var(--color-black);
  }

  /*h2カスタム要素は以下*/

  .section-title h2,.news-section h2 {
  margin: 0;
  position: relative;
  }

  .section-title h2::after,.news-section h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: var(--color-yellow);
    margin: 12px auto 0;
    }

    /*h2カスタム2*/

  #access h2, #info h2, #policy h2, #contact h2 {
  margin: 0;
  padding:0;
  padding-left:1rem;
  position: relative;
  border-left:#FFF100 6px solid;

  }

  #access h2::after, #info h2::after, #policy h2:after, #contact h2:after  {
    content: "";
    display: block;
    background: var(--color-yellow);
    margin: 12px auto 0;
    }



  h3 {
    font-size: var(--font-18);
    margin-top: 20px;
    font-weight: 500;
    margin-bottom: 10px;
  }

  #shoes-repair h3{
    background-color: var(--color-gray);
    padding:8px 1rem;
  }

  ul { 
    margin:0;
    padding:0;
    padding-left: 20px;
  }

  li{
    font-size: var(--font-16);
    list-style: none;
  }

  .custom-ul li {
    list-style: none;
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-left: 1.3em;
  }

  .custom-ul li::before {
    content: "・";
    position: absolute;
    left: 0;
    line-height: 1.6;
  }

  .custom-ul2 li {
    list-style: none;
    display: flex;
    align-items: flex-start;
    position: relative;
  }


  a {
    color: var(--color-link);
    text-decoration: none;
    transition: opacity .3s ease;
  }



 @media screen and (max-width: 1200px) {

  .br-sp {display: none !important;}

  .max-1000 {padding: 0 15px;}

 }

  @media screen and (max-width: 768px) {
    :root {
  --font-24: 20px;
  --font-16: 14px;
  --font-14: 12px;
  }
  
    main{
  box-sizing: border-box;
  padding-top:70px !important;
  }

}



@media print {
  * {
    box-sizing: border-box;
  }

  body {
    font-size: 12pt;
    color: #000;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  header,
  nav,
  footer,
  .menu-toggle,
  .no-print {
    display: none !important;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .container,
  .wrapper {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .flex,
  .grid {
    display: block !important;
  }
}
