@charset "utf-8";
/*
ページごとの設定や、位置調整、テキスト装飾などで使用する汎用的なものとを記述します。
Anything used for general purpose such as setting for every page, position adjustment, and text decoration will be written.

接頭辞はUtilityの頭文字を取って【u_】とします。
Prefix will take the "Utility" first letter and use it as "u_".

clearfixのみ、例外的に接頭辞をつけてません。
This not apply to "clearfix".

フォントサイズはremで指定します。
"rem" will be used for font-size.

↓↓↓↓↓↓コメントアウト表記サンプル Comment out sample ↓↓↓↓↓↓
/*----------------------------------------------
	大くくりコメントアウト large part
---------------------------------------------*/

/*  中くくりコメントアウト middle part
------------------------------------- */

/* 小くくりコメントアウト small part */
/*
↑↑↑↑↑↑コメントアウト表記サンプル Comment out sample ↑↑↑↑↑↑
*/

.u_mat0 { margin-top:0; }
.u_mat5 { margin-top:5px; }
.u_mat10 { margin-top:10px; }
.u_mat20 { margin-top:20px; }
.u_mat30 { margin-top:30px; }
.u_mat40 { margin-top:40px; }
.u_mat50 { margin-top:50px; }

.u_mab0 { margin-bottom: 0!important; }
.u_mab5 { margin-bottom: 5px!important; }
.u_mab10 { margin-bottom: 10px!important; }
.u_mab20 { margin-bottom: 20px!important; }
.u_mab25 { margin-bottom: 25px!important; }
.u_mab30 { margin-bottom: 30px!important; }
.u_mab40 { margin-bottom: 40px!important; }
.u_mab50 { margin-bottom: 50px!important; }
.u_mab60 { margin-bottom: 60px!important; }
.u_mab100 { margin-bottom: 100px!important; }
.u_mab150 { margin-bottom: 150px!important; }
.u_mab200 { margin-bottom: 200px!important; }
.u_mab300 { margin-bottom: 300px!important; }
.u_mab400 { margin-bottom: 400px!important; }
.u_mab500 { margin-bottom: 500px!important; }
.u_mab600 { margin-bottom: 600px!important; }
.u_mab700 { margin-bottom: 700px!important; }

.u_al_center { text-align: center; }
.u_al_right { text-align: right; }
.u_al_left { text-align: left; }
.u_vl_top { vertical-align: top; }
.u_vl_middle { vertical-align: middle; }
.u_vl_bottom { vertical-align: bottom; }

.u_f_left { float: left; }
.u_f_right { float: right; }

.u_red { color: #F00; }
.u_black { color: #000; }
.u_white { color: #FFF; }
.u_green { color: #94A806;}

.u_bold { font-weight: bold; }
.u_indent { text-indent: 1em; }
.u_kome, .u_kome li { text-indent: -1em; margin-left: 1em; }
.u_underline { text-decoration: underline; }
.u_fw_normal { font-weight: normal; }

.u_img_floatL { float: left; margin-right: 20px; margin-bottom: 10px; }
.u_img_floatR { float: right; margin-left: 20px; margin-bottom: 10px; }

.u_fs11 { font-size: 11px !important; }
.u_fs12 { font-size: 12px !important; }
.u_fs15 { font-size: 15px !important; }
.u_fs16 { font-size: 16px !important; }
.u_fs17 { font-size: 17px !important; }
.u_fs18 { font-size: 18px !important; }
.u_fs19 { font-size: 19px !important; }
.u_fs20 { font-size: 20px !important; }
.u_fs21 { font-size: 21px !important; }
.u_fs22 { font-size: 22px !important; }
.u_fs24 { font-size: 24px !important; }
.u_fs28 { font-size: 28px !important; }

.u_f_min {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
}

.u_wrap90 {
  width: 90%;
  margin: 0 auto;
}
.u_wrap80 {
  width: 80%;
  margin: 0 auto;
}

.u_inline { display: inline-block; }

.u_disable { pointer-events: none; }

.u_ind {
	text-indent: -1em;
	margin-left: 1em;
}

.u_img100,.u_img90,.u_img70,.u_img50,.u_img40 {
  width: 100%;
}
.u_img100 img {
  width: 100%;
  text-align: center;
}
.u_img90 img {
  width: 90%;
  text-align: center;
}
.u_img70 img {
  width: 70%;
  text-align: center;
}
.u_img50 img {
  width: 50%;
  text-align: center;
}
.u_img40 img {
  width: 40%;
  text-align: center;
}

.u_pc_view {
  display: initial !important;
}
.u_sp_view {
  display: none !important;
}
@media screen and (max-width: 640px) {
  .u_pc_view {
    display: none !important;
  }
  .u_sp_view {
    display: initial !important;
  }
  .u_mat20 { margin-top:10px; }
  .u_mat30 { margin-top:15px; }
  .u_mat40 { margin-top:20px; }
  .u_mat50 { margin-top:25px; }
  .u_mab20 { margin-bottom: 10px; }
  .u_mab25 { margin-bottom: 10px; }
  .u_mab30 { margin-bottom: 15px; }
  .u_mab40 { margin-bottom: 20px; }
  .u_mab50 { margin-bottom: 25px; }
  .u_mab60 { margin-bottom: 30px; }
  .u_mab100 { margin-bottom: 50px; }
}

/*----------------------------------------------
	フェードイン系
---------------------------------------------*/
.anim-box.zoomin.is-animated {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.7);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fade_in_box {
  opacity: 0;
}
.fade_in_box.inview {
  animation-name: fade-in;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .4s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in {
  0% {
    transform: translateY(40px);
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}

/*----------------------------------------------
	.loader
---------------------------------------------*/
.loader {
  position: fixed;
  width: 390px;
  height: 100vh;
  z-index: 555;
  background: #FFFFFF;
  top: 0;
  /*left: 50%;
  transform: translateX(-50%);*/
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 9999;
}
.loader video {
  width: 100%;
	height: 100%;
	object-fit: cover;
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
  outline: none;
  border: none;
}

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after,
.l_column_wrap:after {
    content:" ";
    display:block;
    clear:both;
}