@charset "UTF-8";

/* ---------------------------
  GINZA CALLA PARTS LIST
  @ Utilities
  @ Block
  @ Heading
  @ Icon
  @ Button
  @ Button Stripe
  @ Breadcrumb
  @ Form
  @ Totop
--------------------------- */



/* ---------------------------
  @ Utilities
--------------------------- */

/*	Container
-----------------------------*/
.container {
  margin-left: auto;
  margin-right: auto;
  width: 960px;
}


/*	Clearfix
-----------------------------*/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}


/*	Transition
-----------------------------*/
.trans {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0); /* for Safari */
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -webkit-transition: opacity 0.4s ease-out;
  -moz-transition: opacity 0.4s ease-out;
  -ms-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
}
.trans:hover {
  opacity: 0.6;
}



/* ---------------------------
	@ Block
--------------------------- */

/*	Block White
-----------------------------*/
.block-white {
	background-color: #fff;
	border: #fbe8e8 1px solid;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	margin-bottom: 30px;
}


/*	Block Promotion
-----------------------------*/
.block-promotions {
	padding: 25px 30px 30px;
}


/*   Block Btn Stripe
 * ------------------------- */
.block-btn-small {
  width: 240px;
  margin: 0 auto;
}

/*	Block Hight Space
-----------------------------*/
.block-height-space {
	margin-top: 50px;
}


/* ---------------------------
  @ Heading
--------------------------- */
.title-head {
  margin-bottom: 15px;
  text-align: center;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 24px;
  color: #d01027;
}

/*   Title Red
 * ------------------------- */
.title-red {
  color: #da4044;
  font-size: 24px;
  text-align: center;
  border-bottom: #d52329 1px solid;
  margin-bottom: 15px;
}

/*   Title Bordered Red
 * ------------------------- */
.title-bordered-red {
  padding-bottom: 5px;
  border-bottom: #d01027 1px solid;
}

/*   Title-rank
 * ------------------------- */
.title-rank {
  text-align: center;
}
.title-rank.icon-rank:before {
  margin-top: 15px;
}
.title-rank span {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.title-rank span:before {
  position: absolute;
  margin-right: 0;
  top: 15px;
  left: -34px;
}
.title-rank span small {
  font-size: 16px;
  display: block;
  margin-bottom: 5px
}
.title-rank span small:before ,
.title-rank span small:after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center top;
  margin-bottom: -5px
}
.title-rank span small:before {
  background-image: url('../img/plan/part/sideburns/icon-ask-left.png');
  margin-right: 5px;
}
.title-rank span small:after {
  background-image: url('../img/plan/part/sideburns/icon-ask-right.png');
  margin-left: 5px;
}

/*   Title-shape
 * ------------------------- */
.title-shape-right {
 	width: 173px;
	height: 33px;
	line-height: 18px;
	display: inline;
	font-size: 18px;
 	box-sizing: border-box;
 	-webkit-box-sizing: border-box;
 	-moz-box-sizing: border-box;
 	-ms-box-sizing: border-box;
 	-o-box-sizing: border-box;
	border-radius: 16px 0 0 16px;
	-webkit-border-radius: 16px 0 0 16px;
	-moz-border-radius: 16px 0 0 16px;
 	padding: 8px 20px;
 	margin-right: 3px;
 	background: #f78888;
 	color: #fff;
 	position: relative;
 	text-align: center;
}
.title-shape-right:before{
 	content: "";
 	display: block;
 	position: absolute;
 	top: 0;
 	right: -24px;
 	width: 0;
 	height: 0;
 	border-top: solid 17px transparent;
 	border-right: solid 14px transparent;
 	border-bottom: solid 17px transparent;
 	border-left: solid 10px #f78888;
 	z-index: 10;
}
.title-shape-right02 {
 	width: 108px;
 	background: #fff;
 	color: #ee2042;
}
.title-shape-right02:before{
 	border-left: solid 10px #fff;
}

/*   Title-shape　151218追加
 * ------------------------- */

.title-shape-right03 {
 	width: 130px;
 	background: #fff;
 	color: #ee2042;
}
.title-shape-right03:before{
 	border-left: solid 10px #fff;
}



/* ---------------------------
  @ Icon
--------------------------- */
[class*="icon-"]:before {
  content: "";
  display: inline-block;
  margin-right: 16px;
  vertical-align: middle;
  background-position: left center;
  background-repeat: no-repeat;
}
.icon-calla:before {
  margin-top: -6px;
  width: 26px;
  height: 38px;
  background-image: url('../img/common/icon-calla.png');
}
.icon-beginner:before {
  margin-top: -6px;
  width: 26px;
  height: 38px;
  background-image: url('../img/common/icon-beginner.png');
}
.icon-rank:before {
  width: 24px;
  height: 45px;
  background-image: url('../img/common/icon-rank.png');
}
.icon-plan:before {
  margin-top: -5px;
  width: 32px;
  height: 32px;
  background-image: url('../img/common/icon-plan.png');
}
.icon-plan-white:before {
  margin-top: -3px;
  width: 38px;
  height: 41px;
  background-image: url('../img/common/icon-plan-white.png');
}
.icon-datsumou:before {
  width: 38px;
  height: 46px;
  background-image: url('../img/common/icon-datsumou.png');
}
.icon-column:before {
  margin-top: -5px;
  width: 47px;
  height: 33px;
  background-image: url('../img/common/icon-column.png');
}
.icon-voice:before {
  margin-right: 20px;
  width: 45px;
  height: 37px;
  background-image: url('../img/common/icon-voice.png');
}
.icon-reason:before {
  margin-top: -6px;
  margin-right: 5px;
  width: 34px;
  height: 50px;
  background-image: url('../img/common/icon-reason.png');
}
.icon-info:before {
  margin-top: -6px;
  width: 36px;
  height: 36px;
  background-image: url('../img/common/icon-info.png');
}
.icon-web:before {
  margin: -2px 15px 0 0;
  width: 29px;
  height: 24px;
  background-image: url('../img/common/icon-web.png');
}
.icon-heart:before {
  margin: -3px 7px 0 0;
  width: 22px;
  height: 19px;
  background-image: url('../img/common/icon-heart.png');
}
.icon-search:before {
  margin: -3px 5px 0 0;
  width: 25px;
  height: 25px;
  background-image: url('../img/common/icon-search.png');
}
.icon-exclamation:before {
  margin: -4px 20px 0 0;
  width: 25px;
  height: 25px;
  background-image: url('../img/common/icon-exclamation.png');
}
.icon-datsumou-white:before {
  margin: -5px 20px 0 0;
  width: 30px;
  height: 37px;
  background-image: url('../img/common/icon-datsumou-white.png');
}
.icon-map:before {
  width: 23px;
  height: 36px;
  margin-right: 10px;
  margin-top: -5px;
  background-image: url('../img/common/icon-map.png');
}
.icon-voice-head:before {
  width: 41px;
  height: 33px;
  margin-right: 15px;
  margin-top: -5px;
  background-image: url('../img/common/icon-voice-head.png');
}
.icon-rank-white:before {
  width: 21px;
  height: 39px;
  margin-right: 8px;
  margin-top: -3px;
  background-image: url('../img/common/icon-rank-white.png');
}
.icon-dinner:before {
  width: 18px;
  height: 32px;
  background-image: url('../img/common/icon-dinner.png');
  margin-right: 8px;
  margin-top: -5px;
}
.icon-dinner-white:before {
  width: 18px;
  height: 32px;
  background-image: url('../img/common/icon-dinner-white.png');
  margin-right: 10px;
  margin-top: -5px;
}

.icon-book-white:before {
  width: 34px;
  height: 24px;
  background-image: url('../img/common/icon-book-white.png');
  margin-right: 10px;
  margin-top: -5px;
}

.icon-talk-white:before {
  width: 33px;
  height: 28px;
  background-image: url('../img/common/icon-talk-white.png');
  margin-right: 10px;
  margin-top: -5px;
}

.icon-flag-white:before {
  width: 28px;
  height: 35px;
  background-image: url('../img/common/icon-flag-white.png');
  margin-right: 10px;
  margin-top: -5px;
}

.icon-building-red:before {
  width: 28px;
  height: 31px;
  background-image: url('../img/common/icon-building-red.png');
  margin-right: 3px;
  margin-top: -10px;
}


.icon-building-white:before {
  width: 29px;
  height: 31px;
  background-image: url('../img/common/icon-building-white.png');
  margin-right: 10px;
  margin-top: -5px;
}

.icon-baloon:before {
  width: 32px;
  height: 27px;
  background-image: url('../img/common/icon-baloon.png');
  margin-right: 7px;
  margin-top: -4px;
}
.icon-flag:before {
  width: 26px;
  height: 34px;
  background-image: url('../img/common/icon-flag.png');
  margin-right: 8px;
  margin-top: -4px;
}
.icon-note:before {
  width: 32px;
  height: 29px;
  background-image: url('../img/common/icon-note.png');
  margin-right: 9px;
  margin-top: -4px;
}
.icon-city:before {
  width: 29px;
  height: 33px;
  background-image: url('../img/common/icon-city.png');
  margin-right: 8px;
  margin-top: -8px;
}
.icon-search-white:before {
  margin: -3px 5px 0 0;
  width: 28px;
  height: 28px;
  background-image: url('../img/common/icon-search-white.png');
}
.icon-mail:before {
  margin: -3px 12px 0 0;
  width: 37px;
  height: 27px;
  background-image: url('../img/common/icon-mail.png');
}
.icon-book-red:before {
  margin: -6px 6px 0 0;
  width: 42px;
  height: 28px;
  background-image: url('../img/common/icon-book-red.png');
}
.icon-book:before {
  margin: -6px 4px 0 0;
  width: 42px;
  height: 28px;
  background-image: url('../img/common/icon-book.png');
}
.icon-location:before {
  margin: -8px 6px 0 0;
  width: 27px;
  height: 30px;
  background-image: url('../img/common/icon-location.png');
}
.icon-about-white:before {
  margin: -5px 20px 0 0;
  width: 21px;
  height: 29px;
  background-image: url('../img/common/icon-about-white.png');
}
.icon-anshin-white:before {
  margin: -5px 20px 0 0;
  width: 22px;
  height: 19px;
  background-image: url('../img/common/icon-heart-white.png');
}
.icon-reserch-white:before {
  margin: -5px 20px 0 0;
  width: 21px;
  height: 39px;
  background-image: url('../img/common/icon-star.png');
}
.icon-double-dia-white:before {
  margin-top: -5px 3px 0 0;
  width: 26px;
  height: 30px;
  background-image: url('../img/common/icon-double-dia-white.png');
}

.icon-jishin-white:before {
  margin: -7px 15px 0 0;
  width: 21px;
  height: 30px;
  background-image: url('../img/common/icon-jishin.png');
}

.icon-anshin-white:before {
  margin: -7px 7px 0 0;
  width: 32px;
  height: 32px;
  background-image: url('../img/common/icon-anshin-white.png');
}

.icon-crown-white:before {
  margin: -7px 15px 0 0;
  width: 35px;
  height: 42px;
  background-image: url('../img/common/icon-crown-white.png');
}
.icon-qa:before {
  margin: -6px 10px 0 0;
  width: 26px;
  height: 26px;
  background-image: url('../img/common/icon-qa.png');
}

.icon-crown:before {
  width: 40px;
  height: 40px;
  margin-right: 8px;
  margin-top: -3px;
  background-image: url('../img/common/icon-crown-red.png');

}

.icon-selfcheck-white:before {
  margin: -5px 5px 0 0;
  width: 38px;
  height: 37px;
  background-image: url('../img/common/icon-selfcheck-white.png');
}

.icon-reservation-white:before {
  margin: -7px 10px 0 0;
  width: 35px;
  height: 30px;
  background-image: url('../img/common/icon-calender-white.png');
}

.icon-flow-datsumo:before {
  margin: -7px 10px 0 0;
  width: 55px;
  height: 40px;
  background-image: url('../img/common/icon-flow-datsumo.png');
}

.icon-ninki-rank:before {
  margin: -7px 10px 0 0;
  width: 35px;
  height: 30px;
  background-image: url('../img/common/icon-ninki-rank.png');
}

.icon-prezent:before {
  margin: -7px 10px 0 0;
  width: 35px;
  height: 30px;
  background-image: url('../img/common/icon-prezent.png');
}

.icon-prezent-white:before {
  margin: -7px 10px 0 0;
  width: 35px;
  height: 30px;
  background-image: url('../img/common/icon-prezent-white.png');
}


/* ---------------------------
  @ Button
--------------------------- */

/*	Button Base
-----------------------------*/
.btn {
  display: block;
  padding: 10px 0;
  width: 100%;
  background: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: 1px solid #d01027;
  line-height: 1.2;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 16px;
  color: #d01027;
  position: relative;
}
.btn:after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  background: url('../img/common/arrow-red-small.png') no-repeat top right;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -6px;
}

.bihada-btn-top:after {
    content: "";
    display: block;
    width: 16px;
    height: 23px;
    background: url(../img/common/arrow-black-large.png) no-repeat top right;
    position: absolute;
    right: -42px;
    margin-top: -6px;
    top: 50%;
}
.bihada-btn-top-koisuru:after {
    content: "";
    display: block;
    width: 16px;
    height: 23px;
    background: url(../img/common/arrow-black-large.png) no-repeat top right;
    position: absolute;
    right: -42px;
    margin-top: -6px;
    top: 25px;
}
.bihada-btn-top-rich:after {
    content: "";
    display: block;
    width: 16px;
    height: 23px;
    background: url(../img/common/arrow-black-large.png) no-repeat top right;
    position: absolute;
    right: -27px;
    margin-top: -6px;
    top: 36px;
}


/*	Background Filled
-----------------------------*/
.btn.btn-filled {
  padding: 11px 0;
  background: #d0243d;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  font-weight: bold;
  color: #fff;
}
.btn.btn-filled:after {
  display: none;
}



/* ---------------------------
  @ Button Stripe
--------------------------- */

/*	Button Stripe Base
-----------------------------*/
.btn-stripe,
.btn-stripe-back,
.btn-stripe-left {
  display: block;
  padding: 8px 30px;
  width: 100%;
  background: url('../img/common/bg-pinkstripe.png');
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  text-align: center;
  line-height: 1.25;
  font-size: 16px;
  color: #fff;
  position: relative;
}
.btn-stripe span {
  color: #d01027;
}
.btn-stripe:after {
    background: rgba(0, 0, 0, 0) url("../img/common/arrow-white-small.png") no-repeat scroll right top;
    content: "";
    display: block;
    height: 12px;
    margin-top: -6px;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 14px;
}
.btn-stripe-back:before{
    background: rgba(0, 0, 0, 0) url("../img/common/arrow-white-small_re.png") no-repeat scroll right top;
    content: "";
    display: block;
    height: 12px;
    margin-top: -6px;
    position: absolute;
    left: 10px;
    top: 50%;
    width: 14px;
}

.btn-stripe-left:after {
  content: "";
  display: block;
  width: 14px;
  height: 12px;
  background: url('../img/common/arrow-left-white-small.png') no-repeat top left;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -6px;
}
.btn-stripe-paging{
  width: 105px;
  display: inline-block;
}
.btn-stripe-paging.btn-stripe{
  text-indent: -10px;
}
.btn-stripe-paging.btn-stripe-left{
  text-indent: 10px;
}
.btn-disabled{
  opacity: 0.3;
}
/*  Pagination style
-----------------------------*/
.pagination-box{
  width: 100%;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px dashed #d01027;
}
.pagination{
  width:400px;
  margin: 20px auto;
}
.pagination-box-count{
  color: #999999;
  font-size: 15px;
  margin: 0 70px;
  display: inline-block;
}
/*	Large Size
-----------------------------*/
.btn.btn-red-large:after {
  background: url('../img/common/arrow-red-right.png');
  width: 16px;
  height: 16px;
  margin-top: -8px;
}
.btn.btn-shadow {
  -webkit-box-shadow: 0 2px 0 #6c4500;
  -moz-box-shadow: 0 2px 0 #6c4500;
  box-shadow: 0 2px 0 #6c4500;
}
.block-btn-large {
  width: 300px;
  margin: 0 auto;
}


/*	Fiexed Height
-----------------------------*/
.btn-stripe.btn-height {
  display: table;
  padding: 0 30px;
  height: 36px;
  vertical-align: middle;
}
.btn-stripe.btn-height > span {
  display: table-cell;
  vertical-align: middle;
  line-height: 1;
  color: #fff;
}
.btn-stripe.btn-height .smaller {
  font-size: 14px;
  color: #fff;
}


/*	With Shadow
-----------------------------*/
.btn-stripe.btn-shadow {
  -webkit-box-shadow: 0 2px 0 #563606;
  -moz-box-shadow: 0 2px 0 #563606;
  box-shadow: 0 2px 0 #563606;
}
.btn-stripe.btn-shadow:active {
  top: 2px;
  -webkit-box-shadow: 0 0 0 #563606;
  -moz-box-shadow: 0 0 0 #563606;
  box-shadow: 0 0 0 #563606;
}


/*	Large Size
-----------------------------*/
.btn-stripe.btn-large {
  padding: 24px 0 22px;
  letter-spacing: -1px;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  font-size: 20px;
}
.btn-stripe.btn-large:after {
  width: 15px;
  height: 16px;
  background: url('../img/common/arrow-white-large.png') no-repeat top right;
}


/*	Wide Size
-----------------------------*/
.btn-wide {
	width: 80%;
	margin: 35px auto 0;
}

/*	Middle Size
-----------------------------*/
.btn-stripe.btn-mdl {
  padding: 12px 0 10px;
}

/*	Background Orange
-----------------------------*/
.btn-stripe.btn-counsel {
  background: url('../img/common/bg-orangestripe-small.png');
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
}

.btn-stripe.btn-counsel-large {
  padding: 16px 0px 14px;
  background: url('../img/common/bg-orangestripe-large.png');
  letter-spacing: -0.04em;
  font-size: 24px;
}

/*   Background Green
 * ------------------------- */
.btn-stripe.btn-counsel-green {
  padding: 21px 0 19px;
  background: url('../img/common/bg-stripe-green.png');
  letter-spacing: -0.04em;
  font-size: 32px;
  font-weight: bold;
}

.btn-stripe.btn-shadow.btn-counsel-green {
  -webkit-box-shadow: 0 2px 0 #375301;
  -moz-box-shadow: 0 2px 0 #375301;
  box-shadow: 0 2px 0 #375301;
}

.btn-stripe.btn-counsel-green:after {
  width: 21px;
  height: 29px;
  background: url('../img/common/arrow-white-xlarge.png') no-repeat;
  background-position: right top;
  right: 30px;
  margin-top: -14.5px;
}

/*   Background Red
 * ------------------------- */
.btn-stripe.btn-member {
  background: url('../img/common/bg-stripe-red.png');
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
}

/*   Background Light Pink
 * ------------------------- */
.btn-stripe.btn-lightpink {
  font-weight: normal;
  background: url('../img/common/bg-lightpinkstripe-small.png');
  border: 1px solid #d01027;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

/*	With Down Bullet
-----------------------------*/
.btn-stripe.btn-down-bullet-l:after {
  width: 20px;
  height: 8px;
  background: url('../img/common/arrow-red-down-large.png') no-repeat;
    margin-right: -10px;
    margin-top: 0;
    right: 50%;
    top: 38px;
}

.btn-stripe.btn-down-bullet-s:after {
  width: 13px;
  height: 8px;
  background: url('../img/common/arrow-red-down-small.png') no-repeat;
  background-position: right top;
  margin-top: -4px;
}

.btn-stripe.btn-down-bullet-s-g:after {
  width: 13px;
  height: 8px;
  background: url('../img/common/arrow-red-down-small-g.png') no-repeat;
  background-position: right top;
  margin-top: -4px;
}

/*	Narrow Padding
-----------------------------*/
.btn-stripe.btn-space > span {
	color: #fff;
	letter-spacing: -0.1em;
}


/*	With Plus Icon
-----------------------------*/
.btn-stripe.btn-icon-plus:before {
  display: none;
}
.btn-stripe.btn-icon-plus:after {
  width: 15px;
  height: 15px;
  background: url('../img/common/icon-plus.png') no-repeat;
  background-position: right top;
  margin-top: -8px;
}




/* ---------------------------
  @ Form
--------------------------- */
.select {
  display: block;
  margin: 20px auto 0;
  width: 323px;
  overflow: hidden;
	position: relative;
}
.select select {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  width: 100% !important;
  height: 35px !important;
  border: 0;
	outline: none;
  cursor: pointer;
}
.select .select-view {
  display: block !important;
  padding: 0 0 0 15px;
  width: 100%;
  height: 35px;
  border: #ce162e 1px solid;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  background-color: #fff;
  background-image: url('../img/voice/common/icon-pulldown.png');
  background-repeat: no-repeat;
  background-position: right center;
}
.select .select-viewInner {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 33px;
  font-size: 15px;
  color: #515151;
}


/* ---------------------------
  @ Totop
--------------------------- */
.totop {
  width: 60px;
  position: fixed;
  bottom: 20px;
  right: 10px;
}
.totop a {
  color: #fff;
  font-size: 11px;
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  background: url('../img/common/bg-totop.png') no-repeat;
  background-position: center top;
  padding: 24px 0 20px;
}
