@charset "UTF-8";
/*
@font-face {
  font-family: "nsjpr";
  font-style: normal;
  font-weight: 100;
  src: url("../font/NotoSansJP-Thin.woff") format("woff");
}
@font-face {
  font-family: "nsjpr";
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSansJP-Light.woff") format("woff");
}
*/
@font-face {
  font-family: "nsjpr";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "nsjpr";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansJP-Medium.woff") format("woff");
}
@font-face {
  font-family: "nsjpr";
  font-style: bold;
  font-weight: 700;
  src: url("../font/NotoSansJP-Bold.woff") format("woff");
}



@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSerifJP-Regular.woff") format("woff");
}



/*
@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSerifJP-Regular.woff") format("woff");
}

@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSerifJP-Medium.woff") format("woff");
}

@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 600;
  src: url("../font/NotoSerifJP-SemiBold.woff") format("woff");
}
*/


/*
@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSerifJP-Light.woff") format("woff");
}

@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSerifJP-Regular.woff") format("woff");
}

@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSerifJP-Medium.woff") format("woff");
}

@font-face {
  font-family: "notoSerif";
  font-style: normal;
  font-weight: 600;
  src: url("../font/NotoSerifJP-SemiBold.woff") format("woff");
}
*/



/* =Reset
-------------------------------------------------------------- */
body,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;}
h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,li,a, strong {
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	/*font-feature-settings : "palt";*/
	letter-spacing: 0.01em;
	/*text-align: justify;*/
}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal; }
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top; font-size: 0.6em;}
/*sub{vertical-align:text-bottom;}*/
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"], input[type="checkbox"] {vertical-align: -3px;}
/*html,body{ width: 100%;}*/
html>/**/body {
	/*font-family: 'notoSerif', serif;*/
	font-family: 'nsjpr', "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}
/*
* + html body {
	font-family: 'notoSerif', serif;
}
*/
figure {margin: 0; padding: 0;}


/* For modern browsers */
.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
/* For IE 6/7 (trigger hasLayout) */
.cf {zoom:1;}
.clr {clear: both; line-height: 0; display: block;}

.nobb {border-bottom: none!important;}

.disnon {display: none;}



/* =all
-------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: none;
	/*-webkit-overflow-scrolling: touch;*/
	/*height: 100%;*/
}
body {
	width: 100%;
	/*height: 100%;*/
	text-align: center;
	line-height: 1.5;
	font-size: 16px;
	color: #000;
	text-align: justify!important;
    font-feature-settings: 'palt'!important;
	/*background:#f6f5f0;*/
	position: relative;
}
body::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	transition: all 0.3s ease;
}
body.overNav::before {
	/*background: rgba(0,0,0,0.2);*/
	background: rgba(255,255,255,0.8);
	z-index: 2;
}

@media screen and (max-width: 940px){
	body {font-size: 12px;}
}
@media screen and (min-width: 800px){
	body::before {display: none;}
}


a {text-decoration:none;}
.sp {display: none;}

body img { max-width: 100%; height: auto;}



/*
header {
	position: fixed;
	width: 100%;
	z-index: 200;
	padding: 7px 0 ;
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.3);
	transition: all 0.3s ease;
}
*/

header {
	/*position: absolute;*/
	position: fixed;
	width: 100%;
	z-index: 200;
	padding: 7px 0 ;
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.3);
	background: #fff;
	transition: all 0.3s ease;
}
header .fbox01 {align-items: center;}
header h1 img {width: 100%; transition: all 0.3s ease;}


#menu {}
#menu > nav {  margin: 10px auto; transition: all 0.3s ease;}

header.is_active #menu > nav {margin: 0px auto;}

#menu > nav > ul {display: flex; justify-content: space-between; align-items: center;}
#menu > nav > ul > li {
	/*margin-left: 15px;*/
	border-left: 1px solid rgba(0,0,0,0.1);
	text-align: center;
	position: relative;
}
#menu > nav > ul > li:last-child {/*border-right: 1px solid #ccc;*/}
#menu > nav > ul > li > a {color: #666; font-size: 1.0em; font-weight:400; position: relative; display: block; letter-spacing: 0.1em; text-align: center; line-height: 1; padding: 10px 25px; transition: all 0.3s ease; z-index: 2; }

#menu > nav > ul > li > a::after {
	content: '';
	width: calc(100% - 4px);
	height: 100%;
	position: absolute;
	left: 2px;
	top: 0;
	background: #ebeff3;
	z-index: -1;
	opacity: 0;
	transform: scale(0);
	transition: all 0.3s ease;
}

#menu > nav > ul > li > a:hover::after, #index #menu > nav > ul > li.index > a::after, #companyInfo #menu > nav > ul > li.company > a::after, #product #menu > nav > ul > li.product > a::after, #contact #menu > nav > ul > li.contact > a::after {opacity: 1; transform: scale(1)}





/*
#menu > nav > ul > li.contact > div {
	position: absolute;
	top: 0px;
	left: initial;
	right: 10px;
	transform: translateX(0) scaleY(0);
	transform-origin: top;
	opacity: 0;
	transition: all 0.5s ease;
}
#menu > nav > ul > li.contact:hover > div {
	opacity: 1;
	top: 30px;
	transform: translateX(0%) scaleY(1);
}

#menu > nav > ul > li.contact > div > ul::after {
	left: 65%;
	transform: translateX(0%);
}
*/


#menu > nav > ul > li > div > ul > li > a {
	position: relative;
	line-height: 140%;
}
#menu > nav > ul > li > div > ul > li > a::before {
	content: '';
	width: 6px;
	height: 1px;
	display: inline-block;
	position: absolute;
	left: 0;
}





@media screen and (min-width: 801px){
	header.is_active h1 img {width: 80%;}
	
	#menu > nav > ul > li > div {
	position: absolute;
	width: 200px;
	/*width: 360px;*/
	top: -0px;
	left: 50%;
	transform: translateX(-50%) scaleY(0);
	transform-origin: top;
	opacity: 0;
	transition: all 0.5s ease 0.15s;
	z-index: 1;
}
#menu > nav > ul > li:hover > div {
	opacity: 1;
	top: 30px;
	transform: translateX(-50%) scaleY(1);
}
	#menu > nav > ul > li > div::before {
	content: '';
	width: 100%;
	height: 20px;
	display: block;
}

#menu > nav > ul > li > div > ul {
	background: rgba(0,100,0,0.35);
	box-sizing: border-box;
	padding: 20px;
	position: relative;
}

#menu > nav > ul > li > div > ul::after {
	content: '▲';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	line-height: 0.8;
	opacity: 1;
	color: rgba(0,100,0,0.35);
	height: 14px;
	font-size: 1.6em;
	overflow: hidden;
}

#menu > nav > ul > li > div > ul > li {
	width: 100%;
	margin: 0px 0 12px;
	text-align: left;
}
#menu > nav > ul > li > div > ul > li:last-child {margin-bottom: 0;}
#menu > nav > ul > li > div > ul > li > a {
	color: #fff;
	display: inline-block;
	padding-left: 12px;
	/*line-height: 1;*/
	transition: all 0.3s ease;
}
#menu > nav > ul > li > div > ul > li > a::before {
	background: #fff;
	top: 12px;
}
#menu > nav > ul > li > div > ul > li > a > span {position: relative;}
#menu > nav > ul > li > div > ul > li > a > span::after {
	content: '';
	height: 1px;
	width: 0%;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all 0.3s ease;
}
#menu > nav > ul > li > div > ul > li > a:hover > span::after {
	width: 100%;
}
}



@media screen and (max-width: 1000px){
	#header_left {width: 240px;}
	#menu > nav {margin: 5px auto;}
	/*#menu > nav > ul > li > a {font-size: 0.9em;}*/
}


@media screen and (max-width: 940px){
	#menu > nav > ul > li > div > ul > li > a::before {top: 7px;}
}


@media screen and (max-width: 800px){
	header section#menu {
		position: fixed;
		top: -150%;
		left: 0;
		width: 100%;
		z-index: -1;
		transition: all 0.5s ease;
		
	}
	header section#menu.active {position: fixed; top: 44px; left: 0; width: 100%; background: #fff; z-index: -1;}
	
	header section#menu nav {width: 100%;}
	header section#menu nav > ul {display: block;}
	header section#menu nav > ul > li {
		width: 100%;
		border-bottom: 1px solid rgba(0,0,0,0.2);
		background: rgba(255,255,255,0.9);
		border-left: none;
		display: flex;
		padding: 5px 0;
	}
	header section#menu nav > ul > li:first-child {
		border-top: 1px solid rgba(0,0,0,0.2);
	}
	
	
	#menu > nav > ul li a { text-align: left; }
	#menu > nav > ul > li > a {padding: 10px 10px; font-size: 1.1em; font-weight: 500; width: 80px;}
	#menu > nav > ul > li > div {width: calc(100% - 80px);}
	
	header section#menu.active > nav {margin: 0 auto;}
	#menu > nav > ul li a::after {height: 100%;}
	
	#menu > nav > ul > li > div > ul > li > a {display: block; padding: 5px 5px 5px 15px; color: #333;}
	#menu > nav > ul > li > div > ul > li > a::before {
	background: #333;
	top: 13px;
		left: 5px;
}
}

@media screen and (max-width: 400px){
	header .wrap {padding-left: 5px;}
	/*header > section:nth-of-type(1) .fbox01 .logo {max-width: 230px;}
	h1 {font-size: 0.85em;}*/
	/*#header_left h1 img {width: 160px;}*/
	/*
	header .hContact dl dd ul { padding: 0 10px;}
	header .hContact dl dd {font-size: 3.40vw;}
	*/
}

.navToggle {
    display: none;
    position: fixed;
    right: 10px;
    top: 5px;
    width: 42px;
	height: 33px;
    cursor: pointer;
    z-index: 300;
    text-align: center;
	box-sizing: border-box;
}
 
.navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px rgba(0,0,0,0.6);
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}
.navToggle span:nth-child(1) {top: 6px;}
.navToggle span:nth-child(2) {top: 15px;}
.navToggle span:nth-child(3) {top: 24px;}
.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: 600;
    top: 34px;
}

.navToggle.active span:nth-child(1) {
    top: 15px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}


@media screen and (max-width: 800px){	
	.navToggle {display: block;}
	#menu > nav > ul li {margin-left: 0;}
}
@media screen and (max-width: 400px){
	.navToggle {right: 5px;}
}



/*----------------------------------------------------------------------
･margin等
-----------------------------------------------------------------------*/
/* font */
.fl {	float: left;}
.fr {	float: right;}
.fw {	width: 100%;}
.ta_l { text-align: left;}
.ta_c { text-align: center;}
.ta_r { text-align: right;}
.lh17 { line-height: 1.7;}
.lh20 { line-height: 2;}
.f10 {	font-size: 10px;}
.f12 {	font-size: 12px;}
.f14 {	font-size: 14px;}
.f15 {	font-size: 15px;}
.f16 {	font-size: 16px;}
.f18 {	font-size: 18px;}
.f20 {	font-size: 20px;}
.bold {	font-weight: 600;}
.red {	color: #d01126;}
.hColor { color:#395526;}
.white {color: #fff;}

/* mgn */
.mgn01 {margin-bottom: 0.1em;}
.mgn05 {margin-bottom: 0.5em;}
.mgn08 {margin-bottom: 0.8em;}
.mgn10 {margin-bottom: 1em;}
.mgn13 {margin-bottom: 1.3em;}
.mgn15 {margin-bottom: 1.5em;}
.mgn20 {margin-bottom: 2em;}
.mgn25 {margin-bottom: 2.5em;}
.mgn30 {margin-bottom: 3em;}
.mgn50 {margin-bottom: 5em;}
.mgn80 {margin-bottom: 8em;}

.mgt5 {margin-top: 5px;}
.mgt10 {margin-top: 10px;}
.mgt15 {margin-top: 15px;}
.mgt20 {margin-top: 20px;}
.mgt25 {margin-top: 25px;}

.pdn25 {padding-top: 1.5em;}

.ls01 { letter-spacing: -0.1em;}
.ls02 { letter-spacing: -0.05em;}

.bCenter {margin-left: auto; margin-right: auto;}

.mincho { font-family: "notoSerif", Times,"游明朝体", "Yu Mincho", YuMincho, "HG明朝B",'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;}

.cap {
	font-size: 12px;
	/*font-family:游ゴシック,'Yu Gothic',游ゴシック体,YuGothic,メイリオ,Meiryo,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif;*/
	line-height: 140%;
}

.tShadow01 { color:#fff; text-shadow: black 2px 2px 4px, black -2px 2px 4px, black 2px -2px 4px, black -2px -2px 4px, black 2px 2px 4px, black -2px 2px 4px, black 2px -2px 4px, black -2px -2px 4px;}


main {  width:100%;  margin: auto; /*padding-top: 64px;*/ overflow:hidden; position: relative; padding-bottom: 60px; text-align: left;}





article { margin: 0 auto 0px;  /*padding: 40px 0;*/}
.wrap {margin: auto; /*max-width: 960px;*/ width: 100%; padding: 0 20px; box-sizing: border-box;}
.container {/*padding: 0 40px;*/ max-width: 1000px; margin: auto;}

article .container {font-size: 1.1em; line-height: 180%;}
article .container > section:not(:last-child) {margin-bottom: 70px;}

body:not(#index) main {padding-top: 64px;}

@media screen and (max-width: 940px){
	body:not(#index) main {padding-top: 45px;}
}

/*
@media screen and (max-width: 650px) {
	.container {padding: 0 10px;}
}
@media screen and (max-width: 380px) {
	.container {padding: 0 0px;}
}
*/


h2 {
	font-size: 2.6em;
	font-weight: 500;
	text-align: center;
	/*margin-bottom: 50px;*/
	color: #999;
	line-height: 1.5;
}
h2 span {font-weight: 300; display: block; font-size: 13px;}

@media screen and (max-width: 420px) {
	h2 {font-size: 2em;}
}

h3 {font-size: 2em; margin-bottom: 40px; color: #286895; line-height: 140%; letter-spacing: 0.05em;}
@media screen and (max-width: 420px) {
	h3 {font-size: 1.6em; margin-bottom: 25px;}
}

h4 {font-size: 1.3em; margin-bottom: 20px; color: #286895; line-height: 180%; letter-spacing: 0.05em;}

.ptArea {padding-top: 50px; position: relative; padding-bottom: 50px}
.ptArea::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url("../img/testBg04_b.jpg") no-repeat center bottom fixed;
    background-size: cover;
    opacity: 0.9;
}
.ptArea::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
.ptArea .container {position: relative; z-index: 1;}
/*
.ptArea {
    padding: 80px 20px 80px;
    position: relative;
	margin-bottom: 50px;
}
*/

/*
body:not(#contact) .ptArea::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
}

body:not(#contact) .ptArea::after {
	content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    background: url(../img/wave01.svg) no-repeat bottom center;
    background-size: 100% 100%;
    width: 100%;
    height: 105px;
}
*/


@media screen and (max-width: 650px){
	body .ptArea::after {height: 35px;}
}


.ptArea h2 + p {margin-top: 50px; font-size: 1.13em; line-height: 200%; letter-spacing: 0.1em;}






/*
.ptArea h2 {
	position: relative;
	text-align: center;
	font-size: 2.6em;
    color: #fff;
	letter-spacing: 0.1em;
	
}
.ptArea h2 span {display: block;}
.ptArea h2 small {
    display: inline-block;
    font-size: 0.54em;
    letter-spacing: 0.1em;
    font-weight: 300;
}
@media screen and (max-width: 640px){
	.ptArea h2 span {display: block;}
.ptArea h2 small {
    display: block;
    margin-left: 0px;
	margin-top: 10px;
}
}
@media screen and (max-width: 480px){
	.ptArea h2 span {font-size: 0.89em;}
}
*/




/*
.animation-box, .animation-box_t { opacity:0; transition: all 1.4s ease-out; position:relative; top:50px;}
.animation-box.active, .animation-box_t.active { opacity:1; top:0;}
*/

.imgArea {position: relative;}


/* caption */

.fbox01 {display: flex; justify-content: space-between; }
.fbox02 {display: flex; justify-content: space-between; flex-direction: row-reverse;}

.caption { max-width: 1000px; box-sizing: border-box; padding: 20px 20px; margin: auto; font-family:游ゴシック,'Yu Gothic',游ゴシック体,YuGothic,メイリオ,Meiryo,'ヒラギノ角ゴシック Pro','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif;}
.caption p {font-size: 11px; text-align: left; line-height: 160%;}

@media screen and (min-width: 920px){
}



footer {
	/*background: #f5f5f2;
	position: relative;
	padding-bottom: 25px;*/
	/*background: url("../img/greenBg.gif") no-repeat bottom center;
	background-size: cover;*/
	background: #838c9c;
	
	padding: 50px 0 30px;
	/*margin-top: 100px;*/
	
}
body:not(#index) footer {margin-top: 50px;}


footer {}
footer nav {}
footer nav ul {display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin:0px auto 50px;}
footer nav ul li {margin: 0 15px;}
footer nav ul li a {color: #fff; position: relative;}

footer nav > ul > li:not(.comingSoon) a::after {
	content: '';
	width: 0%;
	height: 1px;
	position: absolute;
	left: 0%;
	bottom: -1px;
	background: #fff;
	transition: all 0.3s ease;
}
footer nav > ul > li:not(.comingSoon) a:hover::after {width: 100%;}

#copyRight {
	font-size: 12px;
	color: #fff;
	letter-spacing: 0.1em;
	font-weight: normal;
	text-align: center;
}

@media screen and (max-width: 760px) {
	footer nav ul li {margin-bottom: 15px;}
}
@media screen and (max-width: 470px) {
	footer {padding-top: 0;}
	footer nav ul li {width: 50%; margin: 0; text-align: center; box-sizing: border-box;}
	footer nav ul li:nth-of-type(odd) {border-right:1px solid rgba(255,255,255,0.2);}
	footer nav ul li a {display: block; box-sizing: border-box; padding: 10px; border-top:1px solid rgba(255,255,255,0.2);}
	footer nav ul li:last-child {width: 100%;  border-bottom:1px solid rgba(255,255,255,0.2);}
}




/*
@media screen and (max-width: 630px){
	footer {padding: 0px 0 20px;}
	footer ul {
    display: flex;
    justify-content:space-between;
}
	footer ul {border-top: 1px solid rgba(255,255,255,0.9);}
	footer ul li {width: 50%; margin: 0; border-bottom: 1px solid rgba(255,255,255,0.9); box-sizing: border-box;}
	footer ul li a {display: block; padding: 15px; text-align: center; box-sizing: border-box; }
	footer ul li:nth-of-type(odd) {border-right: 1px solid rgba(255,255,255,0.9);}
}

@media screen and (max-width: 400px){
	footer ul li {font-size: 1em;}
}
*/

/* lower common */


#contactBtn {
	position: fixed;
	bottom:20px;
	right: 15px;
	width: 100px;
	height: 100px;
	
}
/*
#contactBtn::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}
*/


#contactBtn a {
	color: #fff;
	display: block;
	text-align: center;
	position: relative;
	width: 100%;
	height: 100%;
	/*top: 46%;
	transform: translateY(-50%);*/
	
	font-size: 12px;
	/*color: #29407c;*/
	border-radius: 50%;
	line-height: 1;
	background: #5cb53c;
	box-shadow: 2px 3px 6px 2px rgba(0,0,0,0.5);
	transition: all 0.3s ease;
	
}
#contactBtn a > div {
	position: absolute;
	width: 100%;
	top: 46%;
	transform: translateY(-50%);
}

#contactBtn a i img {width: 26px; }
#contactBtn a span {display: block; margin-top: 8px;}

#contactBtn a:hover {/*padding: 5px 8px 11px 8px;*/ opacity: 0.7;}


@media screen and (max-width: 660px){
	#contactBtn {font-size: 1em;}
}

/*
.btmArea {}
.btmArea ul {display: flex; justify-content: space-between;}
.btmArea ul li {width: calc(50% - 20px);}
.btmArea ul li a {display: block;  border: 1px solid rgba(0,0,0,0.2); border-radius: 15px; box-sizing: border-box; padding: 20px; transition: all 0.3s ease;}
.btmArea ul li a:hover {background: rgba(155,124,64,0.2);}
.btmArea ul li a dl {display: flex; justify-content: space-between; align-items: center;}
.btmArea ul li a dl dt {}
.btmArea ul li a dl dd {width: calc(100% - 80px); text-align: center; font-size: 1.8em; font-weight:400;}
.btmArea ul li a dl dd div {letter-spacing: 0.1em; color: #9b7c40;}
.btmArea ul li a dl dd p {font-size: 0.6em; letter-spacing: 0.1em; color: #000; font-weight:600;}
*/




a#toTop {
	position: fixed;
	bottom:0px;
	/*left: 50%;
	transform: translateX(-50%);*/
	right: 5px;
	width: 50px;
	height: 24px;
	font-size: 1.4em;
	color: #29407c;
	/*border-radius: 50%;*/
	border-radius: 5px 5px 0 0 ;
	line-height: 0;
	background: rgba(0,0,0,0.7);
	z-index: 100;
}
a#toTop::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 70%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	
}
a#toTop:hover {/*padding: 5px 8px 11px 8px;*/ opacity: 0.7;}
@media screen and (max-width: 660px){
	a#toTop {font-size: 1em;}
}



.lnkStyle01 {margin-top: 25px; margin-bottom: 25px; text-align: center; }
.lnkStyle01 a {border: 1px solid #333; display: inline-block;  color: #333; letter-spacing: 0.2em; position: relative; transition: all 0.3s ease;}
.lnkStyle01 a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0%;
	background: #333;
	transition: all 0.5s ease;
}
.lnkStyle01 a:hover::before {
	width: 100%;
}

.lnkStyle01 a span {position: relative; padding: 10px 30px; display: inline-block;}
.lnkStyle01 a span::before, .lnkStyle01 a span::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	transition: all 0.3s ease 0.3s;
}
.lnkStyle01 a span::before {
	height: 18px;
	width: 12px;
	background: #333;
}
.lnkStyle01 a span::after {
	width: 6px;
	height: 6px;
	right: 4px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
}

.lnkStyle01 a:hover { color: #fff;}
.lnkStyle01 a:hover span::before {background: #fff;}
.lnkStyle01 a:hover span::after {
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
}


@media screen and (max-width: 460px){
	.lnkStyle01 a {letter-spacing: 0.1em; line-height: 140%}
	.lnkStyle01 a span { padding: 13px 20px 13px 10px; }
}
@media screen and (max-width: 400px){
	.lnkStyle01 a span br.sp {display: inline-block;}
}


/*.topBtn a span {position: relative;}*/

/*
.topBtn a span::before {
	position: absolute;
	width: 0;
	height: 100%;
	background: #333;
	left: 0;
	top: 0;
}

.topBtn a:hover span { color: #fff;}
.topBtn a:hover::before {background: #fff;}
.topBtn a:hover::after {
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
}
*/

.lStyle01 {}
.lStyle01 > li {display: inline-block;}
.lStyle01 > li:not(:last-child)::after {content: '、';}

.lStyle02 {}


#sitemap_wrap{
	text-align: center;
}
#sitemap_area{
	text-align: left;
	display: inline-block;
}
#sitemap_area ul li div{
	padding-left: 2em;
}
#sitemap_area ul li {
	margin-bottom: 1em;
}

#sitemap_area ul li li{
	margin-bottom: 0px;
}

#sitemap_area a {
    color: #666;
    font-size: 1.0em;
    font-weight: 400;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1;
    padding: 10px 25px;
    transition: all 0.3s ease;
    z-index: 2;
}

#sitemap_area a::after{
content: '';
    width: calc(100% - 4px);
    height: 100%;
    background: #ebeff3;
    z-index: -1;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease;
	}