@charset "utf-8";

/****************************** メインカード構造 ******************************/

/* main カードアイコン指定 */
.main-inner .card-ico-data:before, .main-inner .card-ico-charge:before,
.main-inner .card-ico-point:before, .main-inner .card-ico-apply:before,
.main-inner .card-ico-shop:before {
	content: "";
	height: 32px;
	width: 32px;
	position: absolute;
	top: 34%;
	left: 0;
	margin-top: -11px;
	background-image: url(/mydocomo/images_17v3/common/sprite/sprite_mydocomo@2x.png?20180501);
	background-repeat: no-repeat;
	background-size: 384px;
}

.main-inner .card-ico-data:before { background-position: 0 -32px; }
.main-inner .card-ico-charge:before { background-position: -32px -32px; }
.main-inner .card-ico-point:before { background-position: -64px -32px; }
.main-inner .card-ico-apply:before { background-position: -96px -32px; }
.main-inner .card-ico-shop:before { background-position: -160px -32px; }



/********** ログアウト構造 吹き出しエリア **********/
.main .main-logout-col {
	width: 100%;
    border-radius: 2px;
    background-color: #fff;
	margin: 0 auto 8px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
}

/* ログアウト用設定 growなし */
.main-logout-col .card-ico-data, .main-logout-col .card-ico-charge, .main-logout-col .card-ico-point,
.main-logout-col .card-ico-apply, .main-logout-col .card-ico-shop {
	display: -webkit-flex;
	display: flex;
	min-height: 32px;
	position:relative;
	-webkit-align-items: center;
	align-items: center;
	padding-left: 40px;
}

.main .logout-col-inner {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	position:relative;
	padding: 12px 16px;
	filter: alpha(opacity=25);
	-moz-opacity: 0.25;
	opacity: 0.25;
}

.main .logout-col-inner li.card-logout-detail {
	display: -webkit-flex;
	display: flex;
	width: auto;
	font-size: 12px;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.logout-t-area { margin-left: 4px; }


/* タブレット用指定 */
@media screen and (min-width: 768px) {

	.main .main-logout-col {
		width: 344px;
		margin: 0 8px 8px 8px;
	}

}

/* PC用指定 メインエリア中央寄せ */
@media screen and (min-width: 960px) {

	/* ログアウト */
	.main .main-logout-col { width: 288px; }

}



/********** ログインタイトル部分指定 **********/

.main-inner .card-ico-data, .main-inner .card-ico-charge, .main-inner .card-ico-point,
.main-inner .card-ico-apply, .main-inner .card-ico-shop {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	min-height: 32px;
	position:relative;
	-webkit-align-items: center;
	align-items: center;
	padding-left: 40px;
}

.card-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-size: 12px;
	color: #0070c9;
	padding: 0 24px 0 4px;
}

.card-detail:after {
	content: "";
	height: 24px;
	width: 24px;
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -13px;
	background-image: url(/mydocomo/images_17v3/common/sprite/sprite_mydocomo@2x.png?20180501);
	background-repeat: no-repeat;
	background-size: 384px;
	background-position: 0 -146px;
}


/********** autoカードタイトル部分指定 **********/

.card-login-detail {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-size: 12px;
	padding-left: 4px;
}

/*
.main .main-col-inner {
	position:relative;
	border-bottom: 1px solid #ddd;
}
*/

/* 縦幅縮小 */
.main-col-between {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	padding: 16px;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.col-sml-between {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	width: 100%;
	padding: 16px 8px;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-direction: column;
	flex-direction: column;
}

/* 余白上下16px、左右8px */
.col-sml-between { padding: 16px 8px; }

.main-col .centering-t-block { margin: 0 auto; }

.main-col .centering-t-block li:first-child {
	font-size: 12px;
	margin-bottom: 4px;
}

.main-col .centering-t-block li {
	margin-bottom: 0;
	text-align: center;
}

.main-col .t-block-in {
	text-align: center;
	margin-top: 16px;
}

.btn-card-block {
	display: -webkit-flex;
	display: flex;
	text-align: center;
	margin: 16px 8px 0;
}

a.btn-card {
  background-color: #fff;
  border: 2px solid #0070c9;
  color: #0070c9;
}

a.btn-card {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	max-width: 320px;
	min-height: 36px;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	border-radius: 3px;
	font-weight: bold;
	margin: 0 auto;
	padding: 0 16px;
}

a:hover.btn-card {
  background-color: rgba(0, 0, 0, 0.15);
  -webkit-filter: brightness(0.85);
  -moz-filter: brightness(0.85);
  -o-filter: brightness(0.85);
  -ms-filter: brightness(0.85);
  filter: brightness(0.85);
}


/********** カード詳細指定 **********/

/* ポイント */
.main-col .centering-point-area {
	width: 100%;
	font-size: 12px;
	text-align: left;
	padding: 4px 16px;
	background-color: #fafafa;
	border-bottom: 1px solid #ddd;
}

.main-col dl.point-block {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	padding-bottom: 8px;
	-webkit-align-items: center;
	align-items: center;
}

.main-col dl.point-block:last-of-type { padding-bottom: 0; }

.main-col .point-block dt {
	padding-right: 8px;
	font-size: 12px;
}

.main-col .point-block dd {
	display: -webkit-flex;
	display: flex;
    -webkit-flex-grow: 1;
	flex-grow: 1;
	font-weight: bold;
	-webkit-align-items: baseline;
	align-items: baseline;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

/* ご契約内容 */
.contract-block, .auto-contract-block { width: 100%; }

.contract-block dt {
	font-size: 12px;
	text-align: left;
	margin-bottom: 4px;
}

.contract-block dd {
	text-align: right;
	margin-bottom: 8px;
	font-weight: bold;
}

.contract-block dd:last-of-type { margin-bottom: 0; }

/* ご契約内容 auto */
.auto-contract-block {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

.auto-contract-block dt {
	font-size: 12px;
	text-align: left;
	margin-bottom: 8px;
	width: 60%;
}

.auto-contract-block dd {
	text-align: right;
	margin-bottom: 8px;
	font-weight: bold;
	width: 40%;
}

.auto-contract-block dt:last-of-type,
.auto-contract-block dd:last-of-type {
	margin-bottom: 0;
}

/* ご利用機種 */
.model-block {
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	width: 100%;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

img.model-in-img {
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 24px 0 8px;
	margin-top: .2em;
}

.model-in-txt {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: left;
}

.model-in-txt p {
	text-align: left;
	margin-bottom: 16px;
	font-weight: bold;
}

.model-in-txt dt {
	font-size: 12px;
	text-align: left;
	margin-bottom: 4px;
}

.model-in-txt dd {
	text-align: right;
	margin-bottom: 8px;
	font-weight: bold;
}

.model-in-txt dd:last-child { margin-bottom: 0; }

.model-in-img:last-child {
	content: "";
	clear: both;
	display: block;
	*zoom: 1;
}

/* ショップ */
.shop-block { width: 100%; }

.shop-block dt {
	font-size: 12px;
	text-align: left;
	margin-bottom: 4px;
}

.shop-block dd {
	text-align: right;
	margin-bottom: 8px;
	font-weight: bold;
}

.shop-block dd:last-child {	margin-bottom: 0; }

.shop-link .shop-link-in {
	width: 100%;
    border-top: 1px solid #ddd;
	text-align: center;
}



/****************************** サブコンテンツ構造 ******************************/

/* オンライン */
.online-procedure-area,
.online-product-area {
	width: 100%;
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-left: 1px solid #ddd;
	border-top: 1px solid #ddd;
}

.online-procedure-area li,
.online-product-area li {
	display: -webkit-flex;
	display: flex;
	width: 33.33%;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.online-procedure-area a {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	-webkit-flex-grow: 1;
  	flex-grow: 1;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 12px 8px;
	text-align: center;
}

.online-procedure-area li span { text-align: center; }

.online-procedure-area li p {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	word-break: break-all;
	font-weight: bold;
	color: #333;
}

/* sprite */
.img-online-sprite {
	background-image: url(/mydocomo/images_17v3/sprite/sprite_olt@2x.png);
	background-repeat: no-repeat;
	background-size: 384px;
}

/* アイコン */
.img-online-sprite.ico-online-procedures, .img-online-sprite.ico-online-payment, .img-online-sprite.ico-online-address,
.img-online-sprite.ico-online-netsecurity, .img-online-sprite.ico-online-passreset, .img-online-sprite.ico-online-service {
	display: block;
	width: 48px;
	height: 48px;
	margin:0 auto 4px auto;
}

/* メイン */
.img-online-sprite.ico-online-procedures { background-position: 0 0;}
.img-online-sprite.ico-online-payment { background-position: -48px 0;}
.img-online-sprite.ico-online-address { background-position: -96px 0;}
.img-online-sprite.ico-online-netsecurity { background-position: -144px 0; }
.img-online-sprite.ico-online-passreset { background-position: -192px 0; }
.img-online-sprite.ico-online-service { background-position: -240px 0; }



.online-product-area a {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 12px 8px;
	text-align: center;
}

.online-product-area li p {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	font-size: 12px;
	font-weight: bold;
	color: #333;
	padding-top: 4px;
}
.online-product-area li img {
		width: 80px;
		margin: 0 auto;
	}


/* My docomoアプリバナー */
.appli-bnr-area {
	width: 100%;
	margin: 0 auto;
	background-image: url(/mydocomo/images_17v3/common/bnr/bnr_myd_app_bg@2x.png);
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: -386px 0;
	text-align: center;
}
.appli-bnr-area ul {
	display: inline-table;
	margin: 26px;
	max-width: 500px;
	text-align: left;
}
.appli-bnr-area ul li {
	display: table-cell;
	vertical-align: middle;
}
.appli-bnr-area .bnr-img-area {	width: 100px; }

.appli-bnr-area .bnr-img-area img {
	margin-top: 8px;
	width: 64px;
}
.appli-bnr-area .bnr-txt-01 {
	color: #000;
	font-size: 18px;
	font-weight: bold;
}
.appli-bnr-area .bnr-txt-02 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 10px;
	color: #fff;
	text-align: center;
}

.appli-bnr-area .t-link-w-arrow{ position: relative; }

.appli-bnr-area .t-link-w-arrow:after {
	content: "";
	height: 24px;
	width: 24px;
	position: absolute;
	top: 50%;
	margin-top: -13px;
	background-image: url(/mydocomo/images_17v3/common/sprite/sprite_mydocomo@2x.png?20180501);
	background-repeat: no-repeat;
	background-size: 384px;
	background-position: -216px -146px;
}
.mod-online-block { padding-bottom: 16px; }

.mod-online-block p:first-child { padding: 0 16px 16px 16px; }

.btn-online-block { padding: 0 16px 16px; }

/* カスタマーサポート */

.support-area li.link-col-block .link-col-inner {
	border-bottom: 1px solid #ddd;
	margin: 0 16px;
}

.support-area li:last-child.link-col-block .link-col-inner { border-bottom: none; }


/* TB用 */
@media screen and (min-width: 768px) {
/* 画面サイズが768pxから959pxまではここを読み込む */

	.mod-online-block { padding: 0 32px 16px; }

	.mod-online-block p:first-child { padding: 16px 0; }

	.online-procedure-area {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.online-procedure-area li { width: 25%; }

	.online-procedure-area li:nth-child(4n) { border-right: 1px solid #ddd; }
	.online-procedure-area li:nth-child(3n) { border-right: 1px solid #ddd; }
	.online-procedure-area li:nth-child(6n) { border-right: 1px solid #ddd; }


	.online-product-area li { width: 25%; }

	.online-product-area li:nth-child(4n) { border-right: 1px solid #ddd; }
	.online-product-area li:nth-child(3n) { border-right: 1px solid #ddd; }
	.online-product-area li:nth-child(6n) { border-right: 1px solid #ddd; }

	.online-product-area a { padding: 16px 8px; }

	.appli-bnr-area ul { max-width: 560px; }

	.appli-bnr-area .bnr-img-area { width: 140px; }

	.appli-bnr-area .bnr-img-area img { width: 72px; }

	.appli-bnr-area .bnr-txt-01{ font-size: 22px; }

	.appli-bnr-area .bnr-txt-02 { font-size: 18px; }

}

/* PC用 */
@media screen and (min-width:960px) {

	.online-procedure-area,
	.online-product-area {
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.online-procedure-area li, .online-product-area li { width: 16.666%; }

	.appli-bnr-area ul { max-width: none; }
	.appli-bnr-area .bnr-img-area { width: 140px; }
	.appli-bnr-area .bnr-img-area img { width: 96px; }
	.appli-bnr-area .bnr-txt-01{ font-size: 24px; }

}



/* 法人向け */
.bmd-service-area {
	padding-bottom: 16px;
}
.bmd-service-list {
	display: -webkit-flex;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	width: 100%;
	border-left:1px solid #ddd;
	border-top:1px solid #ddd;
}
.bmd-service-list li {
	width: 50%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 12px;
	border-right:1px solid #ddd;
	border-bottom:1px solid #ddd;
}
.bmd-service-list li img {
	width: 88px;
	height: auto;
	margin:0 auto 4px;
}
.bmd-service-list li .service-txt {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	margin-bottom: 4px;
}
.bmd-service-list li .service-txt .service-title {
	min-height: 42px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4px;
}
.bmd-service-list li .service-btn {
	width:100%;
	padding: 0 4px;
}
.bmd-service-list li .service-btn p {
	display: -webkit-flex;
	display: flex;
}


/* TB、PC用 */
@media screen and (min-width: 768px) {

	.bmd-service-area { padding: 0 32px 16px; }
	.bmd-service-list li { width: 25%; }

}



/******************** 18v1用追加対応 ********************/

/* ステージ情報 */
.stage-1st, .stage-2nd, .stage-3rd, .stage-4th, .stage-platinum,
.stage-bpc-1st, .stage-bpc-2nd, .stage-bpc-3rd,
.stage-bpc-premiere, .stage-bpc-gpremiere, .stage-bpc-gold {
	display: block;
	width: 154px;
	height: 22px;
}

.stage-1st { background-position: 0 -701px; }
.stage-2nd { background-position: -160px -701px; }
.stage-3rd { background-position: 0 -727px; }
.stage-4th { background-position: -160px -727px; }
.stage-platinum { background-position: 0 -753px; }

.stage-bpc-1st { background-position: 0 -779px; }
.stage-bpc-2nd { background-position: -160px -779px; }
.stage-bpc-3rd { background-position: 0 -805px; }
.stage-bpc-premiere { background-position: -160px -805px; }
.stage-bpc-gpremiere { background-position: 0 -831px; }
.stage-bpc-gold { background-position: -160px -831px; }



/****************************** 法人用お客さま向けサービス追加 ******************************/

.bmd-service-list li .service-btn { min-height: 80px; }


/* TB用指定 */
@media screen and (min-width: 768px) {
	.bmd-service-list li { width: 33.33% !important; }
}


/*  PC用指定 */
@media screen and (min-width: 960px) {
	.bmd-service-list li { width: 25% !important; }
}



/****************************** 余白調整 18.06.26 ******************************/

/* 余白調整 */
.home-main-login > .main-login { margin: 0 auto; }
.home-main-login > .main-login .main-balloon,
.home-main-login > .main-login .main-balloon-logout {
	margin: 0 auto 8px;
}

/* 注記部分余白調整 */
.list-home-notes > .list-tnum-notes { padding: 8px 0; }


	/* TB、PC用指定 */
	@media screen and (min-width: 768px) {
		/* 注記部分flex入り込み対応 */
		.list-home-notes > .list-tnum-notes {
			width: 720px;
			padding: 8px;
		}
	}
	
	/*  PC用指定 960px～max */
	@media screen and (min-width: 960px) {
		/* 注記部分flex入り込み対応 */
		.list-home-notes > .list-tnum-notes { width: 912px; }
		
	}
	


/****************************** ITP2.0対応 19.03.01 ******************************/

.main-whitebox-noshadow { box-shadow: none !important; }

.itp2-block-part1 { padding: 0 16px;}

	/* TB、PC用指定 */
	@media screen and (min-width: 768px) {
		.itp2-block-part1 { padding: 0 16px 16px;}
	}