@charset "UTF-8";
body { /*font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/ font-size: 16px; line-height: 1.75em; }
@media screen and (max-width: 640px) { body { font-size: 14px; line-height: 1.6em; } }
body p { line-height: 1.75em; }
body .red { color: #F00; }
body .titleImg { overflow: hidden; text-indent: 100%; white-space: nowrap; }
@media screen and (max-width: 640px) { body .titleImg { text-indent: 0; white-space: normal; font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; width: 100% !important; height: auto !important; background: none !important; text-align: center; } }
body .listNote { padding-left: 0; font-size: 12px; }
body .listNote li, body .listNote dl { position: relative; font-size: 12px; color: #000; padding-left: 1.4em; }
body .listNote li:before, body .listNote dl:before { margin-left: -1.4em; position: absolute; content: "※"; }
body .listNum { padding-left: 0; font-size: 12px; }
body .listNum li, body .listNum dl { position: relative; font-size: 12px; color: #000; padding-left: 2.2em; list-style: none; counter-increment: cntnote; position: relative; }
body .listNum li:before, body .listNum dl:before { margin-left: -2.2em; content: "※" counter(cntnote); position: absolute; }
body .wrapper { text-align: left; }

.inner { width: 950px; margin: 0 auto; }
@media screen and (max-width: 640px) { .inner { width: 100%; } }

.textBox { width: 700px; margin: 0 auto; }
@media screen and (max-width: 640px) { .textBox { width: 100%; } }
.textBox p { text-align: left; }
.textBox .note { margin: 0; }

.supportLink { margin: 0; text-align: left; }
@media screen and (max-width: 640px) { .supportLink { float: none; } }
.supportLink li { display: inline-block; }
.supportLink li + li { margin-left: 20px; }
.supportLink li a { color: #222; font-size: 14px; overflow: hidden; }
.supportLink li a:before { content: ""; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent #555; float: left; margin: 8px 5px 0 0; }
.supportLink li a.link.outside { display: inline; }
.supportLink li a.link.outside:before { display: none; }

.button { margin: 50px auto 90px; }
@media screen and (max-width: 640px) { .button { margin: 30px 0 70px; } }
.button p { text-align: center; margin-bottom: 10px; }
.button .area { width: 380px; margin: 0 auto; }
@media screen and (max-width: 640px) { .button .area { width: 100%; } }
.button a { background: #fff; border: 1px solid #222; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; color: #222; font-size: 20px; font-weight: bold; display: block; padding: 20px 45px 20px 30px; text-align: center; text-decoration: none; position: relative; }
@media screen and (max-width: 640px) { .button a { font-size: 16px; width: 100%; box-sizing: border-box; padding: 15px 20px 15px 30px; } }
.button a:after { content: ""; position: absolute; right: 10px; top: 50%; margin-top: -4px; background: url(/common/images/bg-button-arrow-rb.png) no-repeat 0 center; background-size: 9px 7px; width: 9px; height: 7px; }
.button a:hover { opacity: 0.8; }

.searchArea { margin: 0 auto; text-align: center; }
.searchArea h2 { color: #fff; font-size: 16px; font-weight: normal; margin: 0 0 10px; padding: 20px 0 0; border-top: 1px solid #fff; }
.searchArea input[type="tel"] { border: 2px solid #222; padding: 10px; margin: 0 4px 0 0; font-size: 14px; box-sizing: border-box; width: 248px; }
@media screen and (max-width: 640px) { .searchArea input[type="tel"] { width: 80%; padding: 10px; } }
.searchArea a.linkBtn { display: block; margin: 18px 0; font-size: 14px; color: #fff; text-decoration: none; text-indent: -14px; font-weight: bold; position: relative; background: #1f1f1f; padding: 10px; }
.searchArea a.linkBtn:after { width: 0; height: 0; border-style: solid; border-width: 3px 0 3px 6px; border-color: transparent transparent transparent #ffffff; position: absolute; margin-left: 6px; top: 50%; margin-top: -3px; content: ""; }
.searchArea a.searchBtn { display: inline-block; padding: 12px 0; text-align: center; width: 46px; background: rgba(2, 2, 2, 0.6); vertical-align: top; }
.searchArea a:hover { opacity: 0.8; }

.plan .searchBox a { background: none !important; }

/*	elementHeader
-------------------------------------------------*/
.elementHeader { height: auto; }
@media screen and (max-width: 640px) { .elementHeader { display: block; width: 100%; } }
.elementHeader .sony-banner .inner { width: 100%; }
.elementHeader .headerInner h1 { float: left; width: 130px; margin: 0; background: url(/common/images/header/index_img_set.png) no-repeat 0 0; background-position: 20px -48px; text-indent: -9999px; }
@media screen and (max-width: 640px) { .elementHeader .headerInner h1 { padding-bottom: 28px; } }
.elementHeader .headTel { right: 10px !important; }
@media screen and (max-width: 950px) { .elementHeader .headTel { float: none; position: absolute; width: 188px; padding: 10px 0 !important; } }
.elementHeader .planSelect { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; background: #000; padding: 5px 10px 5px 30px; color: #fff; position: absolute; top: 20px; right: 220px; font-size: 14px; overflow: hidden; cursor: pointer; }
@media screen and (max-width: 640px) { .elementHeader .planSelect { right: 10px; } }
.elementHeader .planSelect:after { content: "▼"; float: right; font-size: 11px; margin: 2px 0 0 15px; width: 11px; }
.elementHeader .planSelect.active:after { content: "×"; float: right; width: 11px; margin: 1px 0 0 15px; }
.elementHeader nav { display: none; background: #000; text-align: center; }
.elementHeader nav li { display: inline-block; vertical-align: top; }
@media screen and (max-width: 640px) { .elementHeader nav li { display: block; text-align: left; } }
.elementHeader nav li a { display: block; color: #fff; padding: 10px 30px; text-decoration: none; }
@media screen and (max-width: 640px) { .elementHeader nav li a { border-bottom: 1px solid #fff; padding: 15px !important; } }
.elementHeader nav li a:hover { text-decoration: underline; }
.elementHeader nav li a small { font-size: 12px; }
.elementHeader nav li.low a { padding: 22px 30px; }
@media screen and (max-width: 640px) { .elementHeader nav li:last-child a { border: none; } }

/*	mainArea
-------------------------------------------------*/
#mainArea { position: relative; background: url(/images/index/mainVisual.jpg) no-repeat 0 0; background-size: cover; padding: 210px 0; }
@media screen and (max-width: 640px) { #mainArea { padding: 40px 10px 140px; } }
#mainArea .tag { position: absolute; right: 0; top: 0; background: url(/images/index/main_bg_02.png) no-repeat 0 0; width: 463px; height: 242px; }
@media screen and (max-width: 640px) { #mainArea .tag { top: auto; bottom: 0; background: #000; width: 100%; height: auto; padding: 0 0 20px; } }
#mainArea .tag p { padding: 5px 20px 0 0; text-align: right; margin-top: 15px; }
@media screen and (max-width: 640px) { #mainArea .tag p { padding: 0; padding: 0 10px; text-align: center; } }
#mainArea .tag p a:hover { opacity: 0.8; }
#mainArea .searchArea { background: rgba(34, 34, 34, 0.6); padding: 30px 40px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width: 298px; }
@media screen and (max-width: 640px) { #mainArea .searchArea { width: 100%; box-sizing: border-box; padding: 20px 20px; } }
#mainArea .topBnr { position: absolute; text-align: center; top: 140px; left: 50%; margin-left: -245px; }
#mainArea .topBnr a { display: block; background: #fff; }
#mainArea .topBnr a:hover img { opacity: 0.8; }
@media screen and (max-width: 640px) { #mainArea .topBnr { top: 7%; left: 0; padding: 0 10px; margin-left: 0; text-align: center; margin: 0 auto; width: 100%; box-sizing: border-box; }
  #mainArea .topBnr a { background: none; }
  #mainArea .topBnr a img { max-width: 100%; } }

.planMenuBottom { background: #000; text-align: center; }
.planMenuBottom li { display: inline-block; vertical-align: top; }
@media screen and (max-width: 640px) { .planMenuBottom li { display: block; text-align: left; top: 120px; } }
.planMenuBottom li a { display: block; color: #fff; padding: 10px 30px; text-decoration: none; }
@media screen and (max-width: 640px) { .planMenuBottom li a { border-bottom: 1px solid #fff; padding: 15px !important; } }
.planMenuBottom li a:hover { text-decoration: underline; }
.planMenuBottom li a small { font-size: 12px; }
.planMenuBottom li.low a { padding: 22px 30px; }
@media screen and (max-width: 640px) { .planMenuBottom li:last-child a { border: none; } }

/*	read
-------------------------------------------------*/
#read { margin: 15px auto 65px; width: 950px; }
@media screen and (max-width: 640px) { #read { width: 100%; padding: 0 10px; box-sizing: border-box; } }
#read h2 { margin: 65px auto; text-align: center; }
#read .supportLink { float: left; }
#read .socialButtons { float: right; margin: 0; }
@media screen and (max-width: 640px) { #read .socialButtons { text-align: right; float: none; margin-top: 10px; } }
#read .socialButtons li { display: inline-block; }
#read .socialButtons li .fb_iframe_widget > span { vertical-align: baseline !important; }

/*	selectService
-------------------------------------------------*/
#selectService h2 { margin: 0 0 40px; }
@media screen and (max-width: 640px) { #selectService h2 { margin: 0 0 20px; } }
#selectService h3 { margin: 0 0 40px; }
@media screen and (max-width: 640px) { #selectService h3 { margin: 0 0 20px; }
  #selectService h3 img { width: auto; height: 41px; } }
#selectService .serviceMenu { margin: 0; }
#selectService .serviceMenu li { color: #fff; padding: 45px 0 35px; text-align: center; }
@media screen and (max-width: 640px) { #selectService .serviceMenu li { padding: 40px 10px; } }
#selectService .serviceMenu li + li { margin-top: 10px; }
#selectService .serviceMenu li .box { width: 580px; margin: 0 auto; }
@media screen and (max-width: 640px) { #selectService .serviceMenu li .box { width: 100%; } }
#selectService .serviceMenu li .clear { overflow: hidden; }
#selectService .serviceMenu li .clear .icon { float: left; text-align: right; width: 270px; }
@media screen and (max-width: 640px) { #selectService .serviceMenu li .clear .icon { float: none; text-align: center; width: 100%; } }
#selectService .serviceMenu li .clear .text { font-size: 13px; float: right; margin-left: 20px; padding: 5px 0; text-align: left; width: 290px; }
@media screen and (max-width: 640px) { #selectService .serviceMenu li .clear .text { margin: 5px 0 0; float: none; text-align: center; width: 100%; } }
#selectService .serviceMenu li .button { margin: 40px auto 0; width: 380px; }
@media screen and (max-width: 640px) { #selectService .serviceMenu li .button { width: 100%; margin: 20px 0 0; } }
#selectService .serviceMenu li .button a { border: none; text-decoration: none; }
#selectService .serviceMenu li.hikari { background: url(/images/index/selectService_bg_hikari.jpg) no-repeat center 0; background-size: cover; }
#selectService .serviceMenu li.hikari h2 { background: url(/images/index/selectService_title_01.png) no-repeat center 0; height: 32px; width: 100%; }
#selectService .serviceMenu li.mansion { background: url(/images/index/selectService_bg_mansion.jpg) no-repeat center 0; background-size: cover; }
#selectService .serviceMenu li.mansion h2 { margin-bottom: 25px; background: url(/images/index/selectService_title_02.png) no-repeat center 0; height: 32px; width: 100%; }
#selectService .serviceMenu li.plan { background: #666666; padding: 15px 0; }
#selectService .serviceMenu li.plan h3 { color: #fff; font-size: 16px; font-weight: normal; margin: 0 0 10px; }
#selectService .serviceMenu li.plan .searchBox a { background: #000; }
#selectService .serviceMenu li.plan .searchBox input { width: 250px; }
#selectService .supportLink { margin-top: 10px; }

/*	campaign
-------------------------------------------------*/
#campaign { margin: 70px auto; width: 950px; }
@media screen and (max-width: 640px) { #campaign { width: 100%; margin: 50px 0; padding: 0 10px; box-sizing: border-box; } }
#campaign .logo { text-align: center; }
#campaign h2.title01 { background: url(/images/index/campaign_title_01.png) no-repeat center 0; margin: 15px auto 45px; height: 35px; width: 519px; }
#campaign h2.title02 { background: url(/images/index/campaign_title_03.png) no-repeat center 0; margin: 15px auto 45px; height: 35px; width: 503px; }
#campaign h2.title03 { background: url(/images/index/campaign_title_04.png) no-repeat center 0; margin: 15px auto 45px; height: 34px; width: 345px; }
#campaign h3 { font-size: 24px; font-weight: normal; margin: 0 0 20px; text-align: center; }
@media screen and (max-width: 640px) { #campaign h3 { font-size: 18px; } }
#campaign h4 { margin: 30px 0 5px; font-weight: normal; }
@media screen and (max-width: 640px) { #campaign h4 { margin: 20px 0 5px; } }
#campaign .read { background: url(/images/index/campaign_title_02.png) no-repeat center 0; margin: 0 auto 45px; height: 24px; width: 161px; }
#campaign .images { margin: 70px auto 50px; text-align: center; width: 890px; }
@media screen and (max-width: 640px) { #campaign .images { margin: 30px 0; width: 100%; } }
#campaign .images p { text-align: left; }
#campaign dl { overflow: hidden; margin: 40px 0 0; }
@media screen and (max-width: 640px) { #campaign dl { margin: 20px 0 0; } }
#campaign dl dt { width: 120px; float: left; }
@media screen and (max-width: 640px) { #campaign dl dt { width: 100%; float: none; } }
#campaign dl dd { margin: 0 0 10px 120px; }
@media screen and (max-width: 640px) { #campaign dl dd { margin: 0 0 10px 0; } }
#campaign .select p { text-align: center; margin-bottom: 15px; }
@media screen and (max-width: 640px) { #campaign .select p { text-align: left; } }
#campaign .other { margin: 0 auto; text-align: center; width: 930px; }
@media screen and (max-width: 640px) { #campaign .other { width: 100%; }
  #campaign .other p { text-align: left; } }
#campaign .other .selectItem { margin: 15px auto 70px; overflow: hidden; width: 632px; }
@media screen and (max-width: 640px) { #campaign .other .selectItem { width: 100%; } }
#campaign .other .selectItem li { float: left; width: 300px; margin: 0 8px 30px; }
@media screen and (max-width: 640px) { #campaign .other .selectItem li { float: none; width: 100%; margin: 0; } }
@media screen and (max-width: 640px) { #campaign .other .selectItem li + li { margin: 15px 0 0; } }
#campaign .other .selectItem li .button { margin: 0; padding: 15px 35px 15px 20px; background: #fff; border: 1px solid #222; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; color: #222; font-size: 18px; font-weight: bold; display: block; text-align: center; text-decoration: none; position: relative; }
#campaign .other .selectItem li .button:after { content: ""; position: absolute; right: 10px; top: 50%; margin-top: -4px; background: url(/common/images/bg-button-arrow-rb.png) no-repeat 0 center; background-size: 9px 7px; width: 9px; height: 7px; }
#campaign .other .selectItem li a { text-decoration: none; }
#campaign .other .selectItem li a:hover { opacity: 0.8; }
#campaign .other .selectItem li a:hover .button { opacity: 0.8; }
#campaign .other .selectItem li img { margin-bottom: 15px; }
#campaign .campaign_strong { font-size: 120%; font-weight: bold; border-bottom: 3px solid #f60; padding: 0 10px 5px; }

/*	entry
-------------------------------------------------*/
#entry { background: #333333; color: #fff; padding: 60px 0; text-align: center; }
@media screen and (max-width: 640px) { #entry { padding: 50px 10px; box-sizing: border-box; } }
#entry h2 { background: url(/images/index/entry_title_01.png) no-repeat center 0; margin: 0 auto 25px; height: 35px; width: 647px; }
#entry p { text-align: left; }
#entry .banner { margin-top: 40px; }
@media screen and (max-width: 640px) { #entry .banner { margin-top: 20px; } }
#entry .banner a { color: #fff; text-decoration: none; }
#entry .banner li { display: inline-block; }
#entry .banner li + li { margin-left: 20px; }
@media screen and (max-width: 640px) { #entry .banner li + li { margin: 10px 0 0; } }
#entry .banner li:hover { opacity: 0.8; }
#entry .banner li p { text-align: center; margin-top: 10px; }
#entry .banner li p .new { background: #ed9900; color: #fff; margin-left: 10px; padding: 0 4px; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; }

/*	flow
-------------------------------------------------*/
#flow { padding: 50px 0 0; background: #e5e5e5; text-align: center; }
#flow h2 { background: url(/images/index/flow_title_01.png) no-repeat center 0; margin: 0 auto 20px; height: 34px; width: 488px; }
#flow h3 { margin: 0 0 50px; }
@media screen and (max-width: 640px) { #flow h3 { margin-bottom: 30px; } }
#flow .box { margin-bottom: 20px; padding: 30px 0; text-align: center; }
@media screen and (max-width: 640px) { #flow .box { padding: 0 10px; } }
#flow .box .textBox { margin-top: 30px; }
#flow .searchBox { background: #666666; padding: 15px 0; }
#flow .searchBox h3 { color: #fff; font-size: 16px; font-weight: normal; margin: 0 0 10px; }
#flow .searchBox input { width: 250px; }

/*	movie
-------------------------------------------------*/
#movie { background: #333; padding: 100px 0 70px; text-align: center; }
@media screen and (max-width: 640px) { #movie { padding: 50px 10px; } }
#movie h2 { background: url(/images/index/movie_title_01.png) no-repeat center 0; margin: 0 auto 50px; height: 34px; width: 569px; }
@media screen and (max-width: 640px) { #movie h2 { overflow: hidden; text-indent: 100%; white-space: nowrap; background: url(/images/index/movie_title_01.png) no-repeat center 0 !important; margin: 0 auto 40px; width: 100% !important; } }
#movie .movieBox { width: 654px; margin: 0 auto; }
@media screen and (max-width: 640px) { #movie .movieBox { width: 100%; } }
#movie .movieBox ul { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 50px; }
@media screen and (max-width: 640px) { #movie .movieBox ul { flex-direction: column; margin-bottom: 15px; } }
@media screen and (max-width: 640px) { #movie .movieBox .video-target { pointer-events: none !important; }
  #movie .movieBox .video-target a { pointer-events: auto !important; } }
#movie .movieBox .video-link { text-decoration: underline; color: #fff; text-align: left; width: 310px; margin: 0 auto 20px; }
@media screen and (max-width: 640px) { #movie .movieBox .video-link { pointer-events: none !important; }
  #movie .movieBox .video-link a { pointer-events: auto !important; } }
#movie .movieBox .video-link a { color: #fff; }
@media screen and (min-width: 641px) { #movie .movieBox .video-link a { pointer-events: none !important; } }
#movie .movieBox .video-link:hover { opacity: 0.8; text-decoration: none; }
#movie .movieBox .video-link:hover img { opacity: 0.8; }
#movie .movieBox .video-link img { margin-bottom: 10px; }
#movie .movieBox .video-close { position: absolute; top: -10px; right: -30px; margin-right: 0 !important; border-radius: 30px; border: 2px solid #fff !important; background: #333 url("/images/index/ico_fancy_close.png") center center no-repeat !important; background-size: 12px !important; width: 28px; height: 28px; overflow: hidden; text-indent: 100%; white-space: nowrap; z-index: 9999; }
#movie .movieBox .video-wrapper { background: rgba(0, 0, 0, 0.9) !important; }
@media screen and (max-width: 640px) { #movie .movieBox .video-wrapper { display: none !important; } }
#movie .movieBox .video { position: relative; }
#movie .movieBox video { border-radius: 3px; border: 3px solid #fff; }
#movie .movieBox .movieImg:hover { opacity: 0.8; }
#movie .movieBox p { text-align: center; margin-top: 40px; }
#movie .movieBox p a { color: #fff; text-decoration: none; }
#movie .movieBox p a:hover { text-decoration: underline; }
#movie .movieBox p img { margin-right: 5px; }

/*	news
-------------------------------------------------*/
#news { padding: 50px 0 20px; text-align: center; /*satisfaction*/ }
@media screen and (max-width: 640px) { #news { padding: 50px 10px 20px; } }
#news h2 { background: url(/images/index/oshirase_title_01.png) no-repeat center 0; margin: 0 auto 50px; height: 33px; width: 141px; overflow: hidden; text-indent: 100%; white-space: nowrap; }
@media screen and (max-width: 640px) { #news h2 { text-indent: 0; white-space: normal; font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; width: 100% !important; height: auto !important; background: none !important; text-align: center; margin-bottom: 40px; } }
#news dl { margin: 0 auto; overflow: hidden; text-align: left; width: 950px; }
@media screen and (max-width: 640px) { #news dl { width: 100%; } }
#news dl dt { float: left; margin-bottom: 15px; width: 110px; }
@media screen and (max-width: 640px) { #news dl dt { float: none; width: 100%; margin: 0; } }
#news dl dd { margin: 0 0 15px 110px; }
@media screen and (max-width: 640px) { #news dl dd { margin: 5px 0 15px; } }
#news dl dd a { color: #222; }
#news .otherLink { width: 970px; margin: 90px auto 0; overflow: hidden; }
@media screen and (max-width: 640px) { #news .otherLink { width: 100%; } }
#news .otherLink .gooddesign { text-align: left; width: 680px; float: left; }
@media screen and (max-width: 640px) { #news .otherLink .gooddesign { width: 100%; float: none; padding-right: 10px; box-sizing: border-box; }
  #news .otherLink .gooddesign img { height: 21px; } }
#news .otherLink .social { width: 150px; margin: 0 auto; }
@media screen and (max-width: 640px) { #news .otherLink .social { margin-top: 20px; } }
#news .otherLink .social li { display: inline-block; margin: 0 4px; min-height: 43px; }
#news .otherLink .social li:first-child { display: block; margin: 0 auto 10px; min-height: auto; }
#news .satisfaction { margin: 70px 0 0; /*h3*/ /*ul*/ }
#news .satisfaction h3 { margin-bottom: 50px; }
#news .satisfaction h3 span { display: inline-block; margin: 15px 0 0; padding: 0 20px; font-size: 130%; /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fffade+0,f9e97e+100&0+0,0+60,1+61 */ background: -moz-linear-gradient(top, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fffade', endColorstr='#f9e97e',GradientType=0 ); /* IE6-9 */ }
#news .satisfaction ul.awd { width: 950px; margin: 0 auto; text-align: center; }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd { width: 100%; } }
#news .satisfaction ul.awd li { display: table; padding: 0 40px; width: 50%; box-sizing: border-box; box-sizing: border-box; vertical-align: middle; }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li { padding: 0; } }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li:first-child { width: 100%; } }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li { width: 100%; margin-bottom: 30px; } }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li span { height: auto; } }
#news .satisfaction ul.awd li span.logo_area { padding-bottom: 10px; width: 140px; }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li span.txt_area { width: auto; } }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd li span.gda_area { width: 100%; } }
#news .satisfaction h4 { margin: 50px 0 20px; display: inline-block; padding: 0 15px; border-bottom: 1px solid #B0B0B0; }

.planMenuFoot { background: #666; text-align: center; }
.planMenuFoot li { display: inline-block; vertical-align: top; }
@media screen and (max-width: 640px) { .planMenuFoot li { display: block; text-align: left; } }
.planMenuFoot li a { display: block; color: #fff; padding: 10px 30px; text-decoration: none; }
@media screen and (max-width: 640px) { .planMenuFoot li a { border-bottom: 1px solid #fff; padding: 15px !important; } }
.planMenuFoot li a:hover { text-decoration: underline; }
.planMenuFoot li a small { font-size: 12px; }
.planMenuFoot li.low a { padding: 22px 30px; }
@media screen and (max-width: 640px) { .planMenuFoot li:last-child a { border: none; } }

footer { background: #e5e5e5; }
footer .inner { padding: 30px 0; }
@media screen and (max-width: 640px) { footer .inner { padding: 30px 10px; box-sizing: border-box; } }
footer .copyright { background: #262626; position: relative; }
footer .copyright p { color: #fff; font-size: 14px; margin: 0 auto; padding: 15px 0; width: 950px; }
@media screen and (max-width: 640px) { footer .copyright p { width: 100%; text-align: center; padding: 15px 10px; box-sizing: border-box; } }
footer .pagetop { margin: 0; height: 35px; width: 35px; right: 20px; display: none; position: fixed; top: auto; bottom: 20px; background: #262626; }
footer .pagetop.active { position: absolute; top: -35px; }
footer .pagetop a { text-decoration: none; }
footer .pagetop a:hover { opacity: 0.8; }
footer .pagetop a span { display: block; padding: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; height: 35px; width: 35px; background: url(/common/images/pagetop.png) no-repeat 0 0; background-size: 100%; }

.topArea { background: #000; padding: 20px 0 15px; }
.topArea .kv { background: url("/images/index/kv_bg.png") center center no-repeat; width: 100%; height: 375px; margin: 0 auto 15px; display: flex; padding-top: 60px; text-align: center; flex-direction: column; box-sizing: border-box; }
.topArea .kv img { width: 260px; }
.topArea .kv .searchTxt { margin: 30px 0 15px; }
.topArea .kv .searchArea { width: 260px; margin: 0 auto; display: flex; justify-content: space-between; }
.topArea .kv .searchArea input { background: none; border: 1px solid #e9e9e9; width: 156px; color: #fff; font-size: 16px; }
.topArea .kv .searchArea input::-webkit-input-placeholder { color: #fff; }
.topArea .kv .searchArea a { display: block; width: 100px; color: #fff; text-decoration: none; background: #ec1b60; border-radius: 5px; font-size: 15px; }
.topArea .kv ul li { color: #d1d1d1; font-size: 16px; }
.topArea .bnrArea ul { width: 928px; display: flex; justify-content: space-between; padding-top: 0; margin: 0 auto; }
.topArea .bnrArea ul li { width: 300px; }
.topArea .bnrArea ul li a img { max-width: 100%; }
.topArea .bnrArea ul li a:hover { opacity: 0.8; }

/*.topArea*/
.navArea { background: #111; padding: 15px 0; transition: all 0.3s; }
.navArea ul { width: 928px; transition: all 0.3s; display: flex; justify-content: space-between; margin: 0 auto; }
.navArea ul li { width: 180px; }
.navArea ul li a { display: block; vertical-align: middle; color: #fff; font-size: 12px; border-radius: 4px; background: #3d3d3d; text-decoration: none; box-sizing: border-box; padding: 10px 10px 0; box-sizing: border-box; height: 78px; }
.navArea ul li a:hover { opacity: 0.8; }
.navArea ul li a.outside span { background: url("/common/images/icon-outside_white.png") no-repeat right center; padding-right: 25px; background-size: 20px; }
.navArea ul li a span { font-weight: bold; text-decoration: underline; font-size: 13px; }

@media screen and (max-width: 640px) { .topArea { background: #000; padding: 0; }
  .topArea .kv { background-size: auto 100%; background: url("/images/index/kv_bg_sp.png") center top no-repeat; background-size: auto 100%; width: 100%; height: auto; margin: 0 auto; display: flex; padding: 70px 30px 25px; text-align: center; }
  .topArea .kv div { max-width: 260px; margin: 0 auto; }
  .topArea .kv div img { width: 100%; }
  .topArea .kv .searchTxt { margin: 30px auto 15px; }
  .topArea .kv .searchArea { width: 100%; }
  .topArea .kv .searchArea input { margin-right: 10px; width: 60%; }
  .topArea .kv .searchArea a { border-radius: 5px; font-size: 15px; width: 38%; }
  .topArea .bnrArea ul { width: 100%; display: flex; justify-content: space-between; padding: 20px 38px; margin: 0 auto; flex-direction: column; box-sizing: border-box; }
  .topArea .bnrArea ul li { width: 100%; max-width: 300px; margin: 15px auto 0; text-align: center; }
  .topArea .bnrArea ul li:first-child { margin: 0 auto; }
  /*.topArea*/
  .navArea { padding: 20px; }
  .navArea ul { width: 100%; flex-direction: column; }
  .navArea ul li { width: 100%; margin-top: 10px; }
  .navArea ul li:first-child { margin-top: 0; }
  .navArea ul li a { padding: 15px; background: url("/images/index/ico_nav_arrow.png") right 20px center no-repeat #3d3d3d; background-size: 12px auto; } }
.fixed { position: fixed; transition: all 0.3s; top: 0; left: 0; z-index: 2; width: 100%; padding: 10px 0; animation: anime 0.5s ease-out; }

@keyframes anime { 0% { padding: 10px 0; }
  50% { padding: 8px 0; }
  100% { padding: 10px 0; } }
.mobileLink { text-align: center; background: #cce1f2; padding: 10px; line-height: 100%; border-top: 1px solid #d1d1d1; border-bottom: 1px solid #d1d1d1; }

.mobileLink a { color: #222; background-position: left center; padding-left: 24px !important; }

#news .satisfaction { margin: 70px 0 0; /*h3*/ /*ul*/ }

#news .satisfaction h3 span { display: inline-block; margin: 15px 0 0; padding: 0 20px; font-size: 130%; /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fffade+0,f9e97e+100&0+0,0+60,1+61 */ background: -moz-linear-gradient(top, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, rgba(255, 250, 222, 0) 0%, rgba(251, 240, 164, 0) 60%, #fbf0a3 61%, #f9e97e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fffade', endColorstr='#f9e97e',GradientType=0 ); /* IE6-9 */ }

#news .satisfaction ul.awd { width: 950px; text-align: center; display: flex; justify-content: center; }
@media screen and (max-width: 640px) { #news .satisfaction ul.awd { width: 100%; flex-direction: column; } }

@media screen and (max-width: 640px) { #news .satisfaction ul.awd { width: 100%; }
  #news .satisfaction ul.listNote { text-align: left; } }
#news .satisfaction ul li.awd { display: inline-block; padding: 0 30px; box-sizing: border-box; vertical-align: top; }

@media screen and (max-width: 640px) { #news .satisfaction ul.awd li { width: 100%; margin-bottom: 30px; } }
#news .satisfaction ul li span { vertical-align: middle; }

@media screen and (max-width: 640px) { #news .satisfaction ul li span { height: auto; } }
#news .satisfaction ul li span.logo_area { padding-bottom: 10px; display: table-cell; vertical-align: middle; }

@media screen and (max-width: 640px) { #news .satisfaction ul li span.logo_area { width: 120px; } }
#news .satisfaction ul li span.txt_area { display: table-cell; vertical-align: middle; }

@media screen and (max-width: 640px) { #news .satisfaction ul li span.txt_area { width: auto; } }
#news .satisfaction ul li span.gda_area { height: 110px; display: table-cell; vertical-align: middle; }

@media screen and (max-width: 640px) { #news .satisfaction ul li span.gda_area { width: 100%; } }
#news .satisfaction h4 { margin: 50px 0 20px; display: inline-block; padding: 0 15px; border-bottom: 1px solid #B0B0B0; }

.elementHeader { height: auto; }

@media screen and (max-width: 640px) { .elementHeader { display: block; width: 100%; } }
.elementHeader .sony-banner .inner { width: 100%; }

.elementHeader .headerInner { z-index: 9995; }

.elementHeader .headerInner h1 { float: left; width: 130px; margin: 0 auto; background: url(/common/images/header/index_img_set.png) no-repeat 0 0; background-position: 20px -48px; text-indent: -9999px; }

@media screen and (max-width: 640px) { .elementHeader .headerInner h1 { padding-bottom: 28px; float: none; } }
.elementHeader .headTel { right: 10px !important; }

@media screen and (max-width: 950px) { .elementHeader .headTel { float: none; position: absolute; width: 188px; padding: 10px 0 !important; } }
.elementHeader .planSelect { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; background: #000; padding: 5px 10px 5px 30px; color: #fff; position: absolute; top: 20px; right: 220px; font-size: 14px; overflow: hidden; cursor: pointer; }

@media screen and (max-width: 640px) { .elementHeader .planSelect { display: none; } }
.elementHeader .planSelect:after { content: "▼"; float: right; font-size: 11px; margin: 2px 0 0 15px; width: 11px; }

.elementHeader .planSelect.active:after { content: "×"; float: right; width: 11px; margin: 1px 0 0 15px; }

.elementHeader nav { display: none; background: #000; text-align: center; }

.elementHeader nav li { display: inline-block; vertical-align: top; }

@media screen and (max-width: 640px) { .elementHeader nav li { display: block; text-align: left; } }
.elementHeader nav li a { display: block; color: #fff; padding: 10px 30px; text-decoration: none; }

@media screen and (max-width: 640px) { .elementHeader nav li a { border-bottom: 1px solid #fff; padding: 15px !important; } }
.elementHeader nav li a:hover { text-decoration: underline; }

.elementHeader nav li a small { font-size: 12px; }

.elementHeader nav li.low a { padding: 22px 30px; }

@media screen and (max-width: 640px) { .elementHeader nav li:last-child a { border: none; } }
@media screen and (max-width: 640px) { .subNaviService { position: absolute; z-index: 9996; top: 38px; }
  .elementSubNavi .top { width: 100%; height: auto; display: block; padding: 0; background: none !important; position: relative; }
  .elementSubNavi .top .menu { width: 40px !important; background: url(/common/images/header/menu_icon_black.png) no-repeat center 12px !important; background-size: 20px auto !important; margin: 8px 0 0 5px; position: relative; height: 42px; }
  .elementSubNavi .top .tel { cursor: pointer; display: block; height: 42px; width: 75px; position: absolute; right: 5px; top: 0px; background: url(/common/images/header/menu_icon_telephone_black.png) no-repeat center bottom; background-size: 75px auto; text-indent: 100%; white-space: nowrap; overflow: hidden; font-size: 0; }
  .elementSubNavi .top:after { position: absolute; display: block; content: ""; background: url(/common/images/header/menu_icon_txt_black.png) no-repeat; bottom: 0; left: 5px; width: 40px; height: 9px; }
  .elementSubNavi .top .tel .icon { cursor: pointer; background: url(/common/images/header/menu_icon_telephone_mark_black.png) no-repeat center center; background-size: 13px auto; -webkit-transition: -webkit-transform 350ms ease; transition: transform 350ms ease; display: block; height: 13px; width: 13px; position: absolute; right: 30px; top: 10px; font-size: 0; }
  .elementSubNavi .top .open .icon { background: url(/common/images/header/menu_icon_telephone_close_black.png) no-repeat center center !important; background-size: 13px auto !important; -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); }
  .elementSubNavi .top .menu.open { background: url(/common/images/header/menu_icon_close_black.png) no-repeat center center !important; background-size: 20px auto !important; transform: rotate(270deg); }
  .elementSubNavi.subhikari ul li.mansionTop a { height: 90px; border-bottom: 1px solid #ffbe48; }
  .elementSubNavi.subhikari ul li.mansionTop { height: 90px; }
  .elementSubNavi.subhikari ul li.mansionWidth { width: 100%; float: left; }
  .elementSubNavi.subhikari ul li.tengHarf a { background: #666; border-bottom: 1px solid #999; border-right: 1px solid #999; }
  .elementSubNavi.subhikari ul li.bizHarf a { background: #00558b; border-bottom: 1px solid #3094d3; border-right: 1px solid #3094d3; }
  .elementSubNavi.subhikari ul li.mansionHarf a { background: #FFA500; border-bottom: 1px solid #ffbe48; border-right: 1px solid #ffbe48; }
  .elementSubNavi.subhikari ul li.mansionWidth a { background: #FFA500; border-bottom: 1px solid #ffbe48; border-right: 1px solid #ffbe48; }
  .elementSubNavi.subhikari ul li.sPlan a { background: #ff5da2; border-bottom: 1px solid #ff3e90; border-right: none; }
  .elementHeader.headerIndex .headerInner { position: relative; background: #fff; border-bottom: 1px solid #333333; height: 70px; } }
.open-default { padding-left: 15px; position: relative; }
.open-default:before { content: ""; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent #555; float: left; position: absolute; left: 0; top: 50%; margin-top: -4px; }

/*# sourceMappingURL=index.css.map */
