
@charset "utf-8";
/* CSS Document */
/*共通設定*/
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
}
body {
	margin: 0;
}

html {
	font-family:"Noto Sans CJK JP", "Noto Sans CJK JP Black", "Noto Sans CJK JP DemiLight", "Noto Sans CJK JP Medium", "Noto Sans CJK JP Light", "Noto Sans CJK JP Thin";
	font-size: 16px;
}

ul {
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
}

section.wide .inner {
	max-width: 1200px;
	margin: 0 auto;
}

section .inner {
	max-width: 1100px;
	margin: 0 auto;
}

section.list ,section.page {
	padding: 0;
}

header {
	padding: 0 calc(50vw - 760px);
}

section.narrow .inner {
	max-width: 1000px;
	margin: 0 auto;
}

section.top-main .inner{
	max-width: 1520px;
}

section.new-normal .inner{
	max-width: 850px;
}

section.page .inner {
	max-width: 900px;
}

p {
	word-break:break-all;
}

/*padding指定*/
section.new-normal {
	padding-top:10px;
	padding-bottom: 120px;
}

section.nsw-ser {
	padding-top:113px;
	padding-bottom: 118px;
}

section.topics {
	padding-top:130px;
	padding-bottom: 86px;
}

section.comp {
	padding-top:122px;
	padding-bottom: 160px;
}

section.down {
	padding-top:109px;
	padding-bottom: 115px;
}

section.info {
	padding-top:95px;
	padding-bottom: 115px;
}

section.case-list {
	padding-top:113px;
	padding-bottom: 123px;
}

section.page {
	padding-top:10px;
	padding-bottom: 121px;
}

/*h2 margin*/
section.new-normal h2 {
	margin-bottom: 51px;
}

section.new-normal h3 {
	margin-bottom: 40px;
}

section.nsw-ser h2 {
	margin-bottom: 8px;
}

section.nsw-ser h3 {
	margin-bottom: 56px;
}

section.topics h2 {	
	margin: 0;
	margin-bottom: 39px;
    text-align: left;
	font-size: 1.875rem;
}

section.comp h2 {
	margin-bottom: 57px;
}

section.comp .h3-set {
	margin-bottom: 30px;
}

section.down h2 {
	margin-bottom: 49px;
	font-size: 1.875rem;
}


/*背景色*/
section.new-normal {
	background-color: #FFFFFF;
}

/*header設定*/
header {
	display: flex;
	align-items: center;
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	font-size: 1rem;
	background-color: #FFFFFF;	
	z-index: 2;
}

header div {
	float: right;
}

header img {
	height:36px;
	width: auto;
}
	
.globalMenuSp {
	display: block;
	margin-left: auto;	
}

.globalMenuSp ul {
	display: flex;
	align-items: center;
}


.globalMenuSp ul .nav-list.sp {
	display: none;
}

.globalMenuSp ul li {
	width:inherit;
	margin: 0 20px;
	text-align: center;	
	list-style:none;
	white-space: nowrap;
	position: relative;
	font-size: 0.9375rem;
}

.globalMenuSp ul li::after {
	position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 1px #00117A;
    border-right: solid 1px #00117A;
    -webkit-transform: rotate( 45deg);
    transform: rotate( 45deg);
	top: 50%;
    margin-top: -2px;
}

.globalMenuSp ul li.btn::after {
	display: none;
}


.globalMenuSp .btn a {
	display: block;
	width: 192px;
	height: 40px;
	line-height: 40px;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 30px;
}

.globalMenuSp .btn .var02 {
	height: 43px;
	line-height: 43px;
	border: none;
}

.globalMenuSp ul a {
	text-decoration: none;
	color:#000000;
}

/*footer設定*/
footer {
	color: #000000;
	display: flex;
	font-size: 0.875rem;
	justify-content: center;
    align-items: center;
}

footer ul {
	list-style: none;
	display: flex;
	margin-right: 70px;
}

footer li {
	float: left;
	padding: 20px;
}

footer a {
	color:#000000;
	text-decoration: none;
	position: relative;
	padding: 0 0 0 8px;
}

footer a::before{
    content: "";
    position: absolute;
    top: 50%;   /* 縦軸をセンタリングする */ 
    left: -0.5rem;
    transform: translateY(-50%);   /* 縦軸をセンタリングする */  
    border: 5px solid transparent;
    border-left: 8px solid #003288;   /* 好みで色を変えてください */  
}


/*タイトルスタイル*/
h2{
	text-align: center;
	margin:auto;
	font-size: 1.5625rem;
	font-weight: 900;
	color:#003288;
}

h2.var02{
	font-size: 1.875rem;
	background-color: #D6E5FF;
}

h2.var02.small {
	width: 28.5rem;
}

h2.var02.large {
	width: 38rem;
}

h2.var03{
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fffaf4;/*背景色*/
  border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
}

h2.sp {
	display: none;
}

.topic-set h2 {
	text-align: left;
}


p.title {
	font-weight: bold;
}

h4 {
	font-size: 1.25rem;
}

.info p.title {
	font-size: 1.25rem;
	font-weight: 900;
	color: #003288;
}

span.tag {
	color: #fff;
	padding: 0 8px;
	width: inherit;
	background-color: #3278E8;
}

span.new {
	color: white;
	padding: 0 8px;
	width: inherit;
	background-color: #003288;
}

.col-tag {
	display: flex;
	justify-content: space-between;
    align-items: center;
}

/*トップページ*/
/*メインビジュアル*/
section.top-main {
	margin-top:80px;
	padding: 0;
	height: 40.625vw;
	background-image:url("../images/top-main.png");
	background-size: cover;
	background-position: center;
}

.top-main h1 {
	padding-top: 6.25vw;
	font-size:2.5rem;
	line-height: 50px;
	font-weight:900;
	color: #003288;
	text-shadow: 2px  2px 5px white,
	            -2px  2px 5px white,
	             2px -2px 5px white,
	            -2px -2px 5px white;
}

.top-main p {
	margin-top: 2vw;
	padding-bottom: calc(12vw - 40px);
	line-height: 2rem;
	font-size:1.25rem;
	font-weight: bold;
	color: #003288;
	text-shadow: 2px  2px 5px white,
	            -2px  2px 5px white,
	             2px -2px 5px white,
	            -2px -2px 5px white;
}

.top-main .sp {
	display: none;
}

.top-main .main-btn {
	font-size: 1.25rem;
	text-align: center;
    text-decoration: none;
}

.main-btn {
	display: flex;
	justify-content: center;
	list-style: none;
}

.main-btn .btn a {
	width: 347px;
	height: 65px;
	border-radius: 30px;
	line-height: 65px;
	padding-left: 40px;
	margin: 0 22px; 
	display: flex;
	justify-content: flex-start;
	position: relative;
	font-size: 1.25rem;
}

.main-btn .btn a::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 15px;
	border-top: solid 2px #003288;
	border-right: solid 2px #003288;
	-webkit-transform: rotate( 45deg);
	transform: rotate( 45deg);
	top: 50%;
	right: 10%;
	margin-top: -5px;
}

.main-btn .btn .var02::after {
	border-top: solid 2px #FFFFFF;
	border-right: solid 2px #FFFFFF;
}

.main-btn .btn .var02 {
	border: none;
}

.main-btn a {
	text-decoration: none;
	font-weight: bold;
	font-size: 1.25rem;
}

.top-main .main-top a {
	border: 1px solid #003288;
}

ul a.var01 .btn {
	background-color: #FFFFFF;
	color: #003288;
}

.btn .var01 {
	background-color: #FFFFFF;
	color: #003288;
	border: 1px solid #003288;
}

ul a.var02 .btn {
	background:linear-gradient(120deg,#3988FF,#D6E5FF);
	color: #FFFFFF;
	border: none;
}

.btn .var02 {
	background:linear-gradient(120deg,#3988FF,#D6E5FF);
	color: #FFFFFF;
	border: none;
}

ul a.var02 .btn::after {
	border-top: solid 1px #FFFFFF;
	border-right: solid 1px #FFFFFF;
}

section.anc {
	padding: 0;
	background-color: #002060;
}

.anc-list {
	height: 80px;
	display: flex;
	padding: 0;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: space-between;
}

.anc-list li {
	list-style: none;
	padding: 38px 0;
	font-weight: bold;
}

.anc-list a {
	text-decoration: none;
	position: relative;
	color:#FFFFFF;
}

.anc-list a::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	border-bottom: solid 1px #00117A;
	border-right: solid 1px #00117A;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	left: 100%;
	margin-left: 10px;
	margin-top: -2px;
}

.anc-list a::before {
    position: absolute;
    content: '';
	width: 20px;
	height: 20px;
	background: #FFFFFF;
	border-radius: 50%;
	top: 50%;
	left: 100%;
	margin-left: 5px;
    margin-top: -6px;
}

/*企業を抱える課題*/
section.comp {
	background-color:#FFFFFF;
}

section.comp h3 {
	color: #003288;
	font-size: 1.5625rem;
	font-weight: 900;
}

section.comp .h3-set .title {
	text-align: center;
	font-size: 1.25rem;
}

.comp-chall .col h4 {
	color:#003288;
	text-align: center;
	font-weight: bolder;
	position: relative;
	margin: 20px 0;
}

.comp-chall {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.comp-chall .col {
	width:calc(50% - 32px);
	margin-bottom: 27px;
	padding:30px 74px 26px;
	border-radius: 10px;
	background-color: #EDF3FD;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.comp-chall h4::after {
    position: absolute;
    content: '';
    width: 10px;
    height: 20px;
    border-bottom: solid 2px #00117A;
    border-right: solid 2px #00117A;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -30px;
    right: 49%;
}

.triangle {
	display: flex;
    flex-direction: column;
    align-items: center;
	margin-top:48px;
	margin-bottom: 41px;
}

.triangle img {
	margin-bottom: 7px;
	width: 16px;
	height: 14px;
}
/*ゼロトラストネットワーク*/
.zero-net {
	display: flex;
	align-items: flex-start;
}

.zero-net img {
	width: calc(50% - 32px);
	flex-shrink: 0;
}

.zero-txt {
	padding-left: 64px;
}

.zero-txt .title {
	font-size: 1.5625rem;
	line-height: 2.5rem;
	font-weight: 900;
	margin-bottom: 27px;
}

.zero-txt p {
	line-height: 1.5rem;
}

img.sp {
	display: none;
}

/*NSWのサービス*/
section.nsw-ser {
	background:linear-gradient(300deg,#C5D9FA,#ECF3FF) ;
}

.nsw-seri {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.nsw-ser .col {
	width:calc(50% - 32px);
	margin-bottom: 35px;
	padding:30px 50px;
	border-radius: 10px;
	background-color: #FFFFFF;
}

.nsw-seri .col img {
	flex-shrink: 0;
	margin-right: 5%;
}

.nsw-seri .col h4 {
	color: #003288;
	text-align: center;
	font-weight: bold;
	line-height: 1.5rem;
	margin-bottom: 28px;
}

.nsw-seri .col .nsw-col {
	display: flex;
	justify-content: space-between;
    align-items: center;
}

.nsw-seri .col .nsw-col p {
	width:65%;
}

.nsw-seri .col .nsw-col img {
	width: 30%;
	height: auto;
}

/*トピックス*/
section.topics {
	background-color: #F5F5F5;
}

.topics .top-col {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row;
}

.topics .top-col .col {
	width: 30%;
	margin-bottom: 35px;
}

.top-col a {
	text-decoration: none;
	color: #000000;
}

.topics .top-col .col img {
	width: 100%;
}

.topics-top {
	position: relative;
}

.topics-top ul {
	display: flex;
    position: absolute;
    top: 0;
    right: 0;
    list-style: none;
	margin-top: -3px;
}

.topics-top ul li {
	font-size: 0.75rem;
	position: relative;
}

.topics-top ul a {
	display: block;
	color: #003288;
	text-decoration: none;
	margin: 0 10px;
	width: 216px;
	padding-left: 1rem;
	height: 40px;
	line-height: 40px;
	border: 1px solid #003288;
	border-radius: 30px;
	background-color: #FFFFFF;
}

.topics-top ul li::after {
    position: absolute;
    content: '';
    width: 7px;
    height: 7px;
    border-top: solid 1px #00117A;
    border-right: solid 1px #00117A;
    -webkit-transform: rotate( 45deg);
    transform: rotate( 45deg);
    top: 50%;
	right: 20px;
    margin-left: 10px;
    margin-top: -4px;
}

.topics-btn {
	display: none;
}

.topics p.small {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

/*資料ダウンロード*/
section.down {
	background-color:#F5F5F5;
}

.down .down-col {
	display: flex;
	flex-wrap: wrap;
	background-color:#FFFFFF;
}

.down .down-col .col {
	width: 46%;
	padding: 27px 5%;
	display: flex;
	flex-direction: column;
    align-items: center;
	justify-content: space-between;
}

.down img {
	width: 20px;
	height: auto;
}

.down .down-col .col .txt {
	padding: 20px 0;
	font-size: 0.875rem;
}

.down .down-col .col:nth-child(1){
	border-right: 1px solid #EDEDED;
	border-bottom: 1px solid #EDEDED;
	margin:40px 0 0 4%;
}

.down .down-col .col:nth-child(2){
	border-left: 1px solid #EDEDED;
	border-bottom: 1px solid #EDEDED;
	margin: 40px 4% 0 0;
}

.down .down-col .col:nth-child(3){
	border-right: 1px solid #EDEDED;
	border-top: 1px solid #EDEDED;
	margin: 0 0 40px 4%;
}

.down .down-col .col:nth-child(4){
	border-left: 1px solid #EDEDED;
	border-top: 1px solid #EDEDED;
	margin: 0 4% 40px 0;
}

.down .btn {
	text-decoration: none;
	color: #003288;
	height: 40px;
	line-height: 40px;
	width: 196px;
	font-weight: bold;
	border: 1px solid #003288;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: space-around;
}

/*お問い合わせ*/
section.info {
	background-image: url("../images/info.png");
	background-size: cover;
	background-position: center;
}

.info .info-col {
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

.info .info-col .col {
	background-color: #FFFFFF;
	width: calc(50% - 12px);
}


.info .info-col .col a{
	width: 100%;
	padding-top: 28px;
	padding-bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.info .info-col .col img {
	margin-right: 1.5rem;
	width: 45px;
	height: auto;
}

.info .info-col .col .col-txt {
	margin-left: 8px;
}

.info .phone {
	font-size: 1.875rem;
	color: #003288;
	font-weight: 900;
}

.info a {
	text-decoration: none;
	color: #000000;
}

/*ユースケース一覧*/
section.mian-vis {
	margin-top: 80px;
	height: 300px;
}

section.mian-vis.kiji {
	background: url("../images/kiji-main.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

section.mian-vis.topic {
	background: url("../images/topic-main.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.mian-vis h1{
	font-size: 2.25rem;
	padding-top: 130px;
	margin-top:20px;
}

.pagination li {
	display:inline-block;
	padding:5px;
}

dl a {
	color:#000000;
	text-decoration: none;
}

dl dt img {
	width: 100%;
	height: auto;
}

.inner .list .pagenation_block{
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
	justify-content: space-between;
}

.list dl {
	width:30%;
	margin-bottom: 85px;
}

.col-side {
	width: 25%;
	margin:0 2%; 
}

.topic-set p {
	padding-top: 0.5rem;
	padding-bottom: 1rem;
}

.topic-set img {
	padding-top:0.5rem;
	padding-bottom:1rem;
}

.page .topic-set p.col {
	margin-bottom: 50px;
}

.page .topic-set p.col .tag {
	margin-left: 24px;
}

/*ページャー*/
nav.pagination-container ul {
    border: none;
    padding: 0;
    display: flex;
    justify-content: center;
	align-items: center;
    transition: 0.3s;
    border-radius: 0px;
    overflow: hidden;
	flex-wrap: nowrap;
}

.pagination li {
    margin: 0;
}

nav.pagination-container ul li a {
	font-size:1.25rem;
	text-decoration: none;
	color: #9A9A9A;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
    padding: 15px 18px 13px;
    line-height: 1;
}


img.arrow-left::after {
	position: absolute;
	content: '';
    width: 10px;
	height: 10px;
	border-top: solid 1px #00117A;
	border-right: solid 1px #00117A;
	-webkit-transform: rotate( 45deg);
	transform: rotate( 45deg);
	top: 50%;
	margin-top: -5px;
}


li.first {
	display: none;
}

li.last {
    display: none;
}

li.page.navi-active a {
	color: #003288;
	text-decoration: underline;
	text-underline-offset:0.3rem;
    transform: scale(1.2);
}

.prev.disabled {
	display: none;
}

.next.disabled {
	display: none;
}

/*トピックス*/
.page .topic-set .col-tag {
	justify-content: flex-start;
}

.page .topic-set .col-tag .tag {
	margin-left: 71px;
}

.topic-set img {
	display: block;
	margin: auto;
	width: 100%;
}

.topic-set a {
	color: #003288;
}

.link {
	display: flex;
	justify-content: flex-end;
	margin-top: 95px;
}

.mod-link {
	text-decoration: none;
	position: relative;
}

.mod-link::after {
     position: absolute;
    content: '';
    width: 5px;
    height: 5px;
    border-top: solid 1px #003288;
    border-right: solid 1px #003288;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 100%;
    margin-left: 10px;
    margin-top: -1px;
}

.mod-link::before {
    position: absolute;
    content: '';
    width: 17px;
    height: 17px;
    background-color: #D6E5FF;
    border-radius: 50%;
    top: 50%;
    left: 100%;
	margin-left: 5px;
    margin-top: -7px;
}

.sp-anc {
	display: none;
}

.no-arrow {
	display: none;
}

/*デバイス対応*/
@media screen and (min-width: 1561px), print{
	.globalMenuSp ul {
		margin-right: -66px;
	}
}

@media screen and (max-width: 1560px) and (min-width: 1321px), print{
	section .inner, section.narrow .inner, section.wide .inner {
		padding: 0 40px;
	}
	
	header img {
		padding: 0 40px;
	}
	
	.top-main p {
		padding-bottom: calc(12vw - 40px);
	}
}


@media screen and (max-width: 1320px), print{
	section .inner , section.narrow .inner , section.wide .inner {
		padding: 0 40px;
	}
	
	header img {
		padding-left: 40px;
	}
	
	.top-main p {
		padding-bottom: calc(11vw - 80px);
	}
}

@media screen and (max-width: 1024px) and (min-width:769px), print{
	html {
		font-size:14px;
	}
	
	.globalMenuSp ul {
		padding: 0;
	}
	
	.globalMenuSp ul li {
		margin: 0 16px;
	}
	
	.globalMenuSp .btn a {
		width: 120px;
	}
	
	.anc-list li {
		padding: 12px 18px;
	}
	
	.topics-top ul a {
		width: 160px;
	}
	
	.info .info-col .col {
		padding: 20px;
	}
	
	footer ul {
		flex-wrap: wrap;
		padding: 4px auto;
	}
	
	footer ul li {
		padding: 4px 20px;
		width: 50%;
	}

	.main-btn .btn a {
		width: 250px;
		height: 40px;
		line-height: 40px;
	}
	
	.nsw-ser .col {
		padding: 20px 35px;
	}
	
	.comp-chall .col {
		padding: 15px 40px 20px;
	}
	
	.top-main p {
		padding-bottom: calc(10vw - 80px);
	}
}

@media screen and (max-width: 768px) and (min-width:481px), print{
	html {
		font-size:12px;
	}
	
	.globalMenuSp ul {
		padding: 0;
	}
	
	.globalMenuSp ul li {
		margin: 0 8px;
	}
	
	.globalMenuSp .btn a {
		width: 100px;
	}
	
	section.top-main {
		 height: calc(50vw + 100px);
	}
	
	.top-main p {
		padding-bottom: calc(12vw - 30px);
	}
	
	.anc-list li {
		padding: 12px 18px;
	}
	
	.topics-top ul a {
		width: 160px;
	}
	
	.info .info-col {
		flex-direction: column;
		align-items: center;
	}
	
	.info .info-col p {
		text-align: center;
	}
	
	
	.info .info-col .col{
		margin: 20px 0;
		padding: 20px auto;
		width: 70%;
	}
	
	footer ul {
		flex-wrap: wrap;
		padding: 4px auto;
	}
	
	footer ul li {
		padding: 4px 20px;
		width: 50%;
	}

	.list .col-tag {
		justify-content: space-between;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.main-btn .btn a {
		width: 200px;
		height: 40px;
		line-height: 40px;
	}
	
	/*NSW強み*/
	.nsw-seri {
		flex-direction: column;
	}
	
	.nsw-seri .col {
		width: 100%;
		max-width: 480px;
		margin-bottom: 25px;
	}
	
	.nsw-seri .col h4 {
		margin: 25px 0;
		font-size: 1.1rem;
	}
	
	.nsw-ser .col {
		padding: 20px;
	}
	
	.nsw-seri .col .nsw-col {
		flex-direction: column;
		align-items: center;
	}
	
	.nsw-seri .col .nsw-col img {
		width: 50%;
		height: auto;
		margin: 0;
		margin-bottom: 10px;
	}
	
	.comp-chall {
		flex-direction: column;
		align-items: center;
	}
	
	.comp-chall .col {
		width: 90%;
	}
	
	.topics .top-col .col {
		width: calc(50% - 32px);
	}
	.topics-btn {
		display: none;
	}
	
	/*資料ダウンロード*/
	.down .down-col {
		margin: 20px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.down .down-col .col {
		width: 100%;
	}
	
	.down .down-col .col:nth-child(1){
		border-left: 1px solid transparent;
		border-top: 1px solid transparent;
		border-right: 1px solid transparent;
		border-bottom: 1px solid transparent;
		margin: 0;
	}
	
	.down .down-col .col:nth-child(n+2){
		border-left: 1px solid transparent;
		border-top: 1px solid #EDEDED;
		border-right: 1px solid transparent;
		border-bottom: 1px solid transparent;
		margin: 0;
	}
	
	/*なぜゼロトラストネットワーク*/
	.zero-net {
		flex-direction: column;
		align-items: center;
	}
	
	.zero-net img {
		width: 90%;
	}
	
	.zero-txt {
		padding-left: 5%;
	}
	
	.zero-txt .title {
		margin: 20px 0;
	}
	
	.comp-chall .col {
		padding: 25px 20px;
	}
}

@media screen and (min-width: 481px), print{
	a[href^="tel:"] {
		pointer-events: none;
	}
}




@media screen and (max-width: 480px), print{
	
	html{
		font-size: 16px;
	}
	
	section .inner {
		padding: 0 40px;
	}
	
	section.wide-sp .inner {
		padding:0 20px;
	}
	
	h2.var02 {
		font-size: 1.5rem;
	}
	
	h2 .var02 {
		font-size:1.5rem;
	}
	
	header {
		height: 50px;
	}
	
	section.top-main {
		margin-top: 50px;
		height: 417px;
	}
	
	.top-main h1 {
		padding-top: 50px; 
		line-height: 30px;
		font-size: 1.375rem;
	}
	
	.top-main p {
		line-height: 1.5rem;
		margin-top:17px;
		padding-bottom: 49px;
	}
	
	
	.top-main .pc {
		display: none;
	}
	
	.top-main .sp {
		display: block;
	}
	
	header img {
		height: 20px;
		width: auto;
		padding-left: 20px;
		margin-top: 6px;
	}
	
	/*padding指定*/
	section.new-normal {
		padding-top:66px;
		padding-bottom: 55px;
	}

	section.nsw-ser {
		padding-top:64px;
		padding-bottom: 97px;
	}

	section.topics {
		padding-top:84px;
		padding-bottom: 86px;
	}

	section.comp {
		padding-top:91px;
		padding-bottom: 81px;
	}

	section.down {
		padding-top:90px;
		padding-bottom: 86px;
	}

	section.info {
		padding-top:74px;
		padding-bottom: 73px;
	}

	section.case-list {
		padding-top:64px;
		padding-bottom: 69px;
	}

	section.page {
		padding-top:30px;
		padding-bottom: 70px;
	}

	/*h2 margin*/
	section.new-normal h2 {
		margin-bottom:8px;
	}
	
	section.new-normal .h2-small {
		margin-bottom: 23px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.h2-small span.top ,.h2-large span.top {
		margin-bottom: 8px;
	}
	
	.h2-small span , .h2-large span {
		padding: 0 0.5rem;
	}

	section.new-normal h3 {
		margin-bottom: 7px;
		font-size: 1rem;
		text-align: left;
	}
	
	section.new-normal p {
		font-size: 0.8125rem;
		line-height: 1.375rem;
	}
	
	section.nsw-ser h2 {
		margin-bottom: 62px;
	}

	section.nsw-ser h3 {
	display: none;
	}

	section.topics h2 {
		margin: auto;
		margin-bottom: 38px;
		text-align: center;
	}

	section.comp h2 {
		margin-bottom :8px;
	}
	
	section.comp .h2-large {
		margin-bottom: 33px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	section.comp .h3-set {
		margin-bottom: 21px;
	}

	section.down h2 {
		margin-bottom: 30px;
	}
	
	.h2-small h2, .h2-large h2{
		padding: 0 4px;
		text-align: left;
		margin: 0;
	}
	
	.h2-small h2.top {
		width: 15.5rem;
	}
	
	.h2-small h2.bottom {
		width: 8rem;
	}
	
	.h2-large h2.top {
		width: 12rem;
	}
	
	.h2-large h2.bottom {
		width: 14.2rem;
	}
	
	/*　ハンバーガーメニューボタン　*/
	.hamburger {
		display : block;
		position: fixed;
		z-index : 3;
		right : 20px;
		top   : 16px;
		width : 20px;
		height: 16px;
		cursor: pointer;
		text-align: center;
	}
	
	.hamburger span {
		display : block;
		position: absolute;
		width   : 20px;
		height  : 2px ;
		background : #003288;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
	}
	
	.hamburger span:nth-child(1) {
		top: 0px;
	}
	
	.hamburger span:nth-child(2) {
		top: 8px;
	}
	
	.hamburger span:nth-child(3) {
		top: 16px;
	}

	/* スマホメニューを開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top : 8px;
		background :#003288;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),.hamburger.active span:nth-child(3) {
		top: 8px;
		background :#003288;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
	}

	/* メニュー背景　*/
	nav.globalMenuSp {
		position: fixed;
		z-index : 2;
		top  : 50px;
		left : 0;
		background: #FFFFFF;
		width: 100%;
		height: 160px;
		border-bottom: solid 1px #DEDEDE;
		opacity: 0;
		display: none;
		transition: opacity .6s ease, visibility .6s ease;
	}
	
	.globalMenuSp ul {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		font-size: 18px;
		padding: 0;
		margin: 0 40px;
	}
	
	.globalMenuSp ul a {
		position: relative;
	}
	
	.globalMenuSp ul .underline a::after {
		content:"";
		display: inline-block;
		height: 1px;
		background-color: #DEDEDE;
		position:absolute;
		bottom: -17px;
		left: 0;
		width: calc(100vw - 100px);
	}
	
	.globalMenuSp ul li::after {
		width: 10px;
		height: 10px;
		right: -20px;
		margin-top:-4px;
	}

	.globalMenuSp ul .nav-list.sp {
		display: block;
	}
	
	.globalMenuSp ul li {
		margin:  16px 0;
	}
	

	
	nav ul li:last-child {
		padding-bottom: 0;
	}
	

	nav ul a {
		display: block;
		color: #000;
		text-decoration :none;
	}
	
	.nav-list {
		margin-left: 2rem;
	}

	/* クリックでjQueryで追加・削除 */
	nav.globalMenuSp.active {
	opacity: 100;
	display: block;
	}
	
	header .btn {
		display: none;
	}
	
	.top-main p {
		font-size:0.8125rem;
	}
	
	/*メインビジュアルボタン調整*/
	.main-btn {
		justify-content: space-evenly;
	}
	
	.main-btn .btn a {
		width: 141px;
		height: 34px;
		line-height: 34px;
		padding-left: 12px;
		margin: 7px;
		font-size: 0.8125rem;
	}

	/*アンカー調整*/
	section.anc .inner {
		padding: 0;
	}
	
	.anc-list {
		flex-direction: column;
		padding: 0;
		height: auto;
	}
	
	.anc-list li {
		border-bottom:1px solid #FFFFFF;
		padding: 0 40px;
		width: 100%;
		height: 40px;
		line-height: 40px;
	}
	
	.anc-list a {
		display: block;
		font-size: 0.8125rem;
	}
	
	.anc-list a::before {
		left: 95%;
		width: 20px;
		height: 20px;
		margin-left: 3px;
		margin-top: -10px;
	}
	
	.anc-list a::after {
		border-top: solid 1px #00117A;
		border-right: solid 1px #00117A;
		border-bottom: none;
		margin-left: 8px;
		margin-top: -4px;
		left: 95%;
	}
	
	/*NSW強み*/
	.nsw-seri {
		flex-direction: column;
	}
	
	.nsw-seri .col {
		width: 100%;
		margin-bottom: 25px;
	}
	
	.nsw-seri .col h4 {
		margin: 25px 0;
		font-size: 1.1rem;
	}
	
	.nsw-ser .col {
		padding: 20px;
	}
	
	.nsw-seri .col .nsw-col {
		flex-direction: column;
		align-items: center;
	}
	
.nsw-seri .col .nsw-col img {
	width: 50%;
	height: auto;
	margin: 0;
	margin-bottom: 10px;
}
	
	/*企業課題*/
	.comp-chall {
		flex-direction: column;
		align-items: center;
	}
	
	.comp-chall .col {
		width: 100%;
		margin-bottom: 30px;
		padding: 25px;
	}
	
	section.comp h3 {
		font-size: 1rem;
		font-weight: 900;
	}
	
	section.comp .h3-set .title {
		font-size: 0.875rem;
	}
	
	.comp-chall .col h4 {
		font-size: 1rem;
	}
	.comp-chall .col p {
		font-size:0.8125rem;
	}
	
	.triangle {
		margin-top:0;
		margin-bottom: 20px;
	}
	
	.triangle .no-sp{
		display: none;
	}
	
	/*なぜゼロトラストネットワーク*/
	.zero-net {
		flex-direction: column;
		align-items: center;
	}
	
	.zero-txt .title {
		font-size: 1rem;
		margin: 16px 0;
		line-height: 1.5rem;
	}
	
	.zero-txt p {
		line-height: 1.375rem;
	}
	
	.zero-net img {
		width: calc(100% + 40px);
	}
	
	.zero-txt {
		padding-left: 0;
		font-size: 0.8125rem;
	}
	
	.topics .top-col {
		flex-direction: column;
		align-items: center;
	}
	
	.topics .top-col .col {
		width: 100%;
		margin-bottom: 60px;
	}
	
	.topics .top-col .col img {
		width:100%;
		height: auto;
	}
	
	.topics-top ul {
		display: none;
	}
	
	
	.topics-btn {
		display: flex;
		justify-content: center;
	}
	
	.topics-btn ul {
		list-style: none;
		display: flex;
		flex-direction: column;
		padding: 0 5%;
	}
	
	.topics-btn li {
		width: 240px;
		padding: 8px 0;
		background-color: #FFFFFF;
		border: 1px solid #003288;
		border-radius: 30px;
		margin: 10px auto;
		position: relative;
	}

	.topics-btn li::after {
		position: absolute;
		content: '';
		width: 10px;
		height: 10px;
		border-top: solid 1px #00117A;
		border-right: solid 1px #00117A;
		-webkit-transform: rotate( 45deg);
		transform: rotate( 45deg);
		top: 50%;
		right: 20px;
		margin-left: 10px;
		margin-top: -4px;
	}
	
	.topics-btn .topics-link{
		position: relative;
		text-decoration: none;
		color: #003288;
		padding: 16px;
	}	
	
	/*資料ダウンロード*/
	.down .down-col {
		margin-bottom: 20px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.down .down-col .col {
		width: 100%;
		padding: 20px 5%;
	}
	
	.down .down-col .col:nth-child(1){
		border-left: 1px solid transparent;
		border-top: 1px solid transparent;
		border-right: 1px solid transparent;
		border-bottom: 1px solid transparent;
		margin: 0;
	}
	
	.down .down-col .col:nth-child(n+2){
		border-left: 1px solid transparent;
		border-top: 1px solid transparent;/*下線*/
		border-right: 1px solid transparent;
		border-bottom: 1px solid transparent;
		margin: 0;
	}
	
	section.info {
		background: url("../images/sp-info.png");
		background-repeat: no-repeat;
		background-size: cover;
	}
	
	.info .info-col {
		flex-direction: column;
		align-items: center;
	}
	
	.info .info-col p {
		text-align: center;
		font-size: 0.75rem;
	}
	
	.info p.title {
		font-size: 1rem;
		font-weight: 900;
	}
	
	
	.info .info-col .col{
		margin: 0;
		margin-bottom: 17px;
		width: 100%;
	}
	
	.info .info-col .col a {
		padding: 1rem 1.5rem;
	}
	
	.info .info-col p.phone {
		font-size: 1.5rem;
	}
	
	.sp-anc {
		display:block;
		background-color: #F5F4F4;
	}
	
	section.sp-anc {
		padding:30px 0;
	}
	
	.sp-anc ul {
		list-style: none;
		padding: 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	
	.sp-anc ul li {
		width:40%;
		white-space: nowrap;
	}
	
	.sp-anc ul a {
		color: #000000;
		text-decoration: none;
		position: relative;
		padding: 0 0 0 8px;
	}
	
	.sp-anc ul a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -0.5rem;
		transform: translateY(-50%);
		border: 5px solid transparent;
		border-left: 8px solid #003288;
	}
	
	footer {
		padding: 0 5%;
		font-size: 1rem;
		flex-direction: column;
		align-content: flex-start;
		align-items: flex-start;
		justify-content: center;
	}

	footer ul {	
		margin-top:37px;
		margin-bottom: 75px;
		font-size: 1rem;
		margin-right:0;
		flex-direction: column;
		padding: 0;
	}
	
	footer li {
		padding: 0 20px;
	}
	
	footer p {
		text-align: center;
	}
	
	/*ユースケース一覧*/
	section.mian-vis.kiji {
		background: url("../images/sp-kiji.png");
		background-repeat: no-repeat;
		background-size: cover;
	}

	section.mian-vis.topic {
		background: url("../images/sp-topic.png");
		background-repeat: no-repeat;
		background-size: cover;
	}
	
	.inner .list {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.inner .list dl {
		width: 100%;
	}
	
	/*トピックス詳細*/
	.inner .page img {
		width: 100%;
		height: auto;
	}
	
	img.pc {
		display: none;
	}
	
	img.sp {
		display: block;
	}
	
	h2.sp {
		display: block;
	}
	
	h2.small , h2.large {
		display: none;
	}
	
	section.mian-vis {
		margin-top: 50px;
		height: 150px;
	}
	
	.mian-vis h1 {
		padding-top :60px;
		font-size: 1.125rem;
	}
	
	.nsw-seri .col .nsw-col p {
		width: 100%;
		font-size:0.8125rem;
	}
	
	span.new {
		font-size: 0.875rem;
	}
	
	.topics p.title {
		margin-top: 14px;
	}
	
	.main-btn .btn a::after {
		width: 10px;
		height: 10px;
	}
	
	nav.pagination-container ul li a {
		padding: 10px 12px 8px;
		font-size: 1.0625rem;
	}
	
	nav.pagination-container img {
		width: 26px;
		height: 26px;
	}
	
	.page .topic-set .col-tag .tag {
		margin-left: 0;
	}
	
	.page .topic-set .col-tag {
		justify-content: space-between;
	}
	
	.topic-set h2 {
		font-size: 1rem;
	}
	
	.topic-set p {
		font-size: 0.8125rem;
		padding-top: 0.4rem;
		padding-bottom: 0.75rem;
	}
	
	.topic-set img {
		padding-top:0.4rem;
		padding-bottom:0.75rem;
	}
	
	.topic-set a {
		margin-top: 70px;
		font-size: 0.8125rem;
	}
	
	.mod-link::after {
		margin-top: 0;
	}
	
	.mod-link::before {
		margin-top: -6px;
	} 
}

@media screen and (max-width: 400px) and (min-width: 321px), print{
	html {
		font-size: 14px;
	}
	
	.topics-btn li {
		width: 220px;
	}

}

@media screen and (max-width: 320px), print{
	html {
		font-size: 12px;
	}
	
	.main-btn .btn a {
		width: 120px;
	}
	
	.topics-btn li {
		width: 200px;
	}
	
}

/*表*/
table{
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed
  }
  
  th{
	width: 25%;
	background: #014097;
	text-align: center;
	border: solid 1px white;
	color: white
  }
  
  td{
	width: 85%;
	border: solid 1px #d3d3d3;
	padding: 10px 10px
  }

/*ユースケース10*/
.usecase10title1{
    font-size: 25px;
    font-weight: bold;
  }

.usecase10title2{
    padding: 8px; 
    border: solid 3px #4169e1;
    margin-top: 30px;
    margin-bottom: 30px;
  }

.usecase10issue{
    color:red;
    font-size: 25px;
    text-align: center;
    margin-bottom: 1.5em;
  }

.usecase10title3{
    padding: 0.3rem;
    border-left: 10px solid #3278e8;
    font-size: 25px;
    font-weight: bold;
    background-color: #f3f3f3;
  }

.usecase10summary{
    color:white;
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    background-color: #2f5597;
    border-radius: 10px;
    margin-bottom: 2.5em;
  }

.usecase10feature{
    font-size: 22px;
    font-weight: bold;
    color: #4472c4;
    border-bottom: solid 2px #4472c4;
  }

.usecase10flexbox{
    padding: 10px;
    display: flex;
    align-items:stretch;
    justify-content:center;
  }

.usecase10flexitem{
    padding: 10px;
    margin: 10px;
    width: 100%;
    font-size: 15px;
  }

.usecase10flexitem:nth-child(1){
    padding: 0.7em 0.7em;
    margin: 2em 0.1em;
    border: solid 2px #b0b0b0;
    text-align: center;
  }

.usecase10flexitem:nth-child(2){
    padding: 0.7em 0.7em;
    margin: 2em 0.1em;
    border: solid 2px #b0b0b0;
    text-align: center;
  }

.usecase10flexitem:nth-child(3){
    padding: 0.7em 0.7em;
    margin: 2em 0.1em;
    border: solid 2px #b0b0b0;
    text-align: center;
  }

.usecase10flexitem:nth-child(4){
    padding: 0.7em 0.7em;
    margin: 2em 0.1em;
    border: solid 2px #b0b0b0;
    text-align: center;
  }

.usecase10kadai1{
    padding: 0.5em 1em;
    border: solid 2px #b0b0b0;
  }

.usecase10kadai2{
    padding: 0.5em 1em;
    border: solid 2px #b0b0b0;
  }

.usecase10figure {
	float: right;
	margin: 0 0 15px 15px;
	width: 30%;
  }

.usecase10description {
    flex-grow: 1;
  }

/*articles_20220629 いまさら聞けない勉強会①～ID管理～*/
.program0629 {
	color: #333333;
	padding: 10px 10px;
	border-left: 10px solid #3278e6;
	border-bottom: 3px solid #3278e6;
	text-align: left
  }

.discription0629 {
	margin-top: 30px;
  }

/*articles_20220425 いまさら聞けない勉強会①～Intune～*/
.btn01 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 0.6em 2.7em;
	width: 280px;
	color: white;
	font-size: 18px;
	font-weight: 700;
	background-color: #014097;
	transition: 0.3s;
	text-decoration: none;
	border-radius: 10px;
	margin-top: 40px;
  }
  
.btn01 a::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #fff;
	margin-left: 5px;
  }
  
.btn01 a:hover {
	text-decoration: none;
	background-color: #025ddb;
  }

/*パンくずリスト*/
.breadcrumb {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-top: 0.7em;
  }
  
.breadcrumb li {
	display: inline;/*横に並ぶように*/
	list-style: none;
  }
  
.breadcrumb li:after {/* >を表示*/
	content: '>';
	padding: 0 0.2em;
	color: #555;
  }
  
.breadcrumb li:last-child:after {
	content: '';
  }
  
.breadcrumb li a {
	text-decoration: none;
	color: #1e90ff;/*色*/
  }
  
.breadcrumb li a:hover {
	text-decoration: underline;
  }


/*トップページボタン*/
.button001 a {
    background: #eee;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 50px auto;
    max-width: 350px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    text-decoration: none;
}

.button001 a:hover {
    background: #313131;
    color: #FFF;
}

.button001 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.button001 a:hover:after {
    border-color: #FFF;
}

/*ウェビナー記事*/
.webinerarticle-title {
	font-size: 32px;
	color: #191F4D;
}

.wp-block-heading {
	font-size: 25px;
	color: #191F4D;
	margin-top: 50px;
}

.wp-content {
	line-height: 1.75;
	color: #191F4D;
}


/*トップページトピックス*/
.news-container {
	padding: 10px;
	margin: 20px;
	margin-top: 100px;
	margin-bottom: 130px;
  }
  
  .news-heading {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 10px;
  }
  
  .news-list {
	list-style: none;
	padding: 0;
	margin: 0;
  }
  
  .news-item {
	margin-bottom: 10px;
	border-bottom: 1px solid #e0e0e0;
    padding: 12px 0;
  }
  
  .news-details {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
  }
  
  .news-date {
	font-size: 14px;
	color: #707070;
	margin-right: 10px;
	white-space: nowrap;
  }
  
  .webiner-label {
	background-color: #3278E8;
	color: #fff;
	padding: 5px 10px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	margin-right: 10px;
	white-space: nowrap;
  }
  
  .usecase-label {
	background-color: #014097;
	color: #fff;
	padding: 5px 10px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	margin-right: 10px;
	white-space: nowrap;
  }

  .column-label {
	background-color: #80CB57;
	color: #fff;
	padding: 5px 10px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	margin-right: 10px;
	white-space: nowrap;
  }

/*トップページPoC構成例*/
  .pocimage {
	margin: 0px 50px;
  }


.heading11 {
  padding-top: 10px;
  padding-bottom: 5px;
  border-bottom: solid 10px #d3d3d3;
  position: relative;
}

.heading12 {
  padding-top: 65px;
  padding-bottom: 5px;
  border-bottom: solid 10px #d3d3d3;
  position: relative;
}

.heading11:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 10px skyblue;
  bottom: -10px;
  width: 30%;
}

.heading12:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 10px skyblue;
  bottom: -10px;
  width: 30%;
}

.win11_list {
    padding-left: 20px;
}

#outline, #cycle, #process, #option{
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}




