/** override top styles */
html { overflow: auto; }

body { font-size: 16px; line-height: 1.75em; }
@media screen and (max-width: 640px) { body { font-size: 14px; line-height: 1.6em; } }

html, body { height: 100%; }

.wrapper { width: 100%; position: relative; height: auto !important; height: 100%; min-height: 100%; }

.contents { padding-bottom: 120px; }
@media screen and (max-width: 640px) { .contents { padding-bottom: 170px; } }

p { line-height: 1.75em; }
p.small, p.small a { font-size: 14px; }
@media screen and (max-width: 640px) { p { line-height: 1.5em; }
  p.small, p.small a { font-size: 12px; } }

/*-------------------------
	elementSocialButtons
---------------------------*/
.elementSocialButtons { width: 950px; margin: 0 auto; float: none; overflow: hidden; }
@media screen and (max-width: 640px) { .elementSocialButtons { display: block; width: 100%; height: auto; } }
.elementSocialButtons p { float: left; width: 550px; text-align: left; }
.elementSocialButtons p a { padding-right: 15px; }
@media screen and (max-width: 640px) { .elementSocialButtons p { width: 100%; float: none; } }
.elementSocialButtons.top { height: 20px; margin: -16px auto 0; }
.elementSocialButtons ul.buttons { float: right; width: 400px; text-align: right; }
@media screen and (max-width: 640px) { .elementSocialButtons ul.buttons { width: 100%; float: none; margin-top: 10px; } }
.elementSocialButtons ul.buttons li { display: inline-block; float: none; }
.elementSocialButtons ul.buttons .twitter-tweet { width: 77px; margin: 0; }
.elementSocialButtons ul.buttons .facebook-like { width: 160px; }
.elementSocialButtons ul.buttons .facebook-like .fb_iframe_widget > span { vertical-align: baseline !important; }

a { color: #222; text-decoration: underline; }
a:hover, a:active { text-decoration: none; }
a:visited { color: #222; }
a.link.normal { padding-left: 15px; background: url(/common/images/bg-button-arrow-rb.png) no-repeat 0 center; background-size: 5px 7px; }
a.link.outside { padding-left: 18px; background-image: url(/common/images/icon-outside.png); background-size: 15px auto; }

.wrapper .wrapperInner { width: 950px; margin: 20px auto 0; padding: 10px 15px 0; box-sizing: border-box; text-align: left; }
@media screen and (max-width: 950px) { .wrapper .wrapperInner { padding: 10px; box-sizing: border-box; } }
@media screen and (max-width: 640px) { .wrapper .wrapperInner { width: 100%; margin-top: 20px; } }
.wrapper .wrapperInner .oshirase { margin-top: 40px; margin-bottom: 34px; }
@media screen and (max-width: 640px) { .wrapper .wrapperInner .oshirase { margin-top: 20px; } }
.wrapper .wrapperInner .oshirase h2 { text-indent: -999em; width: 72px; height: 17px; background: url(/images/index/title_news.png) no-repeat 0 0; }
.wrapper .wrapperInner .oshirase dl { padding-left: 20px; overflow: hidden; }
@media screen and (max-width: 640px) { .wrapper .wrapperInner .oshirase dl { padding-left: 0; } }
.wrapper .wrapperInner .oshirase dl dt { float: left; width: 100px; }
.wrapper .wrapperInner .oshirase dl dd { margin-left: 100px; margin-bottom: 10px; }
.wrapper .wrapperInner .oshirase dl dd a { color: #222; }

.menuArea { margin-top: 100px; }
@media screen and (max-width: 640px) { .menuArea { margin-top: 0; } }
.menuArea ul { margin: 0; }
.menuArea ul li { position: relative; width: 100%; padding: 0; overflow: hidden; }
@media screen and (max-width: 950px) { .menuArea ul li { padding: 10px; box-sizing: border-box; } }
@media screen and (max-width: 640px) { .menuArea ul li { padding: 20px 10px; } }
.menuArea ul li h2 { text-indent: -999em; width: 330px; margin: 0 30px 0 0; float: left; min-height: 50px; }
@media screen and (max-width: 640px) { .menuArea ul li h2 { float: none; margin: 0 0 10px; width: auto; } }
.menuArea ul li .img { float: left; width: 268px; text-align: left; }
@media screen and (max-width: 640px) { .menuArea ul li .img { float: none; width: auto; } }
.menuArea ul li .box { width: 950px; position: absolute; top: 0; left: 0; margin-left: -475px; overflow: hidden; padding: 10px 15px; box-sizing: border-box; }
@media screen and (max-width: 640px) { .menuArea ul li .box { width: 100%; position: static; margin: 0; padding: 0; background: url(../images/index/arrow.png) no-repeat right center; background-size: 12px auto; } }
.menuArea ul li .bg { width: 0; position: absolute; height: 71px; top: 0; left: -100%; z-index: -1; border-radius: 0 10px 10px 0; }
@media screen and (max-width: 640px) { .menuArea ul li .bg { height: 151px; border-radius: 0 0 0 0; left: 0 !important; } }
.menuArea ul li#linkLineHikari { height: 114px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineHikari { height: auto; padding: 30px 10px; } }
.menuArea ul li#linkLineHikari .box { padding: 20px 15px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineHikari .box { padding: 0; } }
.menuArea ul li#linkLineHikari h2 { background: url(/images/index/logo_hikari.png) no-repeat 0 center; height: 74px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineHikari h2 { background-size: 220px auto; height: 60px; } }
.menuArea ul li#linkLineHikari .img { margin-top: 24px; }
.menuArea ul li#linkLineHikari .bg { width: 96%; background: #000; height: 114px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineHikari .bg { width: 100%; height: 208px; left: 0 !important; } }
.menuArea ul li#linkLineMansion { height: 71px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineMansion { height: auto; } }
.menuArea ul li#linkLineMansion h2 { background: url(/images/index/logo_mansion.png) no-repeat 0 center; height: 28px; }
.menuArea ul li#linkLineMansion .bg { background: #fda428; width: 92%; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineMansion .bg { width: 100%; left: 0 !important; } }
.menuArea ul li#linkLine10g { height: 71px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLine10g { height: auto; } }
.menuArea ul li#linkLine10g h2 { background: url(/images/index/logo_10g.png) no-repeat 0 center; height: 28px; }
.menuArea ul li#linkLine10g .bg { background: #999999; width: 88%; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLine10g .bg { width: 100%; left: 0 !important; } }
.menuArea ul li#linkLineBiz { height: 71px; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineBiz { height: auto; } }
.menuArea ul li#linkLineBiz h2 { background: url(/images/index/logo_biz.png) no-repeat 0 center; height: 27px; }
.menuArea ul li#linkLineBiz .bg { background: #006699; width: 90%; }
@media screen and (max-width: 640px) { .menuArea ul li#linkLineBiz .bg { width: 100%; left: 0 !important; } }

.elementFooter { height: 54px; margin: 0 auto; position: absolute; bottom: 0; }
@media screen and (max-width: 640px) { .elementFooter { height: auto; position: static; } }
.elementFooter .gooddesign { top: -60px; }
@media screen and (max-width: 640px) { .elementFooter .gooddesign { top: -195px; }
  .elementFooter .gooddesign a { display: block; }
  .elementFooter .gooddesign a img { max-width: 156px; } }
.elementFooter .officialsns { color: #222; margin: 0; position: absolute; right: 1px; top: -60px; width: 400px; }
@media screen and (max-width: 640px) { .elementFooter .officialsns { width: 100%; } }
.elementFooter .officialsns ul { text-align: right; }
@media screen and (max-width: 640px) { .elementFooter .officialsns ul { text-align: left; padding-left: 10px; } }
.elementFooter .officialsns ul li { display: inline-block; margin-left: 5px; font-size: 12px; }
.elementFooter .copyright { height: auto; }
.elementFooter .copyright p { height: auto; line-height: 1.75em; }

.elementSubNavi.subNaviService .top > .menu { display: none; }

.elementFooter .pagetop { position: fixed; top: auto; width: auto; right: 20px; bottom: 20px; background: #fff; opacity: 0.6; height: auto; border-radius: 2px; }
.elementFooter .pagetop a { text-decoration: none; }
.elementFooter .pagetop a span { display: block; padding: 3px 8px 3px 20px; font-size: 14px; background-position: 5px center; }

@media screen and (max-width: 640px) { .elementSubNavi { height: 107px; }
  .elementSubNavi ul.telephone { margin: 0; padding: 0; width: 100%; display: block; }
  .elementSubNavi ul.telephone li a img { width: 100%; max-width: 315px; } }
@media screen and (max-width: 950px) { .elementHeader .switch { width: 711px; } }

/*# sourceMappingURL=index2.css.map */
