@charset "utf-8";

/*--------------------------------------------------
　基本構成
--------------------------------------------------*/
/*トップページに適用*/
#general_home {
	margin: 0 auto;
	z-index: 1;
}

#outer {
	margin: 0 auto;
	text-align: center;
}

#wrapper {
	margin: 0 auto;
	position: relative;
}

/*--------------------------------------------------
　ヘッダー
--------------------------------------------------*/
#header {
	width: 960px;
	margin: 0 auto;
	position: relative;
}

#general_under #header {
	height: 175px;
}

#general_home #header {
	height: 100px;
	z-index: 10;
}

div.top_title {
	margin: 0 auto;
	position: absolute;
	top: 5px;
	left: 0;
}

div.top_title h1 {
	line-height: 20px;
	text-align: left;
	font-size: 10px;
}

div.logo {
	width: 300px;
	height: 70px;
	position: absolute;
	top: 25px;
	left: 0;
	text-align: left;
	overflow: hidden;
}

div.logo p,
div.logo h1#logo_text {
	line-height: 1.2em;
	padding-top: 10px;
	font-size: 22px;
	font-weight: bold;
}

div.logo p a,
div.logo h1 a {
	text-decoration: none;
}

div.logo img {
	max-width: 280px;
	max-height: 70px;
}

div.contact_top {
	width: 660px;
	height: 70px;
	position: absolute;
	top: 25px;
	right: 0;
	line-height: 17px;
	overflow: hidden;
	word-break: break-all;
	word-wrap: break-word;
	text-align: left;
	vertical-align: bottom;
	font-size: 11px;
}

div.contact_top_bnr {
	/* ヘッダーお問い合わせバナー背景表示 */
	width: 260px;
	height: 65px;
	position: absolute;
	right: 3px;
	top: 3px;
	padding-top: 10px;
}

div.contact_top_title {
	height: 20px;
	margin-right: 10px;
	text-align: right;
	font-size: 12px;
}

div.contact_top_phone {
	margin-right: 10px;
	text-align: right;
}

div.contact_top_phone p.phone_number {
	padding-left: 35px;
	font-size: 23px;
	font-weight: bold;
	line-height: 23px;
	font-family: Verdana, Geneva, Arial, Helvetica;
	height: 28px;
	background-position: 15px 0;
	background-repeat: no-repeat;
}

*+html div.contact_top_phone p.phone_number {
	background-position: 18px 2px;
}

div.contact_top_phone p.phone_number {
	background-position: 18px 2px\9;
}

:root *>div.contact_top_phone p.phone_number {
	background-position: 15px 0;
}

/*--------------------------------------------------
　グローバルメニュー
--------------------------------------------------*/
div.global_navi {
	height: 55px;
	position: absolute;
}

#general_home div.global_navi {
	left: 0;
	top: 430px;
	z-index: 10;
}

#general_under div.global_navi {
	left: 0;
	top: 108px;
}

div.global_navi ul {
	width: 960px;
	height: 55px;
	margin-left: auto;
	margin-right: auto;
}

div.global_navi ul li {
	float: left;
	display: inline;
	overflow: hidden;
}

div.global_navi ul li a {
	display: block;
	height: 55px;
	line-height: 55px;
	text-decoration: none;
	text-align: center;
	font-size: 13px;
	font-weight: bold;
}

div.global_navi ul li#gnaviHOME {
	width: 168px;
}

div.global_navi ul li#gnaviHOME a {
	width: 153px;
	padding-left: 15px;
}

div.global_navi ul li.menu1,
div.global_navi ul li.menu1 a,
div.global_navi ul li.menu2,
div.global_navi ul li.menu2 a,
div.global_navi ul li.menu3,
div.global_navi ul li.menu3 a,
div.global_navi ul li.menu4,
div.global_navi ul li.menu4 a {
	width: 153px;
}

div.global_navi ul li.menu5 {
	width: 180px;
}

div.global_navi ul li.menu5 a {
	width: 165px;
	padding-right: 15px;
}

div.global_navi ul li#gnaviHOME a {
	background-position: 0 0;
}

div.global_navi ul li#gnaviHOME a:hover {
	background-position: 0 -55px;
}

div.global_navi ul li.menu1 a,
div.global_navi ul li.menu2 a,
div.global_navi ul li.menu3 a,
div.global_navi ul li.menu4 a {
	background-position: -15px 0;
}

div.global_navi ul li.menu1 a:hover,
div.global_navi ul li.menu2 a:hover,
div.global_navi ul li.menu3 a:hover,
div.global_navi ul li.menu4 a:hover {
	background-position: -15px -55px;
}

div.global_navi ul li.menu5 a {
	background-position: right 0;
}

div.global_navi ul li.menu5 a:hover {
	background-position: right -55px;
}

/*--------------------------------------------------
　コンテンツ基本設計
--------------------------------------------------*/
#contents {
	width: 960px;
	margin: 0 auto;
	padding: 5px 0 0;
}

#mainvisual {
	padding-bottom: 50px;
}

#artside {
	float: right;
	width: 630px;
}

#naviside {
	float: left;
	width: 300px;
}

/*--------------------------------------------------
　スライドショー
--------------------------------------------------*/
#mainvisual {}

#mainvisual .sc_bg {
	position: relative;
}

#mainvisual .s_copy {
	width: 950px;
	height: 70px;
	position: absolute;
	right: 10px;
	top: 115px;
}

#mainvisual .s_copy p {
	padding-top: 20px;
	padding-right: 25px;
	font-size: 24px;
	text-align: right;
}

#slider {
	display: none;
}

/*--------------------------------------------------
　ナビサイド
--------------------------------------------------*/
/*サブメニュー*/
#naviside div.side_navi {
	width: 298px;
	margin-bottom: 20px;
}

#naviside div.side_navi ul li {
	width: 270px;
	margin-left: 14px;
	overflow: hidden;
}

#naviside div.side_navi ul li a {
	display: block;
	width: auto;
	height: 50px;
	line-height: 50px;
	padding: 0 0 0 23px;
	text-decoration: none;
	text-align: left;
	font-size: 13px;
	font-weight: bold;
}

#naviside div.side_navi ul li a {
	background-position: 0 0;
}

#naviside div.side_navi ul li a:hover {
	background-position: 0 -50px;
}

/*コンタクト＆メールマガジン共通*/
#naviside div.navicontact,
#naviside div.navimail {
	width: 298px;
	margin-bottom: 20px;
	text-align: center;
	word-break: break-all;
	word-wrap: break-word;
}

#naviside div.navicontact .innernavicontact,
#naviside div.navimail .innernavimail {}

div.navibox_ttl {
	margin-left: 15px;
	margin-right: 15px;
	margin-bottom: 5px;
}

div.navibox_ttl p {
	height: 40px;
	font-size: 30px;
	font-weight: bold;
}

/* IE9でfont-size:28px;だと文字が改行 */
div.navibox_ttl p:not(:target) {
	font-size: 27px\9;
	/* IE9 */
}

/* iPadでfont-size:28px;だと文字が改行 */
@media screen and (max-device-width: 1024px) {
	div.navibox_ttl p {
		font-size: 25px;
	}
}

p.navibox_btn {
	width: 270px;
	height: 45px;
	line-height: 45px;
	margin: 0 auto;
	font-weight: bold;
}

p.navibox_btn a {
	display: block;
	text-decoration: none;
	font-size: 13px;
}

p.navibox_btn a:hover {
	background-position: 0px bottom;
}

/*コンタクト*/
div.navibox_ttl p.phone_number {
	vertical-align: bottom;
}

div.contact_navi_text {
	font-size: 13px;
	margin-left: 15px;
	margin-right: 15px;
	margin-bottom: 5px;
	text-align: left;
}

img.naviside_contact {
	max-width: 260px;
	margin: 0 auto 5px;
}

/*地図*/
#naviside div.navimap {
	width: 280px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	text-align: center;
}

#naviside div.navimap #google_map {
	width: 278px;
	height: 278px;
	margin: auto;
}

p.navibox_map small a {
	text-decoration: none;
}

/*googlemapタグを挿入した際*/
div.navibox_googlemaptag iframe {
	width: 258px;
	overflow: hidden;
}

div.navibox_googlemaptag small a {
	text-decoration: none;
}

/*メールマガジン*/
div.navibox_ttl p.mailmagazine {
	text-align: center;
	overflow: hidden;
}

p.mailmagazine_form {
	padding-top: 5px;
	text-align: center;
	line-height: 1.5;
	vertical-align: bottom;
}

p.mailmagazine_form input.choice_mail {
	display: inline;
}

p.mailmagazine_form input.choose_mail {
	display: inline;
}

p.mailmagazine_form input.input_address {
	width: 270px;
	height: 25px;
	margin: 0 auto 10px;
}

input.btnMailMagazine {
	display: block;
	width: 270px;
	height: 45px;
	line-height: 45px;
	margin: 0 auto;
	border: none;
	cursor: pointer;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', Verdana, Geneva, Arial, Helvetica;
	font-weight: bold;
	font-size: 13px;
}

/*フリーエリア*/
div.naviside_free {
	width: 280px;
	margin: 0 auto 20px;
	word-break: break-all;
	word-wrap: break-word;
	text-align: left;
}

/*--------------------------------------------------
　アートサイド
--------------------------------------------------*/
/*汎用コンテナ*/
div.artbox {
	width: 630px;
	margin: 0 auto 30px;
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
	word-break: break-all;
	word-wrap: break-word;
}

div.artbox div.artbox_inner {
	padding-bottom: 5px;
	text-align: left;
}

h2 {
	width: 610px;
	height: 40px;
	line-height: 40px;
	margin: 0 0 20px 0;
	padding-left: 20px;
	text-align: left;
	font-size: 20px;
	font-weight: bold;
}

h3 {
	width: 610px;
	height: 30px;
	line-height: 30px;
	margin: 0 0 10px 0;
	padding-left: 20px;
	font-size: 16px;
	font-weight: bold;
}

h4 {
	padding-top: 5px;
	padding-left: 20px;
	padding-bottom: 5px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
	line-height: 16px;
}

/*テーブル共通*/
table.common_table {
	width: 630px;
	border-collapse: collapse;
	text-align: left;
	font-size: 13px;
}

table.common_table col.title {}

table.common_table col.detail {}

table.common_table th {
	width: 25%;
	font-weight: bold;
}

table.common_table td {
	width: 75%;
}

table.common_table th,
table.common_table td {
	padding: 5px;
}

/*画像位置：L*/
div.artbox img.layoutL {
	padding: 0px 10px 10px 0;
	float: left;
	text-align: left;
}

/*画像位置：C*/
div.artbox img.layoutC {
	padding-bottom: 10px;
	float: none;
	display: block;
	margin: 0 auto;
	text-align: center;
}

/*画像位置：R*/
div.artbox img.layoutR {
	padding: 0 0 10px 10px;
	float: right;
	text-align: right;
}

/*条件分岐：画像サイズ変更*/
img.smallsize {
	width: 210px;
}

img.mediumsize {
	width: 315px;
}

img.largesize {
	width: 630px;
}

img.freesize {
	max-width: 630px;
}


/*リンクバナー*/
div.artbox p.btn_anchor {
	float: right;
	width: 270px;
	height: 35px;
	line-height: 35px;
	font-weight: bold;
	text-align: center;
	overflow: hidden;
}

div.artbox p.btn_anchor a {
	display: block;
	text-decoration: none;
}

div.artbox p.btn_anchor a:hover {
	text-decoration: none;
}

/*--------------------------------------------------
　フッター設計
--------------------------------------------------*/
#footer {
	overflow: hidden;
}

div.footer_navi {}

div.footer_navi ul {
	width: 960px;
	margin: 0 auto;
}

div.footer_navi ul li {
	float: left;
	width: 160px;
	text-align: left;
	overflow: hidden;
}

div.footer_navi ul li a {
	display: block;
	height: 20px;
	line-height: 20px;
	padding-left: 20px;
	text-decoration: none;
	font-size: 12px;
}

p.copyright {
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 12px;
	font-weight: bold;
}

/*--------------------------------------------------
　ニュースページ
--------------------------------------------------*/
div.artbox dl.news {
	display: block;
	text-align: left;
	font-size: 13px;
}

div.artbox .news dt {
	float: left;
	width: 100px;
	padding-bottom: 5px;
}

div.artbox .news dd {
	padding: 0 0 5px 120px;
}

div.artbox dl.newspage {
	padding: 5px 0;
	border-bottom: 1px dotted #ccc;
}

/*--------------------------------------------------
　交通案内ページ
--------------------------------------------------*/
/*googlemapタグを挿入した際*/
div.artbox_googlemaptag iframe {
	width: 630px;
	overflow: hidden;
}

div.artbox_googlemaptag small a {
	text-decoration: none;
}

p.map_image {
	max-width: 630px;
	text-align: center;
}

/*--------------------------------------------------
　お問合せページ
--------------------------------------------------*/
table.contact_table td input,
table.contact_table td textarea {
	width: 95%;
}

/*input*/
input.btnContact {
	width: 220px;
	height: 35px;
	border: none;
	color: #fff;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', Verdana, Geneva, Arial, Helvetica;
	font-size: 12px;
	font-weight: bold;
	line-height: 34px;
	text-align: center;
	cursor: pointer;
}

input.btnContact01 {
	background: url(../images/btn_contact01.jpg) no-repeat scroll 0 0 transparent;
}

input.btnContact01:hover {
	background-position: 0 -35px;
}

input.btnContact02 {
	background: url(../images/btn_contact02.jpg) no-repeat scroll 0 0 transparent;
	padding-right: 0;
}

input.btnContact02:hover {
	background-position: 0 -35px;
}

div.btnContactArea_input,
div.btnContactArea_confirm {
	margin-top: 10px;
	text-align: center
}

/*サイバートラストシール*/
div.verisignArea p.verisign_webseal {
	float: left;
	width: 120px;
}

div.verisignArea p.verisign_desc {
	float: right;
	width: 500px;
}


/*--------------------------------------------------
　ショップページ
--------------------------------------------------*/
/*ネットショップ　ヘッダー高さ*/
#shopPage #header {
	height: 100px;
}

#shopPage #copyright_wrap {
	letter-spacing: 0;
}

/*--------------------------------------------------
　2013/11ファイルアップロード機能
--------------------------------------------------*/
table.free_file_area th {
	padding-bottom: 20px;
}

table.free_file_area td {
	padding-bottom: 20px;
	width: 30%;
}

img.icon_file {
	vertical-align: middle !important;
}

div.artbox dl dd.file_btn_space {
	height: 10px;
}

div.artbox dl dt.dt_info_file {
	width: 300px;
	overflow: hidden;
	padding-top: 6px;
	background-image: none;
	padding-left: 0;
}

div.artbox dl dd.dd_info_file {
	padding-top: 6px;
}
