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

html { font-family:"Noto Sans JP", 'ヒラギノ角ゴ Pro W3', メイリオ, 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%;}
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;}

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

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

/* font setting (368/1280) */
:root {
 
 /* space */
 --space-fix-4:  4px;
 --space-fix-8:  8px;
 --space-fix-12: 12px;
 --space-fix-16: 16px;
 --space-16:  clamp(12px, 10.386px + 0.439vw, 16px);
 --space-24:  clamp(16px, 12.772px + 0.877vw, 24px);
 --space-32:  clamp(16px, 9.544px + 1.754vw, 32px);
 --space-40:  clamp(24px, 17.544px + 1.754vw, 40px);
 --space-48:  clamp(32px, 25.544px + 1.754vw, 48px);
 --space-56:  clamp(32px, 22.316px + 2.632vw, 56px);
 --space-64:  clamp(40px, 30.316px + 2.632vw, 64px);
 --space-72:  clamp(48px, 38.316px + 2.632vw, 72px);
 --space-80:  clamp(48px, 35.088px + 3.509vw, 80px);
 --space-88:  clamp(54px, 40.281px + 3.728vw, 88px);
 --space-120: clamp(80px, 63.860px + 4.386vw, 120px);

/* font-size */
  --fs-fix-12: 1.2rem;
  --fs-fix-14: 1.4rem;
  --fs-fix-16: 1.6rem;
  --fs-15: clamp(14px, 13.596px + 0.11vw, 15px);
  --fs-16: clamp(1.4rem, 1.3193rem + 0.219vw, 1.6rem);
  --fs-18: clamp(1.6rem, 1.5193rem + 0.219vw, 1.8rem);
  --fs-20: clamp(1.6rem, 1.4386rem + 0.439vw, 2rem);  
  --fs-24: clamp(1.8rem, 1.5579rem + 0.658vw, 2.4rem);
  --fs-28: clamp(2rem, 1.6772rem + 0.877vw, 2.8rem);
  --fs-32: clamp(2.2rem, 1.7965rem + 1.096vw, 3.2rem);
  --fs-36: clamp(2.2rem, 1.6351rem + 1.535vw, 3.6rem);
  --fs-38: clamp(2.4rem, 1.8351rem + 1.535vw, 3.8rem);
}



/* ----------------------------------------------------
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%;  /* 10px */
}

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;}
p {margin-bottom: var(--space-32);}

#mainContent :is(h2,h3,h4) {line-height: 1.5;}

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

.clearfix {
  zoom: 100%;
}

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

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

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

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

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

@media (max-width: 767px) {
.txt-alignC  { text-align: left !important;}
}

/* margin-bottom */
.mb00 { margin-bottom: 0px !important;}
.mb16 {margin-bottom: var(--space-16) !important;}
.mb24 {margin-bottom: var(--space-24) !important;}
.mb32 { margin-bottom: var(--space-32) !important;}
.mb40 { margin-bottom: var(--space-40) !important;}
.mb48 { margin-bottom: var(--space-48) !important;}
.mb80 {margin-bottom: var(--space-80) !important;}


/* margin-top */
.mt00 { margin-top: 0px !important;}
.mt40 { margin-top: var(--space-40) !important;}
.mt56 { margin-top: var(--space-56) !important;}
.mt80 {margin-top: var(--space-80) !important;}

/* padding-right */
.pr00 {padding-right: 0 !important;}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width: 769px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover,a img:hover,.clickable:hover  {
  opacity: .8 !important;
  text-decoration: none;
  transition: opacity 0.5s ease-in-out;
}
/* tel link disabled on pc */
a[href^="tel"] {
  pointer-events: none;
  cursor: default;
  color: inherit;
  text-decoration: none;
}
/* sp elements hidden */
.sp { display: none; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 769px) {
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
.pc-hidden { display: none; }

}