@charset "utf-8";

/*****************************************************************

	トップページ＆共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */


*{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body{
	margin: 0;
	padding: 0;
}

html{
	overflow-y:scroll;
}

h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,td,th,
address,
blockquote,form,fieldset,legend,div,hr,pre{
	margin: 0;
	padding: 0;
	font-style: normal;
	text-align: left;
	font-size: 100%;
	line-height: 1.2;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}


body{
	background: #FFF;
	font-family: "Noto Snas JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th,td{
	vertical-align: top;
}

img,
object,
embed{
	border: 0;
	vertical-align: top;
	outline: none;
	max-width: 100%;
	height: auto;
}

object:focus{
	outline: none;
}

embed:focus{
	outline: none;
}

img,
input,
select,
textarea{
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	font-size: 12px;
}

input[type="button"],
input[type="text"],
input[type="submit"] {
	-webkit-appearance: none;
}

button{
	background-color: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

::-webkit-input-placeholder{
    color: #ccc;
}
::-moz-placeholder{
    color: #ccc;
}
:-moz-placeholder{
    color: #ccc;
}
:-ms-input-placeholder{
    color: #ccc;
}

abbr,
acronym,
fieldset{
	border: 0;
}

hr{
	margin: 2em 0;
	display: block;
	border: 0;
	border-bottom: 1px solid #ddd;
	clear: both;
}

img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	vertical-align: top;

	-moz-user-select: none; 
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none; 
	user-drag: none;
}

iframe{
	display: block;
	vertical-align: top;
}

i,
em{
	font-style: normal;
}

a{
	color: #000;
	background: transparent;

	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

a:hover,
a:focus{
	color: #666;
}

a:hover img{
	transition: 0.5s opacity;
	opacity: 0.8;
}

ul li{
	list-style: none;
}

/* ====== SKIP ===== */
ul#skip{
	display: none;
	/*IE Mac \*/
	display: block;
 	position:absolute;
	height: 0;
	width: 0;
	overflow: hidden;
	/*IE Mac */
}

.nav{ }
.place{ }
.clr{
	width: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
	clear: both;
}

.cf{
	width: 100%;
	overflow: hidden;
}

.cf:after{
	display: block;
	clear: both;
	content: "";
}

::selection{background-color:#333; color: #fff; }
::-moz-selection {background-color:#333; color: #fff; }
input::selection,
textarea::selection{background-color:#b6d6fd; color: #000; }
input::-moz-selection,
textarea::-moz-selection{background-color:#b6d6fd; color: #000; }

div,
ul,
section,
article{
	width: auto;
	zoom: 1;
}


aside,
li,
dd,
ul,
section,
article{
	zoom: 1;
}

aside:after,
div:after,
ul:after,
li:after,
dd:after,
section:after,
article:after{
	display: block;
	clear: both;
	content: "";
}

h1,h2,h3,h4,h5,h6,
table,th,td,ul,ol,li,
dd,dt,dl,p{
	background: url(../images/aki.png);
}
.return{
	display: block;
	width: 0;
	height: 0;
	clear: both;
	overflow: hidden;
	visibility: hidden;
}

.tel_dis{ cursor: default; }

.sp_i{ display: none; }
.sp_b{ display: none; }

.pc_i{ display: inline; }
.pc_b{ display: block; }

.sp_ib{ display: none; }
.pc_ib{ display: inline-block; *display: inline; zoom: 1; }

.txt_c{ text-align: center;}
.txt_r{ text-align: right;}

/*============================================================
	TopContentsStyle
============================================================*/
 
/*============================================================
	Page / column
============================================================*/
#page{
	width: 100%;
	margin: 0 auto;
	text-align: left;
	padding-top: 120px;
}

.inner{
	width: 100%;
	padding:  0 10px;
	max-width: 1140px;
	text-align: left;
	margin: 0 auto;
	position: relative;
}

/*============================================================
	Header
============================================================*/
#page_header{
	width: 100%;
	top: 0;
	left: 0;
	position: fixed;
	text-align: center;
	padding:  10px 0;
	z-index: 100;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.05) ;
	background: rgba(255,255,255,0.90)
}

#page_header ul:after,
#page_header .inner:after,
#page_header:after{
	content: normal;
}
#page_header .inner{
	align-items: center;
	display: flex;
	justify-content: flex-start;
	position: relative;
}
#page_header h1{
	width: 100px;
	margin-right: 2%;
}
#page_header .main_menu{
	height: 100%;
	width: 80%;
	display: flex;
	align-items: center;
	font-size: 30px;
}
#page_header .main_menu li{
	height: 100%;
	width: 18%;
	line-height: 1;
}
#page_header .main_menu img{
	height: 50px;
	display: block;
	margin:  auto;
}
#page_header .main_menu a:hover img{
	transform: translateY(-5px)
}

#page_header .main_menu a{
	text-align: center;
	display: block;
	text-decoration: none;
}
#page_header .main_menu small{
	display: block;
	text-align: center;
	margin-top: 5px;
	font-size: 12px;	
}
#page_header .sub_menu{
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 0;
	text-align: right;
}

#page_header .sub_menu li{
	display: inline-block;
	margin-left: 5px;
	width: 35px;
}

.sp_menu{
	display: none;
}
.btn_sp_menu{
	display: none;
}
/*============================================================
	Nav
============================================================*/

/*============================================================
	Content
============================================================*/
#content{
	width: 100%;
}

#content:after{
	display: block;
	clear: both;
	content: "";
}

/*============================================================
	Main
============================================================*/
#main{
	width: 100%;
}

#main:after{
	display: block;
	clear: both;
	content: "";
}

/* Main Design */
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main td,
#main th{
	line-height: 1.75;
	font-size: 100%;
	margin-bottom: 1em;
}

#main table{
	margin-bottom: 1em;
}

#main td,
#main th{
	margin-bottom: 0;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6{
	font-size: 100%;
	line-height: 1.5;
	margin-bottom: 1em;
}

/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
	font-size: 100%;
}

#main *:last-child{
	margin-bottom: 0;
}

/*============================================================
	TOP
============================================================*/

/* ===== image ===== */
#main .image img{
	width: 100%;
}
#main .image ul{
	margin: 0;
	position: relative;
	padding-top: 56%;
	overflow: hidden;
}
#main .image li{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
}
#main .image p{
	margin: 0;
	display: none;
}
/* ===== news_list ===== */
#main .sec_news{
	margin-bottom: 35px;
}
#main .news_list{

}
#main .news_list time{
	font-size: 88%;
	line-height: 2;
}
#main .head_l{
	margin-bottom: 40px;
}
#main .head_l img{
	height: 110px;
}
#main .sec_news .head_l{
	margin-bottom: 1em;
}
/* ===== about ===== */
#main .head_m{
	text-align: center;
	margin-bottom: 60px;
}
#main .head_m img{
	height: 50px;
}
#main .head_m .v{
	height: 65px;
}
#main .sec_story,
#main .sec_about{
	padding: 70px 0 80px 0;
	background:  no-repeat url("../images/bg_about.jpg?0127");
	background-size: 100% 100%;
	color: #000;
}
#main .sec_story{
	background:  no-repeat url("../images/bg_story.jpg?0127");
	background-size: 100% 100%;
	color: #000;
	margin-top: 20px;
	padding-bottom: 150px;
}
#main .sec_hana h3,
#main .sec_about h3{
	text-align: center;
	font-size: 150%;
	margin-bottom: 2em;
}
#main .sec_story p,
#main .sec_about p{
	text-align: center;
}
#main .sec_story p{
	line-height: 3;
}
#main .sec_story .notes{
	line-height: 1.8;
	font-size: 88%;
	max-width: 950px;
	margin: 3em auto 0 auto;
	text-align: left;
}

#main .sec_story ul{
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	justify-content:  center;
	font-size: 150%;
}
#main .sec_story ul img{
	margin-bottom: 15px;
	max-width: 210px;
	width: 75%;
	transition: 0.25s transform;
}
#main .sec_story a:hover img{
	transform: scale(1.05)
}
#main .sec_story li{
	text-align: center;
	width: 25%;
	color: #005670;
}
#main .sec_story a{
	display: block;
	text-align: center;
	text-decoration: none;
	color: #000;
}
#main .sec_story i{
	font-size: 78%;
	line-height: 2;
}
/* ===== sec_product ===== */
#main .sec_product{
	padding: 30px 0 100px 0;
}
#main .sec_product_1{
	margin-top: 40px;
	padding: 40px 0 40px 0;
	background: #fffbe3;
}
#main .sec_product_2{
	padding: 40px 0 40px 0;
	background: #e5e5eb;
}
#main .head_s{
	text-align: center;
	margin-bottom: 30px;
}
#main .head_s img{
	height: 125px;
}
#main .grp{
	position: relative;
	padding: 45px 0 180px 0;
}
#main .grp h4,
#main .grp p{
	text-align: center;
	max-width: 800px;
	width: 72%;
	margin: auto;
}
#main .grp h4{
	font-size: 150%;
	margin: 1.5em auto;
	color: #5c6e1c;
}
#main .grp::after{
	display: block;
	content: "";
	position: absolute;
	top:  0;
	left:  0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: no-repeat center top;
	background-size:  auto 100%;
}
@media screen and (max-width: 768px) {
#main .grp::after{ display: none;}
}
#main .sec_product_1 .grp::after{
	background-image: url("../images/bg_item_1.png?0127");
}
#main .sec_product_2 .grp.grp::after{
	background-image: url("../images/bg_item_2.png");
}
/* ===== sec_items ===== */
#main .sec_items{
	padding: 60px 0;
}
#main .sec_items ul{
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#main .sec_items li{
	margin: 0;
	width: 25%;
}
#main .sec_items li:nth-of-type(4n+1){
	
}
/* ===== sec_hana ===== */
#main .sec_hana{
	padding: 60px 0;
	background: #fde4f3;
}
#main .sec_hana h2{
	text-align: center;
	margin-bottom: 45px;
}
#main .sec_hana h2 img{
	height: 70px;
}
#main .sec_hana h3{
	color: #d97ba7;
	margin-bottom: 1em;
}
#main .sec_hana ul::after{
	content: normal;
}
#main .sec_hana ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 800px;
	margin:  0 auto;
	font-size: 88%;
}
#main .sec_hana li{
	width: 45%;
	margin-top:  2em;
}
#main .sec_hana ul img{
	width: 100%;
	margin-bottom: 20px;
}

/* ===== movie ===== */
#main .sec_video{
	padding:  60px 0;
	background:#F7FDF0
}
.c_movie{
	margin: 0 auto 30px auto;
	max-width: 600px;
	width: 100%;
}
#main .c_movie p{ text-align: center; margin: 0.5em 0 0 0}
#main .mov_list::after{ content: normal;}
#main .mov_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 800px;
	
}
#main .mov_list li{
	width: 49%;
	margin-bottom: 2em;
	
}
.video_area{
    position:relative;
    padding-bottom: 56.25%;
    height:0;
    overflow:hidden;
}
.video_area iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

/* ===== anime ===== */
.sec_about h2,
.sec_about h3,
.sec_about p,
.sec_story h2,
.sec_story p,
.sec_story li,
.sec_product h2,
.sec_product h3,
.sec_product h4,
.sec_product p,
.sec_product li,
.sec_hana h2,
.sec_hana h3,
.sec_hana p,
.sec_hana li{
	transition:  0.5s opacity;
	opacity: 0;
}
.sec_about .animeOn,
.sec_story .animeOn,
.sec_product .animeOn,
.sec_hana .animeOn{
	opacity: 1;
}
.sec_product_1 .grp::after,
.sec_product_2 .grp::after{
	transform: scale(0.5);
	opacity: 0;
	transition: 0.5s 0.5s transform,0.5s 0.5s opacity;
}
.animeOn .grp::after,
.animeOn .grp::after{
	transform: scale(1);
	opacity: 1;
}

.loading{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 110;
	background: #fff;
}
.loading_chu{
	overflow: hidden;
}
.loading i{
	width: 200px;
}
.loading .l2{
	display: none;
}
.loading .l3{
	display: none;
}
.init{
	
}
/*============================================================
	Footer
============================================================*/
#page_footer{
	width: 100%;
	position: relative;
	text-align: center;
	padding: 15px 0 75px 0;
}
#page_footer p{
	margin-bottom: 25px;
	font-size: 12px;
}
#page_footer img{
	height: 25px;
	margin-right: 20px;
}
#page_footer:after{
	display: block;
	clear: both;
	content: "";
}
.pagetop{
	width: 114px;
	display: none;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 105;
	transition: 0.25s transform;
}
.pagetop:hover{
	transform: translateY(-5px)
}
.scr_on .pagetop{
	display: block;
}



.check_cookie_popup {
 display: none;
 position: fixed;
 z-index: 109;
 width: 100%;
 left: 0;
 bottom: 0;
 padding: 20px;
 background: rgba(255,255,255,0.9);
 box-shadow: 0 0 10px 1px rgba(0,0,0,0.05);
 color: #000;
 font-size: 14px;
 text-align: center;
}
.check_cookie_popup p {
 margin-bottom: 1em;
 text-align: center;
 line-height: 1.75;
}
.check_cookie_popup a{ color: #000;}
.btn_check_cookie {
 display: inline-block;
 background: #999;
 color: #fff;
 line-height: 1;
 padding: 10px 2em;
 font-weight: bold;
}