/*==============================
reset
==============================*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure{margin:0;padding:0;}
html{overflow-y:scroll;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
ol,ul{list-style:none;}
fieldset,img{border:0;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
/*NoscriptMessage*/
#msgNoscript{display:block;position:absolute;top:0;left:0;z-index:9999;width:100%;padding:5px 0;border-top:1px solid #fcc;border-bottom:1px solid #fcc;background:#fdd;color:#f33;line-height:1.2;text-align:center;opacity:0.7;}
main{display:block;}



/*==============================
base
==============================*/
body,html {
  /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
  /*font-size: 14px;*/
  /*line-height: 1.5;*/
  /*color: #333;*/
  /*min-width: 940px;*/
  /*min-width: 1100px;*/
}
img {
  vertical-align: bottom;
}
a,
a:link {
  text-decoration: none;
}
a:hover,
a:link:hover {
  text-decoration: underline;
}



/*==============================
header
==============================*/
.header {
  /*position: relative;
  width: 940px;
  height: 67px;
  margin: 0 auto;
  font-size: 14px;*/
}

.header .logo {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.header .code {
  position: absolute;
  left: 176px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #555;
}
.header .cnts {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.header .cnts .nav,
.header .cnts #fontSizeSwitchBtn,
.header .cnts .search {
  float: right;
}
.header .cnts .nav {
  margin-bottom: 10px;
}
.header .cnts .nav li {
  float: left;
  line-height: 1;
}
.header .cnts .nav li + li {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #333;
}
.header .cnts .nav li a {
  color: #333;
}
.header .cnts .search {
  clear: both;
  margin-left: 10px;
}
.header .cnts .search input {
  display: block;
  float: left;
}
.header .cnts .search input[type="text"] {
  margin: 0;
  background: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #999;
  border-right: none;
  line-height: 23px;
  height: 25px;
  padding: 0 10px;
  font-size: 12px !important;
  width: 152px;
}

.header .cnts #fontSizeSwitchBtn dt,
.header .cnts #fontSizeSwitchBtn dd {
  float: left;
}
.header .cnts #fontSizeSwitchBtn dt {
  line-height: 25px;
  margin-right: 4px;
}
.header .cnts #fontSizeSwitchBtn dd {
  border: 1px solid #999;
}
.header .cnts #fontSizeSwitchBtn dd + dd {
  margin-left: -1px;
}

/* 2022.10.03 持株会社関連対応により追加 */
.outer::before {
  content: url(/common/images/icon_win.gif);
  display: inline-block;
  vertical-align: middle;
  padding-right: 3px;
}


/*==============================
gnav
==============================*/
.gnav {
  position: relative;
  font-size: 14px;
  z-index: 100;
}
.gnav .topnav {
  width: 940px;
  margin: 0 auto;
  background: #fdecee;
  border: 1px solid #721b23;
  border-bottom: none;
  font-size: 13px;
}
.gnav .topnav ul li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  width: 20%;
}
.gnav .topnav ul li + li {
  border-left: 1px solid #721b23;
}
.gnav .topnav ul li a {
  position: relative;
  display: block;
  text-align: center;
  color: #721b23;
  height: 33px;
}
.gnav .topnav ul li a span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gnav .topnav ul li.active a {
  color: #fff;
  background: #721b23;
}
.gnav .topnav ul li a:hover {
  color: #fff;
  background: #721b23;
}
.gnav .gmenu {
  width: 100%;
  background: #721b23;
}
.gnav .gmenu > ul {
  width: 940px;
  margin: 0 auto;
  position: relative;
}
.gnav .gmenu > ul > li {
  float: left;
}
.gnav .gmenu > ul > li:nth-of-type(1) {
  width: 148px;
}
.gnav .gmenu > ul > li:nth-of-type(2) {
  width: 204px;
}
.gnav .gmenu > ul > li:nth-of-type(3) {
  width: 140px;
}
.gnav .gmenu > ul > li:nth-of-type(4) {
  width: 158px;
}
.gnav .gmenu > ul > li:nth-of-type(5) {
  width: 140px;
}
.gnav .gmenu > ul > li:nth-of-type(6) {
  width: 150px;
}
.gnav .gmenu > ul > li > p,
.gnav .gmenu > ul > li > p a {
  position: relative;
  color: #fff;
  text-align: center;
  font-size: 16px;
  height: 48px;
  cursor: pointer;
}
.gnav .gmenu > ul > li > p {
  position: relative;
}
.gnav .gmenu > ul > li:hover > p:after {
  content: "";
  position: absolute;
  left: 50%;
  margin-left: -7px;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 7px 7px;
  border-color: transparent transparent #f1f1f1 transparent;
}
.gnav .gmenu > ul > li:nth-of-type(1):hover > p:after {
  display: none;
}
.gnav .gmenu > ul > li + li > p:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 16px;
  margin-top: -8px;
  background: #fff;
}
.gnav .gmenu > ul > li > p a {
  display: block;
}
.gnav .gmenu > ul > li > p span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gnav .gmenu > ul > li:hover > p span {
  text-decoration: underline;
}

.gnav .gmenu > ul > li:hover > .menu {
  display: block;
}
.gnav .gmenu > ul > li > .menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #f1f1f1;
  border: 1px solid #721b23;
  border-top: none;
  padding: 25px;
}
.gnav .gmenu > ul > li > .menu ul li {
  float: left;
  width: 33.33%;
}
.gnav .gmenu > ul > li > .menu ul li:nth-of-type(3n+4) {
  clear: both;
}
.gnav .gmenu > ul > li > .menu ul li:nth-of-type(n+4) {
  margin-top: 10px;
}
.gnav .gmenu > ul > li > .menu ul li a {
  display: inline-block;
  position: relative;
  color: #721b23;
  font-size: 16px;
  padding-left: 15px;
}
.gnav .gmenu > ul > li > .menu ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: 6px;
  height: 11px;
  margin-top: -5px;
  background: url(/cmn/imgs/ico_arrow01.png) no-repeat;
}



/*==============================
footer
==============================*/
.footer {
  background: #721b23;
  padding: 20px 0 35px;
  font-size: .857rem;
  color: #fff;
}
.footer .footer_in {
  width: 940px;
  margin: 0 auto;
}
.footer .footer_link li {
  float: left;
  padding-right: 8px;
  margin-right: 8px;
  border-right: 1px solid #fff;
  line-height: 1;
  margin-top: 15px;
}
.footer .footer_link li:last-of-type {
  padding-right: 0;
  margin-right: 0;
  border-right: none;
}
.footer .footer_link li a {
  color: #fff;
}
.footer .footer_info {
  margin-top: 35px;
  font-size: .916em;
}
.footer .footer_info li {
  float: left;
  margin-right: 1em;
}
.footer .footer_info li:last-of-type {
  margin-right: 0;
}
.footer .copy {
  margin-top: 5px;
}
.footer .copy small {
  font-size: .916em;
  font-weight: bold;
}

.btn_pagetop {
  position: fixed;
  left: 50%;
  bottom: 20px;
  margin-left: 494px;
  cursor: pointer;
  z-index: 1000;
  display: none;
}
.btn_pagetop:hover {
  opacity: .8;
}
.btn_pagetop.light {
  left: auto;
  right: 0;
  margin-left: 0;
}

/*==============================
module
==============================*/
.clearfix {zoom:1;}
.clearfix:after {content:"";display:block;clear:both;}
.block_sp {
  display: none;
}