@charset "utf-8";

body {
	margin: 0;
	padding: 0;
	border: none;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
img,
div, p, blockquote,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
form, fieldset, textarea,
address,
main, article, aside, dialog, figure, footer, header, hgroup, nav, section
{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	list-style-type: none;
}
main, article, aside, figure, footer, header, hgroup, nav, section {
	display: block;
}
table {
	border: none;
	border-collapse: initial;
	border-spacing: 0 0px;
}
th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
caption{
	text-align: left;
}

a, a:focus, a:hover, a:active {
	outline: none;
}
a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a[href^="tel:"] {
	cursor: default;
	text-decoration: none;
	pointer-events: none;
}

input, input:focus, input:hover, input:active,
textarea, textarea:focus, textarea:hover, textarea:active {
	outline: none;
}

img {
  display: block;
  width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
  image-rendering: auto;
}

::-moz-selection {
	background: #b2d7fe;
}

* {
	min-height: 0%;
	word-break: break-all;
}
*,*::before,*::after {
  box-sizing: border-box;
}

/* clearfix */
/* .clearfix {
} */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.fl {
	float: left;
}
.fr {
	float: right;
}
[hidden] {
  display: none;
}
button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none
}
/* 画像を扱いやすくする */
div:has(> img),p:has(> img),
div:has(> svg),p:has(> svg) {
  font-size: 0;
}
svg {
  display: block;
  overflow: visible;
  width: 100%;
  height: auto;
  font-size: 0;
}

/* iOSでのデフォルトアイコンを非表示にする */
details summary {
  list-style: none; /* リストスタイルの削除 */
}
/* Safari特有のデフォルトマーカーを非表示にする */
summary::-webkit-details-marker {
  display: none;
}
:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

/* respond */
html {
  overflow-y: auto;
  scroll-behavior: smooth;
}
body {
  font-optical-sizing: auto;
  font-feature-settings: "palt";
}
a:has(> img){
  display: block;
}
br.sp,span.sp,br.tb,span.tb {display: none;}
@media (min-width:769px) {
  .sp {display: none;}
  br.pc,span.pc {display: inline;}
}
@media (min-width:769px) and (max-width: 1000px) {
  br.tb,span.tb {display: inline;}
}
@media screen and (max-width: 768px) {
  .pc {display: none;}
  br.pc,span.pc,br.tb,span.tb {display: none;}
  br.sp,span.sp {display: inline;}
}
video {
  display: block;
  filter: drop-shadow(0px 0px #000);
  border: none;
  outline: none;
}
/* respond */
