/* -----------------------------------------------------------------------
## rewrite ###############################################################
----------------------------------------------------------------------- */
#cmn_header, #cmn_main_area, #g_header {
  width: 1080px;
}

.offer {
  font-size: 68.8%;
  color: #666;
}
.offer li {
  text-indent: -1em;
  padding-left: 1em;
}

/* -----------------------------------------------------------------------
## base ##################################################################
----------------------------------------------------------------------- */
.pagetop {
  background: url("/common/images/link-arrow-04.gif") no-repeat scroll right center;
  font-size: 10px;
  margin-top: 10px;
  padding-right: 15px;
  text-align: right;
  position: relative;
  z-index: 10;
}

.cont_w {
width: 1080px;
margin: 20px auto -20px;
}

/* -----------------------------------------------------------------------
## layout ################################################################
----------------------------------------------------------------------- */
#gnavi {
  border-top: 3px solid #076FCB;
  background: url("/img/2013-1209/bg_gnav.png") repeat-x left top;
}
#gnavi ul {
  width: 1080px;
  margin: 0 auto;
}

*:first-child + html #gnavi {
  background: url("/img/2013-1209/bg_gnav.png") repeat-x left 3px;
}

#breadcrumb {
  background: #cde2f5 url("/img/2013-1209/bg_breadcrumb.png") repeat-x left top;
}
#breadcrumb ul {
  width: 1080px;
  margin: 0 auto;
  line-height: 1.2;
}

#contentsWrapper {
  width: 1080px;
  margin: 0 auto;
  line-height: 1.5;
}

#mainLeft {
  width: 850px;
  float: left;
  font-size: 133.3%;
}

#sideNavWrapper {
  width: 210px;
  float: right;
}

/* -----------------------------------------------------------------------
## section ###############################################################
----------------------------------------------------------------------- */
#gnavi li {
  float: left;
}

#breadcrumb li {
  padding: 10px 0 10px;
  float: right;
}
#breadcrumb li:first-child {
  float: left;
}
#breadcrumb li a {
  background-position: 0 0;
}

#overview {
  position: relative;
  margin-top: 15px;
  background: url(/img/2013-1209/bg_main.jpg) no-repeat right top;
}
#overview .mainvisual {
  height: 382px;
}
#overview .logo {
  padding: 33px 0 35px 23px;
}
#overview h2 {
  margin-left: 13px;
  margin-bottom: 15px;
}
#overview h2 + p {
  margin-left: 10px;
}
#overview .ratio {
  position: absolute;
  top: 18px;
  right: 15px;
}
#overview .practice {
  margin-top: 30px;
  padding: 25px 18px 15px;
  background-color: #E1EFFB;
}
#overview .practice .txt_box {
  width: 457px;
  margin-bottom: 25px;
  padding-left: 5px;
  float: left;
}
#overview .practice h3 {
  margin-bottom: 25px;
}
#overview .practice h3 + p {
  margin-bottom: 22px;
}
#overview .practice .figure {
  width: 295px;
  float: right;
  margin-bottom: 12px;
  padding-right: 7px;
}
#overview .practice .figure .caption {
  margin-top: 7px;
  padding-left: 0;
  text-indent: 0;
  color: #666;
  font-size: 68.8%;
}
#overview .practice .btns {
  margin-top: 12px;
  clear: both;
}
#overview .practice .btns li {
  float: left;
  margin-left: 4px;
}
#overview .practice .btns li:first-child {
  margin-left: 0;
}

#cycle {
  margin-top: 50px;
}
#cycle > div {
  margin-top: 40px;
}
#cycle h2 {
  margin-bottom: 35px;
}
#cycle .catch {
  margin-bottom: 35px;
}
#cycle .catch + p {
  width: 440px;
}
#cycle .cycle01 {
  position: relative;
  padding-bottom: 30px;
  background: url("/img/2013-1209/bg_sec01.jpg") no-repeat right 80px;
}
#cycle .cycle01 .reason {
  width: 371px;
  margin-top: 35px;
  padding: 18px 25px 20px 18px;
  background: url("/img/2013-1209/bg_bln01.png") no-repeat left top;
}
#cycle .cycle01 .reason h3 {
  margin-bottom: 12px;
}
#cycle .cycle01 .btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
}
#cycle .cycle02 {
  position: relative;
  background: url("/img/2013-1209/bg_sec02.jpg") no-repeat left 80px;
}
#cycle .cycle02 .catch {
  margin-bottom: 35px;
  text-align: right;
}
#cycle .cycle02 > p {
  margin: 0 0 0 auto;
}
#cycle .cycle02 .reason {
  width: 429px;
  margin: 10px 0 0 auto;
  padding: 30px 25px 18px 18px;
  background: url("/img/2013-1209/bg_bln02.png") no-repeat left top;
}
#cycle .cycle02 .reason h3 {
  margin-bottom: 12px;
}
#cycle .cycle02 .reason .kyozai {
  margin-top: 15px;
}
#cycle .cycle02 .btn {
  position: absolute;
  bottom: 10px;
  left: 160px;
}
#cycle .cycle03 {
  position: relative;
  padding-bottom: 20px;
  background: url("/img/2013-1209/bg_sec03.jpg") no-repeat right 80px;
}
#cycle .cycle03 .reason {
  width: 455px;
  margin-top: 15px;
  padding: 30px 25px 18px 18px;
  background: url("/img/2013-1209/bg_bln03.png") no-repeat left top;
}
#cycle .cycle03 .reason h3 {
  margin-bottom: 12px;
}
#cycle .cycle03 .btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

#tablet {
  margin-top: 40px;
  background: #2d80ca url("/img/2013-1209/img06.jpg") no-repeat right 124px;
}
#tablet .contents {
  padding: 25px 20px 15px;
}
#tablet .contents > p {
  width: 454px;
  color: #FFF;
}
#tablet .nav {
  margin-top: 25px;
}
#tablet .nav li {
  margin-top: 7px;
}
#tablet .feature_box {
  margin-top: 30px;
  padding: 15px 20px;
  background-color: #FFF;
}
#tablet .feature_box > div {
  width: 236px;
  float: left;
  margin-left: 15px;
  padding-left: 14px;
  padding-bottom: 15px;
  border-left: 1px dotted #999;
}
#tablet .feature_box > div:first-child {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
#tablet .feature_box h3 {
  margin-bottom: 15px;
}
#tablet .feature_box p {
  padding-bottom: 20px;
  font-size: 87.5%;
}
#tablet .feature_box .red_notes {
  display: block;
  color: #DF0000;
  font-size: 85.7%;
}
#tablet .feature_box .offer {
  clear: both;
  padding-top: 15px;
}
#tablet .btn {
  margin-top: 15px;
  margin-right: -5px;
  text-align: right;
}

#voice {
  margin-top: 50px;
  padding: 17px 20px;
  background-color: #F59EA7;
}
#voice h2 {
  margin-bottom: 20px;
  text-align: center;
}
#voice > p {
  text-align: center;
}
#voice > div {
  margin-top: 20px;
  width: 260px;
  float: left;
  margin-left: 15px;
  background: #fbd8dc url("/img/2013-1209/bg_voice_box_btm.png") no-repeat left bottom;
}
#voice > div .inner {
  padding: 15px 12px 25px;
  background: transparent url("/img/2013-1209/bg_voice_box_top.png") no-repeat left top;
}
#voice > div h3 {
  margin-bottom: 7px;
  text-align: center;
}
#voice > div .photo {
  text-align: center;
}
#voice > div p {
  font-size: 87.5%;
}
#voice > div .name {
  margin: 25px 0 14px;
  padding-bottom: 15px;
  border-bottom: 1px dotted #666;
  font-size: 75%;
  color: #666;
}
#voice > div .wine {
  color: #AA194C;
  margin-bottom: 10px;
}
#voice .first {
  margin-left: 0;
}
#voice .btn {
  background: transparent none;
  width: 800px;
  clear: both;
  text-align: right;
}

#cm {
  margin-top: 35px;
}
#cm h2 {
  margin: 20px 0;
}
#cm .offer {
  margin: 15px 0 10px;
}
#cm .txt_box {
  float: left;
}
#cm .img_box {
  float: right;
}
#cm .img_box .caption {
  margin-top: 10px;
  text-align: center;
  font-size: 87.5%;
}

/* sideNavi */
#sideNav {
  width: 210px;
  padding-top: 15px;
  line-height: 1;
  vertical-align: bottom;
  background-color: #FFF;
}
#sideNav > img {
  height: 7px;
  line-height: 1;
  vertical-align: bottom;
}
#sideNav .inner {
  border: 1px solid #AAD0F2;
  border-top: none;
  border-bottom: none;
}
#sideNav .cv_box {
  padding: 5px 9px;
}
#sideNav .cv_box img {
  margin-bottom: 10px;
}
#sideNav .cv_box .friends {
  padding: 3px 0;
  padding-left: 25px;
  background: url("/img/2013-1209/ic_friends.png") no-repeat left top;
}
#sideNav dl {
  margin-top: 15px;
}
#sideNav dt {
  padding: 3px 0;
  background-color: #AAD0F2;
  text-align: center;
  font-size: 100%;
  font-weight: bold;
}
#sideNav dd {
  padding: 10px;
}
#sideNav dd p {
  margin-top: 10px;
  line-height: 1.5;
}
#sideNav .bnr_box {
  margin-top: 10px;
}

#nav {
  clear: both;
  margin-top: 55px;
  padding: 15px 0;
  background-color: #2D80CA;
}
#nav > ul {
  width: 1080px;
  margin: 0 auto;
}
#nav > ul > li {
  width: 244px;
  float: left;
  margin-left: 15px;
}
#nav > ul > li li {
  margin-bottom: 10px;
}
#nav a {
  color: #FFF;
  font-size: 116%;
}
#nav .arrow {
  background-image: url("/common/img/20131007/icon_arrow_w.gif");
}

#options {
  clear: both;
  width: 1080px;
  margin: 0 auto;
}
#options h2 {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 3px solid #1f79cb;
}
#options li {
  float: left;
  margin: 13px 15px;
}

#fBreadcrumb {
  clear: both;
  width: 1080px;
  margin: 50px auto 15px;
  color: #666;
  font-size: 91.7%;
}
#fBreadcrumb + .pagetop {
  width: 1080px;
  margin: 20px auto -20px;
}


/* -----------------------------------------------------------------------
## needs ###############################################################
----------------------------------------------------------------------- */
#needNavi{
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	background:#fff;
	margin: 10px 0;
	text-align: left;
	border:#053f8e solid 1px;
	background-color:#fff;
	clear:both;
}

#needNavi .menutitle{
	background-color:#053f8e;
	padding:10px 0;
	text-align: center;
}

ul.needs-menu {
	text-align:left;
	padding: 0;
	list-style: none;
	*zoom: 1;
}

ul.needs-menu:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

ul.needs-menu li:first-child {
	border: none;
}

ul.needs-menu li {
	clear: both;
	border-top: 1px dotted #666;
	padding: 10px;
	height:30px;
}

ul.needs-menu li:last-child {
	padding-bottom: 0;
}

ul.needs-menu li a {
	display: block;
	*zoom: 1;
}

ul.needs-menu li .icon {
	text-align: center;
	float: left;
	width: 40px;
	margin: -5px 0 5px -5px;
}

ul.needs-menu li .text {
	font-size: 12px;
	overflow: hidden;
	padding: 5px;
	background: url(/needs/resource/img/navi/mrc_linkarrow.jpg) right center no-repeat;
	*zoom: 1;
}
/* -----------------------------------------------------------------------
## inherit ###############################################################
----------------------------------------------------------------------- */
ul.kome-s li {
  color: #666;
  font-size: 0.688em;
  padding: 1px 0px 10px 1em;
  text-indent: -1em;
}

*:first-child + html ul.kome-s li {
  font-size: 0.625em;
}

#cvarea {
  width: 1080px;
  margin: 50px auto 45px;
  background-color: #E0ECF7;
}

#nyukai_area {
  border-left: 20px solid #e0ecf7;
  border-right: 20px solid #e0ecf7;
  padding: 18px 16px 15px;
  background-color: #FFF;
}

#nyukai_area .left {
  width: 614px;
  float: left;
}

#nyukai_area .right {
  width: 374px;
  float: right;
}

.fukidashi {
  background: url("../common/images/ic_fukidashi.gif") no-repeat scroll left top;
  font-size: 120%;
  padding-left: 15px;
}

#limit {
  background-color: #e0ecf7;
  margin-bottom: 38px;
  padding: 20px 24px 28px;
}

#limit .left {
  width: 430px;
  float: left;
}

#limit .left p {
  margin-bottom: 15px;
}

#limit .left li {
  margin-bottom: 7px;
}

#limit .right {
  width: 537px;
  float: right;
}

#limit .right li {
  width: 157px;
  float: left;
  margin-left: 22px;
}

#recommend {
  clear: both;
  width: 1080px;
  margin: 0 auto 70px;
  position: relative;
  z-index: 1;
}

#recommend h2 {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 3px solid #1f79cb;
}

#recommend_body {
  margin-bottom: 18px;
  padding: 0 0 0 20px;
}

#recommend_body .items {
  float: left;
  /* margin-right: 15px; */
  margin-right: 13px;
  width: 150px;
}

#recommend_body .items p {
  text-align: center;
}

#recommend_body .none {
  margin-right: 0;
}

/* -----------------------------------------------------------------------
## class #################################################################
----------------------------------------------------------------------- */
.mt25 {
  margin-top: 25px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

/* 2014.02.07 add JASRAC */
.jasrac {
  font-size: 12px;
  vertical-align: bottom;
}
