@charset "utf-8";

/* 上書き */

html header {
	position: relative;
	padding: 0;
	margin: 0;
	max-width: 100%;
}

html header .menuWrap {
	padding: 15px 20px;
}

@media(max-width: 767px) {
	html header {
		display: block;
		padding: 0;
	}
}

@media screen and (max-width: 480px) {
	html header .menuWrap {
		padding: 10px;
	}
}


main {
	padding-top: 0 !important
}


/* 独自 */

#smp_nav_overlay { /* SMPナビ表示時のクリック禁止用 */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	z-index: 959;
	cursor: pointer;
	
	display: none;
}

.smp_menu_open #smp_nav_overlay {
	display: block;
}

#mobileone_header_wrap {
	margin-left: -10px;
	margin-right: -10px;
}

#mobileone_header {
	position: relative;
	max-width: 1260px;
	margin: 0 auto;
}

.mob_fixed #mobileone_header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	padding: 0 10px 2px;
	z-index: 99999;
}


#mobileone_header .service_logo {
	margin: 0 0 15px 0;
	text-align: center;
}

#mobileone_header .service_logo img {
	width: 430px;
	height: auto;
	max-width: 100%;
}

#mobileone_header .upper_nav {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto 15px;
	padding: 0;
	overflow: hidden;
	position: relative;
}


#mobileone_header .upper_nav .copy {
	position: absolute;
	pointer-events: none;
	width: 100%;
	left: 0;
	top: 0;
	text-align: center;
}

#mobileone_header .upper_nav ul {
	width: 31em;
	float: right;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-end;
}

#mobileone_header .upper_nav ul li {
	margin: 0;
	padding: 0 0 0 1em;
}

#mobileone_header .upper_nav ul li:first-child {
	padding: 0;
}

#mobileone_header .upper_nav a {
	text-decoration: underline;
}

#mobileone_header .upper_nav .smp_apply,
#mobileone_header .upper_nav .smp_nav_button,
#mobileone_header .nav .smp_upper_nav {
	display: none;
}

#mobileone_header .contact {
	position: absolute;
	right: 0;
	top: 0;
}

#mobileone_header .contact a {
	display: inline-block;

	background-color: #002060;
	color: #fff;
	border-radius: 0;
	padding: 5px 10px;
	/* width: 120px; */
}

#mobileone_header .contact a.active {
	background: #e1e2e1;
	color: #333;
}

#mobileone_header .contact a:after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 7px;
	vertical-align: middle;
	border-top: 4px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

#mobileone_header .contact .dropdown a::after {
	display: none;
}

#mobileone_header .contact .dropdown {
	position: absolute;
	width: 220px;
	right: 0;
	top: 2em;
	z-index: 9999;
	background: #fff;
	border: solid 1px #ccc;
	padding: 10px;
	border-radius: 8px;
	
	display: none;
}

#mobileone_header .contact .dropdown img {
	display: block;
	margin: 0 auto;
}

#mobileone_header .nav {
	background: #fff;
	border-bottom: solid 1px #fff;
}

#mobileone_header .nav_wrap {
	width: 100%;
}

#mobileone_header .nav_fixed .nav {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	padding: 0;
	z-index: 99999;
}

#mobileone_header .nav ul {
	margin: 0;
	padding: 0;
	
	max-width: 1260px;
	margin: 0 auto;
	
	list-style: none;
	display: flex;
}

#mobileone_header .nav ul li {
	margin: 0;
	padding: 0;
	width: 16.66%;
	width: calc( 100% / 7 );
	border-right: solid 1px #cbcbcb;
}

#mobileone_header .nav ul li.apply {
	border: 0;
}

#mobileone_header .nav ul li a {
	display: block;
	text-align: center;
	padding: 0.8em 0;
}

#mobileone_header .nav ul li a:hover {
	background: #004795;
	color: #fff;
	text-decoration: none;
}

#mobileone_header .nav ul li.apply a {
	background: #e8380d;
	color: #fff;
}

#mobileone_header .nav ul li a:before {
	content: '';
	display: inline-block;
	vertical-align: -0.3em;
	margin-right: 6px;
	width: 20px;
	height: 22px;
	background: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/nav_icons.png) no-repeat 0 -25px;
	background-size: 175px 50px;
}

#mobileone_header .nav ul li a:hover:before {
	background-position: 0 0;
}

#mobileone_header .nav ul li.simulation a:before {
	width: 16px;
	background-position: -25px -25px;
}
#mobileone_header .nav ul li.simulation a:hover:before {
	background-position: -25px 0;
}

#mobileone_header .nav ul li.feature a:before {
	width: 14px;
	height: 23px;
	background-position: -50px -25px;
}
#mobileone_header .nav ul li.feature a:hover:before {
	background-position: -50px 0;
}

#mobileone_header .nav ul li.flow a:before {
	width: 17px;
	background-position: -75px -25px;
}
#mobileone_header .nav ul li.flow a:hover:before {
	background-position: -75px 0;
}

#mobileone_header .nav ul li.set a:before {
	width: 14px;
	background-position: -100px -25px;
}
#mobileone_header .nav ul li.set a:hover:before {
	background-position: -100px 0;
}

#mobileone_header .nav ul li.sim a:before {
	width: 16px;
	background-position: -125px -25px;
}
#mobileone_header .nav ul li.sim a:hover:before {
	background-position: -125px 0;
}

#mobileone_header .nav ul li.apply a:before {
	display: none;
	width: 23px;
	height: 23px;
	background-position: -150px 0;
}


@media screen and (max-width:1160px) {

	#mobileone_header .upper_nav .copy {
		position: static;
	}

	#mobileone_header .upper_nav ul {
		float: none;
		margin: 0 auto;
	}
	
}

@media screen and (max-width:1024px) {
}

@media screen and (max-width:768px) {
	
	#mobileone_header {
		width: 100%;
		background: #fff;
		padding: 1px 10px;
	}
	
	#mobileone_header .service_logo {
		padding-top: 10px;
		display: inline-block;
		width: calc( 100% - 120px );
		margin: 0;
		text-align: left;
	}
	
	#mobileone_header .contact {
		margin-top: 12px;
		position: static;
		float: right;
	}
	
	#mobileone_header .upper_nav {
		clear: both;
		overflow: hidden;
		padding-top: 2px;
		margin-bottom: 0;
	}
	
	#mobileone_header .upper_nav ul {
		display: none;
	}
	
	#mobileone_header .upper_nav .copy {
		float: left;
		display: block;
		width: 240px;
		margin-top: 4px;
		text-align: left;
	}

	#mobileone_header .upper_nav .smp_apply	{
		display: inline-block;
		float: right;
		margin-right: 5px;
	}
	#mobileone_header .upper_nav .smp_apply a {
		display: inline-block;
		background: #e8380d;
		color: #fff;
		padding: 5px 10px;
		text-decoration: none;
	}
	
	#mobileone_header .upper_nav .smp_nav_button {
		display: block;
		float: right;
		width: 31px;
		margin-left: 20px;
	}
	
	#mobileone_header .upper_nav .smp_nav_button a {
		display: block;
		height: 26px;
		margin-top: 3px;
		text-indent: -999em;
		overflow: hidden;
		background: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/smp_nav_button.gif) no-repeat 0 0;
		background-size: cover;
	}
	.smp_menu_open #mobileone_header .upper_nav .smp_nav_button a {
		background-image: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/smp_nav_button_x.gif);
	}
	
	#mobileone_header .nav_wrap {
		position: relative;
	}
	
	#mobileone_header .nav ul li a {
		padding: 0.7em 0;
	}
	
	#mobileone_header .nav li.apply {
		display: none;
	}
	
	#mobileone_header .nav {
		position: absolute;
		left: 0;
		top: 0;
		background: #fff;
		width: 100%;
		z-index: 960;
		display: none;
	}
	
	.smp_menu_open #mobileone_header .nav {
		left: 0;
		top: 0;
	}
	
	#mobileone_header .nav ul {
		display: block;
		border: solid 1px #cbcbcb;
		border-bottom: 0;
	}
	
	#mobileone_header .nav ul li {
		float: none;
		width: auto;
		border: 0;
		border-bottom: solid 1px #cbcbcb;
	}
	
	#mobileone_header .nav .smp_upper_nav {
		display: block;
		border-top: 0;
	}
	
	#mobileone_header .nav .smp_upper_nav li a {
	}
	
	#mobileone_header .nav .smp_upper_nav li a:before,
	#mobileone_header .nav .smp_upper_nav li a:hover:before {
		content: none;
	}
}


@media screen and (max-width:580px) {

	#mobileone_header .contact a {
	}
	
	#mobileone_header .upper_nav .smp_nav_button {
		width: 20px;
		margin-left: 0;
	}
	
	#mobileone_header .upper_nav .smp_nav_button a {
		height: 17px;
	}

	#mobileone_header .upper_nav .smp_apply a {
		padding: 3px 10px;
	}
	
	#mobileone_header .upper_nav .copy {
		width: 200px;
	}

}



/* ===== ▼フォントサイズ▼ ===== */
#mobileone_header .upper_nav .copy {
  font-size: 16px;
  font-size: 1.14286em;
}
#mobileone_header .upper_nav ul li {
  font-size: 14px;
  font-size: 1em;
}
#mobileone_header .nav ul li a {
  font-size: 16px;
  font-size: 1.14286em;
}
@media screen and (max-width: 1160px) {
  #mobileone_header .nav ul li a {
    font-size: 14px;
    font-size: 1em;
  }
}
@media screen and (max-width: 1024px) {
  #mobileone_header .nav ul li a {
    font-size: 10px;
    font-size: 0.71429em;
  }
}
@media screen and (max-width: 768px) {
  #mobileone_header .upper_nav .copy {
    font-size: 14px;
    font-size: 1em;
  }
  #mobileone_header .nav ul li a {
    font-size: 16px;
    font-size: 1.14286em;
  }
  #mobileone_header .nav .smp_upper_nav li a {
    font-size: 14px;
    font-size: 1em;
  }
}
@media screen and (max-width: 580px) {
  #mobileone_header .contact a {
    font-size: 10px;
    font-size: 0.71429em;
  }
  #mobileone_header .upper_nav .smp_apply a {
    font-size: 10px;
    font-size: 0.71429em;
  }
  #mobileone_header .upper_nav .copy {
    font-size: 11px;
    font-size: 0.78571em;
  }
}
/* ===== ▲フォントサイズ▲ ===== */



/*====================================================================
▼▼▼ #gnavi_one ここから ▼▼▼
====================================================================*/

/*====================================================================
#smp_gnavi_one_overlay
====================================================================*/
#smp_gnavi_one_overlay {
	display: none;
}
@media screen and (max-width:900px) {
    #smp_gnavi_one_overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .6;
        z-index: 96900;
        cursor: pointer;
        display: none;
    }
    .smp_menu_open #smp_gnavi_one_overlay {
        display: block;
    }
}



/*====================================================================
#gnavi_one #gnavi_one_header
====================================================================*/
#gnavi_one {
	font-family: "メイリオ","Meiryo","小塚ゴシック Pr6N","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	margin-top: 0;
}
#gnavi_one img {
	vertical-align: middle;
}
#gnavi_one #gnavi_one_header {
	position: relative;
	max-width: 1260px;
	margin: 0 auto;
}

/* .service_logo */
#gnavi_one #gnavi_one_header .service_logo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 430px;
	width: 100%;
    font-size: 36px;
    line-height: 1;
}
#gnavi_one #gnavi_one_header .service_logo img {
	max-width: 100%;
}

/* .upper_nav */
#gnavi_one #gnavi_one_header .upper_nav {
}
#gnavi_one #gnavi_one_header .upper_nav ul {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-end;
}
#gnavi_one #gnavi_one_header .upper_nav ul li {
	margin: 0;
	padding: 0 0 0 1em;
}
#gnavi_one #gnavi_one_header .upper_nav ul li:first-child {
	padding: 0;
}
#gnavi_one #gnavi_one_header .upper_nav ul li a:before {
	content: '';
	display: inline-block;
	margin-right: 7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #002060;
}

#gnavi_one #gnavi_one_header .upper_nav a {
	text-decoration: underline;
}
#gnavi_one #gnavi_one_header .upper_nav .smp_apply,
#gnavi_one .smp_nav_button,
#gnavi_one #gnavi_one_nav .nav .smp_upper_nav {
	display: none;
}

#gnavi_one #gnavi_one_header .under_nav {
    display: flex;
    justify-content: flex-end;
}
#gnavi_one #gnavi_one_header .under_nav a.pc_nav {
    display: inline-block;
    border: 1px solid #002060;
    padding: 5px 15px;
    margin-right: 10px;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
}
#gnavi_one #gnavi_one_header .under_nav a.pc_nav:after {
	content: '';
	display: inline-block;
	margin-left: 7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #002060;
}

/* .contact */
#gnavi_one #gnavi_one_header .contact {
}
#gnavi_one #gnavi_one_header .contact a {
	display: inline-block;
	background-color: #002060;
	border: 1px solid #002060;
	color: #fff;
	border-radius: 0;
	padding: 5px 15px;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
}
#gnavi_one #gnavi_one_header .contact a.active {
	background: #e1e2e1;
	color: #333;
}
#gnavi_one #gnavi_one_header .contact .dropdown a {
    margin: 0;
    padding: 0;
    background: none;
    cursor: pointer;
    display: block;
    border: none;
}
#gnavi_one #gnavi_one_header .contact a:after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 7px;
	vertical-align: middle;
	border-top: 4px solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}
#gnavi_one #gnavi_one_header .contact .dropdown a::after {
	display: none;
}
#gnavi_one #gnavi_one_header .contact .dropdown {
	position: absolute;
	width: 220px;
	right: 0;
	top: 4.2em;
	z-index: 99990;
	background: #fff;
	border: solid 1px #ccc;
	padding: 10px;
	border-radius: 8px;
	display: none;
}
#gnavi_one #gnavi_one_header .contact .dropdown img {
	display: block;
	margin: 0 auto;
}

@media screen and (max-width:1260px) {
	#gnavi_one #gnavi_one_header .upper_nav {
		padding: 0 10px;
	}
}
@media screen and (max-width:1100px) {
    #gnavi_one #gnavi_one_header .under_nav a.pc_nav {
        padding: 5px 5px;
    }
    #gnavi_one #gnavi_one_header .contact a {
        padding: 5px 5px;
    }
}
@media screen and (max-width:1024px) {
    #gnavi_one #gnavi_one_header .service_logo {
        max-width: 300px;
    }
}
@media screen and (max-width:900px) {
    #gnavi_one {
        height: 126px !important;
    }
	#gnavi_one #gnavi_one_header {
		background: #fff;
		padding: 0 10px;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 99900;
	}
    .mob_fixed #gnavi_one #gnavi_one_header {
    }
    .smp_menu_open #gnavi_one #gnavi_one_header {
        z-index: 96900; 
    }
	#gnavi_one #gnavi_one_header .service_logo {
		position: static;
		padding-top: 10px;
		width: calc( 100% - 120px );
		max-width: 400px;
		margin: 0;
		text-align: left;
	}
	#gnavi_one #gnavi_one_header .contact {
		margin-right: 0;
		width: 34%;
	}
	#gnavi_one #gnavi_one_header .contact a {
        width: 100%;
        text-align: center;
	}
    #gnavi_one #gnavi_one_header .contact .dropdown {
        top: 87px;
        left: 10px;
    }
    #gnavi_one #gnavi_one_header .contact .dropdown a {
        margin: 0;
        padding: 0;
        background: none;
        cursor: pointer;
        display: block;
        border: none;
    }
	#gnavi_one #gnavi_one_header .upper_nav {
		margin: 10px 0;
		padding: 0;
	}
	#gnavi_one #gnavi_one_header .upper_nav ul {
		display: none;
	}
    #gnavi_one #gnavi_one_header .under_nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #gnavi_one #gnavi_one_header .under_nav a.pc_nav {
		display: none;
    }
	#gnavi_one #gnavi_one_header .upper_nav .smp_apply	{
		display: inline-block;
		margin: 0;
		width: 65%;
	}
	#gnavi_one #gnavi_one_header .upper_nav .smp_apply a {
		display: inline-block;
		background: #e8380d;
		border: 1px solid #e8370d;
		color: #fff;
		padding: 5px 10px;
		text-decoration: none;
		width: 100%;
		text-align: center;
	}
    /* .contact_sp */
    #gnavi_one #gnavi_one_nav .nav ul li.contact {
        position: relative;
        display: block;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact a:hover {
        background: #ffffff;
        color: #004386;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact a.active {
        background: #004386;
        color: #ffffff;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact a:before {
        transform: rotate(90deg);
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact a.active:before {
        border-color: transparent transparent transparent #ffffff;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown a::after {
        display: none;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown {
        width: 100%;
        background: #fff;
        border: solid 1px #004795;
        padding: 10px;
        display: none;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown p {
        font-size: 14px;
        margin: 0 0 6px;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown a {
        margin: 0;
        background: none;
        cursor: pointer;
        display: block;
        padding: 0;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown a:before {
        content: none;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.contact .dropdown img {
        display: block;
        margin: 0 auto;
    }
}
@media screen and (max-width:374px) {
    #gnavi_one #gnavi_one_header .contact .dropdown {
        top: 82px;
    }
}


/*====================================================================
#gnavi_one #gnavi_one_nav .nav
====================================================================*/
#gnavi_one #gnavi_one_nav {
	position: relative;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	background: #fff;
	margin: 10px auto;
	padding: 0;
	overflow-x: hidden;
}
#gnavi_one #gnavi_one_nav .nav {
}
#gnavi_one #gnavi_one_nav .nav_wrap {
	width: 100%;
}
#gnavi_one #gnavi_one_nav .nav ul {
	padding: 0;
	max-width: 1260px;
	margin: 0 auto;
	list-style: none;
	width: 100%;
	display: flex;
}
#gnavi_one #gnavi_one_nav .nav ul li {
	margin: 0;
	padding: 0;
	width: 16.66%;
	width: calc( 100% / 7 );
	border-left: solid 1px #cccccc;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}
#gnavi_one #gnavi_one_nav .nav ul li.apply {
	border: 0;
    background: #e8380d;
}
#gnavi_one #gnavi_one_nav .nav ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    color: #004386;
    text-align: center;
    padding: 0;
    transition-duration: 0.3s;
}
#gnavi_one #gnavi_one_nav .nav ul li a:hover {
	background: #004795;
	color: #fff;
	text-decoration: none;
}
#gnavi_one #gnavi_one_nav .nav ul li.apply a {
	background: #e8380d;
	color: #fff;
}
#gnavi_one #gnavi_one_nav .nav ul li a:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	width: 20px;
	height: 22px;
	background: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/nav_icons.png) no-repeat 0 -20px;
	background-size: 150px 43px;
}
#gnavi_one #gnavi_one_nav .nav ul li a:hover:before {
	background-position: 0 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.home a:before {
	background-position: 1px -20px
}
#gnavi_one #gnavi_one_nav .nav ul li.home a:hover:before {
	background-position: 1px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.simulation a:before {
	background-position: -19px -20px;
}
#gnavi_one #gnavi_one_nav .nav ul li.simulation a:hover:before {
	background-position: -19px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.feature a:before {
	height: 23px;
	background-position: -39px -20px;
}
#gnavi_one #gnavi_one_nav .nav ul li.feature a:hover:before {
	background-position: -39px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.flow a:before {
	background-position: -62px -20px;
}
#gnavi_one #gnavi_one_nav .nav ul li.flow a:hover:before {
	background-position: -62px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.set a:before {
	background-position: -82px -20px;
}
#gnavi_one #gnavi_one_nav .nav ul li.set a:hover:before {
	background-position: -82px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.sim a:before {
	background-position: -104px -20px;
}
#gnavi_one #gnavi_one_nav .nav ul li.sim a:hover:before {
	background-position: -104px 0;
}
#gnavi_one #gnavi_one_nav .nav ul li.apply a:before {
	display: none;
	width: 23px;
	height: 23px;
	background-position: -150px 0;
}

@media screen and (max-width:1024px) {
}
@media screen and (min-width:901px) {
	#gnavi_one #gnavi_one_nav .nav_fixed .nav {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		padding: 0;
		z-index: 99999;
		border-top: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		background: #fff;
	}
}
@media screen and (max-width:900px) {
    #gnavi_one #gnavi_one_nav {
        border: none;
        margin: 0;
    }
	#gnavi_one #gnavi_one_nav .nav_wrap {
		position: relative;
	}
    #gnavi_one #gnavi_one_nav .nav ul li a {
        justify-content: flex-start;
        padding: 0.7em 1.4em;
        width: 100%;
    }
	#gnavi_one #gnavi_one_nav .nav li.apply {
		display: none;
	}
    #gnavi_one #gnavi_one_nav .nav {
        position: fixed;
        right: -330px;
        top: 0;
        background: #fff;
        width: 320px;
        height: 100vh;
        z-index: 97000;
        display: block !important;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        transition: .5s;
    }
    .smp_menu_open #gnavi_one #gnavi_one_nav .nav {
        right: 0;
    }
    #gnavi_one #gnavi_one_nav .nav .nav_inner {
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        height: 100vh;
    }
	#gnavi_one #gnavi_one_nav .nav ul {
		display: block;
        border: none;
        border-top: solid 1px #cccccc;
    }
	#gnavi_one #gnavi_one_nav .nav ul li {
		border: 0;
		border-bottom: solid 1px #cccccc;
		display: flex;
		justify-content: flex-start;
		width: 100%;
	}
    #gnavi_one #gnavi_one_nav .nav ul li.logo {
        border-bottom: none;
        padding: 8px 0;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.logo a {
        width: 100%;
        max-width: 220px;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.logo a:hover {
        background: none;
    }
    #gnavi_one #gnavi_one_nav .nav ul li.logo img {
        width: 100%;
    }
	#gnavi_one #gnavi_one_nav .nav .smp_upper_nav {
		display: block;
		border-top: 0;
	}
    #gnavi_one #gnavi_one_nav .nav .smp_upper_nav .apply {
		display: block;
    }
    #gnavi_one #gnavi_one_nav .nav .smp_upper_nav .apply a {
        background: #e8380d;
        color: #fff;
        padding: 0.8em 1.8em;
        width: 100%;
        justify-content: center;
    }
	#gnavi_one #gnavi_one_nav .nav .smp_upper_nav li a {
	}
	#gnavi_one #gnavi_one_nav .nav .smp_upper_nav li a:before {
		content: '';
		display: inline-block;
		margin-right: 7px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4px 0 4px 6px;
		border-color: transparent transparent transparent #002060;
		vertical-align: middle;
	}
	#gnavi_one #gnavi_one_nav .nav .smp_upper_nav li.logo a:before {
		content: none;
	}
}
@media screen and (max-width:340px) {
    .smp_menu_open #gnavi_one #gnavi_one_nav .nav {
        width: 280px;
    }
}


/*====================================================================
.gnavi_one_box
====================================================================*/
@media screen and (max-width: 900px) {
	#gnavi_one .smp_nav_button {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 100000;
	}
	#gnavi_one .smp_nav_button a {
		/* display: block; */
		/* height: 26px; */
		/* margin-top: 3px; */
		/* text-indent: -999em; */
		/* overflow: hidden; */
		/* background: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/smp_nav_button.gif) no-repeat 0 0; */
		/* background-size: cover; */
	}
	.smp_menu_open #gnavi_one .smp_nav_button a {
		/* background-image: url(/content/dam/nttcom/hq/jp/personal/services/mobile/one/img/201712/smp_nav_button_x.gif); */
	}
	#gnavi_one .smp_nav_button a.gnavi_one_box {
		display: block;
		position: fixed;
		top: 15px;
		right: 10px;
		width: 28px;
		height: 28px;
		transform: translate(0, 0);
		transition: all .4s ease 0s, transform .4s cubic-bezier(.215, .61, .355, 1) 0s;
		cursor: pointer;
	}
	#gnavi_one .gnavi_one_box .gnavi_one_line {
		display: block;
		position: absolute;
		left: 0;
		width: 28px;
		height: 4px;
		background-color: #0d347f;
		transform: translate(0, 0);
		transition: all .22s ease 0s;
	}
	#gnavi_one .gnavi_one_line._1 {
		top: 1px;
	}
	#gnavi_one .gnavi_one_line._2 {
		top: 11px;
	}
	#gnavi_one .gnavi_one_line._3 {
		top: 22px;
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line {
		/* width: 30px; */
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line._1 {
		transform: translate(0, 10px) rotate(-45deg);
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line._2 {
		opacity: 0;
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line._3 {
		transform: translate(0, -10px) rotate(45deg);
	}
}
@media screen and (max-width: 767px) {
	#gnavi_one .smp_nav_button a.gnavi_one_box {
		top: 20px;
		right: 10px;
		width: 20px;
		height: 20px;
	}
	#gnavi_one .gnavi_one_box {
		right: 20px;
		width: 30px;
		height: 30px;
	}
	#gnavi_one .gnavi_one_box .gnavi_one_line {
		width: 20px;
	}
	#gnavi_one .gnavi_one_line._1 {
		top: 0;
	}
	#gnavi_one .gnavi_one_line._2 {
		top: 8px;
	}
	#gnavi_one .gnavi_one_line._3 {
		top: 16px;
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line._1 {
		transform: translate(0, 8px) rotate(-45deg);
	}
	.smp_menu_open #gnavi_one .gnavi_one_box .gnavi_one_line._3 {
		transform: translate(0, -8px) rotate(45deg);
	}
}



/*====================================================================
header 調整
====================================================================*/
body {
    min-width: 320px;
}
html header {
	position: relative;
	padding: 0;
	margin: 0;
	max-width: 100%;
	z-index: 1;
}
html header .menuWrap {
	padding: 15px 20px;
}
main {
	padding-top: 0 !important
}
.sectioning_layout-inner {
	width: 100%;
}
.sectioning {
    min-width: 100%;
}
.area1{
	margin-top: 0;
	margin-bottom: 0;
}
@media screen and (max-width:1260px) {
    .sectioning {
        min-width: 100%;
        overflow: hidden;
    }
}
@media screen and (max-width:900px) {
    html header .menuWrap {
        padding: 0;
    }
    header .Logo, header #menuArea {
        display: none;
    }
    header .breadcrumbs {
        position: absolute;
        top: 90px;
        left: 0;
        margin: 0;
        padding: 0 10px;
        background: #fff;
    }
	.breadcrumbs {
		margin-top: 10px;
	}
	.breadcrumb_item:not(:nth-last-child(2)){
		display:none;
	}
	.breadcrumb_item {
		display: inline-block;
		position: relative;
		border-right: none;
		letter-spacing: normal;
		vertical-align: top;
	}
	.breadcrumb_item_heading {
		background-image: url(/content/dam/nttcom/cmn/img/cta-breadcrumb3.png);
		background-repeat: no-repeat;
		background-position: 6px center;
		background-size: 6px 10px;
	}
	.breadcrumb_item_child-toggle {
		display: none;
	}
}



/*====================================================================
共通
====================================================================*/
#omo_wrap h1.s_one {
    max-width: 100%;
    margin: 0 auto;
    color: #014895;
    font-size: 28px;
    font-weight: bold;
    background: #f1f8ff;
    padding: 15px 10px;
    line-height: 1;
}
h2.s_one {
    font-size: 28px;
    border-bottom: 2px solid #cccccc;
    line-height: 1;
    text-align: center;
    padding: 15px 10px;
    margin-bottom: 20px;
}
.s_one_Area {
    max-width: 1260px;
    margin: 0 auto 30px;
}
.btnArea {
    max-width: 1260px;
    margin: 0 auto;
}
@media screen and (max-width: 1260px){
	.s_one_Area{
		padding: 0 2%;
	}
}
@media screen and (max-width: 1024px){
	.s_one_Area{
		padding: 0 2%;
	}
}
@media screen and (max-width: 767px){
    #omo_wrap h1.s_one {
        font-size: 20px;
    }
    h2.s_one {
        font-size: 20px;
    }
}



/*====================================================================
フォントサイズ
====================================================================*/
#gnavi_one .upper_nav ul li {
  font-size: 14px;
}
#gnavi_one .nav ul li a {
  font-size: 14px;
}
@media screen and (max-width: 1260px) {
  #gnavi_one .upper_nav ul li {
    font-size: 12px;
  }
  #gnavi_one #gnavi_one_header .under_nav a.pc_nav, #gnavi_one #gnavi_one_header .contact a {
    font-size: 12px;
  }
  #gnavi_one .nav ul li a {
    font-size: 12px;
  }
}
@media screen and (max-width: 1160px) {
  #gnavi_one .upper_nav ul li {
    font-size: 11px;
  }
  #gnavi_one #gnavi_one_header .under_nav a.pc_nav, #gnavi_one #gnavi_one_header .contact a {
    font-size: 11px;
  }
  #gnavi_one .nav ul li a {
    font-size: 11px;
  }
}
@media screen and (max-width: 1024px) {
  #gnavi_one .upper_nav ul li {
    font-size: 10px;
  }
  #gnavi_one #gnavi_one_header .under_nav a.pc_nav, #gnavi_one #gnavi_one_header .contact a {
    font-size: 10px;
  }
  #gnavi_one .nav ul li a {
    font-size: 10px;
  }
}
@media screen and (max-width: 900px) {
  #gnavi_one .upper_nav ul li {
    font-size: 14px;
  }
  #gnavi_one #gnavi_one_header .under_nav a.pc_nav, #gnavi_one #gnavi_one_header .contact a, #gnavi_one #gnavi_one_header .upper_nav .smp_apply a {
    font-size: 14px;
    line-height: 1.4;
  }
  #gnavi_one .nav ul li a {
    font-size: 14px;
  }
}
@media screen and (max-width: 374px) {
  #gnavi_one #gnavi_one_header .under_nav a.pc_nav, #gnavi_one #gnavi_one_header .contact a, #gnavi_one #gnavi_one_header .upper_nav .smp_apply a {
    font-size: 10px;
  }
}
