﻿/* base
----------------------------------------------------*/
* {
	padding: 0;
	margin: 0;
}
html {
	overflow-y: scroll;
	padding: 0;
	margin: 0;
	height:100%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	color: #000;
	line-height: 1.8;
}


body > img {
	position:absolute;
}
h1,h2,h3,h4,h5,h6 {
	margin:0;
	padding:0;
	font-size:16px;
}

p,pre,blockquote,ul,ol,dl,dt,dd,hr,form,input {
	margin:0;
	padding:0;
}
table {
	border-collapse: collapse;
}
img {
	border: none;
	vertical-align: middle;
 max-width: 100%;
}

li {
	list-style-type: none;
}
.sp,
.sp_flex,
.sp_inline,
.table-row_sp {
	display: none !important;
}



/* link
----------------------------------------------------*/
a:link {
	color:#769b41;
	text-decoration:underline;
}
a:visited {
	color:#769b41;
	text-decoration:underline;
}
a:hover {
	color: #769b41;
 text-decoration:none;
}

/* rollover
----------------------------------------------------*/
.hov {
	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity 0.2s linear;
	-o-transition: opacity 0.2s linear;
	-ms-transition: opacity 0.2s linear;
}
.hov:hover {
	filter: alpha(opacity=60);
	-moz-opacity:0.60;
	opacity:0.60;
}



/* clear
----------------------------------------------------*/
/* ---IE7.IE8 clearfix--- */
.clearfix:after { content: ".";display: block;clear: both;height: 0;visibility: hidden;overflow:hidden;font-size:0.1em;line-height:0;}
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */



#header {
 display: flex;
 padding-bottom: 20px;
}
#logo {
 text-align: center;
 position: absolute;
 left: 40px;
 top: 40px;
}
#header nav {
 width: calc(100% - 210px);
 margin: 0 0 0 210px;
}
#header nav ul#gmenu {
 display: flex;
 justify-content: center;
 margin: 70px 0 0 0;
}
#header nav ul#gmenu li {
 margin: 0;
 /* width: 190px; */
 text-align: center;
 margin-right: 80px;
}
#header nav ul#gmenu li a {
 color: #000000;
 text-decoration: none;
 padding-bottom: 30px;
}
#header nav ul#gmenu li a:hover,
#header nav ul#gmenu li a.current {
 background: url("../images/gmenu.png") no-repeat center bottom 20px;
}
#header nav ul#gmenu li.sub {
 position: relative;
 z-index: 60;
}
#header nav ul#gmenu li ul.slide {
 display: none;
 position: absolute;
 left: 0;
 top: 48px;
 z-index: 60;
}
#header nav ul#gmenu li ul.slide li {
 margin: 0 0 2px 0;
 text-align: left;
 width: 260px;
}
#header nav ul#gmenu li ul.slide li a {
 display: block;
 background: #FFF;
 padding: 15px;
}

@media screen and (max-width: 1280px) {
	#header nav ul#gmenu li {
		margin-right: 20px;
	}
}
@media screen and (max-width: 1000px) {
	#header nav ul#gmenu li {
		margin-right: 20px;
		font-size: 12px;
	}
}
@media screen and (max-width: 800px) {
	#header nav ul#gmenu li {
		margin-right: 10px;
	}
}


#sns {
 position: absolute;
 right: 50px;
 top: 30px;
}
#sns dt,
#sns dd {
 float: left;
}
#sns dt {
 margin-left: 30px;
}
#sns dd {
 margin-left: 10px;
}
.sp_menu {
 display: none;
}

.title01 {
 background: url("../images/title01.png") no-repeat 0 0;
 width: 294px;
 height: 108px;
 font-size: 27px;
 text-align: center;
 padding: 40px 15px 0 0;
 box-sizing: border-box;
 line-height: 1.5;
 font-weight: 400;
}
.title01 span {
 font-weight: normal;
 font-size: 12px;
 display: block;
}
.title02 {
 background: url("../images/gmenu.png") no-repeat center bottom;
 background-size: 23px 2px;
 font-size: 26px;
 font-weight: 400;
 text-align: center;
 padding-bottom: 5px;
 margin: 70px 0 30px 0;
}
.title03 {
 font-size: 25px;
 font-weight: 400;
 padding: 0 0 0 20px;
 position: relative;
 margin-bottom: 10px;
}
.title03 span {
 position: absolute;
 left: 0;
 top: 5px;
 line-height: 1;
}
.title04 {
 font-size: 26px;
 font-weight: 400;
 background: url(../images/gmenu.png) no-repeat left bottom;
 background-size: 23px 2px;
 padding-bottom: 7px;
 margin-bottom: 20px;
}

.parallax {
 position: relative;
 transform-origin: center center;
 transform: translateY(50px);
 opacity: 0;
 transition: all 0.8s ease-out;
}
.parallax.is-enter {
 transform: translateY(0);
 opacity: 1;
}

.main {
 background-color: #f6f1f0;
 padding: 40px 0;
 margin: 100px 0 0 0;
 min-height: 315px;
 box-sizing: border-box;
 display: flex;
 align-items: center;
}
.main_area {
 width: 1366px;
 margin: 0 auto;
 position: relative;
}
.main_txt {
 background: rgba(255,255,255,0.95);
 position: relative;
 z-index: 1;
 width: 505px;
 margin: 0 0 0 50px;
 padding: 20px 20px 20px 30px;
 box-sizing: border-box;
}
.main_txt2 {
 border-left: 2px solid #000000;
 padding: 0 0 0 20px;
}
.main_txt2 h1 {
 font-size: 30px;
 font-weight: 400;
}
.main_txt2 p {
 line-height: 2.2;
 letter-spacing: 0.07em
}
.main_img {
 position: absolute;
 right: 0;
 bottom: -33px;
 width: 85%;
 max-width: 1140px;
}


.pagetop {
 position: fixed;
 right: 30px;
 bottom: 30px;
 z-index: 61;
 cursor: pointer;
}

#footer {
 background-color: #363c40;
 text-align: center;
 padding: 22px 0 42px 0;
}
#footer p {
 margin: 20px 0 0 0;
 color: #858e93;
 font-size: 12px;
}

@media screen and (max-width: 800px) {
  dl#sns dt.jp-btn,
  dl#sns dt.eg-btn {
    display: block;
    margin-top: 30px;
  }
  dl#sns dt.jp-btn img,
  dl#sns dt.eg-btn img {
    width: 40%;
    height: auto;
  }

}

