
/* ========================================================== */
/* 			            01. GENERAL LAYOUT                    */
/* ========================================================== */
	
ul, ol { list-style: none; list-style-image: none; margin: 0; padding: 0;
	color:#777;
	font-size: 14px;
	line-height:24px;
	margin-bottom:20px;
}
	
ul li, ol li{
	font-size: 14px;
	line-height: 28px;
}

ul li i{
	vertical-align: middle;
}

p {
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
	color: #777;
	margin-bottom:25px;
}

a,
a:hover,
a:focus {
	text-decoration: none;
	outline: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 700;
  letter-spacing:2px;
}

h1.top-copy{
	font-size:30px;
		line-height: 1.8;
	color: #000000;
	margin:80px 0 50px;
	text-align: center;
	  letter-spacing:0;
}

h1.top-copy2{
	font-size:25px;
		line-height: 2;
	color: #000000;
	margin:50px;
	text-align: center;
	  letter-spacing:0;
}

h1.top-copy3{
	font-size:25px;
		line-height: 1.5;
	color: #000000;
	margin:60px 0 30px;
	text-align: center;
	  letter-spacing:0;
}

h2.section-title{
	color: #000;
    font-size: 25px;
    line-height: 1.8;
	margin-top: 30px;
}

h2.section-title02{
	color: #000;
    font-size: 25px;
    line-height: 1.2;
	margin-top: 30px;
	border-left: solid 10px #D01235;
	display: inline-block;
	padding-left: 10px;
}

h2.section-title03{
	color: #000;
    font-size: 25px;
    line-height: 1.2;
	margin-top: 30px;
	border-left: solid 10px #1489CA;
	display: inline-block;
	padding-left: 10px;
}

p.section-txt{
	color: #000;
    font-size: 16px;
    line-height: 1.5;
	text-align: left;
	letter-spacing: 1px;
	margin-top: 30px;
}

h5.comic-text{
	font-size:14px;
	line-height:1.5;
	color:#D01235;
	  font-weight: 500;
}
h5.comic-text02{
	font-size:14px;
	line-height:1.5;
	color:#1489CA;
	  font-weight: 500;
}

h3.section-title{
	font-size:35px;
	line-height: 1.5;
	color: #fff;
	position:relative;
	padding-bottom:10px;
	text-align: center;
}

h3.section-title:after{
	position: absolute; content: "";
	background-color: #fff;
	height: 3px;
	width: 20%;
	bottom: -1px;
	left: 40%;
}
h4.section-subtitle{
	color: #fff;
    font-size: 18px;
    line-height: 1.8;
	text-align: center;
	margin-bottom: 50px;
}

h4.section-subtitle02{
	position:relative;
	color: #D01235;
    font-size: 20px;
    line-height: 1.2;
	margin: 30px 0 0;
}
h4.section-subtitle02:after{
	position: absolute; content: "";
	background-color: #D01235;
	height: 1px;
	width: 100%;
	bottom:-10px;
	left: 0;
}

h3.section-title02{
	font-size:32px;
	line-height:1;
	color: #000;
	margin: 20px 0 30px;
/*		border-right: solid 1px #D01235;*/

	border-left: solid 20px #D01235;
	display: inline-block;
	padding-left: 10px;
}


.recruitcopy {
	font-size: 18px;
	line-height: 2.3;
	font-weight: 600;
	color: #000;
	text-align: center;
	letter-spacing:1.5px;
}


.recruitcopy2 {
	font-size: 18px;
	line-height: 2;
	font-weight: 600;
	color: #000;
	text-align: center;
}


iframe{
	max-width:100%;
	border:none;
	-webkit-filter: grayscale(1);
　filter: grayscale(1);
}

.width-100 {
	width: 100%;
}

.medium {
	font-weight: 400;
}

.bold {
	font-weight: 700;
}


/* margin and padding classes */

.margin-right-25 {
	margin-right: 25px !important;
}

.margin-top-110 {
	margin-top: 110px !important;
}

.margin-top-100 {
	margin-top: 100px !important;
}

.margin-top-90 {
	margin-top: 90px !important;
}

.margin-top-80 {
	margin-top: 80px !important;
}

.margin-top-70 {
	margin-top: 70px !important;
}

.margin-top-60 {
	margin-top: 60px !important;
}

.margin-top-50 {
	margin-top: 50px !important;
}

.margin-top-40 {
	margin-top: 40px !important;
}

.margin-top-30 {
	margin-top: 30px !important;
}

.margin-top-20 {
	margin-top: 20px !important;
}

.margin-top-10 {
	margin-top: 10px !important;
}

.margin-top-5 {
	margin-top: 5px !important;
}

.margin-top-0 {
	margin-top: 0px !important;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

.margin-bottom-10 {
	margin-bottom: 10px !important;
}

.margin-bottom-20 {
	margin-bottom: 20px !important;
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-40 {
	margin-bottom: 40px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.margin-bottom-60 {
	margin-bottom: 60px !important;
}

.margin-bottom-70 {
	margin-bottom: 70px !important;
}

.margin-bottom-80 {
	margin-bottom: 80px !important;
}

.margin-bottom-90 {
	margin-bottom: 90px !important;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

.margin-bottom-110 {
	margin-bottom: 110px !important;
}

.margin-bottom-120 {
	margin-bottom: 120px !important;
}

.margin-bottom-130 {
	margin-bottom: 120px !important;
}

.margin-bottom-140 {
	margin-bottom: 140px !important;
}

.padding-top-0 {
	padding-top: 0px !important;
}

.padding-top-10 {
	padding-top: 10px !important;
}

.padding-top-20 {
	padding-top: 20px !important;
}

.padding-top-30 {
	padding-top: 30px !important;
}

.padding-top-40 {
	padding-top: 40px !important;
}

.padding-top-50 {
	padding-top: 50px !important;
}

.padding-top-60 {
	padding-top: 60px !important;
}

.padding-top-70 {
	padding-top: 70px !important;
}

.padding-top-80 {
	padding-top: 80px !important;
}

.padding-top-90 {
	padding-top: 90px !important;
}

.padding-top-100 {
	padding-top: 100px !important;
}

.padding-top-110 {
	padding-top: 110px !important;
}

.padding-bottom-110 {
	padding-bottom: 110px !important;
}

.padding-bottom-100 {
	padding-bottom: 100px !important;
}

.padding-bottom-90 {
	padding-bottom: 90px !important;
}

.padding-bottom-80 {
	padding-bottom: 80px !important;
}

.padding-bottom-70 {
	padding-bottom: 70px !important;
}

.padding-bottom-60 {
	padding-bottom: 60px !important;
}

.padding-bottom-50 {
	padding-bottom: 50px !important;
}

.padding-bottom-40 {
	padding-bottom: 30px !important;
}

.padding-bottom-30 {
	padding-bottom: 30px !important;
}

.padding-bottom-20 {
	padding-bottom: 20px !important;
}

.padding-bottom-10 {
	padding-bottom: 10px !important;
}

.padding-bottom-0 {
	padding-bottom: 0px !important;
}



/* ========================================================== */
/* 			                02. HEADER                        */
/* ========================================================== */


#navbar-collapse-02 li.selected a{
    color: #1489CA!important;
}

#navbar-collapse-02 .current a {
    color: #1489CA!important;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top {background-color: #fff!important;transition: all 0.25s ease-in-out;}
.navbar-fixed-top.opaque {background-color: #fff!important;transition: all 0.25s ease-in-out;}


.navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > a:hover{
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}


/* ========================================================== */
/* 			                03. FOOTER                        */
/* ========================================================== */

.footer{
	width:100%;
/*	position:relative;*/
	margin: 0 auto;
	padding:65px 0 15px 0;
}

.footer h4{
	font-size:16px;
	position:relative;
	padding-bottom:20px;
	color: #333;
}

.footer h4::after{
	position: absolute;
	content: "";
	background-color: #D01235;
	height: 3px;
	width: 40px;
	bottom: 5px;
	left: 0;
}

p.contact_info{
	margin-bottom:8px;
	font-size:14px;
	line-height:20px;
}

p.contact_info a{
	margin-bottom:8px;
	font-size:14px;
	line-height:20px;
}

p.contact_info i{
	font-size:18px;
	padding-right:5px;
	vertical-align: middle;
}

.footer p, .footer a {
	color: #333;
}

.footer-bottom{
	padding:30px 50px;
	background-color: #000;
}

a.top-scroll {
	position:relative;
	padding:7px 14px;
	font-size:20px;
	line-height:20px;
	color:#000!important;
	background-color: #fff;
    border-color: #F2B410;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

a.top-scroll:before {
	display: block;
	content: '';
	position: absolute;
	top: 3px;
	right: 3px;
	bottom: 3px;
	left: 3px;
	border: 2px solid #000;
}

a.top-scroll:hover {
	background-color: #C7C7C7;
}

.footer-bottom p {
	color: #fff;
	font-size: 11px;
	font-weight: 300;
	letter-spacing: 0.5px;
	margin: 0;
}

/* ========================================================== */
/* 			              04. HERO SECTIONS                   */
/* ========================================================== */

.home-hero-section{
	margin-top:78px;
}

.image-section{
	width:100%;
	position:relative;
	background: url("../images/backimg_01.jpg");
	background-position: center center;
    background-repeat: no-repeat;
	background-attachment: fixed;
    background-size: cover;
	margin: 0 auto;
	padding:190px 0 140px 0;
}

.image-section .image-overlay{
	background: rgba(0,0,0,0.25);
	position: absolute;
	z-index:10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.image-section-inside{
	position:relative;
	z-index:100;
}

.image-section02{
	width:100%;
	position:relative;
	background: url("../images/backimg_02.jpg") 50% 0 no-repeat fixed;
    background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 120px 0;
}

.image-section02 .image-overlay{
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
	z-index:10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.image-section03{
	width:100%;
	position:relative;
	background: url("../images/backimg_03.jpg");
	background-position: center center;
    background-repeat: no-repeat;
	background-attachment: fixed;
    background-size: cover;
	margin: 0 auto;
	padding:50px 0;
}

.image-section03 .image-overlay{
	background: rgba(0,0,0,0.25);
	position: absolute;
	z-index:10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.recruit-hero-section{
	width:100%;
	position:relative;
	background: url(../images/hero_bg_recruit.jpg);
	background-position: center center;
	background-repeat: no-repeat;
    background-size: cover;
	margin: 60px auto 0;
	padding: 190px 0 150px 0;
}
.recruit-hero-section .image-overlay{
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
	z-index:10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

.contact-hero-section{
	width:100%;
	position:relative;
	background: url(../images/hero_bg_contact.jpg) 50% top no-repeat fixed;
    background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 210px 0 90px 0;
}

.contact-hero-section .image-overlay{
	background: rgba(0,0,0,0.25);
	position: absolute;
	z-index:10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}
/* ========================================================== */
/* 					  経営理念--top-item                   */
/* ========================================================== */

.top-item{
	position:relative;
	text-align:center;
	margin-bottom:20px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
		padding:1px 15px 20px;
}

.top-item-inner{
	position: absolute;
	top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  width: 100%;
}

.top-item img {
  width: 100%;
}

h6.top-item-title{
  font-size: 25px;
  color: #000000;
  margin-bottom: 18px;
  padding:0;
  letter-spacing:0;
}
span.point01{
	color: #D01235;
}

.top-item-inner p{
  font-size: 16px;
  color: #000;
  line-height: 1.7;
  margin:0;
  padding-bottom: 15px;
  font-weight: bold;
}

/* ========================================================== */
/* 						   services-item                      */
/* ========================================================== */

.services-item{
	position:relative;
	text-align:center;
	margin-bottom:30px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}

.services-item-inner{
	padding:1px 25px 20px 25px;
}

h6.services-title{
	font-size: 18px;
	margin-top:20px;
	margin-bottom:1px;
}

.image-wrapper {
  display: inline-block;
  position: relative;
}

.image-wrapper:before {
  display: block;
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border: 1px solid rgba(255, 255, 255, 0.7);
}


/* ========================================================== */
/* 		    〜経営理念〜Our services事業内容〜背景設定             */
/* ========================================================== */

.section_top{
	padding:50px 0;
}

.section-bg{
	padding:30px 0;
	margin: 0px auto;
	position:relative;
	background-image: url("../images/section_bg01.png");
	background-repeat: no-repeat;
	background-position:center center;
}

.section-bg:after{
	position: absolute; content: "";
	background-color: #000;
	height: 1px;
	width: 80%;
	bottom:0;
	left: 10%;
}

.section-bg02{
	padding:30px 0;
	margin: 30px auto 0;
	width: 90%;
}

.section-bg03{
	padding:40px 0;
	border-bottom: 1px solid #000;
		width: 90%;
	margin: 0 auto;
}

.section-bg_recruit{
	padding:50px 0;
	background-image: url("../images/section_bg_recruit.png");
/*	background-attachment: fixed;*/
	background-repeat: no-repeat;
	background-position:center center;
	margin: 0;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/* ========================================================== */
/* 		                 company 会社概要                       */
/* ========================================================== */

/* 会社概要テーブル */
.company_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #fff;
}

.company_table td,
.company_table th {
  padding: 22px 20px;
}

.company_table th {
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  color: #fff;
	border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
	white-space: nowrap;
}
.company_table td {
  font-size: 15px;
  font-weight: bold;
  text-align: left;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.company_table td:last-child {
  border-right: 0;
}
.company_table a{
color:#FFF;
    text-decoration:none;
}

/* ========================================================== */
/* 		                  recruit 採用ページ                   */
/* ========================================================== */

/* 応募要項テーブル */
.recruit_table {
			background-color: #ffffff;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #000;
  margin-bottom: 50px;
	padding: 5px;
}

.recruit_table td,
.company_table th {
  padding: 13px 20px;
}

.recruit_table th {
  font-size: 15px;
  text-align: center;
  color: #000;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  white-space: nowrap;
}

.recruit_table td {
  font-size: 15px;
  text-align: left;
  color: #000;
  border-bottom: 1px solid #000;
}

.recruit_table td:last-child {
  border-right: 0;
}

.btn01 a {
  background-color: #000;
  color: #fff;
  font-size: 110%;
  font-weight: 700;
  padding: 12px 30px;
  border-radius: 30px;
  transition: all 0.3s;
  display: block;
  text-align: center;
  margin: 0 auto 20px;
  width: 50%;
  }

.btn01 a:hover {
  opacity: 0.7;}

.btn01 p {
	color: #000;
	padding: 0;
	text-align: center;
	margin-bottom: 50px;
}

/* --------------------------------------- */
/*    バナー*/
/* --------------------------------------- */
.banner01 {
	text-align: center;
	display: block;
	margin-bottom: 50px;
}
.banner01 a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
/*
.banner01 p {
	color: #000;
	padding-top: 5px;
}
*/

 @media screen and (max-width: 840px) {	
.banner01 {
	margin-bottom: 20px;
}
.banner01 img {
	width: 90%;
	}
}

/* ========================================================== */
/* 		    top動画            */
/* ========================================================== */

.topimg2 {
	position: relative;
	height: 100%;
	overflow: hidden;
}

video{
	width: 100%;
}
 @media screen and (max-width: 1080px) {
.topimg2 {
	top:0;
 height: 100%;
    width: auto;
	 }
}

/* ========================================================== */
/* 		    Background Images - max-width: 1024px             */
/* ========================================================== */

@media only screen and (max-width: 1024px) {
	.image-section, .featured-menu-section, .home-menu-section, .first-menu-section, .menu-hero-section, .about-hero-section, .gallery-hero-section, .works-hero-section,.company-hero-section, .recruit-hero-section, .reservation-hero-section, .hero-gallery-section, .contact-hero-section, .contact2-hero-section, .footer {
		background-attachment: scroll!important;
		background-size: cover!important;
		background-repeat: no-repeat!important;
	}
}

/* ========================================================== */
/* 					    19. MOBILE DEVICES                    */
/* ========================================================== */


@media handheld, only screen and (max-width: 800px) {

	h2.section-title02::after{
	width: 60%;
		left: 20%;}

	h1.top-copy{
	font-size:20px;
	line-height: 1.8;
	margin:0 0 30px;
}
	h1.top-copy2{
	font-size:20px;
		line-height: 1.8;
	margin:40px 0 30px;
}
	
	p.section-txt{
    font-size: 16px;
    line-height: 1.9;
	letter-spacing: 1px;
}
		
.section-bg{
	padding:20px 0;
}
	
.company_table {
margin-left: 0;
}

h3.section-title{
	font-size:30px;
	line-height: 1;
}	
	
h3.section-title02{
	font-size:22px;
	line-height:1;
	margin: 20px 0;
	border-left: solid 10px #D01235;
	padding-left: 5px;
}	

h4.section-subtitle02{
    font-size: 19px;
	margin-top: 20px;
}
h4.section-subtitle02:after{
	bottom:-8px;
}

h2.section-title03{
    font-size: 21px;
    line-height: 1;
	padding-left: 5px;
}
h5.comic-text02{
	font-size:13px;
	margin: 0;
}
h2.section-title02{
    font-size: 21px;
    line-height: 1;
	padding-left: 5px;
}
h5.comic-text{
	font-size:13px;
	margin: 0;
}	
p.section-txt{
    font-size: 16px;
    line-height: 1.5;
	letter-spacing: 1px;
	margin-top: 20px;
}	
.recruit-hero-section{
	margin: 20px auto 0;
}	
	
h1.top-copy3{
	font-size:22px;
	margin:0 0 20px;
}	
	
.recruitcopy {
	font-size: 16px;
	line-height: 2.1;
}

.recruitcopy2 {
	font-size: 16px;
	line-height: 2;
}	
	
.btn01 a {
	width: 90%;
	margin:0 auto 30px;
	font-size: 90%;
	}	

.btn01 p {
	font-size: 90%;
	margin-bottom: 30px;
}	
	
.footer{
	padding:35px 0 15px 0;
}
	
.footer-bottom{
	padding:0 30px 30px 20px;
	background-color: #000;
}

.footer-bottom p {
	padding:20px 0 0;
	line-height: 1.5;
}
	
	
}