@charset "utf-8";
/* CSS Document */
/* ===============================
	base
 =============================== */
html {scroll-behavior: smooth;}
body *{color: #000; font-feature-settings: "palt" 1;
 -webkit-text-size-adjust: 100%;}
a,a:hover {text-decoration: none;}
input[type="tel"],input[type="text"],input[type="button"],input[type="submit"],input[type="image"],input[type="password"],input[type="email"],textarea,select {outline: none;background: none; border: none; width: 100%;}
select::-ms-expand{display: none;}
*, *:before, *:after {-webkit-box-sizing: border-box; box-sizing: border-box;}
li { list-style: none;}
button { touch-action: manipulation; user-select: none;}
button:focus-visible { outline: 2px solid #000; outline-offset: 2px;}
@media screen and (min-width: 750px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}

/* ===============================
	utility
 =============================== */
html  {
  overflow: auto;
}
.wrap {margin: auto;}
.wrap_inner {padding: 0 40px;}
@media screen and (max-width: 750px) {
  .wrap_inner {padding: 0 19px;}
}

/* 表示・非表示切り替え */
.spNone {/* PCの際に表示 */ display: block;}
.pcNone {/* スマホの際に非表示 */ display: none;}
@media screen and (max-width: 750px) {
  .spNone {/* スマホの際に非表示 */ display: none;}
  .pcNone {/* PCの際に表示 */ display: block;}
}

/* スクリーンリーダー */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* ===============================
	style
 =============================== */
/* 揃え位置 */
.alignL {text-align: left;}
.alignC {text-align: center;}
.alignR {text-align: right;}
/* ポジション */
.posiR {position: relative;}
.posiA {position: absolute;}

.disFlex {display: flex; flex-wrap: wrap; justify-content: space-between;}

/* =============================
   Font Size Utilities
============================= */
.fs-xs { font-size: 0.75rem; }
.fs-sm { font-size: 0.875rem; }
.fs-md { font-size: 1rem; }
.fs-lg { font-size: 1.25rem; }
.fs-xl { font-size: 1.5rem; }
.fs-2xl { font-size: 2rem; }

/* =============================
   Font Weight Utilities
============================= */
.fw-thin     { font-weight: 100; }
.fw-light    { font-weight: 300; }
.fw-normal   { font-weight: 400; }
.fw-medium   { font-weight: 500; }
.fw-semibold { font-weight: 600; }
.fw-bold     { font-weight: 700; }
.fw-extrabold { font-weight: 800; }
.fw-black    { font-weight: 900; }

/* =============================
   Margin Utilities
============================= */
.m-1  { margin: 0.25rem; }
.m-2  { margin: 0.5rem; }
.m-3  { margin: 1rem; }
.m-4  { margin: 1.5rem; }
.m-5  { margin: 2rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 2rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 2rem; }

.ml-1 { margin-left: 0.25rem; }
.ml-2 { margin-left: 0.5rem; }
.ml-3 { margin-left: 1rem; }
.ml-4 { margin-left: 1.5rem; }
.ml-5 { margin-left: 2rem; }

.mr-1 { margin-right: 0.25rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-3 { margin-right: 1rem; }
.mr-4 { margin-right: 1.5rem; }
.mr-5 { margin-right: 2rem; }

/* =============================
   Padding Utilities
============================= */
.p-1  { padding: 0.25rem; }
.p-2  { padding: 0.5rem; }
.p-3  { padding: 1rem; }
.p-4  { padding: 1.5rem; }
.p-5  { padding: 2rem; }

.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pt-5 { padding-top: 2rem; }

.pb-1 { padding-bottom: 0.25rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-3 { padding-bottom: 1rem; }
.pb-4 { padding-bottom: 1.5rem; }
.pb-5 { padding-bottom: 2rem; }

.pl-1 { padding-left: 0.25rem; }
.pl-2 { padding-left: 0.5rem; }
.pl-3 { padding-left: 1rem; }
.pl-4 { padding-left: 1.5rem; }
.pl-5 { padding-left: 2rem; }

.pr-1 { padding-right: 0.25rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-3 { padding-right: 1rem; }
.pr-4 { padding-right: 1.5rem; }
.pr-5 { padding-right: 2rem; }

/* =============================
   Responsive Overrides (min-width: 768px)
============================= */
@media (min-width: 768px) {
  .fs-md  { font-size: 1.125rem; }
  .fs-lg  { font-size: 1.5rem; }
  .fs-xl  { font-size: 2rem; }
  .fs-2xl{ font-size: 2.5rem; }

  .m-3   { margin: 1.25rem; }
  .m-4   { margin: 2rem; }
  .m-5   { margin: 2.5rem; }

  .p-3   { padding: 1.25rem; }
  .p-4   { padding: 2rem; }
  .p-5   { padding: 2.5rem; }

  .mb-3  { margin-bottom: 1.25rem; }
  .mb-4  { margin-bottom: 2rem; }
  .mb-5  { margin-bottom: 2.5rem; }

  .pt-3  { padding-top: 1.25rem; }
  .pt-4  { padding-top: 2rem; }
  .pt-5  { padding-top: 2.5rem; }
}


/* ===============================
	clearfix
 =============================== */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* メディアクエリサンプル */
/* ===============================
	device setting
 =============================== */
@media screen and (min-width: 1281px) {
  /*画面幅が1281px以上（PC専用スタイル）*/
}
@media screen and (max-width: 1280px) {
  /*画面幅が1280px以下（タブレット・スマホ共通スタイル）*/
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  /*画面幅が768px～1280px（タブレット専用スタイル）*/
}
@media screen and (max-width: 750px) {
  /*画面幅が767px以下（スマートフォン専用スタイル）*/
}
@media screen and (max-width: 414px) {
  /*画面幅が414px以下（スマートフォン縦向き専用スタイル）*/
}

/* 印刷用スタイル */
/* ===============================
	print setting
 =============================== */
@media print {
	.printNl {
		page-break-before: always;
	}
}