/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

html { font-family:"Noto Sans JP",'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, 'MS PGothic', arial, helvetica, sans-serif;  -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; word-break:break-all;}
body { margin: 0;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary { display: block;}
audio,canvas,progress,video { display: inline-block; vertical-align: baseline;}
audio:not([controls]) { display: none; height: 0;}
[hidden], template { display: none;}
a { background-color: transparent;}
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: 1px dotted;}
b,strong { font-weight: bold;}
dfn { font-style: italic;}
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal;}
mark { background: #ff0; color: #000;}
small { font-size: 80%;}
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em;}
sub { bottom: -0.25em;}
img{border:0;vertical-align:middle}
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0;}
button { overflow: visible;}
button, select { text-transform: none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto;}
input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0;}
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0;}
p,li,dl,dt,dd,th,td,pre,ul,ol{ margin:0; -ms-line-break:strict; line-break:strict; -ms-word-break:break-strict; word-break:break-strict}
ul,ol { list-style: none; padding: 0;}
em {font-style: normal;}
figure {margin: 0;}

/* ----------------------------------------------------
base setting
---------------------------------------------------- */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* font setting (375/1335) */
:root {
  --w-10:  clamp(5px, 3.047px + 0.521vw, 10px);
  --w-12:  clamp(7px, 4.974px + 0.526vw, 12px);
  --w-15:  clamp(8px, 5.266px + 0.729vw, 15px);
  --w-20:  clamp(14px, 11.656px + 0.625vw, 20px);
  --w-25:  clamp(16px, 12.484px + 0.938vw, 25px);
  --w-30:  clamp(18px, 13.313px + 1.25vw, 30px);
  --w-40:  clamp(25px, 19.141px + 1.563vw, 40px);
  --w-50:  clamp(28px, 19.406px + 2.292vw, 50px);
  --w-60:  clamp(30px, 18.281px + 3.125vw, 60px);
  --w-70:  clamp(35px, 21.328px + 3.646vw, 70px);
  --w-80:  clamp(40px, 24.375px + 4.167vw, 80px);
  --w-90:  clamp(60px, 48.281px + 3.125vw,  90px);
  --w-100: clamp(60px, 44.375px + 4.167vw, 100px);
  --w-110: clamp(60px, 40.469px + 5.208vw, 110px);
  --w-120: clamp(60px, 36.563px + 6.25vw, 120px);
  --w-130: clamp(65px, 67.422px + 4.688vw, 130px);
  --w-150: clamp(65px, 31.797px + 8.854vw, 150px);
  --w-190: clamp(70px, 23.125px + 12.5vw, 190px);
  --w-240: clamp(80px, 17.500px + 16.667vw, 240px);
  --w-300: clamp(150px, 91.406px + 15.625vw, 300px);

  --fs-12: clamp(1rem, 0.9219rem + 0.208vw, 1.2rem);
  --fs-14: clamp(1.2rem, 1.1219rem + 0.208vw, 1.4rem);
  --fs-15: clamp(1.3rem, 1.2219rem + 0.208vw, 1.5rem);
  --fs-16: clamp(1.4rem, 1.3219rem + 0.208vw, 1.6rem);
  --fs-18: clamp(1.5rem, 1.3828rem + 0.313vw, 1.8rem);
  --fs-20: clamp(1.7rem, 1.5828rem + 0.313vw, 2rem);
  --fs-22: clamp(1.8rem, 1.6438rem + 0.417vw, 2.2rem);
  --fs-24: clamp(1.9rem, 1.7828rem + 0.313vw, 2.4rem);
  --fs-26: clamp(2rem, 1.7656rem + 0.625vw, 2.6rem);
  --fs-28: clamp(2rem, 1.6875rem + 0.833vw, 2.8rem);
  --fs-30: clamp(2.2rem, 1.8875rem + 0.833vw, 3rem);
  --fs-32: clamp(2.3rem, 1.9353rem + 0.947vw, 3.2rem);
  --fs-34: clamp(2.3rem, 1.8542rem + 1.158vw, 3.4rem);
  --fs-36: clamp(2.4rem, 1.9313rem + 1.25vw, 3.6rem);
  --fs-38: clamp(2.4rem, 1.8326rem + 1.474vw, 3.8rem);
  --fs-40: clamp(2.5rem, 1.8921rem + 1.579vw, 4rem);
  --fs-42: clamp(2.5rem, 1.8111rem + 1.789vw, 4.2rem);
  --fs-44: clamp(2.5rem, 1.7159rem + 2.011vw, 4.4rem);
  --fs-46: clamp(2.6rem, 1.7895rem + 2.105vw, 4.6rem);
  --fs-48: clamp(2.6rem, 1.7406rem + 2.292vw, 4.8rem);
  --fs-50: clamp(2.7rem, 1.8016rem + 2.396vw, 5rem);
  --fs-60: clamp(3rem, 1.8281rem + 3.125vw, 6rem);
  --fs-100: clamp(3rem, 0.2656rem + 7.292vw, 10rem);
  --fs-110: clamp(3.2rem, 0.1563rem + 8.117vw, 11rem);
  --fs-120: clamp(3.5rem, 0.1797rem + 8.854vw, 12rem);
}


/* ----------------------------------------------------
base setting
---------------------------------------------------- */

* {  -webkit-box-sizing: border-box;  box-sizing: border-box;}
*:before,*:after {  -webkit-box-sizing: border-box;  box-sizing: border-box;}

html {
  -webkit-tap-highlight-color: transparent;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}

body {
 font-size:var(--fs-18);
 letter-spacing: 0.1rem;
 text-rendering: optimizeLegibility;
 font-kerning: normal;
 font-variant-ligatures: common-ligatures contextual;
 font-feature-settings: "kern", "liga", "clig", "calt";
}

#wrapper {
  margin: 0 auto;
  position: relative;
}

/* ----------------------------------------------------
element base setting
---------------------------------------------------- */
h1, h2, h3, h4, h5, h6, table, ul, ol, p, dl { font-size: 100%; margin: 0;}

ul {list-style: none;}
dd { margin: 0;}
table, ul, ol, p, dl { margin-bottom: 1em;}

header :is(table, ul, ol, p, dl),
footer :is(table, ul, ol, p, dl) {
  margin-bottom: 0px;
}

/* link  */
.clickable { cursor: pointer;}

.clearfix {
  zoom: 100%;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

@media (min-width: 700px) {
 .sp {display: none !important;}
 .pc {display: block !important; }
 a[href^="tel:"] {cursor: default;}
 a:hover[href^="tel:"] {text-decoration: none; }
}

@media (max-width: 971px) and (min-width: 781px) {}

@media (max-width: 699px) {
  .pc { display: none; }
  .sp {display: block !important; }
  a:hover {text-decoration: none !important; }
}

/* ----------------------------------------------------
helperClass
---------------------------------------------------- */
/* align */
.alignC { text-align: center !important;}
.alignR { text-align: right !important;}
.alignL { text-align: left !important;}


/* margin-bottom */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb65 { margin-bottom: 65px !important;}

/* margin-top */
.mt00 { margin-top: 0px !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt55 { margin-top: 55px !important;}

/* padding-top */
.pt00 { padding-top: 0px !important;}
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top: 10px !important;}
.pt20 { padding-top: 20px !important;}
.pt30 { padding-top: 30px !important;}
.pt40 { padding-top: 40px !important;}
.pt50 { padding-top: 50px !important;}
.pt60 { padding-top: 60px !important;}

/* padding-bottom */
.pb00 { padding-bottom: 0px !important;}
.pb10 { padding-bottom: 10px !important;}
