@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
/* COMMON SET
--------------------------*/

html {
	height: 100%;
}
body {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	line-height: 1.6;
	font-size: 16px;
	font-weight: 400;
	color: #000000;
	text-align: center;
	width: 100%;
	min-height: 100%;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,
ul,ol,li,dl,dt,dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	width: 100%;
	height: auto;
}

a:link,
a:visited {
	color: #3776c1;
	text-decoration: none;
}

a:hover,
a:active {
	color: #00F;
	text-decoration: underline;
}
a:active,a:focus {
	outline: none;
}
a.btn {
	opacity: 1;
	-webkit-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
a:hover.btn {
	opacity: 0.7;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.nobr {
	display: none;
}
.onbr {
	display: inherit;
}



/* ヘッダー
--------------------------*/
header{
	position:relative;
}
.site-header{
    background: rgba(253,253,253,1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2em 4em 1.5em 4em;
    position: fixed;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-transition: .7s;
    -o-transition: .7s;
    transition: .7s;
    width: 100%;
	z-index:10;
}
.site-header.transform{
    background: rgba(255,255,255,0.9);
    padding: 1.3em 3em 1.5em 3em;
}
/*seo対策*/
.site-logo a{
	position: relative;
	
}
.site-logo a p{
	position: absolute;
	top:-30px;
	left: 0px;
	font-size: 14px;
	color: rgba(62,19,19,1.00);
	font-weight: 500;
}
.site-logo img{
    width: 100%;
	max-width:250px;
}
.sdgs {
	position: absolute;
	top:10px;
	right:4em;
	width: 200px;
}
.sns_box {
	width: 100%;
	max-width: 200px;
	position: absolute;
	top:10px;
	right:18em;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.sns_box img {
	margin-left: 15px;
	width: 27px;
}
.gnav__menu{
	width:100%;
	max-width:650px;
	margin-top:15px;
	color:#221714;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.gnav__menu__item{
    margin-left: 25px;
	padding-top:5px;
	padding-bottom:0px;
	border-bottom:#492c16 3px solid;
	letter-spacing:0.2em;
}
.gnav__menu__item a{
    color: #333;
    text-decoration: none;
}

/* ビデオ	 transform: translateY(-50%);
--------------------------*/
.hero{
    overflow: hidden;
	position:relative;
}

#bg-video	{
	 width: 100%;
	 top:50%;
	 -webkit-transform: translateY(-5%);
	     -ms-transform: translateY(-5%);
	         transform: translateY(-5%);
	 z-index: -100;
	 background-size: cover;
	 background-attachment:fixed;
}

.main_title{
	width:100%;
	margin:0 auto;
	text-align:center;
	background-size:contain;
	position:relative;
	z-index:5;
}
.main_title h2{
	background-size:100% 100%;
	width:100%;
	max-width:480px;
	min-width:250px;
	position:absolute;
	top:0;
	margin-top:15%;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.title_r{
	width:100%;
	max-width:700px;
	margin:3.0em auto 2.0em;
	font-size: 24px;
	line-height: 2.2em;
	font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: 600;
}
.title_r_tab{
	display: none;
	width: 100%;
	max-width: 600px;
}


.title_r img{
	width:100%;
}
/* ナビゲーション
--------------------------*/
#menu li{
  position: relative;
}
#menu li a{
  display: block;
}
#menu li a:hover{
  color: #F63;
}
#menu li ul{
  list-style: none;
  position: absolute;
  top:110%;
  left: 0;
  margin: 0;
  padding: 0;
}
#menu li ul li.sub a{
	position:absolute;
	width:280px;
	top:0;
	left:0;
}
#menu li:last-child ul{
  left: -100%;
  width: 100%
}
#menu li ul li{
	overflow: hidden;
	width: 280px;
	height:0;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
#menu li ul li a{
	padding: 6px;
	background:rgba(0,51,85,0.8);
	text-align: left;
	font-size: 15px;
	color: #FFF;
	font-weight: normal;
	hborder-bottom: #fff solid 1px;
}
#menu li ul li:hover > a{
	 background: #FFF;
	 color:#F63;
}
#menu li:hover ul li{
  	overflow: visible;
  	height: 35px;
}
#menu li:hover ul li:first-child{
  	border-top: 0;
}
#menu li:hover ul li:last-child{
  	border-bottom: 0;
  	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}




/* ハンバーガー
--------------------------*/
.site-logo_hg img{
    width: 100%;
	max-width:200px;
}
.hg_menu	{
	display:none;
	position:relative;
}
.hg_menu h1 {
	height:80px;
	width:100%;
	z-index:11;
	-webkit-transition: .7s;
	-o-transition: .7s;
	transition: .7s;
	position:fixed;
	background:rgba(245,255,250,0.5);
}
/*seo対策*/
.hg_menu h1 a p{
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 100px;
	font-size: 14px;
	color: rgba(64,32,33,1.00);
	font-weight: 500;
}
/*seo対策でTOP下にずらす*/
.hg_menu h1 img	{
	position:absolute;
	top:22px;
	left:5%;
	max-width:220px;
}
.hg_menu_bottom {
	font-size:10px;
	color:#FFF;
	font-weight:500;
	position:absolute;
	top:65px;
	right:20px;
}
.main_sp	{
	height:200vh;
}
.menuButtom{
	display:block;
	width:80px;
	height:80px;
	background-color:#666666;
	position:fixed;
	top:0;
	right:0;
	z-index:11;
}
.menuButtom div	{
	height:2px;
	width:60px;
	background:#FFFFFF;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	    -ms-transform:translate(-50%,-50%);
	        transform:translate(-50%,-50%);
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.menuButtom div:nth-of-type(1){
	-webkit-transform:translate(-50%,-15px);
	    -ms-transform:translate(-50%,-15px);
	        transform:translate(-50%,-15px);
}
.menuButtom div:nth-of-type(3){
	-webkit-transform:translate(-50%,15px);
	    -ms-transform:translate(-50%,15px);
	        transform:translate(-50%,15px);
}
.menuButtom.active div:nth-of-type(2)	{
	opacity:0;
}
.menuButtom.active div:nth-of-type(1)	{
	-webkit-transform:rotate(45deg) translate(-50%,0);
	    -ms-transform:rotate(45deg) translate(-50%,0);
	        transform:rotate(45deg) translate(-50%,0);
	-webkit-transform-origin:0% 50%;
	    -ms-transform-origin:0% 50%;
	        transform-origin:0% 50%;
}
.menuButtom.active div:nth-of-type(3)	{
	-webkit-transform:rotate(-45deg) translate(-50%,0);
	    -ms-transform:rotate(-45deg) translate(-50%,0);
	        transform:rotate(-45deg) translate(-50%,0);
	-webkit-transform-origin:0% 50%;
	    -ms-transform-origin:0% 50%;
	        transform-origin:0% 50%;
}
nav.nav_sp.active	{
	opacity:1;
	visibility:visible;
}
nav.nav_sp{
	opacity:0;
	visibility:hidden;
	-webkit-transition:0.3s;
	-o-transition:0.3s;
	transition:0.3s;
	position:fixed;
	top:80px;
	width:100%;
	height:100%;
	background:rgba(255,255,255);
	left:0;
	z-index:11;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom:50px;
}

/*--プルダウン--*/
.menu__hg {
  background: #CCC;
  cursor: pointer;
  display: block;
  border-bottom:#FFF 1px solid;
  position:relative;
  text-decoration:none;
}
.menu__hg__link {
  color: #333;
  background:#CCC;
  display: block;
  padding: 0.8rem;
  text-decoration:none;
}
.submenu {
  background: #CCC;
  display: block;
}
.submenu__item {
  border-bottom: 1px solid #CCC;
  color: #FFF;
  padding: 0.4rem 0.4rem 0.4rem 2.0em;
  list-style:none;
  background:#C3F4F2;
  text-align:left;
}
.submenu__item a	{
	  text-decoration: none;
}
.submenu__item a:hover	{
	opacity:0.7;
}
.hg__menu__rogo {
	width:100%;
	height:100px;
	background-color:rgb(34,24,21);
}
.hg__menu__rogo a {
	display:block;
	width:100%;
	margin:0 auto;
	max-width:250px;
	padding-top: 10px;
}
.hg__menu__inq {
	width:100%;
	background-color:#999;
	height:100px;
}
.hg__menu__inq a {
	display:block;
	width:100%;
	margin:0 auto;
	max-width:280px;
	padding-top: 34px;
}
.hg__menu__tel {
	width:100%;
	background-color:rgb(185,160,91);
	height:100px;
}
.hg__menu__tel a {
	display:block;
	width:100%;
	margin:0 auto;
	max-width:280px;
	padding-top: 18px;
}


/*スライダー--*/

.img_size	{
	width:100%;
}
/*----トップ移動---*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 15px;
    right: 40px;
	z-index:99;
}
.pagetop a {
    display: block;
    text-decoration: none;
	filter:alpha(opacity=50);
    -moz-opacity: 1;
    opacity: 1;
}
.pagetop a:hover {
    display: block;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}


/*--横スライド--*/
ul#nav1 {
	height:100%;
	font-size: 100%;
	font-weight: bold;
	list-style: none;
	position:fixed;
	top:150px;
	left:-260px;
	margin:0;
	z-index:999;
}
#nav1 li {
	margin-bottom: 0.8em;
	-webkit-overflow-scrolling: touch; 
}
#nav1 li a {
	text-decoration: none;
	color:#333;
	display:block;
	text-align:right;
	height:48px;
	padding-left:60px;
	padding-right:10px;
	line-height:48px;
	border:#ccc 1px solid;
	border-radius:30px;
}
#nav1 li a:hover {
	color: #FF9900;
}
.nav_bg_color_01{
	background:rgba(51,153,255,0.5);
}
.nav_bg_color_02{
	background:rgba(255,0,0,0.5);	
}
.nav_bg_color_03{
	background:rgba(255,153,0,0.5);	
}
.nav_bg_color_04{
	background:rgba(0,153,0,0.5);
}
.nav_bg_color_05{
	background:rgba(255,255,0,0.5);
}
.nav_bg_color_06{
	background:rgba(0,102,192,0.5);
}
.nav_bg_color_07{
	background:rgba(17,85,34,0.5);
}

/*--事例リンク--*/
.ctgl_index {
	margin:2.0em auto;
	width:100%;
	max-width:960px;
	padding:1.0em;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
	-ms-flex-wrap:wrap;
	    flex-wrap:wrap;
}
.ctgl_index a {
	display:block;
}
/*--SNS--*/



/*--footer--*/

.ft_fl {
	width:100%;
	background:-webkit-gradient(linear,left top, right top,from(rgb(34,24,21)),color-stop(50%, rgb(34,24,21)),color-stop(50%, rgb(185,160,91)),to(rgb(185,160,91)));
	background:-o-linear-gradient(left,rgb(34,24,21) 0%,rgb(34,24,21) 50%,rgb(185,160,91) 50%,rgb(185,160,91) 100%);
	background:linear-gradient(90deg,rgb(34,24,21) 0%,rgb(34,24,21) 50%,rgb(185,160,91) 50%,rgb(185,160,91) 100%);
}

.ft_fl ul {
	width:100%;
	max-width:960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
    list-style: none;
	margin:0 auto;
	position: relative;
}
/*SEO追加*/	
.ft_fl ul p {
	position: absolute;
	top:0px;
	left: 120px;
	font-size: 14px;	
}
.ft_fl li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    color: white;
    background-color: black;
}
.hero_sp{
    display: none;
}


@media screen and (max-width: 1025px) {
.sns_box_hg {
	width: 100%;
	max-width: 200px;
	position: fixed;
	top:25px;
	right:90px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	z-index: 99;
}
.sns_box_hg_menu {
	display: none;
}
.sns_box_hg img {
	margin-left: 15px;
	width: 27px;
}
.site-header{
	display:none;
}
.site-header.transform{
   display:none;
}
.hg_menu	{
	display:block;
}
.main_title{
	width:80%;
}
.title_r	{
	width:90%;
	
}

}

@media screen and (max-width: 750px) {
.sns_box_hg {
	display: none;
}
.sns_box_hg_menu {
	padding: 10px;
	width: 200px;
	display: flex;
	margin: 0 auto;
}
.sns_box_hg_menu img{
	margin-left: 15px;
	width: 25px;
}
	/*--横スライド--*/
ul#nav1 {
	display:none;
}
.title_r	{
	width:100%;
	max-width:700px;
	margin:3.0em auto 2.0em;
	font-size: 20px;
	line-height: 2.2em;
	font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: 600;
}

}

@media screen and (max-width: 480px) {


.main_title{
	width:60%;
}
.main_title h2{
	margin-top:30%;	
}

.title_r	{
	display: none;
}
.title_r_tab {
	display: block;
	width: 100%;
	margin: 5px;
}
.pagetop {
    display: none;
    position: fixed;
    bottom: 0px;
    right: 0px;
	z-index:99;
}

ul#nav1 {
	display:none;
}

.ft_fl {
	width:100%;
}

.ft_fl ul {
	width:100%;
	max-width:960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
	.ft_fl {
	width:100%;
}

.ft_fl ul {
	width:100%;
	max-width:960px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
    list-style: none;
	margin:0 auto;
}

/*SEO追加*/	
.ft_fl li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    color: white;
    background-color: black;
}

.ft_fl li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    color: white;
    background-color: black;
}



}