/*  RESET   */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* Base format */
 
html {
	font-size: 62.5%;
	height: 100%;
}

body {
  font-size: 14px;
  font-size:1.4rem;
  color: #000;
  font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho",  serif;
  font-weight: 400;
  height: 100%;
  line-height: 2;
  width: 100%;
}

p {
  margin-top: 0;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align:bottom;
}

figure {
  margin: 0;
}

li {
  margin-bottom: .5em;
}

/* margin */

.m-0 { margin: 0;}
.mt-0 { margin-top: 0;}
.mb-0 {  margin-bottom: 0px;}
.mb-5 {  margin-bottom: 5px;}
.mb-10 { margin-bottom:10px;}
.mb-20 { margin-bottom:20px;}
.mb-30 { margin-bottom:30px;}
.mb-40 { margin-bottom:40px;}
.mb-50 { margin-bottom:50px;}
.mb-60 { margin-bottom:60px;}
.mb-70 { margin-bottom:70px;}
.mb-80 { margin-bottom:80px;}
.mb-90 { margin-bottom:90px;}
.mb-100 { margin-bottom:100px;}

@media screen and (min-width: 769px) {
	.col-1 { width: 8.33333%; }
	.col-2 { width: 16.66667%; }
	.col-3 { width: 25%; }
	.col-4 { width: 33.33333%; }
	.col-5 { width: 41.66667%; }
	.col-6 { width: 48%; }
	.col-7 { width: 58.33333%; }
	.col-8 { width: 66.66667%; }
	.col-9 { width: 75%; }
	.col-10 { width: 83.33333%; }
	.col-11 { width: 91.66667%; }
	.col-12 { width: 100%; }
}

@media screen and (max-width: 768px) {
  .col-md-1 { width: 8.33333%; }
  .col-md-2 { width: 16.66667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33333%; }
  .col-md-5 { width: 41.66667%; }
  .col-md-6 {  width: 50%;}
  .col-md-7 {  width: 58.33333%;  }
  .col-md-8 { width: 66.66667%; }
  .col-md-9 { width: 75%; }
  .col-md-10 {  width: 83.33333%; }
  .col-md-11 {  width: 90%; }
  .col-md-12 {  width: 100%; } 
}


/* -------------------------------------

                common
				
--------------------------------------- */
/* status */
.inner {
	max-width:980px;
	margin:0 auto;
}

.txt_m {
	font-size:1.8rem;
}
.right { text-align: right; }
.center { text-align: center; }

@media screen and (min-width: 769px) {
	.overflow { overflow: hidden; }
	.fl-l { float: left; }
	.fl-r { float: right; }
}
@media screen and (max-width: 768px) {
	.inner {
		width:90%;
	}
	.fl-l { margin-bottom:20px; }
	.br {
		display:block;
	}
}

/* link */

a {
	outline: none;
	color:#000;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a:hover {
	text-decoration:none;
}
.opa:hover {
	opacity:0.8;
}
.blank:after {
	content:"";
	background:url(../img/common/icn_blank@2x.png);
	width:8px;
	height:8px;
	display:inline-block;
	margin-left:2px;
	background-size: contain;
}


/* title */
.ttl-type01 {
	font-size:2.8rem;
	text-align:center;
	margin-bottom:30px;
}
.ttl-type01 span {
	font-size:1rem;
	display:block;
}
.ttl-type02 {
	font-size:1.6rem;
	margin-bottom:25px;
	padding-left:20px;
	border-left:4px solid #000;
}
	

/* -------------------------------------

                header
				
--------------------------------------- */
#header_wrap {
	background:#FFF;
}
#header {
	max-width:980px;
	margin:0 auto;
	overflow:hidden;
}

#header h1.logo {
	float:left;
	z-index:1;
}
#header h1.logo a {
	display:block;
	text-align:center;
}

#header h1.logo a:hover >img {
	opacity:0.7;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.headroom {
	position: fixed;
	top:0;
	left:0;
	right:0;
	transition: all .2s linear;
	z-index:100;
}

@media screen and (min-width: 769px) {
	#header_wrap.headroom--not-top {
		background:rgba(255,255,255,0.9);
	}
	#header h1.logo {
		position:absolute;
	}
	.headroom--top #header h1.logo a {
		padding:30px 40px;
		background:#FFF;
	}
	.headroom--not-top #header h1.logo a {
		padding:5px 40px;
		
	}

	.headroom--top #header h1.logo img {
		width:100%;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	.headroom--not-top #header h1.logo img {
		width:45%;
	}

	.headroom--unpinned {
		top: -72px;
	}
	.headroom--pinned {
		top: 0;
	}
}
@media screen and (max-width: 768px) {
	#header_wrap{
		background:rgba(255,255,255,0.95);
	}
	#header {
		width:90%;
	}
	#header h1.logo a {
		padding:5px 0;
	}
	#header h1.logo img {
		width:45%;
	}
}

/* nav */
ul.nav {
	float:right;
	letter-spacing:-.40em;
}
ul.nav li {
	letter-spacing:normal;
	display:inline-block;
	margin:0;
}
ul.nav li.fb {
	font-size:1.8rem;
}
ul.nav li a {
	color:#000;
	text-decoration:none;
	padding:20px 15px;
	display:block;
	position:relative;	
}
ul.nav li.fb a {
	padding:18px 15px;
}


ul.nav li a:hover {
	opacity:0.8;
}

@media screen and (min-width: 769px) {
	ul.nav li a:before ,ul.nav li a:after {
		content:"";
		width:0;
		height:1px;
		background:#000;
		position:absolute;
		bottom:0;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	ul.nav li a:before {
		left:50%;
	}
	ul.nav li a:after {
		right:50%;
	}
	ul.nav li a:hover:before ,ul.nav li a:hover:after {
		width:50%;
	}
}
@media screen and (max-width: 768px) {
	ul.nav {
		position:absolute;
		background:rgba(255,255,255,0.95);
		top:-1000px;
		left:0;
		right:0;
		margin:auto;
		text-align:center;
		padding:15px 0;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	ul.nav.block {
		top:0;
	}
	ul.nav li {
		display:block;
	}
}

/* navボタン */
	
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	float:right;
	position: relative;
	width: 30px;
	height: 25px;
	z-index:101;
	top:15px;
	right:20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #222;
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 11px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

@media screen and (min-width: 769px) {
	.menu-trigger {
		display:none;
	}
}
/* -------------------------------------

                footer
				
--------------------------------------- */
#footer_wrap {
	background:#000;
	padding:60px 0 45px;
}
#footer {
	max-width:980px;
	margin:0 auto;
	text-align:center;
}
#footer a {
	color:#FFF;
	text-decoration:none;
}
#footer .copy {
	font-size:1rem;
	color:#999;
}
@media screen and (max-width: 768px) {
	#footer {
		width:90%;
	}
}
  
/* -------------------------------------

                main
				
--------------------------------------- */
#main {
	position:relative;
	padding-top:72px;
}
#main .visual img {
	width:100%;
	height:auto;
}
#main .takeshima{
	position:absolute;
	right:10px;
	top:82px;
}
@media screen and (max-width: 768px) {
	#main .takeshima{
		display:none;
	}
}
/* news */
#main .news {
	background:#000;
	padding:15px 0;
	color:#FFF;
	text-align:center;
	overflow:hidden;
}

.ticker {
	position:relative;
}
ul.news_list li {
    display: none;
}

@media screen and (min-width: 769px) {
	#main .news {
		position:absolute;
		bottom:15px;
		left:0;
		right:0;
		margin:auto;
	}
	#main .news h3, .ticker {
		display:inline-block;
		vertical-align: top;
	}
	.ticker {
		width:60%;
		margin-left:30px;
	}
}
@media screen and (max-width: 768px) {
	#main .news {
		width:100%;
	}
	ul.news_list li {
		width:100%;
	}
}

/* -------------------------------------

                greeting
				
--------------------------------------- */

#greeting p{
	font-size:1.6rem;
	line-height:2.2;
	margin-bottom:20px;
}

/* -------------------------------------

                course
				
--------------------------------------- */
#course .ttl_bg{
	background:url(../img/course/bg_course.jpg) no-repeat center center;
	background-size:cover;
	padding:170px 0;
	text-align:center;
}
#course .ttl_bg .ttl-type01 {
	background:rgba(255,255,255,0.9);
	padding:80px 35px;
	margin:0;
	display:inline-block;
}
.txt_intro {
	max-width:600px;
	margin:0 auto 80px;
}
.menu {
	margin-bottom:110px;
}

@media screen and (max-width: 768px) {
	#course .ttl_bg{
		padding:60px 0;
	}
}
/* tab */
ul.tab {
	letter-spacing:-.40em;
	text-align:center;
	margin-bottom:55px;
}

ul.tab li {
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
	cursor:pointer;
	border:#000 1px solid;
	padding:12px 0;
	position:relative;
	overflow:hidden;
}
ul.tab li.select {
	background:#000;
	color:#FFF;
}
ul.tab li:hover {
	color:#FFF;
}

ul.tab li:before {
	content:"";
	width:100%;
	height:100%;
	background:#000;
	position:absolute;
	z-index:-1;
	top:-100px;
	left:0;
	right:0;
	margin:auto;
	-webkit-transition: all .3s;
	transition: all .3s;
}
ul.tab li:hover:before {
	top:0;
}

ul.tab li:after {
	content:"\f107";
	font-family:FontAwesome;
	position:absolute;
	right:15px;
	line-height:0;
}

.hide {
	display:none;
}
@media screen and (min-width: 769px) {
	ul.tab li {
		min-width:300px;
		margin:0 8px;
	}
	ul.tab li:after {
		top:50%;
	}
}
@media screen and (max-width: 768px) {
	ul.tab li {
		width:30%;
		margin-right:4%;
		padding:12px 0 30px;
	}
	ul.tab li:nth-child(3) {
		margin:0;
	}
	ul.tab li:after {
		line-height:1;
		bottom:5px;
		right:0;
		left:0;
		margin:auto;
	}
}

/* menu_list */
ul.menu_list dl {
	overflow:hidden;
	border-bottom:#999 1px dotted;
	padding:20px 0;
	margin:0;
}
ul.menu_list dt {
	float:left;
	width:85%;
}
ul.menu_list.list_s dt{
	width:100%;
}
ul.menu_list dt h4 {
	font-size:1.8rem;
	font-weight:bold;
	margin-bottom:10px;
}
ul.menu_list.list_s h4 {
	font-size:1.6rem;
}

ul.menu_list dt p {
	max-width:700px;
}

ul.menu_list dt p.sub {
	color:#666;
}

ul.menu_list dd {
	float:right;
}
@media screen and (min-width: 769px) {
	ul.menu_list dt h4 span {
		float:right;
	}
}
@media screen and (max-width: 768px) {
	ul.menu_list dt h4 {
		font-size:1.6rem;
	}
	ul.menu_list dt h4 span {
		display:block;
	}
	ul.menu_list dt {
		width:70%;
	}
	ul.menu_list dd {
		width:25%;
	}
}

/* loopslider */

#loopslider {
    margin: 0 auto;
    width: 100%;
    height: 267px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

ul.dish {
    float: left;
    display: inline;
    overflow: hidden;
	position:relative;
}

ul.dish li {
    float: left;
}
@media screen and (max-width: 768px) {
	#loopslider {
		height:134px;
	}
	ul.dish li img {
		width:200px;
	}
}

/* -------------------------------------

                access
				
--------------------------------------- */
#access .overflow {
	max-width:700px;
	margin:0 auto 40px;
}

#access h3 {
	font-size:1.6rem;
}
ul.time dl {
	letter-spacing:-.40em;
}
ul.time dt, ul.time dd {
	letter-spacing:normal;
	display:inline-block;
	vertical-align:top;
}
ul.time dt {
	width:18%;
}
ul.time dd {
	width:82%;
}

@media screen and (min-width: 769px) {
	#access .fl-r {
		border-left:1px solid #DDD;
		padding-left:45px;
		width:70%;
	}
}

@media screen and (max-width: 768px) {
	#access .fl-l {
		text-align:center;
	}
}

/* -------------------------------------

                recruit
				
--------------------------------------- */
#recruit .fl-l, #recruit .fl-r {
	border:2px solid #000;
	width:36%;
	padding:50px 5%;
}

@media screen and (min-width: 769px) {
	#recruit .overflow {
		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;
	}
	#recruit .fl-r {
		margin-left:70px;
	}
}
@media screen and (max-width: 768px) {
	#recruit .fl-l, #recruit .fl-r {
		width:90%;
	}
}
/* recruit_list */
ul.recruit_list dl {
	border-bottom:#999 1px dotted;
	overflow:hidden;
	padding:12px 0;
}

@media screen and (min-width: 769px) {
	ul.recruit_list dt, ul.recruit_list dd {
		float:left;
	}
	ul.recruit_list dt {
		width:18%;
		margin-right:20px;
	}
	ul.recruit_list dd {
		width:76%;
	}
}
@media screen and (max-width: 768px) {
	ul.recruit_list dt {
		font-weight:bold;
	}
}

/* -------------------------------------

                contact
				
--------------------------------------- */
#contact {
	background:url(../img/contact/bg_contact.jpg) no-repeat center center;
	background-size:cover;
	padding:80px 0;
	text-align:center;
	color:#FFF;
}
#contact .tel {
	display:inline-block;
	border:#FFF 2px solid;
	font-size:3.6rem;
	line-height:1.6;
	margin-bottom:10px;
}
#contact .tel span {
	font-size:1.4rem;
	display:block;
}
#contact a {
	color:#FFF;
}
@media screen and (min-width: 769px) {
	#contact .tel {
		padding:15px 75px;
	}
	#contact .sp-tel {
		display:none;
	}
}
@media screen and (max-width: 768px) {
	#contact .pc-tel {
		display:none;
	}
	#contact .tel {
		width:100%;
	}
	#contact .sp-tel a{
		padding:15px 0;
		width:100%;
		display:block;
		color:#FFF;
		text-decoration:none;
	}
	#contact .sp-tel a:hover {
		background:rgba(255,255,255,0.2);
	}
}