@charset "UTF-8";
/*-----------------------------------------------
common.css
-----------------------------------------------*/
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,
p,blockquote {
    margin:0;
    padding:0;
	box-sizing: border-box;
}

fieldset,img {
    border:0;
}

address,caption,cite,code,dfn,em,th,var {
    font-style:normal;
    font-weight:normal;
}

input,textarea,select{
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    vertical-align:middle;
}

select,input,button,textarea{
    font-size:99%;
    font-family:Arial,Helvetica,sans-serif;
}

ol,ul {
    list-style:none;
}

caption,th {
    text-align:left;
}

h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}

a,object{
    outline:none;
    border:none;
}

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

a:link,
a:visited{
    text-decoration:none;
	color: #1e90ff;
}

a:hover,
a:active{
    text-decoration:underline;
	cursor: pointer;
}

dl,dt,dd {
	vertical-align: top;
}

/*-----------------------------------------------
Common
-----------------------------------------------*/
body{
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.5;
	-webkit-text-size-adjust: 100%;
}

.inner {
	position: relative;
}

.fl {
	float: left;
}

.fr {
	float: right;
}
	@media screen and (min-width: 769px) {
		body {
			font-size: 16px;
		}
		
		.inner {
			width: 1000px;
			margin: 0 auto;
		}		
	}

	@media screen and (max-width: 768px) {
		body {
			font-size: 14px;
		}
		
		.inner {
			padding: 0 10px;
		}
	}

/*-----------------------------------------------
header
-----------------------------------------------*/
.common .logo02 li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	width: 100%;
	vertical-align: middle;
}

	@media screen and (min-width: 769px) {
		#header {
			padding: 80px 0 16px;
			position:relative;
		}
		
		.common .logo01 {
			position: absolute;
			left: 20px;
			top: 5px;
		}
		.common .logo02 {
			text-align: right;
			padding: 0 0 0 250px;
		}
		
		.common .logo02 li {
			width: 16%;
			margin: 0 24px 0 0;
		}		
	}

	@media screen and (max-width: 768px) {
		#header {
			padding: 0 0 10px;
		}
		
		.common .inner {
			padding: 0;
		}
		
		.common .logo01 {
			text-align: center;
			background: #a41109;
			padding: 14px 0;
		}
		
		.common .logo01 img {
			width: 80%;
		}
		
		.common .logo02 {
			text-align: center;
			margin: 16px 0;
		}
		
		/*
		.common .logo02 li:first-child img {
			width: 35%;
			margin: 0 0 4px;
		}
		
		.common .logo02 li:not(:first-child) {
			width: 40%;
			padding: 0 5px;
		}	
		*/	
		
		.common .logo02 li{
			width: 40%;
			padding: 0 5px;
		}
	}

/*-----------------------------------------------
gNavi
-----------------------------------------------*/
#gNavi {
	background: #a7130a;
}

#gNavi li a {
	display: block;
	font-size: 17px;
	color: #fff;
}

	@media screen and (min-width: 769px) {
		#gNavi {
			width: 100%;
			/*position: fixed;*/
			position: absolute;
			top: 0;
			z-index: 900;
		}
		
		#gNavi .navWrap {
			width: 1000px;
			border-right: 1px solid #fff;
			margin: 0 auto;
		}
		
		#gNavi .nav {
			display: table;
			width: 100%;
		}
		
		.navWrap .btn {
			display: none;
		}
		
		.navWrap li {
			display:table-cell;
			border-left: 1px solid #fff;
			background: #a7130a;
			transition: background-color 0.5s;
			padding: 16px 0 12px;
		}
		
		.navWrap li:hover {
			background: #db170b;
			transition: background-color 1.0s;
		}
		
		.navWrap li a {
			display: block;
			width: 100%;
			height: 100%;
			background: url(../img/common/ico_arrow01.png) no-repeat left 10px center;
			padding: 0 10px 0 34px;
		}
		
		.navWrap li a:hover {
			text-decoration: none;
		}		
	}

	@media screen and (max-width: 768px) {
		.navWrap .btn {
			font-size: 18px;
			color: #fff;
			font-weight: bold;
			text-align: center;
			border-bottom: 5px solid #c05953;
			padding: 10px 0;
		}
		
		.navWrap .toggle li {
			text-align: center;
			border-top: 1px solid #fff;
		}
		
		.navWrap .toggle li a {
			padding: 10px 0;
		}		
	}

/*-----------------------------------------------
mainvisual
-----------------------------------------------*/
#mainvisual {
	background: #d9d7d9;
	margin: 0 0 20px;
}

#career #mainvisual {
	background: #fff;
}

#mainvisual .inner {
	background-position: center top;
}

	@media screen and (min-width: 769px) {
		.slide li {
			height: 501px!important;
		}
		
		#mainvisual .inner {
			background-position: right top!important;
		}
		
		#mainvisual .pagetit {
			padding: 26px 0 26px 17px;
		}
	}

	@media screen and (max-width: 768px) {
		#mainvisual {
			height: 100%;
		}
		
		.slide li {
			height: 30%!important;
		}
		
		#mainvisual .pagetit {
			text-align: center;
			padding: 20px 0;
		}
		
		#mainvisual .pagetit img {
			height: 60%;
		}
		
		#mainvisual .inner{
			background-size: cover;
			padding: 0;
		}
	}

/*-----------------------------------------------
footer
-----------------------------------------------*/
	@media screen and (min-width: 769px) {
		#footer {
			border-bottom: 48px solid #a7130a;
		}
		
		.fNavi {
			border-top: 1px solid #CCC;
			padding: 13px 0 25px;
			margin: 20px 0 0;
		}
		
		.fNavi li {
			display: inline-block;
			*display: inline;
			*zoom: 1;
		}
		
		.fNavi li:not(:first-child) {
			border-left: 1px solid #000;
			padding: 0 3px 0 6px;
		}
		
		.fNavi li:first-child {
			padding: 0 3px 0 10px;
		}
		
		.fNavi li a {
			color: #000;
		}		
	}

	@media screen and (max-width: 768px) {
		.fNavi {
			display: none;
		}		
	}

/*-----------------------------------------------
main
-----------------------------------------------*/
#main {
}

	@media screen and (min-width: 769px) {
		.sp {
			display: none;
		}
		
		.toggle {
			display: block!important;
		}
	}

	@media screen and (max-width: 768px) {
		.pc {
			display: none;
		}
		
		.toggle {
			display: none;
		}
	}

/* トップページ
------------------------------------ */

/* topNews */
.topNews {
	border: 3px solid #dcdddd;
	margin: 0 0 10px;
}

.newsTit {
	font-size: 28px;
	color: #fff;
	font-weight: bold;
	background: #c9caca;
	padding: 0 0 0 5px;
}

.topNewsList {
	padding: 10px;
}

.topNewsList li {
	text-align:center;
}

.topNewsList img {
	margin: 0 auto 6px;
}

.topNewsList .tit {
	font-size: 13px;
	color: #e60012;
}

.topNewsList .date {
	font-size: 10px;
}

/* menu */
.menuList {
	text-align: center;
}

.menuList li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	margin: 0 0 10px;
}

	@media screen and (min-width: 769px) {
		.topNews {
			padding: 0 0 10px!important;
			margin: 0 0 30px;
		}
		
		.topNewsList li {
			margin: 0 10px;
		}
		
		.menuList {
			margin: 0 0 80px;
		}
	}

	@media screen and (max-width: 768px) {
		.topNewsList {
			padding: 10px 5px;
		}
		
		.topNewsList li {
			margin: 0 5px;
		}
		
		
		/*.menuList li:nth-child(2),
		.menuList li:nth-child(3) {
			width: 49.2%;
		}
		
		.menuList li:nth-child(2) {
			text-align: right;
		}
		
		.menuList li:nth-child(3) {
			text-align: left;
		}	
		*/	
	}

/*-----------------------------------------------
下層ページ
-----------------------------------------------*/
.title01 {
	font-size: 32px;
	color: #a41109;
	font-weight: bold;
	text-align: center;
	border-top: 1px solid #a41109;
	border-bottom: 1px solid #a41109;
	padding: 5px 4px;
	margin: 0 0 20px;
}

	@media screen and (min-width: 769px) {
		.section {
			padding: 0 0 40px;
		}
		
		.secondInner {
			padding: 0 60px;
		}		
	}

	@media screen and (max-width: 768px) {
		.section {
			padding: 0 0 30px;
		}	
		
		.title01 {
			font-size: 20px;
			padding: 1px 4px;
			margin: 0 -10px 10px;
		}
	}

/* company
------------------------------------ */
.table01 {
	border-collapse: collapse;
}

.table01 th,
.table01 td {
	border: 1px solid #3D3938;
}

.table01 th {
	text-align: center;
	background: #CCFFFF;
}

.table01 td div {
	margin: 0 0 1rem;
}

	@media screen and (min-width: 769px) {
		.table01 {
			width: 70%;
		}
		
		.table01 th,
		.table01 td {
			padding: 20px;
		}
		
		.table01 th {
			width: 30%;
		}
		
		.sideTit {
			width: 170px;
			float: left;
			font-size: 22px;
			color: #a41109;
			font-weight: bold;
			text-align: center;
			letter-spacing: 2px;
			border-bottom: 1px solid #a41109;
			padding: 0 0 4px;
			margin: 0 15px 0 0;
		}	
		
		.table01-01 th {
			letter-spacing: .5em;
		}
	}

	@media screen and (max-width: 768px) {
		.table01 {
			width: 100%;
		}
		
		.table01 th,
		.table01 td {
			padding: 8px;
		}
		
		.table01 th {
			width: 85px;
		}
		
		.table01-02 th {
			width: 65px;
		}
				
		.sideTit {
			font-size: 21px;
			color: #a41109;
			font-weight: bold;
			text-align: center;
			border-top: 1px solid #a41109;
			border-bottom: 1px solid #a41109;
			padding: 0 4px;
			margin: 0 0 10px;
		}		
	}

/* feature
------------------------------------ */
#feature .tit {
	margin: 0 0 10px;
}

	@media screen and (min-width: 769px) {
		#feature .section:nth-of-type(1) .tit img { width: 495px;}
		#feature .section:nth-of-type(2) .tit img { width: 475px;}
		#feature .section:nth-of-type(3) .tit img { width: 356px;}
		
		#feature .section .fr {
			width: 434px;
			margin: 0 0 0 10px;
		} 		
	}

	@media screen and (max-width: 768px) {
		#feature .section .tit img { width: 92%;}
		#feature .section:nth-of-type(3) .tit img { width: 75%;}
		
		#feature .section .fr {
			margin: 0 0 10px;
		}		
	}
	
/* hall
------------------------------------ */
#hall .archiveTit img {
	vertical-align: middle;
}

#hall .archiveTit span {
	border: 1px solid #333;
	padding: 3px 10px;
	margin: 0 0 0 20px;
}

.hallList02 {
	font-size: 0;
}

.hallList02 > li {
	font-size: 14px;
	vertical-align: top;
}

.hallList02 .tit {
	font-size: 21px;
	color: #fff;
	font-weight: bold;
	background: #a41109;
	padding: 6px 0;
}

.hallList02 .hall-himawari .tit {
	background: #f27d00;
}

.hallList02 .hall-h-himawari .tit {
	background: #fab607;
}

.hallList02 .wrap {
	border: 1px solid #a41109;
	background: #f6e7e6;
}

.hallList02 .hall-himawari .wrap {
	border: 1px solid #f27d00;
	background: #fce1c4;
}

.hallList02 .hall-h-himawari .wrap {
	border: 1px solid #fab607;
	background: #f7e5bc;
}

.hallList02 .box {
	background: #fff;
	border: 1px solid #CCC;
	border-radius: 10px;
	padding: 10px;
	margin: 10px;
}

.hallList02 table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 10px;
}

.hallList02 th,
.hallList02 td {
	font-size: 12.5px;
	line-height: 1.2;
	border: 1px solid #999;
	padding: 4px;
}

.hallList02 th {
	width: 25%;
	text-align: center;
	padding: 4px;
}

.hallList02 th img {
	vertical-align: middle;
}

.hallList02 .icoList {
	font-size: 0;
	margin: 0 0 4px;
}

.hallList02 .icoList li,
.hallList02 .btnList li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

.hallList02 .icoList li img,
.hallList02 .btnList li img {
	width: 100%;
}

.hallList02 .imgWrap {
	width: 100%;
	margin: 4px 0 10px;
	position: relative;
}

.hallList02 .imgWrap img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

	@media screen and (min-width: 769px) {
		#hall .archiveTit {
			margin: 0 0 40px;
		}
		
		.hallList02 > li {
			width: 32.1%;
			display: inline-block;
			*display: inline;
			*zoom: 1;
			margin: 0 10px 10px 0;
		}
		
		.hallList02 .icoList li {
			width: 41px;
			margin: 0 2px 0 0;
		}
		
		.hallList02 .btnList li {
			width: 75px;
		}
		
		.hallList02 .tit {
			text-align: center;
		}
		
		#hall .mapWrap {
			border: 3px solid #CCC;
			padding: 20px 30px 30px 10px;
			margin: 0 0 14px;
		}
		
		#hall .mapWrap .fr {
			width: 615px;
		}
		
		#hall .mapWrap .fr img {
			margin: 0 0 16px;
		}
		
		#hall .archiveTit img {
			width: 166px;
		}
				
		#hall .message {
			color: #fff;
			background: #2ea7e0;
			padding: 16px 0;
			margin: 0 0 30px;
		}
		
		#hall .message .tit {
			padding: 17px 0 14px;
		}
		
		#hall .message .fr {
			margin: 0 0 0 20px;
		}
		
		#hall .listTit02 {
			font-size: 22px;
			margin: 0 0 10px;
		}
		
		.hallList02 .btnList li:nth-child(-n+2) {
			margin: 0 2px 0 0;
		}
		
		.hallList02 .imgWrap {
			height: 160px;
			overflow: hidden;
		}
	}

	@media screen and (max-width: 768px) {
		#hall .section {
			padding: 0 0 10px;
		}
		
		#hall .spTit {
			font-size: 21px;
			color: #a41109;
			font-weight: bold;
			text-align: center;
			border-top: 1px solid #a41109;
			border-bottom: 1px solid #a41109;
			padding: 0 4px;
			margin: 0 0 4px;
		}
		
		#hall #map {
			display: block;
			margin: 0 auto 10px;
		}
		
		.hallList02 {
			margin: -10px 0 0;
		}
		
		.hallList02 > li {
			margin: 0 0 10px;
		}
		
		.hallList02 .box {
			margin: 20px 10px 10px;
		}
		
		#hall .archiveTit {
			margin: 10px 0;
		}
		
		#hall .archiveTit img {
			width: 100px;
		}
		
		#hall .listWrap {
			display: none;
		}
		
		#hall .mapWrap {
			padding: 0 0 30px;
		}
		
		#hall .mapWrap img {
			margin: 0 0 10px;
		}
		
		#hall .message {
			display: none;
		}
		
		#hall .listTit02 {
			font-size: 19px;
			/*color: #a41109;*/
			font-weight: bold;
			margin: 0 0 5px 20px;
		}
		
		.hallList02 .tit {
			border-radius: 16px;
			padding: 6px 0 6px 20px;
			position: relative;
			top: 13px;
		}
		
		.hallList02 .tit span {
			display: block;
			width: 100%;
			height: 100%;
			background: url(../img/common/ico_arrow02.png) no-repeat right 10px center;
			background-size: contain;
		}
		
		.hallList02 .icoList {
			margin: 0 0 5px;
		}
		
		.hallList02 .icoList li {
			width: 14%;
			margin: 0 3px 0 0;
		}
		
		.hallList02 .btnList li {
			width: 32%;
		}		
	}
	
/* career
------------------------------------ */
.careerTit {
	margin: 0 0 13px;
}

.carCon .box {
	background: #c9ffff;
	padding: 10px 0 14px;
	position:relative;
}

.carCon .box:not(.box04) {
	margin: 0 0 60px;
}

.carCon .box:not(.box04):after {
	display: block;
	content: "";
	background: url(../img/career/arrow01.png) no-repeat;
	background-size: 100%;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}

.carCon .box .tit {
	color: #fff;
	font-weight: bold;
	line-height: 1.7;
	text-align: center;
	background: #f8b62d;
	margin: 0 0 10px;
}

.carCon .box02 .tit,
.carCon .box02 .tit02 {
	background: #f8962d;
}

.carCon .box03 .tit,
.carCon .box03 .tit02 {
	background: #f85a32;
}

.carCon .box04 .tit,
.carCon .box04 .tit02 {
	background: #f82432;
}

.carCon .tit02 {
	font-size: 28px;
	text-align: center;
	line-height: 1.3;
	border: 2px solid #fff;
	border-radius: 7px;
	background: #f8b62d;
	padding: 10px 0;
	margin: 0 0 10px;
}

.carCon .boxIn .tit02 span {
	display: block;
	font-weight: bold;
}

.carSec p {
	margin: 0 0 20px;
}

.carSec02 .txtWrap {
	color: #fff;
}

.carSec02 .tit02 {
	font-weight: bold;
	margin: 0 0 6px;
}

#career .recbtn {
	text-align: center;
	border-bottom: 9px solid #b6413a;
	background: #c8706b;
	padding: 20px 0;
}

	@media screen and (min-width: 769px) {
		#career .section:nth-of-type(1) .careerTit { width: 487px;}
		#career .section:nth-of-type(3) .careerTit { width: 449px;}
		
		.carCon {
			width: 441px;
			margin: 0 auto ;
		}
		
		.carCon .box:not(.box04):after {
			width: 175px;
			height: 66px;
			bottom: -74px;
		}
		
		.carCon .box .tit {
			font-size: 31px;
		}
		
		.carCon .boxIn {
			padding: 0 20px;
		}
		
		.carSec02 {
			margin: 0 0 14px;
		}
		
		.carSec02 .tit {
			margin: 0 0 13px;
		}
		
		.carSec02 .txtWrap {
			background: #f39800;
			padding: 26px 35px;
		}
		
		.carSec02 .tit02 {
			font-size: 34px;
		}
		
		#career .recbtn img {
			width: 452px;
		}
		
	}
	
	@media screen and (max-width: 768px) {
		#career .section:nth-of-type(1) .careerTit { width: 87%;}
		#career .section:nth-of-type(2) .careerTit { width: 78%;}
		#career .section:nth-of-type(3) .careerTit { width: 87%;}
		
		.careerTit {
			width: 85%;
		}
		
		.carCon .box {
			margin: 0 -10px;
		}
		
		.carCon .box:not(.box04) {
			margin: 0 -10px 46px;
		}
		
		.carCon .box:not(.box04):after {
			width: 124px;
			height: 33px;
			bottom: -40px;
		}
		
		.carCon .box .tit {
			font-size: 24px;
		}
		
		.carCon .boxIn {
			padding: 0 13px;
		}
		
		.carCon .tit02 {
			font-size: 23px;
		}
		
		.carSec02 {
			background: #f27d00;
			padding: 28px 18px;
			margin: 0 -10px 20px;
		}
		
		.carSec02 .tit {
			width: 80%;
			margin: 0 0 14px;
		}
		
		.carSec02 .tit02 {
			font-size: 20px;
			border-bottom: 1px solid #fff;
		}
		
		#career .btn img {
			width:67%;
		}
		
		#career .recbtn {
			border-bottom: 6px solid #b6413a;
			margin: 0 -10px;
		}
	}
	
/*recruit
------------------------------------ */
.recruit_btn {
	text-align: center;
	background: #ea5414;
	border-bottom: 10px solid #b6413a;
	padding: 14px 0;
	margin: 0 0 20px;
}

	@media screen and (min-width: 769px) {
		#recruit .fr {
			width: 70%;
		}
		
		#recruit .fr .table01 {
			width: 100%;
		}
	}
	
	@media screen and (max-width: 768px) {
		#recruit .fr {
			float: none;
		}
		
		.recruit_btn {
			padding: 14px 20px;
		}
	}
		
	
/* form
------------------------------------ */
.contactTxt {
	margin: 0 0 30px;
}

.formTable {
	margin: 0 0 30px;
}

.formTable th {
	background: #F5F5F5;
}

.formTable .req {
	font-size: 11px;
	color: #fff;
	background: #F00;
	padding: 0 6px;
	margin: 0 0 0 10px;
}

.formTable input[type="text"],
.formTable textarea {
	font-size: 120%;
	padding: 2px;
}

.formTable input[type="radio"] {
	margin: 0 3px 0 0;
}

.formTable label{
	margin: 0 10px 0 0;
}

.btnArea {
	text-align: center;
	margin: 0 0 50px;
}

.btnArea li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	margin: 0 10px;
}

p.error {
	font-weight: bold;
	color: #F00;
	text-align: center;
	margin: 0 0 20px;
}

	@media screen and (min-width: 769px) {		
		.formTable {
			width: 90%;
			border-collapse: collapse;
		}
		
		.formTable th,
		.formTable td {
			border: 1px solid #CCC;
			padding: 10px;
		}
		
		.formTable th {
			width: 25%;
		}
		
		.formTable input[type="text"],
		.formTable textarea {
			width: 80%;
		}
		
		.formTable input[name="zip"] {
			width: 30%;
		}
		
		
		.formTable input[name="age"] {
			width: 13%;
		}
				
		.backTop {
			text-align:center;
			margin: 60px 0 70px;
		}
			
	}
	
	@media screen and (max-width: 768px) {
		.formTable {
			width: 100%;
		}
		
		.formTable tr {
			display: block;
			width: 100%;
		}
		
		.formTable th,
		.formTable td {
			display: list-item;
			width: 100%;
			list-style: none;
			box-sizing: border-box;
		}
		
		.formTable th {
			font-weight: bold;
			padding: 6px 10px;
		}
		
		.formTable td {
			margin: 0 0 10px;
			padding: 8px;
		}
		
		.formTable input[type="text"],
		.formTable textarea {
			width: 100%;
		}
		
		.formTable input[name="zip"] {
			width: 40%;
		}
		
		.formTable input[name="age"] {
			width: 20%;
		}
		
		.backTop {
			text-align:center;
			margin: 30px 0;
		}
	}

/* clearfix
------------------------------------ */
.cf:after,
.inner:after,
#gNavi ul:after,
#main:after,
.section:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    font-size:0;
    line-height:0;
}
.cf,
.inner,
#gNavi ul,
#main,
.section:after {
    display:inline-block;
}
/* \*/
.cf,
.inner,
#gNavi ul,
#main,
.section:after {
    display:block;
}
/* */