@charset "utf-8";

/* * * Reset * * */
body, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, blockquote, pre, table, th, td, form, figure, fieldset, input, textarea{
	margin:0;
	padding:0;
}
img {
	vertical-align: baseline;
}
a img {
	border: none;
}
a{
    color: #e4007f;
}

a:hover{
    color:orange;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

/* * * Setting * * */
body {
	background: #fff000;   
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体", "Noto Sans Japanese", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, verdana, sans-serif;

	font-size: 160%;
	color: #000;
	text-align:center;
}

.SP{
	display:none;
}


/* * * general * * */
.inner{
    display: block;
	width: 960px;
	margin:0 auto;
}

#container{
	min-width:1440px;
}


/*** header***/
/*
h1 {
	position: relative;
	text-align: center;
}
h1 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	background-color: #fff000;
	margin: 0 2.5em;
	padding: 0 0.6em;
	font-size:75%;
	font-weight: bold;
	text-align: left;
}
h1::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 25px;
	background-color: #e68915;
}
*/
h1{
    margin: 1em 0;
}
h1 span{
    display: inline-block;
    background-color: red;
    color: #FFF;
    border-radius: 0.5em;
    font-size: 90%;
    padding: 1em;
    margin: 0 1em;
}


#header .inner{
	line-height:1.8em;
    text-align: center;
}
#header figure img{
	margin: 1em 0;
    width: 80%;
}
#header .sale{
	background: #006d29;
	margin: 0 auto;
	padding: 1em 0 0;
	text-align: center;
}
/*snow*/
/*動かす前段階のアニメーション*/
section .inner div {
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: Drop;
  animation-timing-function: linear;
  opacity: 0;
  transform-origin: 0px 0px;
  height: 100%:
}

/*背景の設定*/
section#snow {
  background: #142744;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#snow .inner {
  height: 100%;
  width: 100%;
}
/*雪の設定*/
#snow .inner div {
  background: #fff;
  border-radius: 4px;
  display: block;
  height: 8px;
  position: absolute;
  width: 8px;
}

/*いくつかランダムに大きさを変える*/
#snow .inner div.snowflake1,
#snow .inner div.snowflake2,
#snow .inner div.snowflake5,
#snow .inner div.snowflake8{
  background-size: 5px 6px;
}

/*雪をどの辺りに表示するか*/
.snowflake1 {
  animation-duration: 2.4s;
  left: 15%;
}

.snowflake2 {
  animation-delay: 0.3s;
  animation-duration: 2.7s;
  left: 19%;
}

.snowflake3 {
  animation-delay: 0.5s;
  animation-duration: 2.9s;
  left: 28%;
}

.snowflake4 {
  animation-delay: 0s;
  animation-duration: 2.6s;
  left: 38%;
}

.snowflake5 {
  animation-delay: 1s;
  animation-duration: 2.6s;
  left: 50%;
}

.snowflake6 {
  animation-delay: 1.2s;
  animation-duration: 2.2s;
  left: 60%;
}

.snowflake7 {
  animation-delay: 1.2s;
  animation-duration: 2.7s;
  left: 70%;
}

.snowflake8 {
  animation-delay: 1.4s;
  animation-duration: 2.9s;
  left: 85%;
}

/*アニメーションの設定*/
@keyframes Drop {
  0% {
    opacity: 0;
    transform: translateY(0px);
  }

  50% {
    opacity: 1;
    transform: translateY(50px);
  }

  100% {
    opacity: 0.3;
    transform: translateY(120px);
  }
}


#header .sale .box{
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 0;
	width: 1200px;
}
#header .sale .box figure #ph12_1{
	margin-right: -4em;
	width: 100%;
}
#header .sale .box figure #ph12_2{
	margin-left: -4em;
	width: 120%;
}
#header .sale .box .top_txt{
	margin-bottom: 0.2em;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 160%;
	font-weight: bold;
	color: #fe2201;
	text-align: center;
	text-stroke: 2px #FFF;
	-webkit-text-stroke: 2px #FFF;
}
#header .sale .box .btm_txt{
	margin-left: 1em;
	text-indent: -1em;
	color: white;
}
#header .sale .btm_txt_sm{
	display: none;
}
#header h2{
	margin: 1em 0 0;
	
}
#header p{
	margin-bottom: 1em;
	padding: 0 2em;
	text-align: left;
}
#header p.fs{
	margin: 1em 2.6em;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 80%;
	line-height: 1.6;
}
#header .hw{
	text-align: center;
}
#header .hw img{
	margin: 0 auto -2.6em;
	width: 40%;
}


/** block01 **/
#block01{
	background: #e68915;
	
}
#block01 .inner{
	display: flex;
	justify-content: space-between;
	padding: 1em 0;
}
#block01 p.txt{
	margin: 1em 0 1em 1em;
    color: #fff;
	text-align: left;
} 



/** block02**/


#block02{
    background: #fff000;
    margin: 0;
	padding: 1em;
} 
#block02 .inner{
	display: flex;
	justify-content: space-around;
	padding: 0 2em;
}
#block02 .inner dl{
	margin: 0 1em;
	width: 45%;
}
#block02 .inner dd{
	margin-top: 0.4em;
}
/** block03**/
#block03{
	background: #e68915;
	
}
#block03 .inner{
	display: flex;
	justify-content: space-between;
	padding: 1em 0;
}
#block03 p.txt{
	margin: 0.4em 0 0 1em;
    color: #fff;
	text-align: left;
	line-height: 1.4;
} 
/** block04**/
#block04 p.txt{
	text-align: left;
}
#block04 img{
	margin: 1em 0 0;
}
#block04 .cap{
	margin: 0.2em 0 0;
	padding-bottom: 1em;
	font-size: 75%;
}

#block04 .cap img{
	border: solid 1px #888;
	
}#block04 .cap_w img{
	border: solid 3px #fff;
}

#block04 .cap span{
	color: orangered;
}
/** block05**/
#block05{
    background: #fffccc;
	padding: 1em 0 2em;
	text-align: left;
}
/*
#block05 .inner{
	padding: 0 2em;
}*/
#block05 .cpn{
    display: flex;
	justify-content: space-around;
	margin: 0 3em 3em;
}
#block05 .cpn .box{
	margin: 1em 0;
	padding: 0.4em;
	background: #fff;
	border-radius: 10px;
	color: #2c4bb1;
	font-weight: bold;
	font-size: 175%;
	text-align: center;
}
#block05 .cpn .box span{
	margin-top: -1.4em;
	color: black;
	font-size: 50%;
	display: block;
	text-align: left;
}

#block05 .subttl {
	margin: 2em 0;
	position: relative;
	text-align: center;
}
#block05 .subttl span {
	position: relative;
	z-index: 2;
	display: inline-block;
	background-color: #fffccc;
	margin: 0 2.5em;
	padding: 0 0.4em;
	color: #1d7232;
	font-size: 130%;
	font-weight: bold;
	text-align: left;
}
#block05 .subttl::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	background-color: #1d7232;
}
#block05 .fa-bars{
	margin-bottom: -1em;
}

/** block06**/
#block06{
	background: #e68915;
}
#block06 .inner{
	display: flex;
	justify-content: space-between;
	padding: 1em 0;
}
#block06 p.txt{
	margin: 1em 0 0.4em 1em;
    color: #fff;
	text-align: left;
} 
#block06 p.txt2{
	margin: 1em 0 0 1em;
	padding-left: 1em;
  	text-indent: -1em;
    color: #fff;
	text-align: left;
} 


/** block07 **/
#block07{
	color: #8c8c8c;
	margin: 1em 0 0;
	padding: 0.2em 0;
	color: #000;
	font-weight: bold;
	width: 100%;
}
#block07 ul{
	margin: 1em 0;
}
#block07 li{
	margin-bottom: 0.2em;
}
#block07 .alt{
	margin: 2em 0 -1.4em;
}
#block07 .month_free{
	margin: 0 auto;
	padding: 0.2em 0;
	background: #fff;
	border: #000 solid 5px;
	border-radius: 40px;
	width: 40%;
	color: #000;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 150%;
	font-weight: bold;
}
/** block08&10**/
#block08{
	background-color: #fff;
	padding: 2em 0;
	color: #000;
	text-align: left;
}
#block08 ul,#block10 ul{
	margin-bottom: 1em;
	font-size: 90%;
}
#block08 p.txt,#block10 p.txt{
	text-align: left;
}
#block08 li,#block10 li{
	margin-bottom: 0.8em;
	padding-left: 1em;
	text-indent: -1em;
	
}
.att {
	margin-bottom: 0.4em;
	padding-left: 1em;
	text-indent: -1em;
}


/** page_top **/
#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 0;
  bottom: 0;
  /*border-radius: 50%;*/
}
#page_top a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
  background: gray;
  opacity: 0.6;
}
#page_top a:hover{
  background: #d91e19;/*3fefee*/
  opacity:inherit;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  content: "\f106";
  font-weight: 900;
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}



/*** footer***/
#footer{
	padding: 1em;
	
}


#footer #copy{
    margin: 0.2em 0;
    padding: 0.5em;
}



/*** class ***/


a.hover80:hover img{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	transition:all 1.0s;
}



/*------------------------------------------------------
	mediaQuery
*-------------------------------------------------------*/
/*
@media screen and (max-width: 1024px) {
	.container { max-width: 1024; }
}*/



@media screen and (max-width: 640px) {
.SP{
	display:block;
}


	body{
		font-size:100%;

	}
    
    #container{
        overflow: hidden;
        min-width: inherit;
        width:100%;
        
    }

	.inner{
		width: 98%;
		padding:0;
	}
	#header .sale .box{
	width: 100%;
}
/*	
	h1{
		font-size:200%;
	}
	h1 span {
  margin: 0.2em 2.5em -1.4em;
  padding: 0.4em 0.6em;
}
*/
    h1 span {
        font-size: 70%;
    }
    #header h2 img{
		margin: 0 0.2em;
 		width:96%;
		height:auto;       
    }

    
	#header h1 img{
		width: 45%;
	}
	#header .sale .box{
	justify-content:space-between;
	}
	#header .sale .box figure{
		width: 20%;
	}
	#header .sale .box .btm_txt{
		display: none;
		
	}
	#header .sale .btm_txt_sm{
	display: block;
		padding-bottom: 1em;
	color: white;
}
	#block01{
		width: 100%;
	}
	#block01 img{
		width: 100%;
	}
    

	
	#block02 .inner{
		margin: 0;
		padding: 0;
}
   #block02 .inner dl{
	   margin: 0 auto;
		width: 80%;
}
	#block02 .inner dl img{
		width: 70%;
		height: auto;
	}
	#block03 img,#block05 img,#block06 img,#block07 img{
		width: 80%;
	}

    #block04 img{
        width: 96%;
    }
 
	#block05 .inner{
	padding: 0 1em;
}
	#block05 .cpn{
	margin: 0 1em;
}
#block05 .cpn .box{

	font-size: 150%;
}
	#block05 .subttl{
		font-size: 90%;
	}
	
    #block06{
        padding: 0 0 2em 0;
    }
   #block07 .month_free{
	border: solid #000 3px;
	width: 90%;
	}

    /*** SP footer***/
    
	.page_top {
		width:18%;
 		right: 1%;
	}

    .SP_lrsp{
        width:90%;  /*SP_lrsp*/      
    
    }
    
    

}

@media screen and (max-width: 750px) and (orientation: landscape) {
	.page_top {
		width:8%;
	}
}




