@charset "UTF-8";
/* ----------------------------------------------------------------------

// reset.css
// 要素のデフォルトスタイル、フォントサイズのリセット

------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
  Global selectors
------------------------------------------------------------------------- */

html {
  overflow-y: scroll;
  line-height: 1;
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* ----------------------------------------------------------------------
  General selectors
------------------------------------------------------------------------- */

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

a {
  background: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}
a:active, a:hover {
  outline-width: 0;
}

img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

li {
  list-style: none;
}

summary {
  display: list-item;
}

hr {
  height: 0;
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

[hidden],
template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */ }

/* Address styling not present in Safari and Chrome */
dfn {
  font-style: italic;
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

sub,
sup {
  font-size: .75rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}


/* ----------------------------------------------------------------------
  Forms
------------------------------------------------------------------------- */

input, button, textarea, select {
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

textarea {
  overflow: auto;
  resize: vertical;
}

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}


/* ----------------------------------------------------------------------
    Specify media element style
------------------------------------------------------------------------- */

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}


/* ----------------------------------------------------------------------

// util.css
// 案件に依存せず汎用的に使うClassを定義

------------------------------------------------------------------------- */
/* br
------------------------------------------------- */
.sp_only {
	display: none;
}
.tablet_only {
	display: none;
}
.xs_only {
	display: none;
}
@media screen and (max-width: 960px) {
  .pc_only {
    display: none;
  }
  .tablet_only {
    display: inline-block;
  }
  .tablet_none {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .sp_only {
    display: inline-block;
  }
  .sp_none {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .xs_only {
    display: inline-block;
  }
  .xs_none {
    display: none;
  }
}


/* font
------------------------------------------------- */
.font_gothic {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.font_mincho {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
.font_noto {
  font-family: "Noto Sans JP", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;;
}
.font_awesome {
  font-family: "Font Awesome 6 Free";
}




/* ----------------------------------------------------------------------

// module.css
// 見出し、ボタン、表など繰り返し使うパーツ（モジュール）のスタイルを定義

------------------------------------------------------------------------- */


/* img
------------------------------------------------- */
img {
	width: 100%;
	height: auto;
	line-height: 1;
	vertical-align: bottom;
	transition: all 0.5s ease;
}

/* IE,Edge用のハック
------------------------------------------------- */
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .css_hack {
  margin: 0;
}
/* Edge */
_:-ms-lang(x)::backdrop, .css_hack {
  margin: 0;
}
/* Safari */
_::-webkit-full-page-media, _:future, :root .css_hack {
  margin: 0;
}


/* align
------------------------------------------------- */
.align_l {
	text-align: left !important;
}
.align_r {
	text-align: right !important;
}
.align_c {
	text-align: center !important;
}
