@charset "utf-8";

/*------------------------------------------------------------
common
------------------------------------------------------------*/
body{
	background-image: none;
	-webkit-text-size-adjust: 100%;
}
#main {
	line-height: 1.5;
	/* font-family: "メイリオ", "Meiryo", "小塚ゴシック Pr6N", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important; */
}
#main img {
	vertical-align: top;
}
#main ul {
    padding-left: 30px;
    margin: 0;
    list-style: disc;
    text-align: left;
}
#main ol {
    padding-left: 30px;
    margin: 0;
    list-style: decimal;
}
.inline-block {
    display: inline-block;
}
.bt0 {
    border-top: none;
}
.bb0 {
    border-bottom: none;
}
.line-p {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ffcccc 0%) repeat scroll 0 0;
}
.line-o {
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ffe46e 0%) repeat scroll 0 0;
}
.blue {
    color: #193477;
}
.blueA {
    color: #227389;
}
.grayC {
    color: #B0B0B0;
}
a span.new_win {
    margin-right: 5px;
    padding-right: 17px;
    background: url(/content/nttcom/hq/jp/personal/services/img/icon_out1.png) right 0.4em no-repeat;
}
a.blue_btn span.new_win {
    background: url(/content/nttcom/hq/jp/personal/services/img/icon_out1.png) right center no-repeat;
}
.noteBox a.new_win {
    margin-right: 3px;
    padding-right: 14px;
    background: url(/content/nttcom/hq/jp/personal/services/img/icon_out2.png) right 0.35em no-repeat;
}
a:hover img {
    opacity:0.7;
}
a.n_arrow_left {
	text-decoration: none;
}
a.n_arrow_left:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #1e3784;
	border-right: 2px solid #1e3784;
	box-sizing: border-box;
	transform: rotate(45deg);
	margin-right: 8px;
}
a.n_arrow_right {
	text-decoration: none;
}
a.n_arrow_right:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #1e3784;
	border-right: 2px solid #1e3784;
	box-sizing: border-box;
	transform: rotate(45deg);
	margin-left: 6px;
}


/*------------------------------------------------------------
display: none
------------------------------------------------------------*/
.pc {
}
.sp {
    display: none !important;
}
@media all and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}




/*------------------------------------------------------------
.main h2, h3
------------------------------------------------------------*/
.main h2 {
    background: #f4f4f4;
    font-size: 28px;
    font-weight: bold;
    padding: 7px 10px;
    text-align: center;
    margin-bottom: 30px;
    margin-top: 0;
}
.main h2.t01 {
    border-top: 7px solid #cc0000;
    border-bottom: 3px solid #b1b1b1;
}
.main h2.t02 {
    border-top: 7px solid #003572;
    border-bottom: 3px solid #b1b1b1;
}
.main h2.t03 {
    border-top: 7px solid #fabe00;
    border-bottom: 3px solid #b1b1b1;
}
.main h3 {
    color: #cc0000;
    font-size: 23px;
    font-weight: bold;
    padding: 0 10px 0.2em;
    text-align: center;
    margin-bottom: 30px;
    margin-top: 30px;
    position: relative;
}
.main h3.t03 {
    color: #DC2042;
}
.main h3.t04 {
    color: #004386;
}
.main h3.t05 {
    color: #333;
}
.main h3:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 10px;
    bottom: 4px;
    left: 0;
    right: 0;
    z-index: 0;
}
.main h3.t01:after {
    background-color: #ffe46e;
}
.main h3.t02:after {
    background-color: #ffd8d8;
}
.main h3.t03:after {
    background-color: #ffd8d8;
}
.main h3.t04:after {
    background-color: #e6f2ff;
}
.main h3.t05:after {
	background: #fff4bc;
}
.main h3 .title {
    position: relative;
    z-index: 1;
}
.main h3 .number {
    background: #cc0000;
    color: #fff;
    display: inline-block;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    margin-right: 10px;
}
.main .infotext {
    font-size: 18px;
    margin-bottom: 15px;
    text-align: center;
}
.main .titleA {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
}
.main .titleB {
    font-size: 25px;
}
.main .p-right {
    font-size: 12px;
    text-align: right;
}
/* 注釈・注目枠設定 ------------------ */
.noteBox {
	margin: 20px auto;
	padding: 15px 20px;
	border: none;
	background-color: rgb(245, 245, 245);
}
.noteBox p{
	padding-top: 3px;
	padding-bottom: 3px;
	line-height:1.5;
	font-size: 12px;
}
#main .noteBox ul {
	padding-left: 14px;
}
#main .noteBox ul li {
	font-size: 12px;
}
.noteBox dl {
	display: inline-block;
	padding: 3px 0;
}
.noteBox dt {
	float: left;
	font-size: 12px;
}
.noteBox dd {
	float: left;
	font-size: 12px;
}
@media screen and (max-width:768px) {
	.main h2 {
		font-size: 22px;
		margin-bottom: 15px;
		padding: 7px 3px;
	}
	.main h3 {
		font-size: 18px;
		margin-bottom: 15px;
		padding: 0;
	}
	.main h3 .number {
		width: 26px;
		height: 26px;
	}
	.main .infotext {
		font-size: 14px;
	}
	.main .titleA {
		font-size: 22px;
	}
	.main .titleB {
		font-size: 14px;
	}
}


/*------------------------------------------------------------
.inner
------------------------------------------------------------*/
#main .inner {
    padding: 0;
}
#main .boxinner {
    padding: 0 30px;
}
@media all and (max-width: 768px) {
	#main .boxinner {
		padding: 0;
	}
}



/*------------------------------------------------------------
.imgArea
------------------------------------------------------------*/
#main .scroll-box {
	overflow-x: visible;
	margin-bottom: 30px;
}
#main .imgArea {
    text-align: center;
}
@media all and (max-width: 1260px) {
    #main .imgArea img {
        width: 100%;
        max-width: 960px;
    }
}
@media all and (max-width: 480px) {
	#main .scroll-box {
		overflow-x: auto;
	}
	#main .scroll-box .imgArea img {
        width: auto;
        max-width: 800px;
    }
}


/*------------------------------------------------------------
.Area
------------------------------------------------------------*/
#main .Area {
    padding: 50px 0;
}
#main .Area.backB {
    background: #ebf5fa;
}
#main .Area:after {
	content: "";
	display: block;
	clear: both;
}
@media all and (max-width: 1260px) {
	#main .Area {
		padding: 30px 10px;
	}
}



/*------------------------------------------------------------
.boxArea
------------------------------------------------------------*/
/* .boxArea01 */
#main .boxArea01 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#main .boxArea01 .oneBox {
    text-align: center;
}
#main .boxArea01 .oneBox:nth-child(1) {
/* ===== ヒカリダケ：有 =====
    width: 45%; */
/* ===== ヒカリダケ：無 ===== */
    width: 58%;
    margin: 0 1% 0 0;
    border: 3px solid #cc0000;
    padding: 30px 20px;
}
#main .boxArea01 .oneBox:nth-child(2) {
/* ===== ヒカリダケ：有 =====
    width: 30%;
    margin: 0 1% 0 0; */
/* ===== ヒカリダケ：無 ===== */
    width: 41%;
    margin: 0;
    border: 3px solid #cc0000;
    padding: 30px 20px;
}
#main .boxArea01 .oneBox:nth-child(3) {
    width: 23%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main .boxArea01 .oneBox .imgBox img {
	width: 100%;
}
#main .boxArea01 .oneBox:nth-child(2) .imgBox img {
	width: 78%;
}
#main .boxArea01 .oneBox:nth-child(3) .imgBox img {
	width: 78%;
}
#main .boxArea01 .oneBox .infoBox {
    padding: 10px 0 0;
}
#main .boxArea01 .oneBox .infoBox p {
    line-height: 1.8;
}
#main .boxArea01 .oneBox .infoBox p.big {
    font-size: 130%;
}
#main .boxArea01 .oneBox .infoBox p .big {
    font-size: 130%;
    line-height: 1;
}

/* .boxArea02 */
#main .boxArea02 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#main .boxArea02 .oneBox {
    text-align: center;
}
#main .boxArea02 .oneBox:nth-child(1) {
    width: 20%;
    margin: 0;
}
#main .boxArea02 .oneBox:nth-child(2) {
    width: 25%;
    border: 3px solid #cc0000;
    background: #fffcef;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main .boxArea02 .oneBox:nth-child(3) {
    width: 55%;
    border: 3px solid #cc0000;
    background: #cc0000;
    color: #fff;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main .boxArea02 .oneBox .imgBox img {
	width: 100%;
}
#main .boxArea02 .oneBox .infoBox {
    padding: 0;
}
#main .boxArea02 .oneBox .infoBox p {
    font-size: 22px;
    font-weight: bold;
}
#main .boxArea02 .oneBox .infoBox p.priceA {
    display: inline-block;
}
#main .boxArea02 .oneBox .infoBox p.priceB {
    display: inline-block;
}
#main .boxArea02 .oneBox .infoBox sup {
    vertical-align: super;
    font-size: 12px;
    position: relative;
    top: -10px;
    left: -2px;
}
#main .boxArea02 .oneBox .infoBox .fsD {
    /* font-size: smaller; */
}
#main .boxArea02 .oneBox .infoBox .fsA {
    font-size: 160%;
}
#main .boxArea02 .oneBox .infoBox .fsB {
    font-size: 180%;
}
#main .boxArea02 .oneBox .infoBox .fsC {
    font-size: 250%;
}

/* .boxArea03 */
#main .boxArea03 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#main .boxArea03 .oneBox {
    text-align: center;
}
#main .boxArea03 .oneBox:nth-child(1) {
    width: 48%;
    margin: 0;
}
#main .boxArea03 .oneBox:nth-child(2) {
    width: 4%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main .boxArea03 .oneBox:nth-child(3) {
    width: 48%;
}
#main .boxArea03 .oneBox .imgBox img {
	width: 100%;
}
#main .boxArea03 .oneBox .infoBox p {
    font-size: 16px;
    width: 36px;
    height: 36px;
    border: 3px solid #c00;
    background: #fff;
    border-radius: 50%;
    z-index: 1;
    position: relative;
}

/* .boxArea04 */
#main .boxArea04 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
    border-top: 10px solid #ffe46e;
    border-bottom: 10px solid #ffe46e;
    padding: 10px 0;
}
#main .boxArea04 .oneBox {
    /* display: flex; */
    /* justify-content: center; */
    /* align-items: center; */
}
#main .boxArea04 .oneBox:nth-child(1) {
    width: 20%;
    margin: 0;
}
#main .boxArea04 .oneBox:nth-child(2) {
    width: 60%;
}
#main .boxArea04 .oneBox:nth-child(3) {
    width: 20%;
}
#main .boxArea04 .oneBox .imgBox img {
	width: 100%;
}

/* .boxArea05 */
#main .boxArea05 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#main .boxArea05 .oneBox {
    width: 50%;
    padding: 0 30px;
}
#main .boxArea05 .oneBox .imgBox img {
	width: 100%;
}

/* .boxArea06 */
#main .boxArea06 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#main .boxArea06 .oneBox {
    width: 49%;
    margin: 0 1% 25px 0;
}
#main .boxArea06 .oneBox:nth-child(even) {
    margin: 0 0 25px 1%;
}
#main .boxArea06 .oneBox .imgBox img {
	width: 100%;
}

/* .boxArea07 */
#main .boxArea07 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 960px;
    margin: 0 auto;
}
#main .boxArea07 .oneBox {
    width: 49%;
    margin: 0 0.5% 0 0;
    border: 1px solid #ccc;
    background: #fff;
    padding: 30px 20px;
}
#main .boxArea07 .oneBox:nth-child(even) {
    margin: 0 0 0 0.5%;
}
#main .boxArea07 .oneBox .titleBox {
    background: #003572;
    padding: 10px;
}
#main .boxArea07 .oneBox .titleBox p {
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}

#main .boxArea07 .oneBox .infoBox {
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#main .boxArea07 .oneBox .infoBox .comBox {
    width: 100%;
    text-align: center;
}
#main .boxArea07 .oneBox .infoBox .imgBox {
    width: 25%;
}
#main .boxArea07 .oneBox .infoBox .textBox {
    width: 75%;
}
#main .boxArea07 .oneBox .infoBox .textBox .rate {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
}
#main .boxArea07 .oneBox .infoBox .textBox .rate span {
    color: #c00;
    font-size: 200%;
}
#main .boxArea07 .oneBox .infoBox .textBox .memo {
    text-align: center;
}
#main .boxArea07 .oneBox .infoBox .imgBox img {
	width: 100%;
}

/* .boxArea08 */
#main .boxArea08 {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 860px;
    margin: 0 auto;
}
#main .boxArea08 .oneBox {
    width: 48%;
    margin: 0 2% 0 0;
    background: #f5f5f5;
}
#main .boxArea08 .oneBox.w_one {
    width: 100%;
    margin: 0;
}
#main .boxArea08 .oneBox:nth-child(even) {
    margin: 0 0 0 2%;
}
#main .boxArea08 .oneBox .titleBox {
    text-align: center;
    padding-bottom: 10px;
    background: #ffffff;
}
#main .boxArea08 .oneBox .btnBox {
    text-align: center;
    padding-bottom: 10px;
    background: #ffffff;
}
#main .boxArea08 .oneBox .btnBox a {
    position: relative;
    background: #fff;
    border: 3px solid #cc0000;
    border-radius: 12px;
    padding: 15px 5px;
    display: inline-block;
    width: 100%;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    color: #cc0000;
    max-width: 420px;
}
#main .boxArea08 .oneBox .btnBox a:hover {
	opacity: .7;
}
#main .boxArea08 .oneBox .btnBox a.blue_btn {
    background: #e6f2ff;
    border: 3px solid #004386;
    color: #004386;
    font-size: 26px;
    max-width: 100%;
}
#main .boxArea08 .oneBox .infoBox {
	background: #f5f5f5;
	padding: 10px;
}
#main .boxArea08 .oneBox .infoBox p {
	font-size: 14px;
}

/* .boxArea_card */
#main .boxArea_card {
	box-sizing: border-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
#main .boxArea_card .oneBox {
	width: 49%;
	margin: 0 1% 25px 0;
}
#main .boxArea_card .oneBox:nth-child(even) {
	margin: 0 0 25px 1%;
}
#main .boxArea_card .oneBox .imgBox img {
	width: 100%;
}


@media all and (max-width: 1100px) {
	#main .boxArea02 .oneBox:nth-child(1) {
		width: 100%;
	}
	#main .boxArea02 .oneBox:nth-child(2) {
		width: 30%;
	}
	#main .boxArea02 .oneBox:nth-child(3) {
		width: 70%;
	}
	#main .boxArea02 .oneBox .imgBox img {
		max-width: 200px;
	}
	#main .boxArea02 .oneBox .infoBox p {
		font-size: 18px;
	}
}
@media all and (max-width: 768px) {
	#main .boxArea01 .oneBox:nth-child(1) {
		width: 100%;
		margin: 0 0 10px;
		padding: 10px 10px;
	}
	#main .boxArea01 .oneBox:nth-child(1) .imgBox img {
		max-width: 500px;
	}
	/* ===== ヒカリダケ：有 =====
	#main .boxArea01 .oneBox:nth-child(2) {
		width: 64%;
		padding: 10px 10px;
	}
	*/
	/* ===== ヒカリダケ：無 ===== */
	#main .boxArea01 .oneBox:nth-child(2) {
		width: 100%;
		padding: 10px 10px;
	}
	#main .boxArea01 .oneBox:nth-child(2) .imgBox img {
		max-width: 200px;
	}
	#main .boxArea01 .oneBox:nth-child(3) {
		width: 35%;
		padding: 0 0 0 10px;
	}
	#main .boxArea02 .oneBox:nth-child(1) {
		width: 100%;
		margin: 0;
	}
	#main .boxArea02 .oneBox:nth-child(2) {
		width: 100%;
		padding: 10px 0;
	}
	#main .boxArea02 .oneBox:nth-child(3) {
		width: 100%;
		padding: 5px 0 10px;
	}
	#main .boxArea02 .oneBox .infoBox p.priceA {
		font-size: 13px;
	}
	#main .boxArea02 .oneBox .infoBox p.priceB {
		font-size: 13px;
	}
	#main .boxArea02 .oneBox .infoBox sup {
		font-size: 10px;
	}
	#main .boxArea01 .oneBox .infoBox p.big, #main .boxArea01 .oneBox .infoBox p .big {
		font-size: 110%;
	}
	#main .boxArea03 .oneBox:nth-child(1) {
		width: 100%;
	}
	#main .boxArea03 .oneBox:nth-child(2) {
		width: 100%;
		margin: 10px 0;
	}
	#main .boxArea03 .oneBox:nth-child(3) {
		width: 100%;
	}
	#main .boxArea04 .oneBox:nth-child(1) {
		display: none;
	}
	#main .boxArea04 .oneBox:nth-child(2) {
		width: 100%;
	}
	#main .boxArea04 .oneBox:nth-child(3) {
		display: none;
	}
	#main .boxArea05 .oneBox {
		width: 100%;
		padding: 0 30px;
	}
	#main .boxArea05 .oneBox:nth-child(1) {
		margin-bottom: 15px;
	}
	#main .boxArea06 .oneBox {
		width: 100%;
		margin: 0 0 15px 0;
	}
	#main .boxArea06 .oneBox:nth-child(even) {
		margin: 0 0 15px 0;
	}
	#main .boxArea07 .oneBox .titleBox p {
		font-size: 18px;
	}
	#main .boxArea07 .oneBox .infoBox .textBox .rate {
		font-size: 22px;
	}
	#main .boxArea_card .oneBox {
		width: 98%;
		margin: 5% auto;
	}
	#main .boxArea_card .oneBox:nth-child(even) {
		margin: 0;
	}
}
@media all and (max-width: 768px) {
    #main .boxArea07 {
        max-width: 500px;
    }
	#main .boxArea07 .oneBox {
		width: 100%;
		margin: 0 0 10px 0;
		padding: 15px 10px;
	}
	#main .boxArea07 .oneBox:nth-child(even) {
		margin: 0;
	}
	#main .boxArea08 .oneBox {
		width: 100%;
		margin: 0 0 20px 0;
	}
	#main .boxArea08 .oneBox:nth-child(even) {
		margin: 0;
	}
	#main .boxArea08 .oneBox .infoBox p {
		font-size: 12px;
	}
    #main .boxArea08 .oneBox .btnBox a.blue_btn {
        font-size: 16px;
    }
}



/*------------------------------------------------------------
.borderBox
------------------------------------------------------------*/
/* .borderBox01 */
#main .borderBox01 {
    border: 3px solid #c00;
    padding: 15px;
    text-align: center;
}
#main .borderBox01 p {
    color: #cc0000;
    font-size: 20px;
    font-weight: bold;
}
#main .borderBox01 p .title {
    margin-right: 15px;
}
#main .borderBox01 p .number {
    background: #cc0000;
    color: #fff;
    display: inline-block;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    margin-right: 3px;
}
#main .borderBox01 p .bline {
    border-bottom: 1px solid #c00;
}

/* .borderBox02 */
#main .borderBox02 {
    border: 1px solid #c00;
    padding: 20px 30px;
    margin: 30px;
}
#main .borderBox02 .title {
    font-size: 18px;
    margin-bottom: 10px;
}
#main .borderBox02 dl {
    display: inline-block;
    max-width: 800px;
    text-align: left;
}
#main .borderBox02 dt {
    float: left;
    width: 80px;
}
#main .borderBox02 dd {
    margin-bottom: 10px;
    overflow: hidden;
    display: block;
}
#main .borderBox02 dl:last-child dd:last-child {
    margin-bottom: 0;
}
#main .borderBox02 dd sup {
    font-size: 12px;
    vertical-align: text-top;
}

/* .borderBoxCP */
#main .borderBoxCP {
    margin: 50px 0 30px;
	border-top: 3px solid #4aed93;
    border-bottom: 3px solid #4aed93;
	/*
    border-top: 10px solid #66bbff;
    border-bottom: 10px solid #66bbff;
	*/
}
#main .borderBoxCP .cp-inner {
	border-top: 7px solid #4dff9d;
    border-bottom: 7px solid #4dff9d;
    padding: 15px 0;
}
#main .borderBoxCP .textA {
	/*
    margin-bottom: 5px;
	*/
    font-size: 32px;
    font-weight: bold;
    color: #cc0000;
    text-align: center;
}
#main .borderBoxCP .textB {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
#main .borderBoxCP .fsB {
    font-size: 180%;
}
#main .borderBoxCP sup {
    font-size: 13px;
}
@media all and (max-width: 768px) {
	#main .borderBox01 {
		padding: 10px;
	}
	#main .borderBox01 p {

		font-size: 14px;
	}
	#main .borderBox01 p .number {
		width: 23px;
		height: 23px;
		margin-right: 1px;
	}
	#main .borderBox02 {
		padding: 10px 15px;
		margin: 30px 15px;
	}
	#main .borderBox02 .title {
		font-size: 16px;
	}
	#main .borderBox02 dd sup {
		font-size: 10px;
	}
	/* .borderBoxCP */
	#main .borderBoxCP .cp-inner {
		/*
		border-top: 10px solid #66bbff;
		border-bottom: 10px solid #66bbff;
		*/
		padding: 15px 0;
	}
	#main .borderBoxCP .textA {
		margin-bottom: 10px;
		font-size: 22px;
	}
	#main .borderBoxCP .textB {
		font-size: 16px;
	}
	#main .borderBoxCP sup {
		font-size: 10px;
	}
}





/*------------------------------------------------------------
.scrollArea
------------------------------------------------------------*/
#main .scrollArea {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}




/*------------------------------------------------------------
.main table
------------------------------------------------------------*/
.main table {
    width: 100%;
    margin-bottom: 0;
}
.main table th {
    border: 1px solid #ccc;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    background: #003572;
    color: #ffffff;
}
.main table th.bbA {
	width: 26%;
	min-width: 90px;
	padding: 20px 10px;
}
.main table th.bbC {
    width: 74%;
    min-width: 130px;
}
.main table th.bbD {
    width: 37%;
    min-width: 90px;
    background: #fbb8a8;
    color: #333;
    font-size: 16px;
}
.main table td {
    border: 1px solid #ccc;
    padding: 15px;
    vertical-align: middle;
    text-align: center;
    font-size: 18px;
    background: #ffffff;
}
.main table td.bbE {
    background: #fffcef;
    color: #003572;
    font-size: 16px;
}
.main table td.bbE .reArea {
    position: relative;
}
.main table td.bbE .ab-img {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -36px;
}
.main table td .textT {
    line-height: 1.2;
    font-size: 18px;
    font-weight: bold;
    padding-left: 55px;
}
.main table td .textT span {
    line-height: 1.2;
    font-size: 14px;
    font-weight: bold;
}
.main table td .textS {
    line-height: 1.2;
    font-size: 14px;
    font-weight: bold;
}
.main table td .priceA {
    line-height: 1.2;
    color: #fa2900;
    font-size: 50px;
    font-weight: bold;
}
.main table td .priceA span {
    line-height: 1.2;
    color: #333;
    font-size: 25px;
    font-weight: bold;
}
.main table td .priceA span.color {
	color: #fa2900;
}
.main table td .priceB {
    line-height: 1.2;
    color: #cc0000;
    font-size: 50px;
    font-weight: bold;
}
.main table td .priceB span {
    line-height: 1.2;
    color: #003572;

    font-size: 25px;
    font-weight: bold;
}
@media all and (max-width: 1024px) {
	.main table th {
		font-size: 12px;
	}
	.main table th.bbD {
		font-size: 12px;
	}
	.main table td {
		padding: 10px;
		font-size: 12px;
	}
	.main table td.bbE {
		font-size: 12px;
	}
	.main table td.bbE .ab-img {
		margin-top: -20px;
	}
	.main table td.bbE .ab-img img {
		width: 40px;
	}
	.main table td .textT {
		font-size: 14px;
		padding-left: 40px;
	}
	.main table td .textT span {
		font-size: 10px;
	}
	.main table td .textS {
		font-size: 10px;
	}
	.main table td .priceA {
		font-size: 22px;
	}
	.main table td .priceA span {
		font-size: 12px;
	}
	.main table td .priceB {
		font-size: 24px;
	}
	.main table td .priceB span {
		font-size: 14px;
	}
	.main table td .text-kome {
		font-size: 12px;
	}
}
@media all and (max-width: 768px) {
	.main table th {
		padding: 10px 5px;
	}
	.main table td {
		padding: 10px 5px;
	}
	.main table td.bbE .ab-img {
		position: static;
		margin: 0 0 5px;
	}
	.main table td .textT {
		padding: 0;
	}
}



/*------------------------------------------------------------
.faq_table
------------------------------------------------------------*/
.faq_table {
    display:table;
    border-collapse:collapse;
    width: 100%;
}
.faq_table .row {
    display:table-row;
}
.faq_table .row>div {
    display:table-cell;
    padding: 10px;
    border: 1px solid #ccc;
    background: #003572;
    color: #fff;
    vertical-align: middle;
}
.faq_table .row>div:nth-child(1) {
    width: 43px;
}
.faq_table .row>div:nth-child(2) {
    background: #ffffff;
    color: #333;
}
.faq_table .row:nth-child(2)>div {
    background: #000000;
    color: #fff;
}
.faq_table .row:nth-child(2)>div:nth-child(2) {
    background: #fffcef;
    color: #333;
}
.faq_table .val_img img {
    max-width: 100%;
}
@media all and (-ms-high-contrast:none){
*::-ms-backdrop, .faq_table .val_img img {
    max-width: 728px;
    width: 100%;
} /* IE11 */
}



/*------------------------------------------------------------
.btnArea01
------------------------------------------------------------*/
.btnArea01 {
    text-align: center;
    margin: 30px 0 0;
}
.btnArea01 .btnB {
    position: relative;
    background: #fff;
    border: 1px solid #003366;
    box-shadow: 0px 6px 0px 0px rgba(177, 177, 177, 0.52);
    padding: 15px 10px;
    display: inline-block;
    text-align: center;
    width: 580px;
    line-height: 1.2;
}
.btnArea01 .btnB span {
    color: #003366;
    font-size: 18px;
    font-weight: bold;
}
/*.btnArea01 .btnB:before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #003366;
    border-right: solid 2px #003366;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 25px;
    margin-top: -6px;
}*/
.btnArea01 .btnB:hover {
	opacity: .7;
}
@media all and (max-width: 768px) {
	.btnArea01 .btnB span {
		font-size: 14px;
	}
}
@media all and (max-width: 600px) {
	.btnArea01 .btnB {
		width: 100%;
		max-width: 500px;
	}
}
@media all and (max-width: 420px) {
	.btnArea01 .btnB {
		padding: 10px;
	}
    /*.btnArea01 .btnB:before {
		left: 10px;
	}*/
}
@media all and (max-width: 320px) {
	.btnArea01 .btnB span {
		font-size: 12px;
	}
}



/*------------------------------------------------------------
.btnArea02
------------------------------------------------------------*/
.btnArea02 {
	padding: 30px 0 40px;
	max-width: 800px;
    margin: 0 auto;

}

.btnArea02::after {
	content: "";
	display: block;
	clear: both;	
}

.btnArea02 .btnAarea,.btnArea02 .btnBarea {
	display: inline-block;
	float: left;
	width: 48%;
}

.btnArea02 .btnAarea {
	margin: 0 2% 0 0;
}

.btnArea02 .btnBarea {
	margin: 0 0 0 2%;
}

.buttonText {
	display: block;
	text-align: center;
	height: 48px;
}

.btnArea02 .btnAarea .buttonText {
	padding-top: 5px;
}

.applyArea {
	margin: 10px 0 0;
	display: inline-block;
	width: 100%;
}
.applyArea a.btnA {
    position: relative;
    width: 100%;
    text-align: center;
	padding: 0.3em 0.3em 0.35em;
    background: #cc0000;
    color: #fff !important;
    display: block;
    line-height: 1.3;
    font-weight: bold;
	font-size: 50px;
	text-shadow: 1px 1px 5px #860000;
	border: 5px solid #cc0000;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
}
.applyArea a.btnA span {
	display: block;
    background: #fff;
    color: #cc0000;
    font-size: 24px;
    padding: 6px 0;
    position: relative;
    margin-bottom: 14px;
	text-shadow: none;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

.applyArea a.btnA span::after,.applyArea a.btnB span::after {
	position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-top: 8px solid #fff;
    bottom: -16px;
    left: 0;
    right: 0;
}

.applyArea a.btnB span::after {
	border-top-color: #be0101;
}

.applyArea a.btnA .ab-text {
	position: absolute;
	top: 15px;
	left: 50%;
	background: #fff;
	font-size: 16px;
	width: 250px;
	margin-left: -125px;
	padding: 4px 3px 3px;
	border-radius: 4px;
	color: #da0000;
	font-weight: bold;
}
.applyArea a.btnB {
    text-align: center;
	position: relative;
    width: 100%;
    padding: 0.3em 0.3em 0.35em;
    background: #e6f2ff;
    color: #000 !important;
    display: block;
    line-height: 1.3;
    font-weight: bold;
    font-size: 50px;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.4);
	border: 5px solid #004386;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
}
.applyArea a.btnB.w_half {
    display: flex;
    flex-wrap: wrap;
    max-width: 660px;
    margin: 0 auto;
}
.applyArea a.btnB span {
    display: block;
    background: #be0101;
    color: #fff;
    font-size: 24px;
    padding: 6px 0;
    position: relative;
    margin-bottom: 14px;
	text-shadow: none;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

.applyArea a.btnB .side {
    width: 48%
}
.applyArea a.btnB .side:nth-child(1) {
    background: #004386;
    color: #fff;
    font-size: 24px;
    padding: 6px 0;
    position: relative;
    text-shadow: none;
    border-radius: 8px;
    margin: 0 14px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.applyArea a.btnB .side:nth-child(1)::after {
    position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-left: 16px solid #004386;
    top: 50%;
    bottom: auto;
    left: auto;
    right: -24px;
    margin-top: -8px;
}

.applyArea a.btnB .ab-text {
	position: absolute;
	top: 15px;
	left: 50%;
	background: #fff;
	font-size: 16px;
	width: 250px;
	margin-left: -125px;
	padding: 4px 3px 3px;
	border-radius: 4px;
	color: #da0000;
	font-weight: bold;
}
.applyArea a.btnA:hover, .applyArea a.btnB:hover {
    opacity: .7;
}

@media all and (max-width: 768px){
	.btnArea02 {
		text-align: center;
	}
	
	.btnArea02 .btnAarea {
    	margin: 0;
	}
	
	.btnArea02 .btnBarea {
    	margin: 0;
	}

	
	.btnArea02 .btnAarea,.btnArea02 .btnBarea {
    	float: none;
		width: 100%;
		max-width: 390px;
	}
	
	.btnArea02 .btnBarea {
		margin-top: 30px;
	}
	
	.btnArea02 .btnAarea .buttonText {
		padding-top: 0;
		height: 0; 
		display: inline-block;
	}
}

@media all and (max-width: 768px){
    .applyArea a.btnB .side {
        width: 100%
    }
    .applyArea a.btnB .side:nth-child(1) {
        font-size: 18px;
        margin: 0 0 14px 0;
    }
    .applyArea a.btnB .side:nth-child(1)::after {
        border-left: 8px solid #004386;
        top: auto;
        margin-top: 0;
        bottom: -16px;
        left: 0;
        right: 0;
        transform: rotate(90deg);
    }
}

@media all and (max-width: 600px){
	.applyArea a.btnA,.applyArea a.btnB {
		font-size: 38px;
	}
	
	.applyArea a.btnA span,.applyArea a.btnB span {
		font-size: 18px;
	}
}

@media all and (max-width: 480px){
	.buttonText {
		height: 40px;
	}
	
	.applyArea a.btnA, .applyArea a.btnB {
		font-size: 30px;
	}
	
	.applyArea a.btnA,.applyArea a.btnB {
		   padding: 0.3em 0.3em 0.4em 0.3em;
	}
}


/*------------------------------------------------------------
.btnArea02_other
------------------------------------------------------------*/
.btnArea02_other {
	max-width: 900px;
	margin: 0 auto;
	padding: 30px 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.btnArea02_other .oneBox {
    width: 49%;
    border: 5px solid #ccc;
    padding: 20px 20px;
    box-sizing: border-box;
}
.btnArea02_other .oneBox:nth-child(3) {
    width: 100%;
    border: none;
    padding: 0;
    margin: 20px 0 0;
}
.btnArea02_other .oneBox:nth-child(3) h4 {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 10px;
}
.btnArea02_other .oneBox:nth-child(3) h4:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #be0101;
    margin-right: 7px;
}
.btnArea02_other .oneBox:nth-child(3) p {
    font-size: 14px;
}
.btnArea02_other .oneBox .titleBox {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
.btnArea02_other .oneBox .infoBox {
    background: #f5f5f5;
    margin-top: 15px;
    padding: 10px;
}
.fl_hq_o {
    font-size: 18px;
    font-weight: bold;
}
@media all and (max-width: 768px){
    .btnArea02_other .oneBox {
        width: 100%;
        margin: 0 0 15px 0;
    }
    .btnArea02_other .oneBox:nth-child(3) {
        margin: 0;
    }
    .fl_hq_o {
        font-size: 14px;
    }
}


/*------------------------------------------------------------
.btnArea02_other02
------------------------------------------------------------*/
.btnArea02_other02 {
	max-width: 700px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.btnArea02_other02 .oneBox:nth-child(1) {
    width: 30%;
    box-sizing: border-box;
}
.btnArea02_other02 .oneBox:nth-child(2)  {
    width: 70%;
    box-sizing: border-box;
}
.btnArea02_other02 .oneBox .btnBox  {
    box-sizing: border-box;
}
.btnArea02_other02 .oneBox .btnBox a {
    position: relative;
    background: #fff;
    border: 3px solid #cc0000;
    border-radius: 12px;
    padding: 15px 5px;
    display: inline-block;
    width: 100%;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    color: #cc0000;
    max-width: 520px;
    margin-bottom: 10px;
}
.btnArea02_other02 .oneBox .btnBox a:hover {
    opacity: .7;
}
.btnArea02_other02 .oneBox .btnBox .infoBox {
    background: #f5f5f5;
    padding: 10px;
}
.btnArea02_other02 .oneBox .imgBox  {
    text-align: center;
}
.btnArea02_other02 .oneBox .imgBox img  {
    width: 100%;
    max-width: 160px;
}
@media all and (max-width: 600px){
    .btnArea02_other02 .oneBox:nth-child(1)  {
        width: 100%;
    }
    .btnArea02_other02 .oneBox:nth-child(2) {
        width: 100%;
    }
    .btnArea02_other02 .oneBox .imgBox img  {
        max-width: 120px;
    }
}


/*------------------------------------------------------------
.applyBox
------------------------------------------------------------*/
.applyBox {
	width: 100%;
    max-width: 360px;
    margin: 0 auto;
}
.applyBox a.btnA {
    position: relative;
    width: 100%;
    text-align: center;
	padding: 0.3em 0.3em 0.35em;
    background: #cc0000;
    color: #fff !important;
    display: block;
    line-height: 1.3;
    font-weight: bold;
	font-size: 50px;
	text-shadow: 1px 1px 5px #860000;
	border: 5px solid #cc0000;
	border-radius: 12px;
}
.applyBox a.btnA span {
	display: block;
    background: #fff;
    color: #cc0000;
    font-size: 24px;
    padding: 6px 0;
    position: relative;
    margin-bottom: 14px;
	text-shadow: none;
	border-radius: 8px;
}
.applyBox a.btnA span:after {
	position: absolute;
    content: "";
    margin: auto;
    box-sizing: border-box;
    vertical-align: middle;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-top: 8px solid #fff;
    bottom: -16px;
    left: 0;
    right: 0;
}
.applyBox a.btnA:hover{
    opacity: .7;
}
@media all and (max-width: 600px){
	.applyBox a.btnA {
		font-size: 38px;
	}
	.applyBox a.btnA span {
		font-size: 18px;
	}
}
@media all and (max-width: 480px){
	.applyBox a.btnA {
        font-size: 30px;
        padding: 0.3em 0.3em 0.4em 0.3em;
	}
}


/*------------------------------------------------------------
.telBox
------------------------------------------------------------*/
.telBox {
	width: 100%;
	max-width: 420px;
	height: 165px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.telBox .number_text {
    position: relative;
    display: flex;
    justify-content: center;
    color: #004386;
    font-size: 42px;
    font-weight: bold;
    line-height: 1;
	/* アイコン削除
    padding-left: 55px;
	*/
    margin-bottom: 0.5em;
}
/* アイコン削除
.telBox .number_text:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -8px;
    background-image: url(/content/nttcom/hq/jp/personal/services/internet/hikari/docomo/img/img_freedial.gif);
    background-size: 45px 26px;
    background-repeat: no-repeat;
    display: inline-block;
    width: 45px;
    height: 26px;
    vertical-align: middle;
}
*/
.telBox .info_text {
    position: relative;
    display: inline-block;
    font-size: 15px;
    padding-left: 70px;
}
.telBox .info_text:before {
    content: " 受付時間 ";
    position: absolute;
    top: 0;
    left: 0;
    color: #004386;
    font-size: 12px;
    border: 1px solid #004386;
    padding: 5px 7px;
    line-height: 1;
}
@media all and (max-width: 860px){
    .telBox .number_text {
        font-size: 30px;
    }
}
@media all and (max-width: 768px){
    .telBox {
        height: auto;
    }
    .telBox .number_text {
        font-size: 30px;
    }
}
@media all and (max-width: 374px){
    .telBox .number_text {
        font-size: 26px;
    }
}


/*------------------------------------------------------------
#Carousel
------------------------------------------------------------*/
.area4 {
    width: 1260px;
}
#CarouselTopPSSvceTop {
    width: 100%;
    max-width: 1260px !important;
}
/*スライダーボタン上書き*/
#CarouselTopPSSvceTop .sp-buttons {
	padding: 0;
	top: 5px;
	height: 25px;
	opacity: 1;
}
.sp-button {
	border: 1px solid #cc0000;
	background:#e1e1e1;
}
.sp-selected-button{
	border: 1px solid #cc0000;
	background: #cc0000;
}
.sp-previous-arrow::before, .sp-previous-arrow::after, .sp-next-arrow::before, .sp-next-arrow::after{
	background-color: #cc0000;
}
.area5 {
    display: none;
}
@media screen and (max-width:768px) {
    .area4 {
        width:100%;
        display:block;
    }
}


/*------------------------------------------------------------
fit size（1260px以下 769px以上 に適応）
------------------------------------------------------------*/
@media screen and (max-width:1260px) and (min-width:769px) {
    body {
        min-width: 100%;
        background-size: 100% auto;
    }
    .sectioning {
        min-width: 100%;
    }

    /*------------------------------------------------------------
    footer
    ------------------------------------------------------------*/
    footer {
        padding: 0;
        width: 100%;
        min-width: 100%;
        text-align: center;
    }
    .footerInner {
        width: 100%;
        padding: 50px 0;
    }
    footer .snsArea, footer .linkArea, footer .dArea, footer .langArea {
        display: block;
        width: 100%;
        text-align: center;
        margin: 0;
    }
    .footerInner div {
        display: block;
        width: 100%;
        text-align: center;
    }
    footer .snsArea ul.sns {
        float: none;
        display: table;
        table-layout: fixed;
        margin: 0 auto 50px;
    }
    footer .snsArea ul.sns li {
        float: none;
        display: table-cell;
        padding: 0 10px;
        width: 100%;
        text-align: center;
    }
    footer .linkArea ul.link {

        float: none;
        margin: 0 auto 30px;
        max-width: 100%;
    }
    footer .linkArea ul.link li {
        float: none;
        display: inline-block;
        padding: 0 20px;
        width: auto;
        text-align: center;
    }
    footer .dArea {
        margin-bottom: 20px;
    }

    footer .langArea {
        padding: 20px 0 0;
        width: 100% !important;
    }
    footer .langArea .lang {
        float: none;
        padding-right: 0;
        margin: 0 auto 50px;
        display: inline-block;
    }
    footer .langArea .copyright {
        float: none;
    }
    footer .dArea {
        float: none;
    }
    footer .bigFooter {
        width: 100%;
        padding-left: 6.1%;
        padding-right: 6.1%;
        min-width: 100%;

        text-align: left;
    }
    footer .bigFooter .bigFooterInner {

        width: 100%;

    }
    .popupFooter {
        min-width: 100%;
    }
}



/*------------------------------------------------------------
tablet size（1024px以下に適応）
------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
    .area4 {
        width: 100%;
        display: block;
    }
    .area4 img {
        width: 100%;
    }
}



/*------------------------------------------------------------
tablet size（768px以下に適応）
------------------------------------------------------------*/
@media all and (max-width: 768px) {
	.allPd {
		padding-left: 0;
		padding-right: 0;
	}

}



/*------------------------------------------------------------
tablet size（480px以下に適応）
------------------------------------------------------------*/
@media screen and (max-width: 480px) {
    .area1 img {
        width: 20%;
    }
    .area2 p {
        margin: 0 auto;

    }
    .area1 {
        margin-top: 0px;
        margin-bottom: 0px;

    }
}

/*------------------------------------------------------------
2018/10/01追記
------------------------------------------------------------*/
.sp-mask {
	width: 100% !important;
}


/*------------------------------------------------------------
v6アルファ PR枠
------------------------------------------------------------*/
.v6_Area {
    box-sizing: border-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 4em;
	width: 100%;
	background-color: #000;
	padding: 2%;
	color: #fff;
}
.v6_Area .oneBox:nth-child(1) {
    width: 54%;
    margin: 0 1% 0 0;
}

.v6_Area .oneBox:nth-child(2) {
    width: 45%;
}

.v6_Area .oneBox .v6_inner {
	margin: 20% auto 0;
	text-align: center;
}
.v6_Area .oneBox .imgBox img {
	width: 100%;
}

@media all and (max-width: 768px) {
	.v6_Area {
		padding: 4%;
	}
	.v6_Area .oneBox:nth-child(1) {
		width: 100%;
		margin: 0 0 6%;
	}
	.v6_Area .oneBox:nth-child(2) {
		width: 100%;
		margin: 0;
	}
	.v6_Area .oneBox .v6_inner {
		margin: 0;
	}
}

/* button */
.v6_Area .oneBox .button { display: inline-block; text-align: center; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.2; padding: 0.7em 1em; border-radius: 6px; background: rgba(0, 0, 0, 0.2); color: #ffffff !important; font-weight: bold; font-size: 150%; min-width: 80%; position: relative; }

.v6_Area .oneBox .button:hover:not(:disabled):not(.disabled) { color: inherit; text-decoration: none; opacity: .9; }

@media screen and (max-width: 736px) { .v6_Area .oneBox .button { min-width: 0; width: 80%; } }

.v6_Area .oneBox .button span { position: relative; display: block; transform: translate(-3px, -3px); z-index: +1; transition-property: transform; transition-duration: 0.3s; }

.v6_Area .oneBox .button:after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; left: 0; width: 100%; height: 100%; border-radius: 6px; background: #E82D34; transform: translate(-3px, -3px); transition-property: transform; transition-duration: 0.3s; }

.v6_Area .oneBox .button:hover span { transform: translate(0, 0); }

.v6_Area .oneBox .button:hover:after { transform: translate(0, 0); }


/*------------------------------------------------------------
個別ナビ
------------------------------------------------------------*/
@media screen and (min-width: 737px) { .sub-nav { background: #fffeef; display: table; border: 1px solid #c7c7c6; width: 90%; table-layout: fixed; margin: 0 auto 3.2em !important; padding-left: 0 !important; }
  .sub-nav__item { display: table-cell; }
  .sub-nav__item a { display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.2; transition-property: background; transition-duration: 0.3s; display: block; font-size: 90%; position: relative; padding-bottom: 15.5px; padding: 1em 1em 1.4em 1em; }
  .sub-nav__item a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; bottom: 0; left: 0; right: 0; transform: translate(4px, -8px) rotate(-45deg); transform-origin: bottom left; border-bottom: 2px solid #cc0000; border-left: 2px solid #cc0000; width: 8px; height: 8px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .sub-nav__item a:hover::after { bottom: -3px; }
  .sub-nav__item:not(:last-child) { border-right: 1px dotted #7f7f7f; } }

@media screen and (max-width: 736px) { .sub-nav { display: none; } }

.sectioning_layout-inner ul li a.redButton {

	background: #d80000;
	color: #fff;
	margin: 3px;
}

/*------------------------------------------------------------
2019/04/01 追記 ホームネットセキュリティオプション
------------------------------------------------------------*/

.fs-24 {
	font-size: 24px;
}

/* ▼ボタン▼ */

.btnArea04 .applyArea .hsoBtn {
	position: relative;
	max-width: 690px;
	left: 50%;
    margin-left: -345px;
}

.btnArea04 .applyArea .hsoBtn a.btnB {
	border: 5px solid #fabe00;
	background: #fff4bc;
	z-index: 1;
	padding: 0.3em 0.3em 0.30em 2em;
	margin: 0 0 0 30px;
}

.btnArea04 .applyArea .hsoBtn .price200 {
	position: absolute;
    background: #fabe00;
    z-index: 2;
    width: 130px;
    height: 130px;
    border-radius: 100px;
    text-align: center;
    padding: 35px 10px;
    top: -12px;
    left: 0;
    font-weight: bold;
	line-height: 1.3;
}

.btnArea04 .applyArea .hsoBtn .price200 span {
	font-size: 30px;
}

.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1) {
    background: none;
    color: #333;
    font-size: 17px;
    margin: 0;
	padding: 0;
}

.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1)::after {
    content: none;
}

.btnArea04 .applyArea .hsoBtn a.btnB .side {
	width: 50%;
}

.btnArea04 .ind1_2_hq {
	margin-top: 12px;
}

@media all and (max-width: 768px){
	.btnArea04 .applyArea .hsoBtn {
		width: 100%;
		max-width: 660px;
    	margin-left: -330px;

	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB {
		padding: 12px 10px 12px 120px;
		margin: 0;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1) {
		width: 100%;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB .side {
		width: 100%;
	}
	
	.btnArea04 .applyArea .hsoBtn .price200 {
		width: 110px;
		height: 110px;
		padding: 26px 4px;
		top: 17px;
		left: 30px;
	}
	
	.hsoBr {
		display: none;
	}
	
	.btnArea04 .ind1_2_hq {
		margin-top: 10px;
	}
}

@media all and (max-width: 679px){
	.btnArea04 .applyArea .hsoBtn {
		margin-left: 0;
		left: 0;
	}
}

@media all and (max-width: 600px){
	.btnArea04 .applyArea .hsoBtn a.btnB {
		padding: 12px 10px 12px 140px;
	}
	
	.btnArea04 .applyArea .hsoBtn .price200 {
		width: 100px;
		height: 100px;
		padding: 25px 4px;
		left: 30px;
	}
	
	.btnArea04 .applyArea .hsoBtn .price200 span {
		font-size: 24px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1) {
		font-size: 20px;
	}
}

@media all and (max-width: 550px) {
	.btnArea04 .applyArea .hsoBtn .price200 {
		width: 120px;
		height: 120px;
		padding: 35px 4px;
		top: 20px;
		left: 30px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB {
		padding: 12px 10px 12px 120px;
	}
	
	.hsoBr {
		display: block;
	}
}

@media all and (max-width: 480px) {
	.btnArea04 .applyArea .hsoBtn .price200 {
		width: 110px;
	    height: 110px;
		padding: 30px 4px;
		left: 20px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB {
		padding: 12px 10px 12px 130px;
	}
}

@media all and (max-width: 410px) {
	.btnArea04 .applyArea .hsoBtn .price200 {
		width: 100px;
		height: 100px;
		padding: 26px 4px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1) {
		font-size: 18px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB {
		    padding: 12px 10px 12px 120px;
	}
}

@media all and (max-width: 380px) {
	.btnArea04 .applyArea .hsoBtn a.btnB .side:nth-child(1) {
		font-size: 15px;
	}
	
	.btnArea04 .applyArea .hsoBtn .price200 {
		left: 20px;
		font-size: 14px;
		width: 90px;
		height: 90px;
		padding: 22px 2px;
	}
	
	.btnArea04 .applyArea .hsoBtn a.btnB {
		    padding: 12px 10px 12px 110px;
	}
}


/* ▼「ホームネットセキュリティ オプション」とは？▼ */
.whatsHso {
	padding: 30px;
	border: solid #cc0000 2px;
	margin: 50px auto 0;
}

.whatsHso:after {
	content: " ";
	clear: both;
	display: block;
}

.whatsHso .hsoTop {
	text-align: center;
}

.whatsHso .hsoTopText {
	width: 700px;
	display: inline-block;
	margin: 0 10px 30px;
}

.whatsHso .whatsHsoTitle {
	font-size: 23px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 5px;
}

.whatsHso .hsoImage {
	width: 70px;
}

.whatsHso p.subHsoTitle {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

.whatsHso p.subHsoTitle span.fs-26 {
	font-size: 26px;
    padding: 0 3px;
}

.whatsHso p.subHsoTitle span.y-bb {
	border-bottom: solid #fff4bc 5px;
}

.whatsHso .flex {
	display: flex;
}

.whatsHso .col {
	border: 1px solid #333;
	float: left;
	width: calc((100% - 30px) / 2);
	padding: 20px;
}

.whatsHso .col .colList {
	display: block;
	text-align: center;
}

.whatsHso .col-left {
	margin-right: 30px;
}

.whatsHso .col .caution {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 10px;
}

.whatsHso .col p:nth-of-type(n+2) {
	margin-bottom: 15px;
}

.whatsHso .col ol {
	font-weight: bold;
	list-style: none !important;
	padding: 0 !important;
	text-align: center;
	display: inline-block;
}

.whatsHso .col ol li {
	margin-bottom: 8px;
	text-align: left;
}

.whatsHso .col ol li:nth-of-type(n+3) {
	margin-bottom: 0;
}

.whatsHso .col ol li span {
	margin-right: 8px;
    background: #fabe00;
    border-radius: 20px;
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 1.7;
}

@media screen and (max-width:1030px) {
	.whatsHso .hsoTopText {
 	   width: 620px;
	}
	
	.whatsHso .whatsHsoTitle {
		margin-bottom: 0;
	}
	
	.whatsHso p.subHsoTitle {
		font-size: 16px;
	}
	
	.whatsHso .hsoImage {
		width: 60px;
	}
}

@media screen and (max-width:940px) {
	.whatsHso .hsoTopText {
		width: 550px;
	}
	
	.whatsHso .col-left {
		margin-right: 20px;
	}
	
	.whatsHso .col {
		width: calc((100% - 20px) / 2);
		padding: 15px;
	}
}

@media screen and (max-width:850px) {
	.whatsHso {
		padding: 20px;
	}
	
	.whatsHso .col ol li {
		font-size: 14px;
	}
	
	.whatsHso .col ol li span {
		width: 24px;
	    height: 24px;
		line-height: 1.5;
	}
	
	.whatsHso .hsoTopText {
		width: 520px;
		margin: 0 5px 30px;
	}
	
	.whatsHso .hsoImage {
		width: 50px;
	}
}

@media screen and (max-width:768px) {
	.whatsHso {
		padding: 30px;
	}
	
	.whatsHso img:not(.pc) {
		display: block;
	    margin: 0 auto 10px;
		width: 60px;
	}
	
	.whatsHso .hsoTopText {
		width: 100%;
		
	}
	
	.whatsHso .flex {
		display: block;
	}
	
	.whatsHso .col {
		width: 100%;
		padding: 30px;
	}
	
	.whatsHso .col-left {
		margin-right: 0;
   		margin-bottom: 30px;
	}
	
	.whatsHso .col ol li {
		font-size: 16px;
	}
	
	.whatsHso .col ol li span {
		width: 30px;
	    height: 30px;
		line-height: 1.7;
	}
}

@media screen and (max-width:480px) {
	.whatsHso {
		padding: 24px;
		margin: 30px auto 0;
	}
	
	.whatsHso .col {
		padding: 24px;
	}
	
	.whatsHso .col-left {
		margin-bottom: 24px;
	}
	
	.whatsHso .col ol li {
		font-size: 14px;
	}
	
	.whatsHso .col ol li span {
		width: 24px;
    	height: 24px;
    	line-height: 1.5;
	}
}

@media screen and (max-width:400px) {
	.whatsHso {
		padding: 20px;
	}
	
	.whatsHso .col {
		padding: 12px;
	}
	
	.whatsHso .col-left {
		margin-bottom: 20px;
	}
	
	.whatsHso .col ol li {
		font-size: 13px;
	}
	
	.whatsHso .col ol li span {
		margin-right: 5px;
	}
}


/*------------------------------------------------------------
2019/04/05 追記 特典2リンク
------------------------------------------------------------*/
#main .boxArea06 .oneBox:nth-of-type(2) .imgBox {
	position: relative;
}

#main .boxArea06 .oneBox:nth-of-type(2) .imgBox img {
	z-index: 1;
}

#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
	position: absolute;
	z-index: 2;
    top: 87%;
    left: 40%;
    font-size: 12px;
    border-bottom: solid 1px #cc0000;
    font-weight: bold;
	color: #cc0000;
}

@media screen and (max-width:1100px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		font-size: 11px;
	}
}

@media screen and (max-width:950px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		top: 86%;
		font-size: 10px;
	}
}

@media screen and (max-width:768px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		font-size: 18px;
	}
}

@media screen and (max-width:650px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		font-size: 16px;
	}
}

@media screen and (max-width:550px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		font-size: 12px;
	}
}

@media screen and (max-width:450px) {
	#main .boxArea06 .oneBox:nth-of-type(2) .imgBox a {
		font-size: 10px;
	}
}

/*------------------------------------------------------------
2019/05/14 追記 特典3リンク
------------------------------------------------------------*/
#main .boxArea06 .oneBox:nth-of-type(3) .imgBox {
	position: relative;
}

#main .boxArea06 .oneBox:nth-of-type(3) .imgBox img {
	z-index: 1;
}

#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
	position: absolute;
	z-index: 2;
    top: 87%;
    left: 32%;
    font-size: 12px;
	padding-right: 10px;
}

#main .boxArea06 .oneBox:nth-of-type(3) .imgBox a {
    border-bottom: solid 1px #cc0000;
    font-weight: bold;
	color: #cc0000;
}

#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p .br {
	display: none;
}

@media screen and (max-width:1123px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 84%;
		line-height: 1.4;
	}
}

@media screen and (max-width:1020px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 85%;
		line-height: 1.3;
		font-size: 11px;
	}
}

@media screen and (max-width:950px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		line-height: 1.2;
		font-size: 10px;
	}
}

@media screen and (max-width:850px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 84%;
	}
}

@media screen and (max-width:768px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		font-size: 15px;
		padding-right: 20px;
		line-height: 1.3;
		top: 86%;
	}
}

@media screen and (max-width:680px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		font-size: 14px;
	}
}

@media screen and (max-width:630px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		font-size: 13px;
	}
}

@media screen and (max-width:587px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 87%;
		font-size: 12px;
	}
}

@media screen and (max-width:545px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 85%;
		padding-right: 15px;
	}
}

@media screen and (max-width:500px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 84%;
	}
}

@media screen and (max-width:480px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 85%;
		font-size: 11px;
	}
}

@media screen and (max-width:440px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {
		top: 84%;
		font-size: 10px;
		padding-right: 10px;
		line-height: 1.2;
	}
}

@media screen and (max-width:370px) {
	#main .boxArea06 .oneBox:nth-of-type(3) .imgBox p {

	}
}


/*------------------------------------------------------------
2019/05/20 追記 .boxArea02_wstyle
------------------------------------------------------------*/
#main .boxArea02_wstyle {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 10px;
}
#main .boxArea02_wstyle .oneBox {
	width: 49.5%;
	text-align: center;
	line-height: 1.4;
}
#main .boxArea02_wstyle .oneBox:nth-child(1) {
	border: 10px solid #92d050;
	background: #dff1cb;
}
#main .boxArea02_wstyle .oneBox:nth-child(2) {
	border: 10px solid #fba141;
	background: #fee3c6;
}
#main .boxArea02_wstyle .oneBox .infoBoxA {
	font-size: 16px;
	padding: 10px 5px;
}
#main .boxArea02_wstyle .oneBox:nth-child(1) .infoBoxA {
	border-bottom: 10px solid #92d050;
}
#main .boxArea02_wstyle .oneBox:nth-child(2) .infoBoxA {
	border-bottom: 10px solid #fba141;
}
#main .boxArea02_wstyle .oneBox .infoBoxB {
	font-size: 16px;
	padding: 10px 5px;
}
#main .boxArea02_wstyle .oneBox sup {
	font-size: 12px;
}
#main .boxArea02_wstyle .oneBox .w_fsA {
	font-size: 130%;
}
#main .boxArea02_wstyle .oneBox .w_fsB {
	font-size: 180%;
}
#main .boxArea02_wstyle .oneBox .w_fsC {
	font-size: 150%;
}
@media screen and (max-width:830px) {
	#main .boxArea02_wstyle .oneBox {
		width: 100%;
	}
	#main .boxArea02_wstyle .oneBox:nth-child(1) {
		margin-bottom: 10px;
	}
	#main .boxArea02_wstyle .oneBox .infoBoxA {
		font-size: 14px;
	}
	#main .boxArea02_wstyle .oneBox .infoBoxB {
		font-size: 14px;
	}
    #main .boxArea02_wstyle .oneBox sup {
        font-size: 10px;
    }
}
@media screen and (max-width:374px) {
	#main .boxArea02_wstyle .oneBox .infoBoxA {
		font-size: 13px;
	}
	#main .boxArea02_wstyle .oneBox .infoBoxB {
		font-size: 13px;
	}
}


/*------------------------------------------------------------
2020/12/15 追記 main small
------------------------------------------------------------*/
main small {
    font-size: 90%;
}

/*------------------------------------------------------------
2021/1/28 追記 #main .boxArea_card_3column
------------------------------------------------------------*/
#main .boxArea_card_3column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1100px;
	margin: 0 auto;
}
#main .boxArea_card_3column .oneBox {
	width: 32%;
	max-width: 336px;
}
#main .boxArea_card_3column .oneBox .imgBox a {
	display: block;
	text-align: center;
}
#main .boxArea_card_3column .oneBox .imgBox img {
	max-width: 100%;
	height: auto;
}
@media (max-width:680px) {
	#main .boxArea_card_3column {
		max-width: 336px;
	}
	#main .boxArea_card_3column .oneBox {
		width: 100%;
		margin-bottom: 15px;
	}
	#main .boxArea_card_3column .oneBox:last-child {
		margin-bottom: 0;
	}
}

/*------------------------------------------------------------
#main a.red_btn
------------------------------------------------------------*/

#main a.red_btn {
	display: block;
	color: #333;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	background: #ffd8d8;
	border: 3px solid #cc0000;
	border-radius: 12px;
	box-sizing: border-box;
	padding: 15px 5px;
	max-width: 900px;
	margin: 0 auto;
}
#main a.red_btn:hover {
	opacity: .7;
}
#main a.red_btn span.new_win {
	margin-right: 0;
	padding-right: 18px;
	background: url(/content/nttcom/hq/jp/personal/services/img/icon_out1.png) right 0.4em no-repeat;
}
#main a.red_btn .rb_sp {
	display: none !important;
}
@media (max-width: 1023px) {
	#main a.red_btn {
		font-size: 15px;
	}
}
@media (max-width: 736px) {
	#main a.red_btn {
		font-size: 14px;
	}
	#main a.red_btn .rb_sp {
		display: block !important;
	}
}
@media (max-width: 374px) {
	#main a.red_btn {
		font-size: 12px;
	}
}

/* 税込価格 -------------------------- */
.tax, .btnArea04 .applyArea .hsoBtn .price200 span.tax {
	font-size: 80%;
}
.tax .tax_include {
	font-size: 125%;
}
.infoBoxB .tax_include {
	font-size: 135%;
}
.main table td .priceB .tax .tax_include,
.btnArea04 .applyArea .hsoBtn .price200 span.tax .tax_include {
	font-size: 150%;
}
/* ----------------------------------- */
