@charset "UTF-8";
/*###################################*/
/*cat: all element*/
* {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  line-height: 1em;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
*::before,
*::after {
  font-family: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

/*###################################*/
/*cat: element*/
body {
  text-decoration: none;
  line-height: 1em;
}
input,
textarea,
button {
  font-family: inherit;
  outline: 0;
}
a {
  cursor: pointer;
  text-decoration: none;
  font-weight: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:hover {
  outline: none;
}
a:focus {
  outline: none;
}
pre,
code,
kbd,
samp,
tt {
  font-family: inherit;
  font-size: 1em;
}
ul,
ol {
  list-style-position: inside;
  list-style-type: none;
}
li {
}
img {
  border: none;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}
article * {
  /*word-break: break-all;*/
  word-wrap: break-word;
  overflow-wrap: break-word;
}
form {
  font: inherit;
}
table {
  border-collapse: separate;
}
select,
button {
  vertical-align: middle;
}
label {
  cursor: pointer;
  vertical-align: middle;
}
label input[type="checkbox"],
label input[type="radio"] {
  margin-right: 0.2em;
}
input[type="text"] {
  vertical-align: middle;
}
input[type="checkbox"],
input[type="radio"],
input[type="file"] input[type="button"],
input[type="submit"],
button {
  cursor: pointer;
}
textarea {
  risize: vertical;
}
fieldset {
  border: none;
}
legend {
  display: block;
}
button {
  outline: 0;
  font-size: inherit;
  cursor: pointer;
}
ins,
del {
  text-decoration: none;
}
details {
}
details > summary {
  cursor: pointer;
  outline: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
mark {
  color: inherit;
  background-color: transparent;
}
sup {
  margin: 0 0.2em;
}
nav li {
  list-style: none;
}

/*##############################*/
/*cat: meta*/
.hidden {
  display: none;
}
.meta-node {
  display: none;
  visibility: hidden;
}

/*##############################*/
/*cat: behavire*/
.disable-select,
.user-select-none {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.disable-event {
  cursor: default;
}
.touch-scroll {
  -webkit-overflow-scrolling: touch;
}

/*##############################*/
/*cat: bind wrap*/
.bind,
.wrap {
  margin-left: auto;
  margin-right: auto;
}

/*cat: layout*/
.flexbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/*clearfix*/
.cfb {
  clear: both;
}
.cfix:before,
.cfix:after {
  content: " ";
  display: table;
}
.cfix:after {
  clear: both;
}
.cfix {
  zoom: 1;
}

/*divide*/
.div-L {
  width: 50%;
  float: left;
}
.div-R {
  width: 50%;
  float: right;
}

/*##############################*/
/*cat: image*/
img.fullwide,
canvas.fullwide {
  width: 100%;
  height: auto;
  max-width: 100%;
}

.object-fit-image {
  position: relative;
  z-index: 0;
}
.object-fit {
  object-fit: cover;
  object-position: center;
}
.object-fit-image > img,
.object-fit-image .object-fit {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.object-fit-image::before {
  content: "";
  z-index: 1;
  display: block;
  padding-top: 100%;
}

/*##############################*/
/*cat: responsive*/
@media only screen and (max-width: 767px) {
  .only-wide {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .only-smp {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .only-smp {
    display: none;
  }
}

/*##############################*/
/*cat: animation*/
.efx.fadein {
  animation-name: fadeIn;
  animation-duration: 0.6s;
  animation-timing-function: ease-out;
}
.efx.fadeout {
  animation-name: fadeOut;
  animation-duration: 0.6s;
  animation-timing-function: ease-out;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
