@charset "UTF-8";
/*===============================================*/
/*  common.css */
/*===============================================*/
/*//////////////////////////////////

reset
///////////////////////////////////*/
/* Fonts
---------------------------------------------------------------------*/
/*localfont  -------------------------*/
@font-face { font-family: ggb; src: url("../fonts/GenJyuuGothic-Bold.ttf");
  /*localFont*/ }
@font-face { font-family: bnc; src: url("../fonts/bahnschrift.ttf");
  /*localFont*/ }
/*iconfont  -------------------------*/
@font-face { font-family: 'icomoon'; src: url("../fonts/icomoon.eot?6hhvcc"); src: url("../fonts/icomoon.eot?6hhvcc#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?6hhvcc") format("truetype"), url("../fonts/icomoon.woff?6hhvcc") format("woff"), url("../fonts/icomoon.svg?6hhvcc#icomoon") format("svg"); font-weight: normal; font-style: normal; font-display: block; }
[class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.icon-line:before { content: "\e009"; }

.icon-mail:before { content: "\e901"; }

.icon-mail2:before { content: "\e902"; }

.icon-tel:before { content: "\e903"; font-size: 14px; padding-right: 5px; }

.icon-home:before { content: "\e904"; font-size: 14px; }

.icon-facebook:before { content: "\ea90"; }

.icon-instagram:before { content: "\ea92"; }

.icon-twitter:before { content: "\ea96"; }

.icon-search:before { content: "\e900"; }

.icon-mobile:before { content: "\e958"; }

.icon-heart:before { content: "\e9da"; }

/*site main rules
---------------------------------------------------------------------*/
/*color  ------------------*/
.fcGly { color: #404040; }

.fcOrn { color: #ff6c00; }

.bgcGly { background-color: #404040; }

.bgcOrn { background-color: #ff6c00; }

/*テキストのハイライトカラーを変える  ------------------*/
::selection { /* Safari and Opera */ background: #404040; color: #fff; }

::-moz-selection { /* Firefox */ background: #404040; color: #fff; }

/*link  ------------------*/
a:link { color: #404040; text-decoration: none; }

a:visited { color: #404040; text-decoration: none; }

a:hover { color: #404040; text-decoration: none; }

a:active { text-decoration: none; }

/* reset
---------------------------------------------------------------------*/
body { margin: 0; padding: 0; font-size: 100%; /* IE */ line-height: 26px; color: #404040; font-family: "Noto Sans Japanese", "Lucida Grande", "segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo"; font-weight: 600; -webkit-text-size-adjust: none; /*border:solid 13px #00336a;*/ }

html > body { font-size: 14px; /* Except IE */ }

html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; }

h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form { font-style: normal; font-weight: normal; font-size: 14px; text-align: left; list-style-type: none; }

/* Layout *********************************** */
article, aside, footer, header, nav, section, main { display: block; }

* { box-sizing: border-box; }

*:before, *:after { box-sizing: inherit; }

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img { border: 0; vertical-align: bottom; }

img { max-width: 100%; height: auto; width: auto; }

/* hr 要素は不可視で使う */
hr { display: none; }

/* br 要素のレスポンシブ化 */
@media screen and (max-width: 959px) { .brNone { display: none; } }
/*margin
----------------------------------*/
/*上  ------------------*/
.mrt5 { margin-top: 5px; }

.mrt10 { margin-top: 10px; }

.mrt15 { margin-top: 15px; }

.mrt20 { margin-top: 20px; }

.mrt30 { margin-top: 30px; }

.mrt40 { margin-top: 40px; }

.mrt50 { margin-top: 50px; }

/*右  ------------------*/
.mrr1 { margin-right: 1px; }

.mrr2 { margin-right: 2px; }

.mrr3 { margin-right: 3px; }

.mrr4 { margin-right: 4px; }

.mrr5 { margin-right: 5px; }

.mrr6 { margin-right: 6px; }

.mrr7 { margin-right: 7px; }

.mrr8 { margin-right: 8px; }

.mrr9 { margin-right: 9px; }

.mrr10 { margin-right: 10px; }

.mrr15 { margin-right: 15px; }

.mrr20 { margin-right: 20px; }

.mrr25 { margin-right: 25px; }

.mrr30 { margin-right: 30px; }

/*下  ------------------*/
.mrb5 { margin-bottom: 5px; }

.mrb10 { margin-bottom: 10px; }

.mrb15 { margin-bottom: 15px; }

.mrb20 { margin-bottom: 20px; }

.mrb30 { margin-bottom: 30px; }

.mrb40 { margin-bottom: 40px; }

.mrb50 { margin-bottom: 50px; }

/*左  ------------------*/
.mrl1 { margin-left: 1px; }

.mrl2 { margin-left: 2px; }

.mrl3 { margin-left: 3px; }

.mrl4 { margin-left: 4px; }

.mrl5 { margin-left: 5px; }

.mrl6 { margin-left: 6px; }

.mrl7 { margin-left: 7px; }

.mrl8 { margin-left: 8px; }

.mrl9 { margin-left: 9px; }

.mrl10 { margin-left: 10px; }

.mrl15 { margin-left: 15px; }

.mrl20 { margin-left: 20px; }

.mrl25 { margin-left: 25px; }

.mrl30 { margin-left: 30px; }

/*float
----------------------------------*/
.left { float: left; }

.right { float: right; }

#left { float: left; }

#right { float: right; }

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

opening/loader
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.loading { z-index: 30; width: 100%; height: 100%; background: #fff; position: fixed; top: 0; right: 0; z-index: 1000; }

.loader { position: absolute; top: 40%; }

.loader, .loader:before, .loader:after { border-radius: 50%; width: 1.3em; height: 1.3em; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation: load7 1.8s infinite ease-in-out; animation: load7 1.8s infinite ease-in-out; }

.loader { color: #a7a7a7; font-size: 10px; margin: 80px auto; position: relative; text-indent: -9999em; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-animation-delay: -0.16s; animation-delay: -0.16s; }

.loader:before, .loader:after { content: ''; position: absolute; top: 0; }

.loader:before { left: -3.5em; -webkit-animation-delay: -0.32s; animation-delay: -0.32s; }

.loader:after { left: 3.5em; }

@-webkit-keyframes load7 { 0%,
  80%,
  100% { box-shadow: 0 2.5em 0 -1.3em; }
  40% { box-shadow: 0 2.5em 0 0; } }
@keyframes load7 { 0%,
  80%,
  100% { box-shadow: 0 2.5em 0 -1.3em; }
  40% { box-shadow: 0 2.5em 0 0; } }
/*
.loading p {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #e86363;
	width: 350px;
	height: 210px;
	background: url(../images/common/loading.png) no-repeat center center;
	background-size: 350px 190px;
	text-align: center;
	padding: 160px 0 0 0;
	margin: -105px 0 0 -175px; }*/
/*//////////////////////////////////

module
///////////////////////////////////*/
/*column
---------------------------*/
.column1 { margin: 0 auto; padding: 100px 0 50px; width: 100%; height: auto; box-sizing: border-box; position: relative; }

.column2 { margin: 0 auto; padding: 0; width: 90%; height: auto; box-sizing: border-box; position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }

@media screen and (max-width: 959px) { .column1 { width: 90%; padding: 50px 0 30px; } }
@media screen and (max-width: 959px) { .column2 { width: 90%; flex-wrap: wrap; } }
/*工事中
---------------------------*/
.construction { margin: 0px 0px 50px; padding: 100px 0 0; width: 100%; box-sizing: border-box; }

.construction h2 { margin: 0px 0px 10px 0px; padding: 0px 0px 0px 0px; font-size: 20px; text-align: center; }

.construction p { text-align: center; font-size: 14px; }

.construction p span { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; color: #ea608e; font-weight: bold; }

/*//////////////////////////////////
 animation
///////////////////////////////////*/
/*curtain
---------------------------------*/
.curtainIn { position: relative; /*opacity: 0;*/ z-index: 0; }

.maskWH { width: 100%; height: 100%; position: absolute; top: 0; z-index: 5; background-color: #fff; }

.maskWH-wh { width: 100%; height: 100%; position: absolute; top: 0; z-index: 4; background-color: #e7e5e5; }

.wht { background-color: #fff; }

.gly { background-color: #f3f3f3; }

/*animation ------------*/
.ef-animation { animation: ef-animation 0s ease-in-out 0s forwards; }

@keyframes ef-animation { 0% { opacity: 1; }
  100% { opacity: 1; } }
.ef-animation .maskWH { animation: maskWH 0.6s ease-in-out 0.5s forwards; margin-left: 0; }

.ef-animation .maskWH-wh { animation: maskWH 0.8s ease-in-out 0.8s forwards; margin-left: 0; }

@keyframes maskWH { 0% { margin-left: 0; }
  100% { margin-left: 100%; } }
/*button
---------------------------------*/
.btn-Type1 { margin: 0 auto; padding: 1rem; width: 100%; text-align: center; font-size: 20px; line-height: 26px; letter-spacing: 0.05em; color: #40c508 !important; background-color: #fff; border: 3px solid #40c508; font-family: ggb; font-feature-settings: "palt"; }

@media screen and (max-width: 959px) { .btn-Type1 { width: 100%; font-size: 20px; } }
/**/
.button1 { cursor: pointer; display: block; position: relative; z-index: 0; transition: all 0.4s; }

.button1:hover { color: #fff !important; background-color: #40c508; }

/*要素出現-----*/
.move, .move:hover { transition: all 0.8s ease-in-out 1.0s; }

.fade_box { -webkit-transform: translateY(30px); -moz-transform: translateY(30px); transform: translateY(30px); opacity: 0; }

/**/
.mcurtain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-animation: mcurtain 1s; -webkit-animation-iteration-count: 1; z-index: 99; }

@-webkit-keyframes mcurtain { 0% { width: 100%; background-color: #fff; }
  100% { width: 0%; background-color: #fff; } }
/**/
.transform01 { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: all .5s ease; transition: all .5s ease; }

/*//////////////////////////////////

Header
///////////////////////////////////*/
header { margin: 0 auto; padding: 1rem; max-width: 1400px; position: relative; }
header h1 { width: 300px; text-align: left; }

/*959px--*/
@media screen and (max-width: 959px) { header { width: 95%; } }
/*768px--*/
@media screen and (max-width: 768px) { header h1 { width: 100%; text-align: center; } }
/*//////////////////////////////////

G_Nav
//////////////////////////////////

nav{
	position:fixed;
	z-index: 100;
	top:30%;
	left:30px;
	
	margin:0 auto; 
	padding:0 ;
	width :;
	height:auto; }

.gnavList{
	width:100%;
	height:auto; }

.gnavList li{
	-webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
	margin-bottom: 40px;
	font-size:18px;
	line-height:18px;
	text-align:left;
	font-weight:500;
	letter-spacing: ; 
	font-family: mor;
	font-feature-settings : "palt";
	position: relative;/*lineAnimation
	transition: .2;}


.gnavList li:after {
	position: absolute;
	bottom: -23px;
	right: 10px;
	content: '';
	width: 3px;
	height: 3px;
	border-radius: 100%;
	z-index: 0;
	background-color: #575757; }
.gnavList li:last-child:after {display: none;}

nav ul li a{ display: block; text-decoration: none; height:auto; transition: .3s;position: relative;/*lineAnimation}

nav ul li a::after {
	content: ''; display: block; position: absolute; top: -15%; left: 25%; width: 1px; height: 130%; background-color: #2be923;
	
	transform: scaleY(0); 
	transform-origin: center bottom; 
	transition: transform .3s;}

nav ul li a:hover::after { transform: scaleY(1);transform-origin: center top;}

.gnavList li a:link {color: #575757 !important;}
.gnavList li a:visited {color: #575757 !important;}
.gnavList li a:hover,.gnavList li a.active{color: #2be923 !important;}*/
/*- @media 959px-
@media screen and (max-width: 1200px){
nav{display:none; } }*/
/*//////////////////////////////////

Contents
/////////////////////////////////*/
main { margin: 0 auto; padding: 0; width: calc(100% - 150px); height: auto; position: relative; }

/*959px--*/
@media screen and (max-width: 959px) { main { width: calc(100% - 0px); } }
/*h2ttl
---------------------------*/
.h2ttl-Wrap { margin: 0; width: 100%; height: 200px; background-color: #dfdfdf; overflow: hidden; }

/*page-top
---------------------------*/
#page-top { width: 70px; height: 70px; display: none; position: fixed; right: 10px; bottom: 10px; z-index: 100; }

#page-top p { margin: 0; padding: 0; text-align: center; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; }

#move-page-top { color: #fff; line-height: 50px; text-decoration: none; display: block; cursor: pointer; }

@media screen and (max-width: 768px) { #page-top { right: 10px; bottom: 10px; } }
/*////////////////////////////////

footer
////////////////////////////////*/
footer { margin: 0; padding: 0 0 30px; width: 100%; height: auto; position: relative; }
footer h1 { margin-bottom: 10px; text-align: center; }

#copy { width: 100%; height: auto; font-size: 12px; text-align: center; font-family: "mor"; }
