@charset "utf-8";
/* CSS Document */




/* Float Elements 
---------------------------------*/
.fl-lt {float:left;}
.fl-rt {float:right;}

/* Clear Floated Elements
---------------------------------*/
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:before,
.clearfix:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:after {
  clear: both;
}

.figure{ margin:0px;}

img{ max-width:100%;}

a, a:hover, a:active{ outline:0px !important}



@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.1.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* Primary Styles
---------------------------------*/
body {
	background:#fff;
	font-family:"游ゴシック", "YuGothic", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-size:14px;
	font-weight:normal;
	color:#888888;
	margin:0;
}


h2{
	font-size:32px;
	color:#222222;
	font-family:"FOT-筑紫A丸ゴシック Std M", "TsukuARdGothicStd-M", '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight:700;
	letter-spacing: -1px;
	text-transform:uppercase;
	margin:0 0 60px 0;
	text-align:center;
}

h3{
	font-family:"FOT-筑紫A丸ゴシック Std M", "TsukuARdGothicStd-M", '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	color: #3f3c3c;
	font-size:19px;
	margin: 40px 0 50px 0;
	text-align:center;
	text-transform:uppercase;
	font-weight:400;
	text-align:center;
	line-height: 1.7;
}

h4,h5{
	font-family:"游ゴシック", "YuGothic", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

h3.concept-line1{
	margin: 10px 0 10px 0;
	text-align: left;
	font-size: 27px;
}


.concept-lead p{
	line-height:1.9;
	margin:0 0 20px;
}

.concept-img{
	position: absolute;
	top: -60px;
	right: 90px;
	z-index: 99;
}


h3 img{
	margin: 0px;
	padding-bottom: 8px;
	border-bottom: 4px solid #FFEB33;
}


h6{
	font-size:16px;
	color:#888888;
	font-family: 'Open Sans', sans-serif;
	font-weight:400;
	text-align:center;
	margin:0 0 60px 0;
}
p{
	line-height:24px;
	margin:0;
}

img.cntr {
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* Header Styles
---------------------------------*/

.header{
	text-align:center;
	width: 100%;
	height: 100%;
	min-height: 260px;
	padding-top: 54%;
	margin: 0;
}

.headCont{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	margin: 0;
	padding: 0;
}

.logo{
	position: fixed;
	width:200px;
	margin:0;
	top: 26px;
	left: 40px;
}

.logo img{
	padding-top: 10px;	
}

.header h1{
	position: absolute;
	left: 50%;
	width: 484px;
	margin-left: -240px;
	margin-top: 18%;
	z-index: 99;
}


/* Navigation
---------------------------------*/
.fixnav{
	display: none;
}

.main-nav-outer{
	padding:20px 0 0;
	position:relative;
	background-color: rgba(255,255,255,0.85);
	opacity: 1;
}

.main-nav{
	text-align:center;
	margin:20px 0 0px;
	padding:0;
	list-style:none;
}

ul.main-nav{
	margin-bottom: 0;
}

.main-nav li{
	display:inline;
	margin:0 1px;
	padding: 5px 0;
	border-left: 1px dotted #736357;
}

.main-nav li:nth-of-type(2n+0){ 
	border-right: 1px dotted #736357;
}


.main-nav li a{
	display:inline-block;
	color:#303030;
	text-transform:uppercase;
	font-family:"FOT-筑紫A丸ゴシック Std D", "TsukuARdGothicStd-D", '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	text-decoration: none;
	margin:17px 34px;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
	font-size: 140%;
}

.main-nav li a.nav1{
	width: 140px;
	height: 33px;
}

.main-nav li a.nav2{
	width: 120px;
	height: 33px;
}


.main-nav li a:hover{ 
	text-decoration:none;
	color: #303030;
}

.main-nav li a:after {
    display: block;
    content: "";
    width: 0%;
    height: 1px;
    background-color: #4DBCBF;
    margin: 10px auto 0;
    transition: .25s ease-out;
    -webkit-transition: .25s ease-out;
    -moz-transition: .25s ease-out;
    -o-transition: .25s ease-out;
    -ms-transition: .25s ease-out;
}
.main-nav li a:hover:after {
    width: 100%;
}


.small-logo{ 
	padding:0 12px;
	display: none;
}

.main-section{
	padding:0 0 100px;
}



/* News 
---------------------------------*/

.news-section h2{
	float:left;
	font-size:20px;
	height:61px;
	margin:60px 0 0;
	padding: 0;
	width:240px;
}

.news-section h2 img{
	margin: 0;
	padding: 0;
}

.news-section ul li dl{
	margin: 0;
	padding: 0;
}

.news-section ul li dl dt {
  float:left;
  margin:0;
  padding:0 18px 0 0;
}

.news-section .container{
	border-top: 1px dotted #dddddd;
	border-bottom: 1px dotted #dddddd;
	padding: 0;
	width: 100%;
}

#news {
  padding:0 0 25px;
}

#news ul {
  float:left;
  height:1.4em;
  margin-bottom:0;
  margin-top:22px;
  overflow:hidden;
}

#news ul li {
  list-style-type:none;
  vertical-align:middle;
}


#news ul li dl dd {
  float:left;
  max-width:100%;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Services
---------------------------------*/

.service-list{
	padding:0 0 0 0;
	font-size:14px;
	margin-bottom:40px;
}
.service-list-col1{
	float:left;
	width:60px;
}
.service-list-col1 i{
	font-style:normal;
	font-size:38px;
	display:block;
	color:#222;
	font-family: 'FontAwesome';
	line-height:38px;
}
.service-list-col2{
	overflow:hidden;	
}
.main-section.alabaster{
	background:#fafafa;
}




/* Concept
---------------------------------*/
.main-section.concept{
	padding-top: 80px;
}

.concept-block{
	width:100%;
	margin:0 auto;
}
.concept-box{
	width:33.333%;
	margin-right: 0;
	margin-bottom: 3.82979%;
	padding: 0;
	overflow: hidden;
	text-align: center;
	float: left;
}

.concept-box p{
	text-align: left;
	line-height: 26px;
	padding: 20px 19px 0;
}

.concept-box h4{
	margin: 0 10px;
}



.concept-box:nth-of-type(2n+0){ margin:0;}

.concept{
	width:auto;
	height:auto;
	position:relative;
	margin:7px 0 14px 0;
}

.concept img{
	display:block;
	margin: 0 auto;
}



/* Menu
---------------------------------*/
.menu-block{
	max-width:100%;
	margin:0 auto;
}


.menu-box{
	width:33.33%;
	margin-right: 0;
	padding: 0;
	overflow: hidden;
	float: left;
	display: block;
	position: relative;
}



.menu-box p{
	margin-bottom:44px;
	padding: 0 20px;
	text-align:center
}

.menu-box span{
	margin-bottom:24px;
}

.menu-box:nth-of-type(2n+0){ margin:0;}


.menu-block h4.menu_cat{
	display: block;
	clear: both;
	margin-bottom: 15px;
}

.menu-box ul{
	margin-top:40px;
	padding: 0;
	list-style-type: none;
}

.menu-box ul li{
	margin-bottom:0px;
	background: #777777;
}

.menu{
	width:auto;
	height:auto;
	position:relative;
	margin:7px 0px 25px 0px;
	overflow: hidden;
	display:block;
}

.menu p{
	position: absolute;
	top: 40%;
	left: auto;
	width: 100%;
	color: #000000;
	font-weight: bold;
}

.menu.last p{
	position: absolute;
	top: 46%;
	left: auto;
	width: 100%;
	color: #000000;
	font-weight: bold;
}

 .menu figcaption{
 	display: none;
 }


/* menu zoom img */

.menu-box img{
	margin: 0 auto;
	padding: 0;
}

.menu-box .menu img:hover{
	-webkit-animation:  0.3s ease-out;
	animation: 0.3s ease-out;
	-webkit-transform: -webkit-scale(1.04);
	-ms-transform: -ms-scale(1.04);
	transform: scale(1.04);
	opacity: 0.5;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

.menu img{
	overflow: hidden;
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
	display: block;
}

.small{
	font-size: 84%;
}



.menu-box h4 a:hover img{
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
	opacity: 0.7;
}

.menu-box h4 a:img {
　-webkit-transition: opacity 0.3s ease-out;
　-moz-transition: opacity 0.3s ease-out;
　-ms-transition: opacity 0.3s ease-out;
　-o-transition: opacity 0.3s ease-out;
　transition: opacity 0.3s ease-out;
}


/* Company
---------------------------------*/
ul.company-list{
	list-style-type: none;
	padding: 0;
	margin: 0 auto;
}

.table.company-list > li dl{
	width: 100%;
}

.company-block{
	margin:0 auto;
	max-width:748px;
}

.company-list li dl{
	display: table;	
}

.company-list li dt{
	display: table-cell;
	border-bottom-color:#4DBCBF;
	border-bottom-style:solid;
	border-bottom-width:1px;
	width: 150px;
	font-weight: normal;
	padding: 0px 40px 16px 20px;
	vertical-align:middle;
}


.company-list li dd{
	display: table-cell;
	border-bottom-color:#D5D5D5;
	border-bottom-style:solid;
	border-bottom-width:1px;
	padding: 0 0 16px 20px;
	text-align: left;
	float: left;
	width: 100%;
    vertical-align:middle;
}


/* Googlemap
---------------------------------*/
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 43%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


/* Contact
---------------------------------*/

.main-section.contact .container .contact-sec{
	padding: 0 auto;
} 

.main-section.contact h3{
	margin: 0 0 50px;	
}

.contact-box{
	margin:0 auto;
 	max-width:346px;
}

.contact-info-box{
	font-size:15px;
	margin:0 0 20px 0px;
	padding-left:0;
	text-align: left;
}

.main-section.contact h4{
	color: #c7c7c7;
}

.contact-info-box h4{
	font-size: 15px;
	font-weight:400;
	float:left;
	width:102px;
	margin-right:12px;
	line-height:28px;
}

.contact-info-box.address a:hover{
	opacity: 0.7;
}

.contact-info-box.phone{
	margin:0 0 6px 0px;	
}

.contact-info-box span{
	line-height:28px;
	display:block;
	overflow:hidden;
}

.social-link{
	padding:10px 0;
	margin:0px;
	display:block;
	overflow:hidden;
	list-style:none;
	float: right;
}
.social-link li{
	float:left;
	margin-right:20px;
}
.social-link li a{
	display:block;
	width:50px;
	height:50px;
	text-align:center;
	line-height:50px;
	font-size:25px;
	color:#fff;
	background:#534741;
	border-radius:50%;
	transition:all 0.3s ease-in-out;
}

.social-link li a:hover, .social-link li a:focus{
	text-decoration:none;
}


.mapCont{
	position: relative;
	display:block;
}

.map-bt{
	position: absolute;
	bottom: 23px;
	right: 43px
}

.map-bt a:hover{
	opacity: 0.7;
}


.input-btn{
	width:265px;
	height:50px;
	background:#FFEB33;
	border-radius:4px;
	font-size:14px;
	text-transform:uppercase;
	color:#534741;
	font-family:"游ゴシック", "YuGothic", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight:400;
	border:0px;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
}

.input-btn:hover{
	background: #111;
	color: #fff;
}

/* Footer
---------------------------------*/
.main-section.footnav{
	padding: 0 0 20px;
}

.foot_nav{
	list-style-type:none;
	margin: 0 auto;
	padding: 0;
	max-width: 240px;
	text-align: center;
}

ul.foot_nav li{
  border-right-color:#D5D5D5;
  border-right-style:solid;
  border-right-width:1px;
  float:left;
  padding: 3px 16px;
}

ul.foot_nav li a{
  color: #666666;
}

ul.foot_nav li:nth-of-type(2n+0) {
border-right:none;
}

.footer{
	background: #eee7de;
	padding:35px 0 0;
	color: #000000;
}

.footer-logo{
	margin:15px auto 35px;
	width: 76px;
}


.footer .copyright img{
	float: left;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

.footer .copyright{
	color: #868686;
	font-size:13px;
	display: block;
	border-top: 2px solid #4dbcbf;
	background: #ffffff;
	text-align:center;
	margin: 0;
	padding: 20px 0;
	line-height: 2;
	width: 100%;
	clear: both;
}

.footer .companycont{
	float: left;
}

.footer .companycont ul{
	list-style-type: none;
	margin: 0 0 30px;
	letter-spacing: 1px;
	padding: 0 0 0 3px;
}

.footer .companycont .address{
}

.footer .companycont .address a:hover{
	opacity: 0.7;
}

.footer .companycont .tel-fax{
	padding-top: 6px;
	font-size: 130%;
}

.footer .companycont .tel-fax span{
	font-size: 120%;
}

.footer .related-companycont{
	float: right;
	width: 430px;
	margin-bottom: 15px;
}

.footer .related-companycont h4{
	margin-bottom: 8px;
}

.footer .related-companycont ul{
	list-style-type: none;
	padding-left: 0;
}

.footer .related-companycont ul li{
	float: left;
	padding-right: 30px;
}

.footer .related-companycont ul li a:hover{ 
	opacity: 0.7;
}

#pagetop {
  bottom:75px;
  position:fixed;
  right:15px;
}

#pagetop a{
	background:  url(../img/pagetop.png) no-repeat top left;
	display:block;
	height:34px;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
	width:64px;
}

#pagetop a:hover { background-position: 0 0px; }
#pagetop a:active { background-position: 0 -1px; }



.res-nav_click {
	line-height:38px;
	font-family: 'FontAwesome';
	font-size:38px;
	text-decoration: none !important;
	color:#777777;
	font-style:normal;
	display:none;
	width:42px;
	height:27px;
	margin:20px auto;
	transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-webkit-transition:all 0.3s ease-in-out;
	float: right;
}

.res-nav_click:hover, .res-nav_click:active, .res-nav_click:focus {
	color: rgb(0, 180, 156) !important;
}



/* Animation Timers
---------------------------------*/
.delay-02s { 
	animation-delay: 0.2s; 
	-webkit-animation-delay: 0.2s; 
}
.delay-03s { 
	animation-delay: 0.3s; 
	-webkit-animation-delay: 0.3s; 
}
.delay-04s { 
	animation-delay: 0.4s; 
	-webkit-animation-delay: 0.4s; 
}

.delay-05s { 
	animation-delay: 0.5s; 
	-webkit-animation-delay: 0.5s; 
}
.delay-06s { 
	animation-delay: 0.6s; 
	-webkit-animation-delay: 0.6s; 
}

.delay-07s { 
	animation-delay: 0.7s; 
	-webkit-animation-delay: 0.7s; 
}
.delay-08s { 
	animation-delay: 0.8s; 
	-webkit-animation-delay: 0.8s; 
}

.delay-09s { 
	animation-delay: 0.9s; 
	-webkit-animation-delay: 0.9s; 
}
.delay-1s { 
	animation-delay: 1s; 
	-webkit-animation-delay: 1s; 
}
.delay-12s { 
	animation-delay: 1.2s; 
	-webkit-animation-delay: 1.2s; 
}


/* hiddenContents*/
/* 隠しコンテンツのCSS */

.white-popup {
  position: relative;
  background: #ffffff;
  padding: 30px;
  width: auto;
  max-width: 960px;
  margin: 20px auto;
}

#item_tamago,
#item_tofu,
#item_cyawanmushi{
	display: table;
}

.popupitem{
	float: left;
	max-width: 280px;
	padding: 0 20px;
}

.white-popup .popupitem:nth-of-type(4){
	display: block;
	clear: both;
}

.popupitem figure{
	width: 100%;
}

.popupitem figure img {
	padding: 0 auto;
	text-align: center;
	min-height: 229px;
}

.popupitem p.type{
	font-size: 89%;
}

.popupitem h3 {
	text-transform: none;
	margin:10px 0 20px;
	color: #4DBCBF;
}

.popupitem dl{
	margin-bottom: 6px;
}

.popupitem dl dt {
	float: left;
}

.popupitem dd {
	
}



/* //hiddenContents */


/* 
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}
 
/* 
====== Newspaper effect ======
*/
.mfp-newspaper {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-newspaper .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.5s;
  transform: scale(0) rotate(500deg);
}
.mfp-newspaper.mfp-bg {
  opacity: 0;
  transition: all 0.5s;
}
.mfp-newspaper.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}
.mfp-newspaper.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-newspaper.mfp-removing .mfp-with-anim {
  transform: scale(0) rotate(500deg);
  opacity: 0;
}
.mfp-newspaper.mfp-removing.mfp-bg {
  opacity: 0;
}
 
/* 
====== Move-horizontal effect ======
*/
.mfp-move-horizontal {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-move-horizontal .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s;
  transform: translateX(-50px);
}
.mfp-move-horizontal.mfp-bg {
  opacity: 0;
  transition: all 0.3s;
}
.mfp-move-horizontal.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: translateX(0);
}
.mfp-move-horizontal.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-move-horizontal.mfp-removing .mfp-with-anim {
  transform: translateX(50px);
  opacity: 0;
}
.mfp-move-horizontal.mfp-removing.mfp-bg {
  opacity: 0;
}
 
/* 
====== Move-from-top effect ======
*/
.mfp-move-from-top {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-move-from-top .mfp-content {
  vertical-align: top;
}
.mfp-move-from-top .mfp-with-anim {
  opacity: 0;
  transition: all 0.2s;
  transform: translateY(-100px);
}
.mfp-move-from-top.mfp-bg {
  opacity: 0;
  transition: all 0.2s;
}
.mfp-move-from-top.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: translateY(0);
}
.mfp-move-from-top.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-move-from-top.mfp-removing .mfp-with-anim {
  transform: translateY(-50px);
  opacity: 0;
}
.mfp-move-from-top.mfp-removing.mfp-bg {
  opacity: 0;
}
 
/* 
====== 3d unfold ======
*/
.mfp-3d-unfold {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-3d-unfold .mfp-content {
  perspective: 2000px;
}
.mfp-3d-unfold .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform-style: preserve-3d;
  transform: rotateY(-60deg);
}
.mfp-3d-unfold.mfp-bg {
  opacity: 0;
  transition: all 0.5s;
}
.mfp-3d-unfold.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: rotateY(0deg);
}
.mfp-3d-unfold.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-3d-unfold.mfp-removing .mfp-with-anim {
  transform: rotateY(60deg);
  opacity: 0;
}
.mfp-3d-unfold.mfp-removing.mfp-bg {
  opacity: 0;
}
 
/* 
====== Zoom-out effect ======
*/
.mfp-zoom-out {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-out .mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform: scale(1.3);
}
.mfp-zoom-out.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-out.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-out.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-out.mfp-removing .mfp-with-anim {
  transform: scale(1.3);
  opacity: 0;
}
.mfp-zoom-out.mfp-removing.mfp-bg {
  opacity: 0;
}



