/* CSS Document */
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);


@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('../fonts/slick.eot');
    src: url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg');
}

@font-face {font-family:"Heavitas";src:url("../fonts/Heavitas.eot?") format("eot"),url("../fonts/Heavitas.woff") format("woff"),url("../fonts/Heavitas.ttf") format("truetype"),url("../fonts/Heavitas.svg#Heavitas") format("svg");font-weight:normal;font-style:normal;}

@font-face {font-family:"Futura";src:url("../fonts/Futura-Medium.eot?") format("eot"),url("../fonts/Futura-Medium.woff") format("woff"),url("../fonts/Futura-Medium.ttf") format("truetype");font-weight:normal;font-style:normal;}



/*  共通 */

html {
  height:100%;
  margin:0;
  padding:0;
}
 
body {
  overflow-y: scroll;  /*  縦スクロールバーを表示します。 */
  overflow-x: hidden;  /*  横スクロールバーを消します。 */  
  margin:0;
  padding:0;
  font-family: kozuka-gothic-pro, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",  Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
font-style: normal;
  border:0;
  line-height:1.5em;
  font-size:1.0em;
}

 
body.index-body{
	color:#000000;
	height:100%;
}

body.page01{
	color:#000000;
}


.box{
	background-attachment:fixed;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:bottom right;
		position: relative; 
	height: auto !important; 
	height: 100%; 
	min-height: 100%; 
}



*{
margin:0;
padding:0;
box-sizing: border-box;
}

img{vertical-align:bottom;
display:inline-block;
border:0;
	  touch-callout:none;
	  user-select:none;
	  -webkit-touch-callout:none;
	  -webkit-user-select:none;
	  -moz-touch-callout:none;
	  -moz-user-select:none;
	  max-width:100%;
}

h1, h2, h3, h4, h5, h6{
	  font-family: "Futura", kozuka-gothic-pro, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",  Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	    font-weight: 400;
font-style: normal;
}


p{
margin:0;
padding:0;
font-size:0.8em;}



.clearfix:after {  
  display: block;
  clear: both;
  content: "";
}  
  
.clear{
	clear:both;
	height:0;
}




.inner{
	width:76%;
	max-width:1100px;
    margin: 0 auto 50px;
}

.inner:after {
    content: "";
    clear: both;
    display: block;
}

@media screen and (max-width: 1080px) {

.inner{
	width:95%;
	max-width:95%;
    margin: 0 auto 50px;
}

}




/*  ヘッダ */


header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  transition: .3s;
  background-color:#ffffff;
  border-bottom:1px solid #ffffff;
}


header.index-header{
	display:none;
}

@media screen and (max-width: 640px) {

header.index-header{
	display:block;
}
	
}



header.work-header {
  background-color:#ffffff!important;

}


.top-inner{
	width:76%;
	max-width:1100px;
    margin: 0 auto;
}

.top-inner:after {
    content: "";
    clear: both;
    display: block;
}




.site-logo{
	float:left;
	margin:0;
	width:270px;
	padding-right:50px;
}


.header-right{
	float:right;
   width : 70% ; /* IE8以下とAndroid4.3以下用フォールバック */
   width : -webkit-calc(100% - 270px) ;
   width : calc(100% - 270px) ;
}



@media screen and (max-width: 1080px) {

.top-inner{
	width:95%;
	max-width:95%;
}

}



 
/* header */
#top-head {
    top: 0px;
    position: absolute;
    width: 100%;
    margin: 0px auto 0;
    padding: 20px 0;
    line-height: 1;
    z-index: 999;
	background: rgba(256,256,256,1.0);
}
#top-head a,
#top-head {
    color: #000000;
    text-decoration: none;
}
#top-head .inner {
    position: relative;
}

#global-nav{
	float:right;
}


#global-nav ul.nav-main {
    list-style: none;
    float:left;
    left: 0;
    bottom: 0px;
    font-size: 14px;
	padding-top:15px;
}

#global-nav ul.nav-cart {
    list-style: none;
    float:right;
    right: 0;
    bottom: 0px;
    font-size: 14px;
}

#global-nav ul.nav-cart2 {
    display:none;
}


#global-nav ul li {
    float: left;
	padding-right:40px;
}
#global-nav ul li .icon{
	font-size:1.5em;
}

#global-nav ul li:last-child{
    padding-right: 0;
}

#global-nav ul li a:hover {
	text-decoration:underline dashed;
	
}

#global-nav ul li a.active {
	text-decoration:underline dashed;

}

#top-head #global-nav .nav02{
	display:none;
}

 
/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 10px;
    background: #fff;
    background: rgba(256,256,256,1.0);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
    font-size: 24px;
    color: #333;
}
#top-head.fixed #global-nav .nav01 ul li a {
    padding: 15px;
    background-color: #0f3778;
    color: #fff;
    margin-top: 30px;
    display: inline-block;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}



 
/* Toggle Button */

@media screen and (max-width: 800px) {



.site-logo{
	padding-top:10px;
}



#global-nav ul.nav-main {
    float:none;
}

#global-nav ul.nav-cart {
    display:none;
}


#global-nav ul.nav-cart2 {
    display:block;
    list-style: none;
    float:none;
    right: 0;
    bottom: 0px;
    font-size: 14px;
}






#nav-toggle {
    display: block;
    position: relative;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 101;
	background-color:#000;
	padding:0 10px;
	float:right;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 15px;
}
#nav-toggle span:nth-child(2) {
    top: 31px;
}
#nav-toggle span:nth-child(3) {
    top: 47px;
}



    #top-head,
    .inner {
        width: 100%;
    }
	
    #top-head {
        top: 0;
        position: fixed;
        margin: 0;
		padding:0 0 0 20px;
    }
	
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        
    }


    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -470px;
        background: #000;
        width: 100%;
        text-align: center;
        padding: 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
	


	
	
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
		padding-right:0;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 18px 0;
		border-bottom:1px solid #ffffff;
    }
	
	#global-nav ul li a:hover {
    border-bottom:none;
}

#global-nav ul li a.active {
    border-bottom:none;
}


#top-head #global-nav ul.work-navi li a,
#top-head.fixed #global-nav ul.work-navi li a {
        width: 100%;
        display: block;
        color: #ffffff!important;
        padding: 18px 0;
		border-bottom:1px solid #ffffff;
    }






	

    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 31px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 31px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(530px);
        -webkit-transform: translateY(530px);
        transform: translateY(530px);
		right:0;
    }

}

@media screen and (max-width: 1080px) {

.site-logo{
	padding-left:20px;
}


}


@media screen and (max-width: 800px) {
	

.head-bnr{
	display:none;
}
	
	
}


@media screen and (max-width: 599px) {
	

.lang-list ul li{
	float:left;
	padding-right:10px;
}
	
	
}

@media screen and (max-width: 419px) {
	

.lang-list ul li{
	float:left;
	padding-right:10px;
}

h1.site-logo {
    width:180px;
	padding-left:10px;
}


.lang-list ul li{
	width:26px;
}
	
#nav-toggle {
    width: 45px;
    height: 45px;
}


#nav-toggle span:nth-child(1) {
    top: 10px;
}
#nav-toggle span:nth-child(2) {
    top: 21px;
}
#nav-toggle span:nth-child(3) {
    top: 32px;
}

.open #global-nav {
    -moz-transform: translateY(515px);
    -webkit-transform: translateY(515px);
    transform: translateY(515px);
    right: 0;
}
.open #nav-toggle span:nth-child(1) {
        top: 21px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }	
.open #nav-toggle span:nth-child(3) {
        top: 21px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
	
	
}




/*  メイン */




main{
	height:100%;
}


main.main2{
	padding:120px 0 0;
	height:auto;	
}

@media screen and (max-width: 800px) {
	
main{
	margin:0 auto;
	width:100%;
	padding:0 ;
}



}







/*  トップページ */


.container {
   height:100%;
}

.top-box{
    text-align: left;
    align-items: center;
    display: flex;
	 height:100%;
}

.content{
	width:467px;
	margin-left:11%;
}


.content h2{
	margin-bottom:100px;
}

.content p{
	font-size:1.0em;
	line-height:2.0em;
	letter-spacing:0.1em;
	margin-top:2.0em;
}
.top-navi{
	margin-top:50px;
}

.top-navi li{
	list-style-type:none;
	float:left;
	font-size:0.9em;
	padding:0 0 0 15px;
		
}

.top-navi a{
	color:#000000;
	text-decoration:none;
}

.top-navi a.border{
	border-right:1px solid #000000;
	padding:0 15px 0 0;
	display:inline-block;
	text-align:center;
}


.top-navi a.border:hover{
}

.top-navi a.icon{
	font-size:1.5em;
}

.float-clear{
}

.navcolor a{
	color:#000000!important;
}

@media screen and (max-width: 800px) {

.top-box{
	justify-content:center;
}

.content{
	max-width:467px;
	width:80%;
	margin-left:0;
}

}

@media screen and (max-width: 640px) {

.top-navi{
	display:none;
}
	
.top-navi li{
	list-style-type:none;
	float:none;
	margin-right:0px;
	font-size:1.1em;
	text-align:center;
	margin-bottom:15px;
}

.top-navi a.border{
	width:100px;
	padding:5px 0;	
}	

.top-navi a.icon{
	font-size:1.8em;
}


}



@media screen and (max-width: 530px) {


.float-clear{
	clear:both;
}
	
	
	
}



/*  スライドショー */


.slider{
	margin-top:80px;
	text-align:center;
	color:#000000;
	height:490px!important;
	display:block;
}

.slider img{
	max-width:100%;
}

.slider .prev{
	width:32px;
	left:10px;
}
.slider .next{
	width:32px;
	right:10px;
}


.slider span{
	display:block;
	text-shadow: 1px 1px 8px #303030,-1px 1px 8px #303030,1px -1px 8px #303030,-1px -1px 8px #303030;
}





.slider h2{
	font-family:"Futura";
	color:#000000;
	text-align:center;
	font-weight:400;
	font-size:64px;
	line-height:64px;
	padding:50px 0 20px;
	margin-bottom:0;
}

.slider p{
	text-align:center;
	font-weight:400;
	color:#000000;
	font-size:14px;
	margin-bottom:20px;
	text-shadow: 1px 1px 8px #ffffff,-1px 1px 8px #ffffff,1px -1px 8px #ffffff,-1px -1px 8px #ffffff;
}


.slick-slide img {
    display: inline-block!important;
}




.slide01{
	background:url(../images/slide01.png) no-repeat;
	background-size:cover;
	background-position:center;
	height:490px!important;
	width:100%;
	padding:50px 0;
	display:block;
}

.slide02{
	background:url(../images/slide02.png) no-repeat;
	background-size:cover;
	background-position:center;
	height:490px!important;
	width:100%;
	padding:50px 0;
	display:block;
}

.slide03{
	background:url(../images/slide03.png) no-repeat;
	background-size:cover;
	background-position:center;
	height:490px!important;
	width:100%;
	padding:50px 0;
	display:block;
}

.slick-arrow {
  position: absolute;
  top: 50%;
  height: 36px;
  margin-top: -18px;  /* 高さの半分だけネガティブマージン */
  color: #bd77f2;
  line-height: 36px;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;  /* 重要 */
}



/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 0!important;
}

.slick-dots{
    position: absolute;
    bottom: 30px!important;
    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 15px;
    height: 15px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 15px;
    height: 15px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots2 li button:hover:before,
.slick-dots2 li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 15px;
    height: 15px;

    content: '●';
    text-align: center;

    opacity: .50;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: 1.00;
    color: #ffffff!important;
}


@media screen and (max-width: 800px) {

.slider{
	height:640px!important;
}

.slider h2{
	padding:40px 0 20px;
	margin-bottom:0;
	
}

	
.slider br{
	display:block;
}

.slide01{
	height:580px!important;
	background:url(../images/slide01-sp.png) no-repeat;
	background-size:cover;
	background-position:center;
}

.slide02{
	height:580px!important;
	background:url(../images/slide02-sp.png) no-repeat;
	background-size:cover;
	background-position:center;
}

.slide03{
	height:580px!important;
	background:url(../images/slide03-sp.png) no-repeat;
	background-size:cover;
	background-position:center;
}


.slick-dots2
{
    position: absolute;
    bottom: 100px;
    right:0;
    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}


	
}



@media screen and (max-width: 419px) {
	
.slider{
	padding-top:45px;
}

	
}





/*  TOP */


#news{

	padding:50px 0;
}



#news ul{
	height:200px;
	overflow:auto;
	list-style-type:circle;
	padding-left:0;
}

#news ul li{
	border-bottom:1px solid #000000;
	list-style-type:disc;
	list-style-position:inside;
	padding:10px;
	margin-right:20px;
}



.inner h2{
	font-family:"Futura";
	text-align:left;
	padding-bottom:10px;
	margin-bottom:30px;
	vertical-align:middle;
	font-size:1.7em;
}

h2 img{
	vertical-align:middle;
}

ul.responsive{
	list-style-type:none;
	width:95%;
	margin: 0 auto 50px;
}


ul.responsive li{
	margin:0 5px;
}


.responsive .slick-prev:before,
.responsive .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


.rcm-box {
  width: 100%;
  position: relative;
  padding:0;
  margin:0;
}

.rcm-box a{
  padding:0;
  margin:0;
}

.rcm-box img {
  display: block;
  width: 100%;
  opacity: 1;
  padding:0;
  margin:0;
}

.rcm-box:hover {
   background: #000;
}


.rcm-box:hover img {
  opacity: 0.3;
}
.rcm-overlay {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.rcm-box:hover .rcm-overlay {
  opacity: 1;
}
.rcm-contents {
  padding: 0 10px;
  color: white;
}

.rcm-contents p.rcm-title {
  font-size:28px;
  margin:0;
  padding:0;
}

.rcm-contents p.rcm-gallerytitle {
  font-size:18px;
  margin:0;
  padding:0;
}


.rcm-contents p.rcm-description {
  font-size:18px;
  margin:0;
  padding:0;
}


@media (max-width: 800px){
	
.rcm-box {
  width: 100%;
  position: relative;
  padding:0;
  margin:0;
}

.rcm-box a{
  padding:0;
  margin:0;
  text-decoration:none;
}

.rcm-box img {
  display: block;
  width: 100%;
  opacity: 1;
  padding:0;
  margin:0;
}

.rcm-box:hover {
   background: transparent;
}


.rcm-box:hover img {
  opacity: 0.3;
}
.rcm-overlay {
  opacity: 1;
  position: relative;
  top: 0%;
  left: 0%;
  -webkit-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
  width: 100%;
  text-align: center;
}
.rcm-box:hover .rcm-overlay {
  opacity: 1;
}
.rcm-contents {
  padding: 0 10px;
  color: black;
}

.rcm-contents p.rcm-title {
  font-size:28px;
  margin:0;
  padding:0;
}

.rcm-contents p.rcm-gallerytitle {
  font-size:18px;
  margin:0;
  padding:0;
}

.rcm-contents p.rcm-description {
  font-size:18px;
  margin:0 0 50px;;
  padding:0;
}

.rcm-contents p.rcm-title:hover {
  text-decoration:none;
}

.rcm-contents p.rcm-gallerytitle {
  text-decoration:none;
}

.rcm-contents p.rcm-description:hover {
  text-decoration:none;
}

}











.readmore-button-box{
	text-align:center;
}


.readmore-button-box a{
	border:1px solid #000000;
	color:#000000;
	font-weight:400;
	text-decoration:none;
	padding:5px 15px;
	display:inline-block;
}


.readmore-button-box a:hover{
	background-color:#000000;
	color:#ffffff;
}




.readmore-area{
	width:100%;
}






/*  works */


.flex-box{
    margin: 0 auto;
    width: 100%;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}




.works-box{
	width:18%;
	margin:0 2.5% 50px 0;
	text-align:left;
}


.works-box:nth-child(5n){
	margin:0 0 50px 0;
}


.works-box a{
	color:#000000;
	text-decoration:none;
}


.works-box figure img{
	  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  width:100%;
}

.works-box figure:hover img{
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

.works-box figcaption{
	font-size:0.8em;
}


.button-box{
	width:80%;
	margin:80px auto;
}

.button-box a{
	color:#000000;
}

.prev{
	float:left;
	width:10%;
	text-align:left;
}

.back{
	float:left;
	text-align:center;
	width:80%;
}

.next2{
	float:left;
	clear:right;
	text-align:right;
	width:10%;
}






@media screen and (max-width: 1040px) {
	
.works-box{
	width:32%;
	margin:0 2% 50px 0;
	text-align:left;
}

.works-box:nth-child(3n){
	margin:0 0 50px 0;
}


	
}


@media screen and (max-width: 800px) {
	
.works-box{
	width:48%;
	margin:0% 1% 3% ;
	text-align:left;
}

.works-box:nth-child(3n){
	margin:0% 1% 3% ;
}
	
}






.slider2{
	margin-top:0px;
	text-align:center;
	color:#000000;
	display:block;
}

.slider2 img{
	max-width:100%;
}

.slider2 .prev{
	width:32px;
	left:10px;
}
.slider2 .next{
	width:32px;
	right:10px;
}

.margin-t20{
	margin-top:20px;
}


.margin-t50{
	margin-top:50px;
}


.work-title{
	width:200px;
	border-right:1px solid #000000;
	padding-top:10px;
}

.work-title h2{
	border-top:none;
	font-size:42px;
	font-weight:normal;
	margin-bottom:10px;
}

.work-text{
   width : 70% ; /* IE8以下とAndroid4.3以下用フォールバック */
   width : -webkit-calc(100% - 200px) ;
   width : calc(100% - 200px) ;	
   padding-left:30px;
}



@media screen and (max-width: 800px) {
	


.work-title{
	width:100%;
	border-bottom:1px solid #000000;
	border-right:none;
}


.work-text{
   width : 100% ; /* IE8以下とAndroid4.3以下用フォールバック */
   width : -webkit-calc(100% - 0px) ;
   width : calc(100% - 0px) ;	
   padding-left:0px;
   padding-top:30px;
}



	
	
}



/*  about */



h3{
	text-align:left;
	margin-bottom:30px;
}


.vision-box1{
	width:50%;
	text-align:left;
	padding-right:10px;
}

.vision-box1 p{
	margin-bottom:30px;
}

.vision-box2{
	width:50%;
	text-align:right;
	padding-left:10px;
}

.vision-box2 img{
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}


@media screen and (max-width: 800px) {


.vision-box1{
	width:100%;
	text-align:left;
	padding-right:0px;
	padding-bottom:30px;
}

.vision-box2{
	width:100%;
	text-align:center;
	padding-left:0px;
}

	
	
}


.left-box{
	width:48%;
	margin-right:2%;
}


.right-box{
	width:48%;
	margin-left:2%;
}


#flow h5{
	font-size:1.1em;
	font-weight:700;
}


#flow i{
	margin:5px 0;
}

dl.contract dt{
	padding: 0;
	margin-bottom:3px;
	font-size:1.0em;
	font-weight:700;
}

dl.contract dt span{
	color:#ffffff;
	background-color:#000000;
	padding:2px 0;
	width:30px;
	display:inline-block;
	text-align:center;
}

dl.contract dd{
	padding-bottom:20px;
	font-size:0.9em;
}

@media screen and (max-width: 800px) {


.left-box{
	width:100%;
	margin-right:0%;
	margin-bottom:50px;
}


.right-box{
	width:100%;
	margin-left:0%;
}




}



/*  company */



.company-box{
	text-align:left;
}

.history-box{
	width:50%;
	text-align:left;
	padding-left:10px;
}

table.company-table,
table.history-table{
	border-collapse:collapse;
	width:100%; 
	font-size:0.8em;
	margin-bottom:50px;
}

table.company-table th{
	font-weight:normal;
	padding:15px 0 0 0;
	width:90px;
	vertical-align:top;
}

table.company-table td{
	padding:15px 0 0 20px;
}



table.history-table th{
	font-weight:normal;
	border-bottom:1px solid #ffffff;
	padding:5px 0 0 0;
	text-align:left;
	width:90px;

}

table.history-table td{
	padding:5px 0 0 20px;
	border-bottom:1px solid #ffffff;
}



@media screen and (max-width: 980px){
	
	
.company-box{
	width:100%;
	text-align:left;
	padding-right:0px;
	padding-bottom:50px;
}

.history-box{
	width:100%;
	text-align:left;
	padding-left:0px;
	padding-bottom:50px;
}

table.company-table th{
	font-weight:normal;
	padding:8px 0 0 0;
	width:90px;
}

table.company-table td{
	padding:8px 0 0 20px;
}

table.history-table th{
	font-weight:normal;
	border-bottom:1px solid #ffffff;
	padding:8px 0 0 0;
	text-align:left;
	width:90px;
}

table.history-table td{
	padding:8px 0 0 20px;
	border-bottom:1px solid #ffffff;
}
	
	
	
	
}




@media screen and (max-width: 549px){


table.company-table th{
	font-weight:normal;
	border-bottom:none;
	padding:8px 0 0 0;
	width:100%;
	display:block;
}

table.company-table td{
	padding:0px 0 8px 0;
	width:100%;
	display:block;
}

table.history-table th{
	font-weight:normal;
	border-bottom:none;
	padding:8px 0 0 0;
	text-align:left;
	width:100%;
	display:block;
}

table.history-table td{
	padding:0px 0 8px 0;
	width:100%;
	display:block;
}
	
	


	
}

.margin-b30{
	margin-bottom:30px;
}

.margin-t100{
	margin-top:100px;
}


ul.member-list{
	list-style-type:none;
}

ul.member-list li{
	list-style-type:none;
	float:left;
	width:220px;
	padding-right:50px;
	padding-bottom:50px;
	font-size:0.8em;
}




#business p{
	margin-bottom:30px;
}

.business-box2{
	width:50%;
	text-align:left;
	padding:0px 0 20px 20px;
}

.business-box1 h4,
.business-box2 h2{
	margin-bottom:5px;
}




@media screen and (max-width: 800px){
	
.business-box1{
	width:100%;
	text-align:left;
	padding: 0px 0px 20px 0;
}

.business-box2{
	width:100%;
	text-align:left;
	padding:0px 0 20px 00px;
}	
	
	
}


.ggmap {
position: relative;
padding-bottom: 30%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-bottom:50px;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


table.recruit-table{
	border-collapse:separate;
	border-spacing:20px 0;
	margin-bottom:100px;
	font-size:0.8em;
	width:100%;
}


table.recruit-table th{
	font-weight:normal;
	border-bottom:1px solid #ffffff;
	padding:15px 0;
	text-align:left;
	vertical-align:top;
	width:30%;
}


table.recruit-table td{
	padding:15px 0;
	border-bottom:1px solid #ffffff;
}


table.recruit-table tr:nth-child(1) th{
  border-top:1px solid #ffffff;
}


table.recruit-table tr:nth-child(1) td{
  border-top:1px solid #ffffff;
}



@media screen and (max-width: 800px){

table.recruit-table{
	border-collapse:collapse;
	border-spacing:0;
}

table.recruit-table th{
	font-weight:normal;
	border-bottom:none;
	padding:15px 0 5px;
	text-align:left;
	vertical-align:top;
	width:100%;
	display:block;
}


table.recruit-table td{
	padding:0 0 15px;
	border-bottom:1px solid #ffffff;
	display:block;
	width:100%;
}


table.recruit-table tr:nth-child(1) td{
  border-top:none;
}

	
	
	
}




/*contact*/




.mailform{
	width:100%;
	margin:0 auto;
}


.mailform dd{
	margin-bottom:30px;
}


.mailform dd input{
	width:100%!important;
	    border-radius: 4px;
		padding:10px 16px;
}


.mailform dd textarea{
	width:100%!important;
	height:150px!important;
	padding:10px 16px;
	border-radius: 4px;
}

div.mfp_buttons {
    clear: both;
    padding: 10px 0px;
    text-align: center;
}


div.mfp_buttons button{
	background-color:#dddddd!important;
	color:#000000!important;
	padding:10px!important;
	width:100%;
	border-radius: 4px;
	border-width: 0px;
}

div.mfp_buttons button:hover{
	background-color:#000000!important;
	color:#ffffff!important;
	cursor:pointer!important;
	padding:10px!important;
	border-width: 0px;
}



form#mailformpro dl dt {
    float: none!important;
    width: 100%!important;
    clear: both;
    font-size: 13px;
    padding: 0!important;
    text-align: left!important;
    border-top: none!important;
    margin: 0px;
}

.must {
    display: inline-block!important;
    background-color: transparent!important;
    border: none!important;
    text-shadow: none!important;
    padding: 0!important;
    font-size: 14px;
    color:#FF0000!important;
    float: none!important;
    margin: 0px 5px;
    border-radius: 0px;
    box-shadow: none!important;
    background-image: none!important;
    background-size: 100% 100%;
}

form#mailformpro dl dd {
    border-top: none!important;
    margin: 0 0 30px 0!important;
    padding: 0!important;
    font-size: 12px;
    line-height: 1.5em;
    text-align: left;
}

.mfp_colored {
    background-color: transparent!important;
}

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
    border: solid 1px #000000!important;
    border-radius: 4px!important;
    box-shadow: 0px 0px 0px #fff inset!important;
    padding: 10px 16px;
    margin: 2px;
    vertical-align: middle;
}

.mfp_element_all {
    max-width: 100%!important;
}


.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
    border-radius: 0px;
    padding: 5px 10px;
    border: solid 1px #000000;
    background: gradient(linear, center top, center bottom, from(#fff), to(#fff));
    background: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#fff));
    background: -moz-linear-gradient(top, #fff, #fff);
    background: -ms-linear-gradient(top, #fff 100%, #fff 100%);
    text-shadow: none;
    font-size: 18px;
    cursor: pointer;
    outline: none;
}


.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
    border-radius: 0px;
    padding: 5px 10px;
    border: solid 1px #000000;
    background: gradient(linear, center top, center bottom, from(#000), to(#000));
    background: -webkit-gradient(linear, center top, center bottom, from(#000), to(#000));
    background: -moz-linear-gradient(top, #000, #000);
    background: -ms-linear-gradient(top, #000 0%, #000 100%);
    text-shadow: none;
    font-size: 18px;
    cursor: pointer;
    outline: none;
	color#fff;
}



input::-webkit-input-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
input:-moz-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
input::-moz-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
input:-ms-input-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}

textarea::-webkit-input-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
textarea:-moz-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
textarea::-moz-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}
textarea:-ms-input-placeholder {
    color: #bbbbbb;
	font-family:Arial, Helvetica, sans-serif;
}




#contact p{
	font-size:0.8em;
	margin-top:30px;
}


.tel{
	text-align:center;
	font-size:1.2em;
	line-height:30px;
	margin:50px 0;
}



#thanks h4{
	text-align:center;
	margin-top:50px;
	margin-bottom:30px;
	font-size:24px;
}

#thanks p{
	text-align:center;
	margin-bottom:30px;
}

#thanks p a{
	color:#ffffff;
}

#thanks p a:hover{
	color:#ffffff;
	text-decoration:none;
}

#thanks p a:active{
	color:#ffffff;
	text-decoration:none;
}

#thanks p a:visited{
	color:#ffffff;
	text-decoration:none;
}



#price{
	background:url(../images/price-bg.png) no-repeat #efe5f0;
	background-position:25% 20px;
	padding:50px 0;
}


#recruit p{
	font-size:0.9em;
}


@media screen and (max-width: 960px) {

#contact{
	width:100%;
	margin-right:0%;
}

#recruit{
	width:100%;
}

}

/*  フッタ */
 


footer{
 padding:50px 0;
 margin:0;
 font-size:0.9em;
border-top:1px solid #ffffff;
 }
 
 footer.black-line{
	 border-top:1px solid #000000;
 }
 
.footernav-wrap{
 width:95%;
 max-width:1040px;
 margin:0 auto;
 padding:30px 0;
 text-align:center;
}


.footer-left{
	width:30%;
	text-align:left;
	font-size:0.8em;
	line-height:1.1em;
}



.footer-left img{
}

.footer-right{
	float:left;
	clear:right;
	width:70%;

}

.address-wrap{
	width:450px;
	margin-left:auto;
}

.footer-right .address1, .footer-right .address2{
	float:left;
	text-align:left;
	padding-left:50px;
	font-size:12px;
}



small{
 text-align:center;
 padding:0;
 margin:-20px auto;
 display:block;
}

small span{
 color:#000000;
}



@media screen and (max-width: 800px) {
	


.footer-left{
	float:none;
	width:100%;
}



.footer-left img{
	display:block;
	margin:0 auto;
	text-align:center;
}

.footer-right{
	float:none;
	clear:right;
	width:100%;
}


.address-wrap{
	width:100%;
	margin-right:auto;
	margin-left:auto;
}

.footer-right .address1, .footer-right .address2{
	float:left;
	width:50%;
	text-align:center;
	padding-left:0px;
	font-size:12px;
}


	
small{
 padding:10px 0 50px;
 text-align:center;
  margin:0px auto;

}
	
	
}



@media screen and (max-width: 599px) {


.footernav-wrap{
 width:100%;
}

.footer-left{
	padding:0 10px;
}





  
  
}


#page-top {
    position: fixed;
    bottom: 50px;
    right: 50px;
    font-size: 77%;
	width:51px;
	box-sizing:border-box;
}

#page-top img{
	width:100%;
}

#page-top a {
    text-decoration: none;
    color: #fff;
    width: 51px;
    padding: 0;
    text-align: center;
    display: block;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
#page-top a:hover {
    text-decoration: none;
	filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
}
