@charset "utf-8";
:root {
  --vw: 1vw;
  --media_sp: 768;
  --media_pc: 1366;
}
@media screen and (max-width:768px) {
  html {
    scroll-padding-top: 11.719vw;
  }
}
@media screen and (min-width:769px) {
  html {
    scroll-padding-top: 90px;
  }
}


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;*/
}
html a:focus-visible, body a:focus-visible, div:focus-visible, li:focus-visible, label:focus-visible, input:focus-visible, button:focus-visible, span:focus-visible, select:focus-visible, p:focus-visible, h1:focus-visible, h2:focus-visible, h3:focus-visible, h4:focus-visible, h5:focus-visible, h6:focus-visible {
  outline: 2px solid #0d6ed0;
  outline-offset: 1px;
}
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:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
[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 {
  scroll-behavior: smooth;
}
body {
  font-optical-sizing: auto;
  font-feature-settings: "palt";
}
a,button {
  cursor: pointer;
  opacity: 1;
  transition: opacity .3s cubic-bezier(0.16, 0.59, 0.04, 0.99);
}
a:hover,button:hover {
  opacity: 0.7;
  transition: opacity .3s cubic-bezier(0.16, 0.59, 0.04, 0.99);
}
a:has(> img){
  display: block;
  font-size: 0;
}
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: 1024px) {
  br.tab,span.tab {display: inline;}
}
@media screen and (max-width: 768px) {
  .pc {display: none;}
  br.pc,span.pc,br.tab,span.tab {display: none;}
  br.sp,span.sp {display: inline;}
}
video {
  display: block;
  filter: drop-shadow(0px 0px #000);
  border: none;
  /*outline: none;*/
}
/* respond */

