@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;500&display=swap');
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Asap:wght@400;500&display=swap');


img {
  pointer-events: none; 
}


.footer_nav > li:nth-child(1) {
    margin: 0 0 0.5em 0;
}

.column-video {
    height: 0 !important;
    padding: 0 0 56.25% !important;
    position: relative !important;
}
.video {
    height: 100% !important;
    left: 0 !important;
    position: absolute !important;
    top: 0 !important;
    width: 100% !important;
}




/*========= テキストブラーCSS ===============*/

.blur{
	animation-name:blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
	filter: blur(30px);
	transform: scale(1.03);
	opacity: 0;
  }

  to {
	filter: blur(0);
	transform: scale(1);
	opacity: 1;
  }
}
 
.bt{
    opacity: 0;
}


/*========= ページネーションCSS ===============*/

.pagination {
	position:fixed;
	right:20px;
	top: 50%;
  	transform: translateY(-50%);
	font-size:1em;
	z-index: 9999 !important;
	list-style: none;
}

.pagination a {
	display:block;
	height:20px;
	margin-bottom:5px;
	color:#2277DF;
	position:relative;
	padding:4px;
}

.pagination a.active:after {
	box-shadow:inset 0 0 0 5px;
}

/*現在地表示のテキストの設定*/
.pagination a .hover-text {
	position:absolute;
	right:15px;
	top:0;
	opacity:0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-right: 15px;
}

.pagination a:hover .hover-text {
	opacity: 1;
}

.pagination a:after {
	-webkit-transition:box-shadow 0.5s ease;
	transition:box-shadow 0.5s ease;
	width:10px;
	height:10px;
	display: block;
	border:1px solid;
	border-radius:50%;
	content:"";
	position: absolute;
	margin:auto;
	top:0;
	right:3px;
	bottom:0;
}

	.pagination a .hover-text{
		display: none;
	}	



.fadein {
    opacity : 0;
    transform : translate(0, 0);
    transition : all 300ms;
}

.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    transition : all 300ms;
}


.fadein.scrollin.updown {
    opacity : 1;
    transform : translate(0, 200px);
    transition : all 1000ms;
}


#header_bar {
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 5000;
	  width: 100%;
	  background: #1cb72f;
      background: linear-gradient(to right, #03beff 0%, #1cb72f 75%);
	  height:0.5em;
}



body {
    color: #595959;
    font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 100;
    line-height: 1.7em;
}


.content-wrapper {
    position: relative;
    top: 340px;
    width: 100%;
}



.area-0-head {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 2em 0;
	background: #1cb72f;
	background: linear-gradient(135deg, #4685EA 25%, #69A8F4 50%, #D1D0C6 50%);
	text-align: center;
	position: relative;
}

.area-0-head img{
	width: 90%;
	position: relative;
	vertical-align: text-top;
	z-index: 7000;
}


/*エリア00*/

.area-00 {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	z-index: 99999;
	position: relative;
	overflow: visible;
	background-image:url(../img/main_bg_gradation.png);
	background-size:cover;
	background-repeat: no-repeat;
	background-position:bottom;
}


.area-00 h1 {
	background-image: url(../img/img_CSS-95_main.png);
	background-position: center;
	background-size: 90%;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 99999;
}

.area-00 h2 {
    background-image: url(../img/ccs-95_logo.svg);
    background-position: bottom;
    background-size: 90% !important;
    background-repeat: no-repeat;
    width: 100%;
    height: 10em;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 999999;
    bottom: 0;
}


/*エリア0*/
.area-0-wrapper {
	background-image: url(../img/main_bg_gradation.png);
	background-size: cover;
	background-position: center;
	width: 100%;
	min-height: 800px;
	margin: 0 auto;
	padding: 0;
	z-index: 2000;
	top: 0;
	left: 0;
	position: relative!important;
}

.content-wrapper {
    position: relative;
    top: 0;
    width: 100%;
}

#header {
	z-index: 2000;
	overflow: visible;
	width: 100%;
	height: 32em;
	position: relative!important;
	background-image: url(../img/logo_midori.svg);
	background-size: 4.5em auto;
	background-repeat: no-repeat;
	background-position: left 1em top 1em;
}


.area-1 {
    margin: 0;
	padding: 0;	
	text-align: center;
	display: flex;
	align-items: center;
	height: 10vh;
}

img.area-1-container {
    width: 100%;
    height: 100%;
    margin: 0;
	padding: 0;	
}


.area-1-box {
	width: 100%;
}

.area-1-box img {
	width: 75%;
	margin: 0;
	padding:0.5em 0 0 0;
}

.area-1-box p {
    font-size: 1.25rem;
    line-height: 1.25;
    letter-spacing: 0.01em;
    color: #595959;
    width: 90%;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    font-weight: 300;
    margin: 0;
    padding: 0 5% 1em;
    height: auto;
    background-color: rgba(255,255,255,0.7);
}

.area-1-box h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: 0;
    color: #595959;
    text-align: center;
    font-weight: 500;
    width: 100%;
    margin: 0;
    padding: 0;
	background-color: rgba(255,255,255,0.7);
}






.area-0-subhead {
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0.01em;
	color: #595959;
	width: 75%;
	height: auto;
	text-align: justify;
	font-weight: 100;
	margin: 0 auto;
	padding: 0;
}



/*エリア2*/

.area-2-wrapper {
    width: 100%;
    height: auto !important;
    margin: 0 auto;
	padding: 0 0 0 0;
    z-index: 2300;
	overflow: hidden;
}

.area-2-container {
    background-color: #efefed;
    box-shadow: 0 1px 0 0 #f4f4f4;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0em 0;
}


h4.area-2-subhead {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0;
	color: #595959;
	text-align: center;
	font-weight: 100;
	width: 100%;
	margin: 0;
	padding: 0.5em 0;

}
h4.area-2-subhead span {
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0;
	color: #595959;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 100;
	width: 100%;
	margin: 0;
	padding: 0 0 0.5em 0;
	display: inline-block;
}

p.area-2-subhead-2 {
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: #595959;
	width: 50%;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: justify;
	font-weight: 300;
	margin: 0 auto;
	height: 6vh;

}
.area-2 img {
	width: 100%;	
}

.area-2-container .area-2 img.spec  {
	width: 65% !important;	
}




.area-2 .buylink {
	padding: 2em 0 1em 0 ;
}



.area-2 .buylink p {
	font-size: 1rem;
	line-height: 1;
	letter-spacing: 0;
	color: #595959;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	text-decoration: none;
	
}

.area-2 .buylink a p{
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
    height: auto;
    width: auto;
	box-shadow:none;
	background: #1cb72f;
	text-decoration:none !important;
    vertical-align: middle;
    position: relative;
    padding: 15px;
    margin: 0.5em 0.1em;
}

.area-2 .buylink  a:link {
	text-decoration: none;
}


.area-2 .buylink  a:hover {
	opacity: 0.8;
	text-decoration: none;
}


.area-2 .buylink .official{
	background: #1cb72f;
	background: linear-gradient(to right, #2261DF 0%, #8FCEFF 75%);	
    color: #fff;
}

.area-2 .buylink .amazon{
	background: #f09c39;
    color: #fff;
}

.area-2 .buylink .rakuten{
	background: #ac2a1c;
    color: #fff;
}

.area-2 .buylink .paypay{
	background: #877427;
    color: #fff;
}

.area-2 .buylink .yahoo{
	background: #e7393e;
    color: #fff;
}

.area-2 .buylink .aupay{
	background: #ea6438;
    color: #fff;
}


.area-2 {
    height: auto;
    margin: 0;
	padding: 0;	
	text-align: center;

}

img.area-2-container {
    width: 100%;
    height: 100%;
    margin: 0;
	padding: 0;	
}


.area-2-box {
	width: 100%;
}



.f01 {
    background-image: url(../img/img_css-95_f01.jpg);
    background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
    width: 100%;
	height: 50vh !important;
    padding: 0;
    box-shadow: 0 1px 0 0 #f4f4f4;
	display: flex;
	align-content: center;
}
.f02 {
	background-image: url(../img/img_css-95_f02.jpg);
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    width: 100%;
	height: 50vh !important;
    padding: 0;
    box-shadow: 0 1px 0 0 #f4f4f4;
	display: flex;
	align-content: center;
}
.f03 {
    background-image: url(../img/img_css-95_f03.png),url(../img/main_bg_gradation.png);
	background-position: center,bottom;
    background-repeat: no-repeat;
    background-size: cover,125%;
    width: 100%;
	height: 50vh !important;
    padding: 0;
    box-shadow: 0 1px 0 0 #f4f4f4;
	display: flex;
	align-content: center;
}

.f04 {
    background-image: url(../img/img_css-95_f04.png),url(../img/main_bg_gradation.png);
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover,150%;
    width: 100%;
	height: 50vh !important;
    padding: 0;
    box-shadow: 0 1px 0 0 #f4f4f4;
	display: flex;
	align-content: center;
}






.area-2 > .area-2-box > img{
	width: 75%;

}




/*エリア3*/

.area-3-container {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	background-color: #f4f4f4;
	z-index: 5000;
}

.area-3 {
	background-color: #f4f4f4;
	background-position: left -45px center;
	background-image: url(../img/kf_image_c.png);
	background-size: 57% !important;
	background-repeat: no-repeat;
	z-index: 4500;
	overflow: hidden;
	box-shadow: 0 1px 0 0 #f4f4f4;
	width: 100%;
	height: 600px;
}


h3.area-3-head {
    font-size: 1.5rem;
    line-height: 1.5;
	letter-spacing: 0;
    color: #1cb72f;
	text-align: left;
	font-family: 'Asap', sans-serif;
	font-weight: 400;
	width: 90%;
	margin: 15px auto 0;
    padding: 0;
}

p.area-3-subhead {
	font-size: 1.15rem;
    line-height: 1.25;  
    letter-spacing: 0.01em;
	color: #595959;
	width: 90%;
	text-align: left;
    font-weight: 100;
	margin: 0 auto;
	padding: 0 0 5px 0;
}

p.area-3-subhead span {
	font-family: 'Asap', sans-serif;
	font-size: 0.75em;
	font-weight: 400;
	display: inline-block;
	padding: 10px 0 0 10px;

}


p.area-3-subhead-2 {
	font-size: 0.9rem;
    line-height: 1.75;  
    letter-spacing: 0.01em;
	color: #595959;
	width: 90%;
	text-align: justify;
    font-weight: 100;
	margin: 0 auto;
	padding: 0;
}





.icon_sell {
	width: 100% !important;
	height: 3em;
	padding: 0.5em 0;
	margin: 0;
}

ul.footer_nav > li > a {
	text-decoration: none;
	color: #595959;

}


ul.footer_nav > li > a:link , ul.footer_nav > li > a:visited {
	text-decoration: none;	
	color: #595959;
}

ul.footer_nav > li > a:hover {
	text-decoration: none;	
	color: #1cb72f;
}


ul.footer_nav {
	list-style: none;
	text-decoration: none;
	width: 90%;
	margin: 20px auto;
	padding: 0;	
	text-align: center;
}

ul.footer_nav > li {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 1.25rem;
    line-height: 1.25;
    padding: 0.5em 0;
}


.footer {
	font-family: 'Asap', sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
    background-color: rgba(255,255,255,0.9);
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
}

/* -- TABLET (AND UP) MEDIA QUERIES --*/

@media (min-width: 48em) {
	
#header {
    z-index: 2000;
    overflow: visible;
    width: 100%;
    height: 50em;
    position: relative !important;
    background-image: url(../img/logo_midori.svg);
    background-size: 5em auto;
    background-repeat: no-repeat;
	background-position: left 2em top 2em;
}
	
	
	
.area-00 h1 {
    background-image: url(../img/img_CSS-95_main.png);
    background-position: top 1em center;
    background-size: 75%;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 99999;
}
	
.area-00 h2 {
    background-image: url(../img/ccs-95_logo.svg);
    background-position: bottom;
    background-size: 75% !important;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 999999;
}

.area-2 img {
	width: 90%;
}
.area-1-box img {
	width: 60%;
	margin: 0;
}

.area-2-container .area-2 img.spec  {
	width: 45% !important;	
}

}

/* -- DESKTOP (AND UP) MEDIA QUERIES -- */

@media (min-width: 78em) {
	
#header {
    z-index: 2000;
    overflow: visible;
    width: 100%;
    height: 50em;
    position: relative !important;
    background-image: url(../img/logo_midori.svg);
    background-size: 5em auto;
    background-repeat: no-repeat;
	background-position: left 2em top 2em;
}
	

.area-00 h1 {
    background-image: url(../img/img_CSS-95_main.png);
    background-position: top 1em right 3em;
    background-size: 55%;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 99999;
}
	
.area-00 h2 {
    background-image: url(../img/ccs-95_logo.svg);
    background-position: top 5em left 3em;
    background-size: 50% !important;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 999999;
}
	
.area-0-head img {
	width: 50%;
	position: relative;
	vertical-align: text-top;
	z-index: 7000;
}

.area-2 img {
	width: 75%;
}
.area-1-box img {
	width: 35%;
	margin: 0;
}

.area-2-container .area-2 img.spec  {
	width: 30% !important;	
}

	
.f01 {
    background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
	height: 70vh !important;
}
.f02 {
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 70vh !important;
}
.f03 {
	background-position: center,bottom;
    background-repeat: no-repeat;
    background-size: cover,125%;
	height: 70vh !important;
}

.f04 {
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover,150%;
	height: 70vh !important;
}


}
