
/* ===============================================
  初期設定及び基本設定
=============================================== */

/* --------------------------------------------
   HTML5 display definitions
-------------------------------------------- */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

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

/* Corrects `inline-block` display not defined in IE 8/9.  */

audio, canvas, video {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

/* Addresses styling for `hidden` attribute not present in IE 8/9. */

[hidden] {
    display: none;
}

/* --------------------------------------------
   Reset and Base
-------------------------------------------- */

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	margin:0;
	padding:0;
	height:100%;
}

body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote,table th, tr, td {
	margin:0;
	padding:0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	border:0;
	empty-cells: show;
}

caption, th{
	text-align:left;
}

img, a img{
	border:0;
}

img {
	vertical-align: bottom;
}

ol, ul{
	list-style-type: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	line-height: 1.1;
}

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

address {
  display: block;
  font-style: normal;
  line-height: 1.5;
}

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}


/* Corrects overflow displayed oddly in IE 9. */

svg:not(:root) {
    overflow: hidden;
}

/* ========= Forms ========= */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0; 
    padding: 0; 
}

/* 
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */

button,
input {
    line-height: normal;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ========= clear ========= */

.clear {
	clear: both !important;
}

.clearfix:after {
	clear: both;
	height: 0;
	line-height: 0;
	visibility: hidden;
	display: block;
	content: '[.]';
}

/* clearfix for ie7 */
.clearfix{
	display: inline-block;
}

.clearfix {
	display: block;
}

/* --------------------------------------------
  全ページ共通基本設定
-------------------------------------------- */

body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #222;
	background-color: #fff;
}

/* ========= link ========= */

a {
	color: #0075c2;
	text-decoration: none;
	outline:none;
}

a:hover,
a:focus {
	color: #007bd0;
	text-decoration: underline;
}

header a,
header a:visited,
footer a,
footer a:visited {
	color:#222 !important;
}

header a:hover,
header a:focus,
footer a:hover,
footer a:focus {
	color:#222 !important;
}

figure {
  margin: 0;
}

/* ========= img ========= */

.img-rounded {
  border-radius: 6px;
}

.img-circle {
  border-radius: 50%;
}

/* ========= font ========= */

sub, sup {
	font-size:70%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
} 

sup {
    top: 0.2rem;
}

sub {
    bottom: -0.25em;
}

strong {
	font-weight:bold;
}

h2 {
	font-size: 28px;
	width:960px;
	margin:0 auto;
	padding:40px 0;
	line-height:1;
	letter-spacing:0.2em;
}

/* --------------------------------------------
   共通レイアウト
-------------------------------------------- */

.headbox:after,
.head_list_utility:after,
header:after,
nav:after,
.container:after,
footer:after,
footer nav:after,
footer aside:after {
	clear: both;
	height: 0;
	visibility: hidden;
	display: block;
	content: '[.]';
	overflow:hidden;
}

/* ========= header ========= */

header {
	margin-right: auto;
	margin-left: auto;
	position:relative;
}

.headbox {
    box-sizing: border-box;
    padding: 0 2%; /*200928 リニューアルに伴う変更*/
	width:100%; /*200928 リニューアルに伴う変更*/
	height:76px;
	position:relative;
	margin-right: auto;
	margin-left: auto;
}

.head_leftbox {
    float:left;
	/* width:200px; */
	width:320px; /* 171219 100周年のロゴを付けるために変更 */
    max-width: 29%; /*200928 リニューアルに伴う変更*/
}

/* 171219 追加 Retina対応 */
.head_leftbox h1 img {
	height:58px;
	width:auto;
}

.head_rightbox {
    position: relative;
	/* width:760px; */
	width:640px; /* 171219 100周年のロゴを付けるために変更 */
    max-width: 70%; /* 200928 リニューアルにともなう変更 */
	text-align:right;
	padding-top:5px;
	float:right;
    margin-top: 29px;
}

.head_list_utility {
	margin-bottom:5px;
    position: absolute;
    right: 0;
    top: -22px;
}
.head_list_utility li:first-of-type {
    margin-left: 15px;
}

.head_rightbox li {
	float:right;
	display:block;
	background: url(../img/arrow_01.gif) no-repeat 0 0.5em;
	padding: 0 0 0 10px;
	font-size:12px;
}

.head_list li {
	margin-right:4%;
    font-size: 14px;
}

.head_list_utility li{
    float: left;
}

.head_list_utility li.online,
.head_list_utility li.owner{
    margin-right: 15px;
}
.head_list_utility li.online{
    background: url(../img/cart.gif) center left / contain no-repeat;
    padding: 0 0 0 24px;
}

/* ========= i-search 検索 ========= */

.search_waku {
	float:right;
	display:block;
	height:22px;
	margin-bottom:5px;
    font-size: 14px;
}

/* Search button */
.i-search input.i-search-button{
  font-family: inherit;
  font-size: 11px;
  font-weight: bold;
  color: #000;
  padding: 0 8px;
  height: 22px;
  min-width: 54px;
  background-color: #ddd;
  border: 1px solid #ccc;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  vertical-align: top !important;
}


/* ========= global_navi ========= */

#global_navi {
	max-width:1100px;
	position:relative;
	margin-right: auto;
	margin-left: auto;
	margin-bottom:15px;
	/*height:25px;*/
}
#global_navi::after {
	content: "";
    display: block;
    clear: both;
}

#global_navi ul li {
	float:left;
	display:block;
    width: 25%;
    font-size: 18px; /*200928 リニューアルに伴う変更*/
}

/*#global_navi ul li div:first-child {
	width:238px;
}*/

#global_navi ul li a {
    box-sizing: border-box;
    padding: 9px 0;
	display: block;
	/*line-height: 20px;*/
	/*height:20px;*/
	width:100%;
	text-align:center;
	letter-spacing:1px;
	color:#000;
}

#global_navi ul li a:hover,
#global_navi ul li#here a {
	background-color:#0075c2;
	border-radius: 25px;
	color:#f6f6f6;
 	text-decoration: none;
	/*margin:0 10px;*/
}


/* ========= contents ========= */

#topic_path {
	width:100%;
	background-color:#e4e4e4;
	font-size:12px;
	padding:8px 0;
}

#topic_path li {
	display:inline;
	line-height:120%;
	margin-left:5px;
}

#topic_path li a {
	padding-right:15px;
	background:url(../img/arrow_02.png) no-repeat center right;
}

#contents_title {
	width:100%;
	border-bottom:1px solid #ddd;
}

.inside_box{
	/*width:990px;
    padding: 0 15px;*/
    width: 960px;
	margin-left:auto;
	margin-right:auto;
}

#container {
	width:960px;
	margin:0 auto;
	padding:25px 0 0;
}

#container:after {
	clear: both;
	height: 0;
	visibility: hidden;
	display: block;
	content: '[.]';
	overflow:hidden;
}

/* ========= footer ========= */

footer {
	clear:both;
	margin-top:30px;
}

footer .navi_area,
footer .copyright_area {
	width:100%;
}

footer .navi_area {
	background-color:#f6f6f6;
	border-top:1px solid #ddd;
	padding:25px 0;
}

footer .copyright_area {
	background-color:#ddd;
	font-size:11px !important;
    padding: 15px 0;
}

footer .copyright{
    width: 350px;
    float: left;
    margin-top: 9px;
    font-size:12px !important;
}
footer .footer_snslist{
    float: right;
}
footer .footer_termslist{
    float: right;
    margin-right: 4%;
    margin-top: 9px;
}
footer .footer_snslist li{
    float: left;
}
footer .footer_snslist li:not(:first-of-type){
    margin-left: 15px;
}

footer #gototop,
footer nav {
	max-width:960px;
    box-sizing: border-box;
    padding:0 15px;
	margin-left:auto;
	margin-right:auto;
}
footer aside{
    max-width:1100px;
    padding: 0 15px;
	margin-left:auto;
	margin-right:auto;
}

footer #gototop {
	text-align:right;
	margin-bottom:5px;
}

footer .category {
	/*max-width:240px;*/
    width: 25%;
	float:left;
}

footer nav dt {
	font-size:16px;
	letter-spacing:1px;
	margin-bottom:15px;
}

footer nav li {
	background: url(../img/arrow_01.gif) no-repeat 0 0.5em;
	padding: 0 0 0 12px;
	font-size:12px;

}

footer aside li.arrow {
	background: url(../img/arrow_01.gif) no-repeat 0 0.5em;
	padding: 0 0 0 10px;
	margin-right:15px;
	font-size:12px;
	line-height:1.2;
	display: inline-block;
	*display: inline;
	*zoom: 1;
}


/* --------------------------------------------
   汎用共通style
-------------------------------------------- */

a:hover img.opa {
    background: none repeat scroll 0 0 #FFFFFF;
    opacity: 0.8;
}

.wrapbox { width:100%; }
.wrapbox:after {
	clear: both;
	height: 0;
	visibility: hidden;
	display: block;
	content: '[.]';
}

.fl { float:left; }
.fr { float:right; }

.tl { text-align: left; }
.tr { text-align: right; }
.tc { text-align: center; }

.vt { vertical-align:top !important; }
.vm { vertical-align:middle !important; }
.vb { vertical-align:bottom !important; }

.hide { display: none; }
.show { display: block; }

.bd_gray { border:1px solid #ccc; }


/* -------- font -------- */

.bold { font-weight:bold; }
.nowrap {white-space: nowrap;}

.color_red { color:#e60012;}
.color_red2 { color:#fd594e;}
.color_blue { color:#0860a8; }
.color_blue2 { color:#007bd0; }
.color_yellow { color:#dcaf00; }

.txt_12 {font-size:12px;}
.txt_13 {font-size:13px;}
.txt_14 {font-size:14px;}
.txt_15 {font-size:15px;}
.txt_16 {font-size:16px;}
.txt_17 {font-size:17px;}
.txt_18 {font-size:18px;}

/* -------- margin -------- */

.mt0 { margin-top:0; }
.mt5 {	margin-top:5px; }
.mt10 {	margin-top:10px; }
.mt15 {	margin-top:15px; }
.mt20 {	margin-top:20px; }
.mt25 {	margin-top:25px; }
.mt30 {	margin-top:30px; }
.mt35 {	margin-top:35px; }
.mt40 {	margin-top:40px; }
.mt45 {	margin-top:45px; }
.mt50 {	margin-top:50px; }
.mt1em { margin-top:1em; }

.mb0 { margin-bottom:0; }
.mb5 {	margin-bottom:5px; }
.mb10 {	margin-bottom:10px; }
.mb15 {	margin-bottom:15px; }
.mb20 {	margin-bottom:20px; }
.mb25 {	margin-bottom:25px; }
.mb30 {	margin-bottom:30px; }
.mb35 {	margin-bottom:35px; }
.mb40 {	margin-bottom:40px; }
.mb45 {	margin-bottom:45px; }
.mb50 {	margin-bottom:50px; }
.mb1em { margin-bottom:1em; }

.ml0 {	margin-left:0; }
.ml5 {	margin-left:5px; }
.ml10 {	margin-left:10px; }
.ml15 {	margin-left:15px; }
.ml20 {	margin-left:20px; }
.ml25 {	margin-left:25px; }
.ml30 {	margin-left:30px; }
.ml35 {	margin-left:35px; }
.ml40 {	margin-left:40px; }
.ml45 {	margin-left:45px; }
.ml50 {	margin-left:50px; }

.mr0 {	margin-right:0; }
.mr5 {	margin-right:5px; }
.mr10 {	margin-right:10px; }
.mr15 {	margin-right:15px; }
.mr20 {	margin-right:20px; }
.mr25 {	margin-right:25px; }
.mr30 {	margin-right:30px; }
.mr35 {	margin-right:35px; }
.mr40 {	margin-right:40px; }
.mr45 {	margin-right:45px; }
.mr50 {	margin-right:50px; }


/* -------- padding -------- */

.pt0 { padding-top:0; }
.pt5 {	padding-top:5px; }
.pt10 {	padding-top:10px; }
.pt15 {	padding-top:15px; }
.pt20 {	padding-top:20px; }
.pt25 {	padding-top:25px; }
.pt30 {	padding-top:30px; }
.pt35 {	padding-top:35px; }
.pt40 {	padding-top:40px; }
.pt45 {	padding-top:45px; }
.pt50 {	padding-top:50px; }

.pb0 { padding-bottom:0; }
.pb5 { padding-bottom:5px; }
.pb10 {	padding-bottom:10px; }
.pb15 {	padding-bottom:15px; }
.pb20 {	padding-bottom:20px; }
.pb25 { padding-bottom:25px; }
.pb30 {	padding-bottom:30px; }
.pb35 {	padding-bottom:35px; }
.pb40 {	padding-bottom:40px; }
.pb45 {	padding-bottom:45px; }
.pb50 {	padding-bottom:50px; }

.pl0 {	padding-left:0; }
.pl5 {	padding-left:5px; }
.pl10 {	padding-left:10px; }
.pl15 {	padding-left:15px; }
.pl20 {	padding-left:20px; }
.pl25 {	padding-left:25px; }
.pl30 {	padding-left:30px; }
.pl35 {	padding-left:35px; }
.pl40 {	padding-left:40px; }
.pl45 {	padding-left:45px; }
.pl50 {	padding-left:50px; }

.pr0 {	padding-right:0; }
.pr5 {	padding-right:5px; }
.pr10 {	padding-right:10px; }
.pr15 {	padding-right:15px; }
.pr20 {	padding-right:20px; }
.pr25 {	padding-right:25px; }
.pr30 {	padding-right:30px; }
.pr35 {	padding-right:35px; }
.pr40 {	padding-right:40px; }
.pr45 {	padding-right:45px; }
.pr50 {	padding-right:50px; }


/* -------- list -------- */

ul.inline,
ol.inline {
  margin-left: 0;
  list-style: none;
}

ul.inline li,
ol.inline li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

ul.arrow_01 li,
ul.arrow_01_float li,
ul.arrow_01_inline li {
	background: url(../img/arrow_01.gif) no-repeat 0 0.5em;
	padding: 0 0 0 12px;
}

ul.arrow_02 li,
ul.arrow_02_float li,
ul.arrow_02_inline li {
	background: url(../img/arrow_02.gif) no-repeat 0 0.5em;
	padding: 0 0 0 12px;
}

ul.arrow_03 li,
ul.arrow_03_float li,
ul.arrow_03_inline li {
	background: url(../img/arrow_03.gif) no-repeat 0 0.5em;
	padding: 0 0 0 12px;
}

ul.arrow_01_float li,
ul.arrow_02_float li,
ul.arrow_03_float li{
	float:left;
	display:block;
	margin-right:8px;
}

ul.arrow_01_inline li,
ul.arrow_02_inline li,
ul.arrow_03_inline li {
	margin-right:20px;
	display: inline-block;
	*display: inline;
}

ul.normalstyle,
ol.normalstyle {
    margin-left:1.8em;
}

.disc {
	list-style-type:disc;
}

.decimal {
	list-style-type:decimal;
}

ul.kome li,
p.kome {
	padding-left: 1em;
	text-indent: -1em;
}



