
/* Orverride */
/* font */
html {font-size: 16px;}
body {overflow-x: hidden;}

/* contentの一番上のマージンを削除 */
.is-family-primary.content{margin-top: 0;}

/* webform form/attach */
.checkbox .file{display: inline;}

/* Add */
/* フルワイドのおまじない */
.fw {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

/* fix top */
.fix-t {
  position: fixed;
  left: 5px;
  top: 5px;
  margin: 0 0 0 0;
  z-index: 400;
}

/* fix bottom */
.fix-b {
  position: fixed;
  bottom: 5px;
  right: 5px;
  margin: 0 0 0 0;
  z-index: 400;
}

/* lp2 only */
/* lp2テキスト縦書き */
.tate {writing-mode: vertical-rl;}

/* lp2傾き rotatez */
.rotatez4 {transform: rotateZ(4deg);}
.rotatez5 {transform: rotateZ(5deg);}
.rotatez-5 {transform: rotateZ(-5deg);}
.rotatez-3 {transform: rotateZ(-3deg);}
.rotatez3 {transform: rotateZ(3deg);}

/* lp2タイトル隅のマーク */
.mark-rt {background-image: linear-gradient(-135deg, #f00 10px, transparent 0);}

/* blockメニュータイル用ホバーエフェクト  */
a.tile:hover,
a:hover img {
  opacity: 0.7;
  transition: opacity 0.4s;
}

/* navbarのホバーエフェクト */
.navbar-drulma-adjust * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
/* .navbar-drulma-adjust li {
  display: inline-block;
  list-style: outside none none;
  margin: 0 1em;
  padding: 0;
} */
/* .navbar-drulma-adjust a {
  padding: 0.5em 0.8em;
  margin: 0.2em 0;
  display: block;
  color: rgba(255, 255, 255, 0.5);
  position: relative;
  text-decoration: none;
} */
.navbar-drulma-adjust a:before,
.navbar-drulma-adjust a:after {
  height: 14px;
  width: 14px;
  position: absolute;
  content: '';
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  opacity: 0;
}
.navbar-drulma-adjust a:before {
  left: 0;
  top: 0;
  border-left: 3px solid #ffffff;
  border-top: 3px solid #ffffff;
  -webkit-transform: translate(100%, 50%);
  transform: translate(100%, 50%);
}
.navbar-drulma-adjust a:after {
  right: 0;
  bottom: 0;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  -webkit-transform: translate(-100%, -50%);
  transform: translate(-100%, -50%);
}
/* .navbar-drulma-adjust a:hover,
.navbar-drulma-adjust .current a {
  color: #ffffff;
} */
.navbar-drulma-adjust a:hover:before,
.navbar-drulma-adjust .current a:before,
.navbar-drulma-adjust a:hover:after,
.navbar-drulma-adjust .current a:after {
  -webkit-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
  opacity: 1;
}

/* background ホームの背景アニメーション*/
@keyframes animate {
  0%{transform: translateY(0) rotate(0deg); opacity: 1; border-radius: 0;}
  100%{transform: translateY(-1000px) rotate(720deg); opacity: 0; border-radius: 50%;}
}
.background {position: fixed; width: 100vw; height: 100vh; top: 0; left: 0; margin: 0; padding: 0; overflow: hidden;}
.background li {position: absolute; display: block; list-style: none; width: 20px; height: 20px; background: rgba(255, 255, 255, 0.2); animation: animate 19s linear infinite;}
.background li:nth-child(0) {left: 45%; width: 174px; height: 174px; bottom: -174px; animation-delay: 1s;}
.background li:nth-child(1) {left: 37%; width: 157px; height: 157px; bottom: -157px; animation-delay: 5s;}
.background li:nth-child(2) {left: 83%; width: 139px; height: 139px; bottom: -139px; animation-delay: 8s;}
.background li:nth-child(3) {left: 89%; width: 167px; height: 167px; bottom: -167px; animation-delay: 11s;}
.background li:nth-child(4) {left: 18%; width: 105px; height: 105px; bottom: -105px; animation-delay: 11s;}
.background li:nth-child(5) {left: 33%; width: 195px; height: 195px; bottom: -195px; animation-delay: 8s;}
.background li:nth-child(6) {left: 25%; width: 158px; height: 158px; bottom: -158px; animation-delay: 11s;}
.background li:nth-child(7) {left: 46%; width: 181px; height: 181px; bottom: -181px; animation-delay: 30s;}
.background li:nth-child(8) {left: 88%; width: 177px; height: 177px; bottom: -177px; animation-delay: 20s;}
.background li:nth-child(9) {left: 27%; width: 132px; height: 132px; bottom: -132px; animation-delay: 32s;}
