@charset "utf-8";  
/*------------------------------------------------------------ 
  レイアウト基本設定
  このファイルはサイトの基本的なレイアウト構造を定義します
  - リセットCSS
  - 基本的なグリッドシステム
  - 共通マージン・パディング設定
  - フォントサイズの基本設定
  - ヘッダー・フッター・ナビゲーションの骨格
  - レスポンシブデザインの基本設定
------------------------------------------------------------*/  

/*--------------------------------------------------------------
# フォントサイズ設定
--------------------------------------------------------------*/
/**** フォントサイズ　*************

基本を12pxに、サイズは％指定。

====偶数====　　　====奇数====
■10px = 84%      ■11px = 92%
■12px = 100%     ■13px = 109%
■14px = 117%     ■15px = 125%
■16px = 134%     ■17px = 142%
■18px = 150%     ■19px = 159%
■20px = 167%     ■21px = 175%
■22px = 184%     ■23px = 192%
■24px = 200%     ■25px = 209%
■26px = 217%     ■27px = 226%

**********************************/

/*--------------------------------------------------------------
# リセットCSS
--------------------------------------------------------------*/
html,
body { margin: 0; padding: 0;}
body {
	font-size: 76%;
	-webkit-text-size-adjust: 100%;
	padding-top:58px;
	background:#fff url(../img/bg-top.png) repeat-x 50% 0;
}

html { font-size: 100%;}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, 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 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 100%;
	line-height: 1.2;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}  

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

blockquote,
q { quotes: none;}

a {
	text-decoration: none;
	outline: none;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

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

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select,
textarea {
	font-size: 100%;
	vertical-align: middle;
	font-family: 游ゴシック体, 'Yu Gothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

input[type=text],
input[type=tel],
input[type=password],
textarea{ -webkit-appearance:none;}

input[type=checkbox],
input[type=radio]{
	position:relative;
	top:-1px;
}

ul { list-style-type: none;}
img { vertical-align: middle;}

/*--------------------------------------------------------------
# 共通ユーティリティクラス
--------------------------------------------------------------*/
.img-responsive{
	width:100%;
	height:auto;
}

.opacity {
	-webkit-transition:all 0.2s ease-out;
	-moz-transition:all 0.2s ease-out;
	-o-transition:all 0.2s ease-out;
	transition:all 0.2s ease-out;
}

.opacity:hover {
	opacity: .7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity: .7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: .7;
}

/* クリアフィックス */
.clear { clear: both;}
.clearfix { width: 100%;}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility:hidden;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}

/* フロート */
.fl { float: left;}
.fr { float: right;}

/* テキスト配置 */
.txtl { text-align: left;}
.txtr { text-align: right;}
.txtc { text-align: center;}

/* フォント装飾 */
strong,
strong *,
.fwb { font-weight: bold;}

/* テキストカラー */
.clrr { color: #FF0000;}
.clrb { color: #333;}
.clrw { color: #fff;}

/* 表示制御 */
.il { display: inline;}
.bl { display: block;}
.no { display: none;}

.li2 { line-height: 2;}

/*--------------------------------------------------------------
# マージン・パディング設定
--------------------------------------------------------------*/
/* margin */
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}

.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}

.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}

.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}

/* padding */
.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}

.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}

.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}

/*--------------------------------------------------------------
# フォントサイズクラス
--------------------------------------------------------------*/
.font10 { font-size: 84%;}
.font11 { font-size: 92%;}
.font12 { font-size: 100%;}
.font13 { font-size: 109%;}
.font14 { font-size: 117%;}
.font15 { font-size: 125%;}
.font16 { font-size: 134%;}
.font17 { font-size: 142%;}
.font18 { font-size: 150%;}
.font19 { font-size: 159%;}
.font20 { font-size: 167%;}
.font21 { font-size: 175%;}
.font22 { font-size: 184%;}
.font23 { font-size: 192%;}
.font24 { font-size: 200%;}
.font25 { font-size: 209%;}
.font26 { font-size: 217%;}
.font27 { font-size: 226%;}

/*--------------------------------------------------------------
# 基本レイアウト構造
--------------------------------------------------------------*/
.inner {
	width:auto;
	max-width: 930px;
	margin: 0 auto;
	padding-right:10px;
	padding-left:10px;
	overflow: hidden;
}

/*--------------------------------------------------------------
# ヘッダー
--------------------------------------------------------------*/
#header {
	width:auto;
	max-width:930px;
	margin:0 auto;
	padding:22px 10px 12px;
	position:relative;
}

#hdLogo{
	width:344px;
	margin:0 auto;
	padding-top: 0;
}

#hdContact{
	width:200px;
	height:60px;
	position:absolute;
	right:10px;
	top:0;
	z-index: 10;
}

#hdContact a{
	display:block;
	width:100%;
	height:100%;
	line-height:56px;
	text-indent:64px;
	color:#554933;
	font-size:125%;
	font-weight:bold;
	background:url(../img/bg-contactbtn.png) no-repeat;
}

#hdRecruit{
	width:200px;
	height:60px;
	position:absolute;
	left:10px;
	top:0;
	z-index: 10;
}

#hdRecruit a{
	display:block;
	width:100%;
	height:100%;
	line-height:56px;
	text-indent:64px;
	color:#554933;
	font-size:125%;
	font-weight:bold;
	background:url(../img/bg-contactbtn.png) no-repeat;
}

/*--------------------------------------------------------------
# PCナビゲーション
--------------------------------------------------------------*/
#pcNavi{
	width:100%;
	margin-top:50px;
}

#pcNavi li{
	width:16.6666666667%;
	float:left;
	text-align:center;
}

#pcNavi a{
	display:inline-block;
	width:auto;
	padding:0 20px 12px 0;
	line-height:28px;
	color:#5F4B3B;
	font-size:150%;
	letter-spacing:0.5px;
	font-weight:bold;
	background:url(../img/icon-navi.png) no-repeat 0 4px;
	position:relative;
	padding-left: 30px;
	text-align: left;
}

#pcNavi .selected:before,
#pcNavi a:hover:before{
	display:block;
	content:"";
	width:100%;
	height:5px;
	background:url(../img/bdr-navi-over.png) no-repeat 0 0 / contain;
	position:absolute;
	left:0;
	bottom:0;
}

#pcNavi .home{
	max-width:95px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:159%;
	padding-left:35px;
	background-image:url(../img/icon-home.png);
	background-position:0 0;
}

#pcNavi .home.selected:before,
#pcNavi .home:hover:before{ background-image:url(../img/bdr-home-over.png);}

/*--------------------------------------------------------------
# モバイルナビゲーション
--------------------------------------------------------------*/
#navBtn{
	display:none;
	float:right;
	width:40px;
	height:36px;
	position:absolute;
	right:10px;
	top:10px;
	z-index:100;
	background:#FEF5F7;
	border-radius:5px;
}

#navBtn a{
	display:block;
	width:20px;
	height:16px;
	padding:10px;
	position:relative;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 20px;
	height: 2px;
	background-color:#513F32;
	-webkit-transition: -webkit-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	-moz-transition: -moz-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	-ms-transition: -ms-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	-o-transition: -o-transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	position: absolute;
	top: 10px;
	left:10px;
}

.middle-bar{
	webkit-transition: opacity 0s .15s linear;
	-moz-transition: opacity 0s .15s linear;
	-ms-transition: opacity 0s .15s linear;
	-o-transition: opacity 0s .15s linear;
	transition: opacity 0s .15s linear;
	top: 17px;
}

.bottom-bar{ top: 24px;}

.open .top-bar{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 17px;
}

.open .middle-bar{ opacity: 0;}

.open .bottom-bar{
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 17px;
}

/*--------------------------------------------------------------
# コンテンツエリア
--------------------------------------------------------------*/
#detailHd{
	width:100%;
	max-width:900px;
	margin:0 auto;
	margin-bottom:80px;
	background:url(../img/bg-contents.png) repeat;
}

#detailHd div{
	width:100%;
}

#detailHd .visual-container {
	width:100%;
	height:206px;
	position: relative;
}

#detailHd .visual-container img:first-child {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

#detailHd h2{
	width:auto;
	max-width:347px;
	margin:0 auto;
	padding:20px 0;
	position: relative;
	width: 100%;
	text-align: center;
	margin-top: 30px;
}

.secHd{
	width:auto;
	max-width:300px;
	margin:0 auto 50px;
	padding:0 10px;
}

/*--------------------------------------------------------------
# フッター
--------------------------------------------------------------*/
#footer {
	width:100%;
	padding-bottom:60px;
	text-align:center;
}

#ftInfo{
	width:auto;
	padding:60px 10px 68px;
	background:url(../img/bg-contents.png) repeat;
	border-bottom:3px solid #FA7DA7;
	position:relative;
}

#ftInfo:before{
	display:block;
	content:"";
	width:450px;
	height:14px;
	background:url(../img/img-ft-shadow.png) no-repeat 0 0 / cover;
	position:absolute;
	left:50%;
	bottom:54px;
	margin-left:-225px;
	z-index:1;
}

#ftInfo:after{
	display:block;
	content:"";
	width:524px;
	height:105px;
	background:url(../img/img-ft-character.png) no-repeat 0 0 / cover;
	position:absolute;
	left:50%;
	bottom:0;
	margin-left:-262px;
	z-index:2;
}

#ftInfo dl{
	width:388px;
	padding:40px;
	margin:0 auto;
	background:#fff;
	border:1px solid #E0D8C8;
	position:relative;
}

#ftInfo dl:before,
#ftInfo dl:after{
	display:block;
	content:"";
	width:13px;
	height:13px;
	background:url(../img/icon-ft-deco.png) no-repeat;
	position:absolute;
	top:16px;
}

#ftInfo dl:before{
	background-position:0 0;
	left:14px;
}

#ftInfo dl:after{
	background-position:0 -13px;
	right:14px;
}

#ftInfo dt{
	width:100%;
	max-width:214px;
	margin:0 auto;
}

#ftInfo dd{
	margin-top:18px;
	color:#655346;
	font-size:117%;
	line-height:1.8;
}

#ftInfo dd a{ color:#655346;}

#ftInfo dd a:link { color: #0000ff; }
#ftInfo dd a:visited { color: #000080; }
#ftInfo dd a:hover { color: #ff0000; }
#ftInfo dd a:active { color: #ff8000; }

#ftNavi{
	width:100%;
	margin-top:40px;
}

#ftNavi li{
	display:inline-block;
	padding:5px 12px;
}

#ftNavi a{
	color:#655346;
	font-size:117%;
}

#pagetop{
	width:auto;
	max-width:1080px;
	padding:0 10px;
	margin:0 auto;
	text-align:right;
}

#pagetop a{
	display:inline-block;
	width:51px;
}

#copyright small{
	color:#B8B19F;
	font-size:109%;
	font-family:Arial, Helvetica, sans-serif;
}

/*--------------------------------------------------------------
# レスポンシブ対応（タブレット）
--------------------------------------------------------------*/
@media screen and (max-width: 788px){

#header{ padding:0;}

#hdLogo{
	width:172px;
	margin:0 auto;
}

#hdContact{
	width:150px;
	height:45px;
	position:absolute;
	right:10px;
	top:0;
}

#hdContact a{
	line-height:42px;
	text-indent:44px;
	font-size:109%;
	background-size:150px 45px;
}

#hdRecruit{
	width:150px;
	height:45px;
	position:absolute;
	left:10px;
	top:0;
}

#hdRecruit a{
	line-height:42px;
	text-indent:44px;
	font-size:109%;
	background-size:150px 45px;
}

#pcNavi{
	margin-top:30px;
	margin-left:10px;
}

#pcNavi a{
	line-height:28px;
	font-size:125%;
	padding-right:0;
	letter-spacing:normal;
}

#pcNavi .home{
	font-size:134% !important;
	padding-left: 35px !important;
	padding-top: 5px !important;
}

/* contents */

#detailHd{ margin-bottom:40px;}

#detailHd div{ height:150px;}

#detailHd h2{ padding:20px;}

}

/*--------------------------------------------------------------
# ナビゲーション表示制御（PC/SP）
--------------------------------------------------------------*/
@media screen and (min-width: 561px){

#gNavi{ display:none!important;}
#pcNavi{ display:block!important;}

}

/*--------------------------------------------------------------
# レスポンシブ対応（スマートフォン）
--------------------------------------------------------------*/
@media screen and (max-width: 560px){

.sp{ display:none;}
#pcNavi{ display:none!important;}

#header{ padding-bottom:0;}

#hdLogo{ padding-bottom:15px;}

body{
	background-size:850px 12px;
	padding-top:25px;
}

#hdContact{ display:none;}

#hdRecruit{
	width:80px;
	height:40px;
	position:absolute;
	left: 5px;
	top: 10px;
}

#hdRecruit a{
	line-height:40px;
	text-indent:6px;
	font-size:92%;
	background:url(../img/bg-contactbtn_sp.png) no-repeat;
	background-size:cover;
}

#gNavi{
	display:none;
	margin-top:0;
}

#gNavi li{
	width:100%;
	float:none;
	border-bottom:1px solid #FEF5F7;
	text-align:center;
}

#gNavi li:last-child{
	display:block;
	border-bottom:none;
}

#gNavi a,
#gNavi .home{
	display:block;
	width:100%;
	max-width:100%;
	line-height:40px;
	padding:0;
	color:#fff;
	background:#F7C7D1;
	-webkit-transition:all 0.2s ease-out;
	-moz-transition:all 0.2s ease-out;
	-o-transition:all 0.2s ease-out;
	transition:all 0.2s ease-out;
	font-size: 125%;
	font-weight: bold;
}

#gNavi a:hover{
	background:#FEF5F7;
	color:#F7C7D1;
}

#gNavi .selected:before,
#gNavi a:hover:before,
#gNavi .home.selected:before,
#gNavi .home:hover:before{ display:none;}

#navBtn{ display:block;}


/* contents */

#detailHd{
	margin-bottom:25px;
	background-size:12px 12px;
}

#detailHd div{ height:120px;}

#detailHd h2{
	max-width:173px;
	padding:15px;
}

.secHd{
	max-width:150px;
	margin:0 auto 25px;
}


/* footer */

#footer { padding-bottom:20px;}

#ftInfo{
	width:auto;
	padding:30px 10px 34px;
	border-bottom:2px solid #FA7DA7;
	background-size:12px 12px;
}

#ftInfo:before{
	width:280px;
	height:9px;
	bottom:25px;
	margin-left:-140px;
}

#ftInfo:after{
	width:310px;
	height:62px;
	margin-left:-155px;
}

#ftInfo dl{
	width:268px;
	padding:20px 10px 25px;
}

#ftInfo dl:before,
#ftInfo dl:after{
	width:7px;
	height:7px;
	top:8px;
	background-size:7px 14px;
}

#ftInfo dl:before{
	background-position:0 0;
	left:7px;
}

#ftInfo dl:after{
	background-position:0 -7px;
	right:7px;
}

#ftInfo dt{ max-width:107px;}

#ftInfo dd{
	margin-top:12px;
	font-size:100%;
	line-height:1.6;
}

#ftNavi{ margin-top:0;}

#ftNavi li{
	display:block;
	width:100%;
	padding:0;
	margin-bottom:1px;
}

#ftNavi a{
	display:block;
	padding:0 10px 0 27px;
	font-size:109%;
	line-height:40px;
	text-align:left;
	background:#FEF5F7 url(../img/icon-ft-arrow.png) no-repeat 11px 50% / 5px 9px;
}

#pagetop{ padding:10px;}

#pagetop a{ width:40px;}

#copyright small{ font-size:92%;}

}

