@charset "utf-8";

/******* BASE *******/
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {margin: 0;padding: 0;}
table {border-collapse: collapse;border-spacing: 0;}
img {border: 0;vertical-align: top; max-width: 100%;}
img.lp {border: 1px solid #a9a9a9;}
li {list-style: none;}
div {display: block;}
p {z-index: 5;}
a {text-decoration: none;}
a:hover {text-decoration: none;}
a:link {text-decoration: none;}
a:visited {text-decoration: none;}
a:hover {text-decoration: none;}
a:active {text-decoration: none;}
a:link { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }
h1 {text-decoration: none;}
h2 {text-decoration: none;}
h3 {text-decoration: none;}
h4 {text-decoration: none;}


/*文字要素*/
span.bold {font-weight: 900;}
span.red {color: #e5003a;}
span.yellow {color: #fcee21;}
span.green {color: #0b8098;}
span.green_back {background-color: #D8E090; padding: 2px 8px;}
span.red_back {background-color: #F9CAC5; padding: 2px 8px;}
span.orange {color: #ff9000;}
span.blue {color: #0c0c87;}
span.pink {color: #fe00fb;}
span.gray {color: #b8b8b8;}
span.brd {border-bottom: 4px solid #ffff3c;}
span.gold {color: #bf9034;}
span.fss {font-size: 16px;}
span.fsm {font-size: 24px; font-weight: bold;}
span.fsk {font-size: 36px; font-weight: bold; line-height: 52px;}
span.fsb {font-size: 50px;font-family;}
span.fsbb {font-size: 100px;font-family;}
span.bkl {background: url(../img/underline_b.png) bottom left repeat-x;}
span.mincho {font-family: 'Noto Serif JP', serif;}


/* Gradation */
em.yellow {
  color: #f9eb21;
	font-style: normal;
  font-weight: bold;
}

em.blue {
  color: #1b1464;
	font-style: normal;
  font-weight: bold;
}

em.red {
  background-image: linear-gradient(to right, #f77062 50%, transparent 50%);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 200% 10px;
  margin-bottom: 10px;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	font-style: normal;
  color: #000;
}

/* 320 - 767 */
@media only screen and (min-width:320px) and (max-width:767px){
span.fsm {font-size: 18px;}
span.fsk {font-size: 28px; font-weight: bold;}
em.red {background-size: 200% 5px;}
span.fss {font-size: 14px;}
}

/*ボタン装飾 設定*/


/****** ボディー ******/
body {
    font-family: 'Roboto', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
    background-color: #fff;
		color: #000;
		margin: 0px;
		font-size: 16px;
		text-align: center;
    line-height: 170%;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
/* .pc_sw { display: block; } */
.sp_sw { display: none !important; }
.pc_mw { display: block !important; }
.sp_mw { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (min-width:320px) and (max-width:767px) {
.pc_sw { display: none !important; }
.sp_sw { display: block !important; }
}@media only screen and (min-width:320px) and (max-width:1024px) {
.pc_mw { display: none !important; }
.sp_mw { display: block !important; }
}

/* ビデオ設定 */
.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/* 点滅 */
.blinking{
	-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0.2;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0.2;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0.2;}
    100% {opacity:1;}
}

/* ついてくるボタン */
.fixed-btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  padding: 6px 40px;
	z-index: 100;
}

.fixed-btn  {
  animation: fluffy1 5s ease infinite;
}

@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

.fixed-btn-sp {
  position: fixed;
	display: none;
}

/* 320 - 767 */
@media only screen and (min-width:320px) and (max-width:767px){
.fixed-btn {
  position: fixed;
  top: 6px;
  right: 0px;
  padding: 0px 12px;
	z-index: 100;
  width: 100%;
  display: none !important;
}

.fixed-btn-sp {
  display: block;
  position: fixed;
  width: 100%;
  top: 0px;
  right: 0px;
  padding: 6px 12px;
	z-index: 1001;
}
}


#footer_main {
  padding: 32px 0;
  background: #000;
  color: #fff;
}
