@charset "UTF-8";

/* ====================================================== *
common LP for
https://www.ntt.com/business/lp/sase.html
https://www.ntt.com/business/lp/zero-trust.html
https://www.ntt.com/business/lp/cloud-proxy.html
https://www.ntt.com/business/lp/amazon-connect.html
https://www.ntt.com/business/lp/servicenow.html
https://www.ntt.com/business/lp/zscaler.html
https://www.ntt.com/business/lp/edr.html
 * ====================================================== */

/******************** Body re-layout ********************/
main > .computeFlatTypeSection.sectioning {
	margin-top: 0;
}
@media screen and (min-width: 1260px) {
	body {
		min-width: 1260px;
		background-size: 1260px auto;
	}
}
@media screen and (max-width: 1260px) {
	body {
		min-width: auto;
		background-size:auto;
	}
}
@media screen and (min-width: 769px) {
	main > .computeFlatTypeSection.sectioning {
		min-width: 100%;
	}
}
@media screen and (min-width: 1260px) {
	main > .computeFlatTypeSection.sectioning {
		min-width: 1260px;
	}
}
@media screen and (max-width: 768px) {
	main > .computeFlatTypeSection.sectioning {
		overflow: visible;
	}
}

/******************** START layout ********************/
.only-pc {
	display: none;
}
@media screen and (min-width: 769px) {
	.only-pc {
		display: block;
	}
}
.only-sp {
	display: none;
}
@media screen and (max-width: 768px) {
	.only-sp {
		display: block;
	}
}
/* sp layout */
section.top {
    
}
.lp_wrapper {
	position: relative;
}
.lp_wrapper::after {
	content: " ";
	clear: both;
	display: block;
}
.lp_wrapper .lp_nav {
	float: right;
}
.lp_wrapper .lp_content {
	float: left;
}
@media screen and (max-width:768px) {
	.grid_contents .grid_cols figure .TitleH1 h1 {
		margin: 0 15px 20px;
	}
	.grid_contents .grid_cols figure .text.parbase {
		margin: 0 15px;
	}
	
	.lp_top .lp_nav,
	.lp_wrapper .lp_nav,
	.lp_wrapper .lp_content {
		float: none;
		margin: 0 auto;
		width: calc(100% - 30px);
	}
	
	.lp_wrapper .lp_nav,
	.lp_top .lp_nav {
		height: 0;
		margin-top: -20px;
		opacity: 0;
		overflow: hidden;
		position: absolute;
		text-align: left;
		transition: opacity 0.4s, height 0.6s;
		width: 100%;
		z-index: 3;
	}
	.lp_wrapper .lp_nav,
	.lp_top .lp_nav {
		display: none;
	}
	.lp_wrapper .lp_nav.open,
	.lp_top .lp_nav.open {
		display: block;
		height: 100%;
		opacity: 1;
		overflow: auto;
		padding-bottom: 400px;
	}
}
.lp_wrapper .lp_content .sectioning:first-of-type h2 {
	margin-top: 0;
}
.sectioning_layout-inner {
    width: 100%;
}
.grid_contents .grid_cols {
    padding: 0;
}
.grid_contents .grid_cols figure > .text.parbase p:last-of-type {
	margin-bottom: 0;
}
.TitleH1 ~ .parbase .image_component {
	display: none;
}

@media screen and (min-width:769px) {
    /* pc layout */
		.grid_contents .grid_cols figure .TitleH1 h1 {
			margin: 0 15px 20px;
			max-width: inherit;
		}
		.grid_contents .grid_cols figure .text.parbase {
			margin: 0 15px;
			max-width: inherit;
		}
    .lp_wrapper .lp_nav {
			width: 30%;
			}
    .lp_wrapper .lp_content {
			margin-left: 15px;
			width: 66%;
    }
    .lp_wrapper .lp_content .sectioning {
			min-width: 100%;
    }
}

@media screen and (min-width:1261px) {
    /* pc layout */
    .grid_contents .grid_cols figure .TitleH1 h1 {
        margin: 0 auto 34px;
        max-width: 1260px;
    }
    .grid_contents .grid_cols figure .text.parbase {
        margin: 0 auto;
        max-width: 1260px;
    }
    .lp_wrapper .lp_nav {
		width: 350px;
	}
    .lp_wrapper .lp_content {
		margin-left: 0;
		width: 870px;
	}
	.lp_wrapper .lp_content .sectioning {
		min-width: 100%;
	}
}
/******************** END layout ********************/



/******************** START nav ********************/
/* sp content */
main nav {
    position: static;
}
main nav ul {
    list-style: none;
    padding-left: 0;
}
main nav ul li {
    background: #fff;
}
main nav ul li a {
    display: block;
}
.lp_nav nav > ul {
	margin: 0;
	padding: 0;
}
@media screen and (min-width:769px) {
	.lp_nav nav > ul > li a,
    .lp_nav nav > ul > li span{
		display: inline-block;
		font-size: 1.125rem;
		position: relative;
		width: 100%;
	}
    .lp_nav nav > ul > li span{
        color: #2F4357;
    }
	.lp_nav nav > ul > li > a,
	.lp_nav nav > ul > li > span {
		font-size: 14px;
		border: solid 2px #004386;
		padding: 0.6rem 1.0rem 0.6rem 0.7rem;
		margin-bottom: 2px;
	}
	.lp_nav nav > ul > li > a:hover,
	.lp_nav nav > ul > li > a.current {
		background-color: #004386;
		color: #fff;
	}
	.lp_nav nav > ul > li > a::before {
		background-color: transparent;
		border-right: solid 2px #004386;
		border-top: solid 2px #004386;
		content: "";
		display: block;
		height: 8px;
		position: absolute;
		right: 18px;
		top: calc(50% - 4px);
		transform: rotate(45deg);
		width: 8px;
	}
	.lp_nav nav > ul > li > a:hover::before,
	.lp_nav nav > ul > li > a.current::before{
		border-right: solid 2px #fff;
		border-top: solid 2px #fff;
	}
	.lp_nav nav > ul > li > ul > li > a,
	.lp_nav nav > ul > li > ul > li > span {
		font-size: 14px;
		padding: 0.525rem 1.0rem 0.525rem 0.7rem;
		margin-bottom: 2px;
	}
	.lp_nav nav > ul > li > ul > li > a:hover,
	.lp_nav nav > ul > li > ul > li > a.current {
		background-color: #004386;
		color: #fff;
	}
	.lp_nav nav > ul > li > ul > li > a::before {
		background-color: transparent;
		border-right: solid 2px #004386;
		border-top: solid 2px #004386;
		content: "";
		display: block;
		position: absolute;
		right: 35px;
		top: calc(50% + 3px);
		-moz-transform: rotate(45deg) translate(0px, -8px);
		-ms-transform: rotate(45deg) translate(0px, -8px);
		-webkit-transform: rotate(45deg) translate(0px, -8px);
		transform: rotate(45deg) translate(0px, -8px);
		height: 5px;
		width: 5px;
	}
	.lp_nav nav > ul > li > ul > li > a::after {
		border: solid 2px #004386;
		border-radius: 50%;
		content: "";
		display: block;
		position: absolute;
		right: 22px;
		top: calc(50% + 3px);
		height: 16px;
		-moz-transform: translate(0px, -12px);
		-ms-transform: translate(0px, -12px);
		-webkit-transform: translate(0px, -12px);
		transform: translate(0px, -12px);
		width: 16px;
	}
	.lp_nav nav > ul > li > ul > li > a:hover::before,
	.lp_nav nav > ul > li > ul > li > a.current::before {
		border-right: solid 2px #fff;
		border-top: solid 2px #fff;
	}
	.lp_nav nav > ul > li > ul > li > a:hover::after,
	.lp_nav nav > ul > li > ul > li > a.current::after {
		border: solid 2px #fff;
	}


  .lp_nav nav + .img_link{
    margin-top: 35px;
    display: inline-block;
  }
  .lp_nav nav + .img_link img{
    width: 100%;
  }
}
@media screen and (max-width:768px) {
	.lp_nav nav > ul > li {
		line-height: 1.5;
	}
	.lp_nav nav > ul > li a,
	.lp_nav nav > ul > li span {
		background-color: #004386;
		color: #fff;
		display: inline-block;
		font-size: 0.9rem;
		position: relative;
		width: 100%;
		line-height: 1.5;
	}
	.lp_nav nav > ul > li span {
		color: #9FB2C6;
    }
	.lp_nav nav > ul > li > a,
	.lp_nav nav > ul > li > span {
		border-bottom: solid 1px #2f5a86;
		padding: 1.0rem 3.5rem 1.0rem 1.5rem;
	}
	.lp_nav nav > ul > li > a::before {
		background-color: transparent;
		border-right: solid 2px #fff;
		border-top: solid 2px #fff;
		content: "";
		display: block;
		height: 8px;
		position: absolute;
		right: 24px;
		top: calc(50% - 4px);
		transform: rotate(45deg);
		width: 8px;
	}
	.lp_nav nav > ul > li > ul > li > a,
	.lp_nav nav > ul > li > ul > li > span {
		padding: 0.625rem 3.0rem 0.625rem 2.0rem;
		font-size: 14px;
	}
	.lp_nav nav > ul > li > ul > li > a::before {
		background-color: transparent;
		border-right: solid 2px #004386;
		border-top: solid 2px #004386;
		content: "";
		display: block;
		position: absolute;
		right: 30px;
		top: calc(50% + 3px);
		-moz-transform: rotate(45deg) translate(0px, -8px);
		-ms-transform: rotate(45deg) translate(0px, -8px);
		-webkit-transform: rotate(45deg) translate(0px, -8px);
		transform: rotate(45deg) translate(0px, -8px);
		height: 5px;
		width: 5px;
		z-index: 2;
	}
	.lp_nav nav > ul > li > ul > li > a::after {
		background-color: #fff;
		border: solid 2px #fff;
		border-radius: 50%;
		content: "";
		display: block;
		position: absolute;
		right: 17px;
		top: calc(50% + 3px);
		height: 16px;
		-moz-transform: translate(0px, -12px);
		-ms-transform: translate(0px, -12px);
		-webkit-transform: translate(0px, -12px);
		transform: translate(0px, -12px);
		width: 16px;
		z-index: 1;
	}

  .lp_nav nav + .img_link{
    display: none;
  }

}

/* hamburger menu */
@media screen and (max-width:768px) {
	.TitleMenu::after {
		content: " ";
		clear: both;
		display: block;
	}
	.TitleMenu .TitleH1 {
		float: left;
	}
	.TitleMenu .TitleH1 ~ .parbase {
		float: right;
		width: 60px;
	}
	.TitleMenu .TitleH1 ~ .parbase .image_component {
		display: inline-block;
		height: 100%;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu {
		background: #fed33e;
		color: #09357f;
		display: inline-block;
		font-family: "Lato", serif;
		height: 100%;
		margin: 0;
		padding: 10px 10px;
		width: 60px;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu:hover {
		cursor: pointer;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu .pcShow {
		display: none;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu .menu-line {
		position: absolute;
		top: 50%;
		left: calc(50% - 9px);
        width: 18px;
		display: block;
		height: 2px;
		background: #09357F;
		transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu .menu-line:nth-child(2) {
		margin-top: -4px;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu .menu-line:nth-child(3) {
		margin-top: 2px;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu.open .menu-line:nth-child(2),
	.TitleMenu .TitleH1 ~ .parbase .btn_menu.open .menu-line:nth-child(3) {
		margin-top: 0;
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu.open .menu-line:nth-child(2) {
		transform: rotate(-30deg);
	}
	.TitleMenu .TitleH1 ~ .parbase .btn_menu.open .menu-line:nth-child(3) {
		transform: rotate(30deg);
	}
}
/******************** END nav ********************/



/******************** START content ********************/

/* btn */
@media screen and (min-width:769px) {
	.lp_footnav nav ul::after {
		content: " ";
		clear: both;
		display: block;
	}
	.lp_footnav nav ul li {
		width: 49.5%;
		margin-bottom: 10px;
	}
	.lp_footnav nav ul li:nth-of-type(odd) {
		float: left;
	}
	.lp_footnav nav ul li:nth-of-type(even) {
		float: right;
	}
	.lp_footnav nav ul li a,
	.lp_footnav nav ul li span {
		-webkit-display: flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.lp_footnav nav ul li:nth-of-type(1) a {
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.lp_btn a br {
		/* display: none; */
	}
	.lp_btn.blue_btn a:hover::before,
	.lp_btn.yellow_btn a:hover::before {
		border-color: #fff;
	}
	.lp_btn.blue_btn a:hover,
	.lp_btn.yellow_btn a:hover {
		background-color: #801b75;
		color: #fff;
	}
}
@media screen and (max-width:768px) {
	.lp_footnav nav ul li {
		margin: 0 auto 15px;
		max-width: 480px;
	}
	.lp_footnav nav ul li:last-of-type {
		margin-bottom: 0;
	}
}
@media screen and (max-width:480px) {
	.lp_footnav nav ul li {
		max-width: 95%;
	}
}
div.lp_btn {
	display: inline-block;
}

.lp_btn a span {
	font-size: 0.875rem;
	font-size: 14px;
}
.lp_btn a {
	display: block;
	border: solid 2px #004386;
	font-weight: bold;
	padding: 12px 45px 12px 25px;
	position: relative;
}
.lp_btn a:hover {
	border-color: #801b75;
}
.lp_btn a::before {
	background-color: transparent;
	border-right: solid 2px #004386;
	border-top: solid 2px #004386;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 24px;
	top: calc(50% - 4px);
	transform: rotate(45deg);
	width: 8px;
}
.lp_btn.blue_btn a {
	background-color: #004386;
	color: #fff;
}
div.lp_btn.blue_btn a {
	display: block;
}
.lp_btn.blue_btn a::before {
	border-color: #fff;
}

.lp_btn.yellow_btn a {
	background-color: #fdd000;
	color: #004386;
}
.lp_btn.yellow_btn a::before {
	border-color: #004386;
}

/* movie */
.movie {
	text-align: center;
}
@media screen and (max-width:768px) {

	.movie iframe {
		width: fit-content !important;
		height: fit-content !important;
		margin: 0 !important;
	}
}

@media screen and (min-width:769px) {
    /* pc content */
    main div.lp_wrapper {
			margin: 0 auto;
			max-width: 1260px;
    }
}

/* sp content */
.lp_top figure {
	line-height: 0;
}
.lp_top figure img {
	max-width: 100%;
	width: 100%;
}
.lp_top .TitleMenu {
	margin-bottom: 20px;
}
.lp_top .TitleH1 {
	background: #111;
	width: 100%;
}
@media screen and (max-width:768px) {
	.lp_top .TitleH1 {
		width: calc(100% - 60px);
	}
}
.lp_top h1 {
	font-size: 28px;
	color: #fff;
	background: #111;
	margin: 0;
	padding: 12px 0;
}
@media screen and (max-width:768px) {
	.lp_top h1 {
		font-size: 18px;
		padding: 12px 0;
	}
}
.lp_top p {
    text-align: left;
}
.lp_content h2 {
		display: flex;
		align-items: center;
		font-size: 1.875rem;
		font-size: 30px;
		letter-spacing: 0.025em;
		margin: 80px auto 30px;
}
@media screen and (max-width:768px) {
	.lp_content h2 {
		font-size: 1.0rem;
		font-size: 16px;
	}
}
.lp_content h2::before,
.lp_content h2::after {
    content: "";
    display: block;
    background: #004386;
    flex-grow: 1;
    height: 4px;
}
.lp_content h2::before {
    margin-right: 20px;
}
.lp_content h2::after {
    margin-left: 20px;
}
.lp_content h3 {
    display: flex;
    align-items: center;
    font-size: 1.125rem;
    font-size: 18px;
    letter-spacing: 0.025em;
    margin: 55px auto 30px;
    font-weight: bold;
}
.lp_content h4 {
	font-size: 1.0rem;
	font-weight: bold;
}
.lp_content table {
	margin: auto;
}
.lp_content table th,
.lp_content table td {
	font-size: 14px;
	line-height: 1.5;
}
.lp_content table caption {
	color: #666;
	margin-bottom: 20px;
}

@media screen and (max-width:768px) {
	.lp_content h3 {
		font-size: 1.0rem;
		font-size: 16px;
	}
}
.lp_content h3::after {
    content: "";
    display: block;
    background: #999;
    flex-grow: 1;
    height: 2px;
    margin-left: 20px;
}
.lp_top p,
.lp_content p {
    line-height: 1.5;
    margin-bottom: 28px;
}
.lp_content section figure {
	margin-bottom: 1.5rem;
	text-align: center;
}
.lp_content section figure img {
	max-width: 100%;
}
.lp_content section figure figcaption {
	color: #666;
	margin: 10px 0;
}

@media all and (-ms-high-contrast:none){
	.lp_content section figure img {
		/*width: 100%;*/ /*ie10 later*/
	}
}
.lp_content ul.notes {
    
}
.lp_content a[target="_blank"]::after {
    
}

.lp_btn_img {
	width: 49%;
}
.lp_btn_img p{
  margin-bottom: 8px;
  font-weight: bold;
}
.lp_btn_img a {
	display: block;
	overflow: hidden;
	height: 100%;
	padding: 0;
}
.lp_btn_img a:hover {
	opacity: 0.85;
}
.lp_btn_img a img {
	width: 100%;
}

@media screen and (min-width:769px) {
    /* pc content */
    .lp_top h1 {
			transition: padding 0.3s ease-in-out;
    }
}
@media screen and (max-width:768px) {
	.lp_btn_img {
		width: 100%;
	}
}

/******************** END content ********************/



/******************** START content ********************/
.lp_footnav {
    border-top: solid 4px #004386;
    padding-top: 20px;
}
.lp_footnav nav {
    
}
.lp_footnav nav ul {
    
}

@media screen and (min-width:769px) {
    
}
/******************** END content ********************/



/******************** START content ********************/
article ul.list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}
article ul.list li {
	text-indent: -0.5em;
	margin-left: 1.0em;
}
article ul.disc > li::before,
article dl.disc > dt::before {
	content: "・";
	display: inline-block;
}
article p.notes {
	position: relative;
	font-size: 12px;
	padding-left: 14px;
}
article p.notes::before {
	content: "※";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 12px;
}

article ul.list ul {
	display: inline-block;
	padding-left: 0;
}
article ul.list ul li {
	list-style: none;
	display: inline-block;
}
/******************** END content ********************/