@charset "UTF-8";

@keyframes slidescale {
    from {
       	opacity: 1;
		transform: scale(1.1);
    }
    to {
        opacity: 1;
		transform: scale(1);
    }
}

@media screen and (min-width:769px){
	
	.headbox{
		padding:50px 30px;
		background:#fff;
		display: flex;
		justify-content: space-between;
	}
	
	.headbox .titlebox{
		font-size:2.5rem;
		font-weight: bold;
		color:#441572;
	}
	
	.headboxTips{
		padding:50px 30px;
		background:#fff;
		display: flex;
		justify-content: space-between;
	}
	
	.headboxTips .titlebox{
		font-size:2.5rem;
		font-weight: bold;
		color:#441572;
	}
	
	.headbox .anklinkbox{
		display: flex;
		align-items: center;
	}
	
	.headbox .anklinkbox a{
		display: block;
		margin:0 0 0 50px;
		font-size:1.4rem;
		color:#333333;
		white-space: nowrap;
	}
	
	.headbox .anklinkbox a::after{
		content: "";
		display: inline-block;
		width:8px;
		height:8px;
		background:url("../images/arrow_down.svg") no-repeat;
		background-size:8px;
		margin:0 0 0 10px;
		vertical-align: middle;
	}
	
	.mainvisualbox{
		position: relative;
		z-index:1;
		margin:0 0 120px 0;
		overflow: hidden;
		opacity: 0;
	}
	
	.mainvisualbox.mb0{
		margin:0 0 0 0;
	}
	
	.mainvisualbox .slider .box .inbox{
		width:100%;
		padding-top:43.92%;
		position: relative;
	}
	
	.mainvisualbox .slider .box .inbox img{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	.mainvisualbox .slider .box.slick-current img{
		transform: scale(1.1);
		animation-name: slidescale;
		animation-delay: 0s;
		animation-duration: 7s;
		animation-fill-mode: forwards;
		animation-timing-function: linear;
	}
	
	.mainvisualbox .position_title{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		color:#fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		z-index:3;
	}
	
	.mainvisualbox .position_title .sub{
		font-size:1.8rem;
		font-weight: bold;
		margin:0 0 30px 0;
	}
	
	.mainvisualbox .position_title .sub span{
		display: inline-block;
		position: relative;
		padding:0 1em;
		text-align: center;
	}
	
	.mainvisualbox .position_title .sub span::before{
		content: "";
		position: absolute;
		border-bottom:1px solid #fff;
		width:0.5em;
		top:50%;
		left:0;
		margin:0 0.5em 0 0;
	}
	
	.mainvisualbox .position_title .sub span::after{
		content: "";
		position: absolute;
		border-bottom:1px solid #fff;
		width:0.5em;
		top:50%;
		right:0;
		margin:0 0 0 0.5em;
	}
	
	.mainvisualbox .position_title .mtl{
		font-size:5.6rem;
		line-height: 7rem;
		text-align: center;
	}
	
	.mainvisualbox .cap{
		font-size:1.3rem;
		color:#fff;
		position: absolute;
		bottom:40px;
		right:40px;
		z-index:3;
	}
	
	.maininfobox{
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin:0 0 120px 0;
		padding:0 0 0 35px;
		
	}
	
	.maininfobox.mb0{
		margin:0 0 0 0;
	}
	
	.maininfobox .txbox{
		width:calc(50%);
		padding:0 0 0 calc((100% - 1200px) / 2);
		position: relative;
		top:50px;
		transition: all 1s;
		opacity: 0;
	}
	
	.maininfobox .txbox.active{
		top:0;
		opacity: 1;
	}
	
	.maininfobox .txbox .tl{
		font-size:4rem;
		line-height: 6rem;
		margin:0 0 30px 0;
		letter-spacing: 0.1em;
	}
	
	.maininfobox .txbox .tx{
		font-size:1.7rem;
		line-height: 4rem;
		padding:0 120px 0 0;
	}
	
	.maininfobox .phbox{
		width:calc(50% + 40px);
		position: relative;
	}
	
	.maininfobox .phbox .btn{
		width:100%;
		height:100%;
		position: absolute;
		top:0;
		left:0;
		z-index:2;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		transition: all 0.2s;
	}
	
	.maininfobox .phbox .btn:hover{
		opacity: 0.5;
	}
	
	.maininfobox .phbox .btn img{
		width:100px;
		height:auto;
	}
	
	.maininfobox .phbox .inbox{
		wdith:100%;
		padding-top:67.21%;
		position: relative;
	}
	
	.maininfobox .phbox .inbox.box2{
		wdith:100%;
		padding-top:100%;
		position: relative;
	}
	
	.maininfobox .phbox .inbox video,
	.maininfobox .phbox .inbox img{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	#feature{padding-top:80px;margin-top:-80px;}
	.featurecont{
		padding:0 35px;
		max-width:1200px;
		margin: 0 auto 50px;
	}
	
	.featurecont .headarea{
		margin:0 0 80px 0;
		display: flex;
		justify-content: flex-end;
		position: relative;
	}
	
	.featurecont .phbox{
		max-width: 1000px;
		width:100%;
	}
	
	.featurecont .pobox{
		width:100%;
		height:100%;
		position: absolute;
		top:0;
		left:0;
		display: flex;
		align-items: flex-end;
		padding:0 0;
		box-sizing: border-box;
	}
	
	.featurecont .pobox .txbox{
		padding:70px;
		background:#fff;
		position: relative;
		top:40px;
		left:0;
	}
	
	.featurecont .pobox .txbox .tl{
		font-size:4.4rem;
		line-height: 7rem;
	}
	
	.featurecont .pobox .txbox .entx{
		-webkit-writing-mode: vertical-rl;
  		-ms-writing-mode: tb-rl;
  		-o-writing-mode: vertical-rl;
  		writing-mode: vertical-rl;
		font-size:1.8rem;
		color:#666;
		font-weight: 300;
		border-left:1px solid #ccc;
		line-height: 1;
		position: absolute;
		top:0;
		left:0;
		height:100%;
		
	}
	
	.featurecont .pobox .txbox .entx span{
		background:#fff;
		display: inline-block;
		position: relative;
		left:-3px;
		padding:0 0 5px 0;
	}
	
	.featurecont .numflexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	
	.featurecont .numflexbox .box{
		width:calc((100% - 60px) / 2);
		margin:0 0 60px 0;
		position: relative;
		top:50px;
		opacity: 0;
		transition: all 1s;
	}
	
	.featurecont .numflexbox .box:nth-child(even){
		transition: all 1s;
		transition-delay: 0.3s;
	}
	
	.featurecont .numflexbox .box.active{
		opacity: 1;
		top:0;
	}
	
	.featurecont .numflexbox .box .phbox{
		position: relative;
	}
	
	.featurecont .numflexbox .box .numbox{
		text-align: center;
		position: absolute;
		top:0;
		left:0;
		background:#fff;
		width:70px;
		height:70px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.featurecont .numflexbox .box .numbox .sub{
		font-size:0.8rem;
		line-height: 1;
		margin:0 0 5px 0;
		width:100%;
	}
	
	.featurecont .numflexbox .box .numbox .num{
		font-size:2.4rem;
		width:100%;
		font-weight: 300;
	}
	
	.featurecont .numflexbox .box .txbox{
		padding:0 0 0 0;
	}
	
	.featurecont .numflexbox .box .txbox .tl{
		font-size:2rem;
		font-weight: bold;
		line-height: 3.6rem;
		margin:0 0 10px 0;
	}
	
	.featurecont .numflexbox .box .txbox .tx{
		font-size:1.5rem;
		line-height: 3rem;
	}
	
	.featurecont .numflexbox .box .txbox .tx table tr td:first-child{
		white-space: nowrap;
	}
	
	.featurecont .borderflexbox{
		padding:0 0 70px 0;
	}
	
	.featurecont .borderflexbox .tlcont{
	}
	
	.featurecont .borderflexbox .tlcont .mtl{
		font-size:2rem;
		font-weight: bold;
		padding:0 20px;
		border-left:4px solid #441572;
	}
	
	.featurecont .borderflexbox .flexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	
	.featurecont .borderflexbox .flexbox .box{
		width:50%;
		box-sizing: border-box;
		padding:40px 80px 40px 0;
		border-top:1px solid #eaeaea;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box{
		width:33.333333%;
		box-sizing: border-box;
		padding:40px 40px 40px 0;
		border-top:1px solid #eaeaea;
	}
	
	.featurecont .borderflexbox .flexbox .box:nth-child(1),
	.featurecont .borderflexbox .flexbox .box:nth-child(2){
		border-top:none;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-child(1),
	.featurecont .borderflexbox .flexbox.box2 .box:nth-child(2),
	.featurecont .borderflexbox .flexbox.box2 .box:nth-child(3){
		border-top:none;
	}
	
	.featurecont .borderflexbox .flexbox .box:nth-of-type(2n){
		padding:40px 0 40px 80px;
		border-left:1px solid #eaeaea;
		position: relative;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 1){
		padding:40px 40px 40px 0;
		border-left:none;
		position: relative;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 2){
		padding:40px 40px 40px 40px;
		border-left:1px solid #eaeaea;
		position: relative;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 3){
		padding:40px 0 40px 40px;
		border-left:1px solid #eaeaea;
		position: relative;
	}
	
	.featurecont .borderflexbox .flexbox .box:nth-of-type(2n)::before{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		top:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox .box:nth-of-type(2n)::after{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		bottom:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 2)::before{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		top:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 2)::after{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		bottom:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 3)::before{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		top:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox.box2 .box:nth-of-type(3n + 3)::after{
		width:80px;
		height:80px;
		background:#fff;
		position: absolute;
		bottom:-40px;
		left:-40px;
		content: "";
		display: block;
	}
	
	.featurecont .borderflexbox .flexbox .box .tl{
		font-weight: bold;
		font-size: 1.6rem;
		margin:0 0 10px 0;
	}
	
	#story{padding-top:80px;margin-top:-80px;}
	.storycont{
		width:100%;
		position: relative;
	}
	
	.storycont .bgph{
		width:100%;
		position: absolute;
		top:0;
		left:0;
		z-index:-1;
	}
	
	.storycont .innerbox{
		padding:0 35px;
		max-width:1200px;
		margin: 0 auto;
	}
	
	.storycont .pobox{
		width:100%;
		height:100%;
		position: relative;
		top:0;
		left:0;
		display: flex;
		align-items: flex-end;
		padding:120px 0;
		box-sizing: border-box;
	}
	
	.storycont .pobox .txbox{
		padding:70px 70px 20px 70px;
		position: relative;
	}
	
	.storycont .pobox .txbox .tl{
		font-size:4.4rem;
		line-height: 7rem;
		color:#fff;
		margin:0 0 15px 0;
	}
	
	.storycont .pobox .txbox .tx{
		font-size:1.5rem;
		line-height: 3rem;
		color:#fff;
	}
	
	.storycont .pobox .txbox .entx{
		-webkit-writing-mode: vertical-rl;
  		-ms-writing-mode: tb-rl;
  		-o-writing-mode: vertical-rl;
  		writing-mode: vertical-rl;
		font-size:1.8rem;
		color:#fff;
		font-weight: 300;
		line-height: 1;
		position: absolute;
		top:0;
		left:2px;
		height:100%;
		display: flex;
		align-content: space-between;
		
	}
	
	.storycont .pobox .txbox .entx span{
		position: relative;
		left:-5px;
		display: inline-block;
		
	}
	
	.storycont .pobox .txbox .entx:after{
		display: inline-block;
		position: relative;
		left:-3px;
		padding:0 0 5px 0;
		border-left:1px solid #fff;
		content: "";
		height:calc(100% - 10px);
		margin:10px 0 0 0;
		vertical-align: bottom;
		opacity: 0.5;
	}
	
	.storycont .floatbox{
		padding:110px;
		background:#fff;
		position: relative;
		z-index:3;
		top:50px;
		opacity: 0;
		transition: all 1s;
	}
	
	.storycont .floatbox.active{
		top:0;
		opacity: 1;
	}
	
	.storycont .floatbox .floatph{
		max-width:480px;
		width:50%;
		float: right;
		padding:0 0 70px 70px;
	}
	
	.storycont .floatbox p.tl{
		font-size:1.8rem;
		line-height: 3.2rem;
		font-weight: bold;
		margin:0 0 15px 0;
		padding-left:30px;
		text-indent: -30px;
	}
	
	.storycont .floatbox p.tl::before{
		content: "";
		border-bottom:1px solid #333;
		vertical-align: bottom;
		width:20px;
		position: relative;
		top:-0.45em;
		margin:0 10px 0 0;
		display: inline-block;
	}
	
	.storycont .floatbox p.tx{
		margin:0 0 60px 0;
	}
	
	.storycont .floatbox p.tx.mb0{
		margin:0 0 0 0;
	}
	
	.storycont .ddmflexcont{
		display: flex;
		justify-content: space-between;
		padding:100px 0 70px 0;
	}
	
	.storycont .ddmflexcont .txbox{
		width:35.41%;
	}
	
	.storycont .ddmflexcont .txbox .sub{
		font-size:1.8rem;
		font-weight: bold;
		margin:0 0 20px 0;
	}
	
	.storycont .ddmflexcont .txbox .logo{
		width:70%;
		margin:0 0 40px 0;
	}
	
	.storycont .ddmflexcont .phbox{
		width:57.5%;
	}
	
	.storycont .ddminfo{
		margin:0 0 70px 0;
	}
	
	.storycont .ddminfo .tl{
		font-size:3.6rem;
		line-height: 5.6rem;
		margin:0 0 15px 0;
	}
	
	#spec{padding-top:80px;margin-top:-80px;}
	.speccont{
		padding:0 35px;
		max-width:1200px;
		margin: 0 auto;
	}
	
	.speccont .tlcont{
		border-bottom:1px solid #e5e5e5;
		padding:0 0 40px 0;
		display: flex;
		align-items: center;
	}
	
	.speccont .tlcont.bonone{
		border:none;
	}
	
	.speccont .tlcont .mtl{
		font-size:2rem;
		font-weight: bold;
		padding:0 20px;
		border-left:4px solid #441572;
	}
	
	.speccont .tlcont .sub{
		font-size:1.4rem;
		color:#999;
		padding:0 0 0 20px;
		border-left:1px solid #999999;
		line-height: 1;
	}
	
	.speccont .tlcont .cap{
		font-size:1.3rem;
		padding:0 0 0 70px;
		line-height: 1;
		color:#666;
	}
	
	.speccont .flexcont{
		display: flex;
		justify-content: space-between;
	}
	
	.speccont .flexcont .btncont{
		width:260px;
		margin:0 0 70px 0;
	}
	
	.speccont .flexcont .btncont.box2{
		width:260px;
		margin:0 0 70px 0;
	}
	
	.speccont .flexcont .btncont .btn{
		border-bottom:1px solid #e5e5e5;
		cursor: pointer;
	}
	
	.speccont .flexcont .btncont .btn span{
		display: block;
		padding:20px 30px 20px 10px;
		background:url("../images/arrow_right.svg") no-repeat;
		background-size:8px;
		background-position: right 20px top 50%;
		opacity: 0.5;
		font-size:1.4rem;
	}
	
	.speccont .flexcont .btncont .btn.active span{
		opacity: 1;
		background-color:none;
	}
	
	.speccont .contbox{
		padding:60px 30px;
		width:calc(100% - 195px);
		box-sizing: border-box;
	}
	
	.speccont .contbox .box{
		width:100%;
		max-width: 790px;
		margin:0 auto;
		justify-content: space-between;
		display: none;
	}
	
	.speccont .contbox .box.column{
		width:100%;
		max-width: 100%;
		margin:0 auto;
		justify-content: space-between;
		flex-direction: column;
		display: none;
	}
	
	.speccont .contbox .box.active{
		width:100%;
		max-width: 790px;
		margin:0 auto;
		justify-content: space-between;
		display: flex;
	}
	
	.speccont .contbox .box .phbox{
		width:46%;
		line-height: 0;
	}
	
	.speccont .contbox .box .txflexbox{
		display: flex;
		justify-content: space-between;
	}
	
	.speccont .contbox .box .txflexbox .txcont{
		padding:40px 0 0 0;
		width:calc((100% - 50px) / 2);
	}
	
	.speccont .contbox .box .txcont{
		width:46%;
		padding:20px 0;
	}
	
	.speccont .contbox .box .txcont .mtl{
		font-size:2rem;
		font-weight: bold;
		border-bottom:1px solid #e5e5e5;
		padding:0 0 15px 0;
	}
	
	.speccont .contbox .box .txcont .tx{
		border-bottom:1px solid #e5e5e5;
		padding:10px 0;
		font-size:1.4rem;
		line-height: 2.4rem;
	}
	
	.speccont .contbox .box .txcont .tx p{
		text-indent: -25px;
		padding-left:25px;
	}
	
	.speccont .contbox .box .txcont .tx p::before{
		content: "";
		width:15px;
		height:15px;
		background:url("../images/check_icon.png") no-repeat;
		background-size:15px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.speccont .contbox .box .tablebox{
		padding:40px 0 0 0;
	}
	
	.speccont .contbox .box .tablebox .tl{
		font-size:2rem;
		line-height: 2.4rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .contbox .box .tablebox table{
		width:100%;
		border-top:1px solid #e5e5e5;
		border-bottom:1px solid #e5e5e5;
		height:1px;
	}
	
	.speccont .contbox .box .tablebox table td{
		vertical-align: top;
		border-bottom:1px solid #e5e5e5;
		height:100%;
	}
	
	.speccont .contbox .box .tablebox table tr td:first-child{
		padding:15px;
		background:#f2f2f2;
		width:190px;
		box-sizing: border-box;
		border-bottom:1px solid #e5e5e5;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex{
		width:100%;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex.box2{
		width:100%;
		height:100%;
		display: flex;
		flex-wrap: wrap;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fcont{
		width:100%;
		display: flex;
		justify-content: space-between;
		border-bottom:1px solid #e5e5e5;
		height: 100%;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fcont:last-child{
		border-bottom:none;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox{
		width:100%;
		box-sizing: border-box;
		border-left:1px solid #e5e5e5;
		padding:15px;
		text-align: center;
		word-break: break-all;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box2{
		font-weight: bold;
		background:#f2f2f2;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box3{
		width:66.66666%;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box4{
		width:33.33333%;
	}

	
	.speccont .halfbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin:0 0 70px 0;
	}
	
	.speccont .halfbox .box{
		width:calc((100% - 60px) / 2);
		margin:0 0 70px 0;
	}
    .speccont .halfbox .box02{
		width:calc(100% - 360px);
		margin:0 0 70px 0;
	}
	
	.speccont .halfbox .box .titlebox{
		font-size:1.6rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .halfbox .box > table{
		width:100%;
	}
	
	.speccont .halfbox .box > table td{
		border-top:1px solid #e1e1e1;
		border-bottom:1px solid #e1e1e1;
		padding:15px;
		font-size:1.3rem;
		line-height: 2.4rem;
	}
	
	.speccont .halfbox .box > table td:first-child{
		white-space: nowrap;
		width:10%;
		background:#f2f2f2;
	}
	
	.speccont .halfbox .box table td.intable{
		padding:0 0;
	}
	
	.speccont .halfbox .box table td.intable table{
		width:100%;
	}
	
	.speccont .halfbox .box table td.intable td{
		border-bottom:none;
		background:none;
	}
	
	.speccont .halfbox .box table td.intable td:first-child{
		width:100px;
	}
	
	.speccont .halfbox .box table td.intable tr:first-child td{
		border-top:none;
	}
    
    
   /* ネットワークマネジメントサーバーNMS1　スペック */
    	.speccont .halfbox .box02 .titlebox{
		font-size:1.6rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .halfbox .box02 > table{
		width:100%;
	}
	
	.speccont .halfbox .box02 > table td{
		border-top:1px solid #e1e1e1;
		border-bottom:1px solid #e1e1e1;
		padding:15px;
		font-size:1.3rem;
		line-height: 2.4rem;
	}
	
	.speccont .halfbox .box02 > table td:first-child{
		white-space: nowrap;
		width:20%;
		background:#f2f2f2;
	}
	
	.speccont .halfbox .box02 table td.intable{
		padding:0 0;
	}
	
	.speccont .halfbox .box02 table td.intable table{
		width:100%;
	}
	
	.speccont .halfbox .box02 table td.intable td{
		border-bottom:none;
		background:none;
	}
	
	.speccont .halfbox .box02 table td.intable td:first-child{
		width:100px;
	}
	
	.speccont .halfbox .box02 table td.intable tr:first-child td{
		border-top:none;
	}
    /* ネットワークマネジメントサーバーNMS1　スペック */
	
    
	.speccont .txtable table{
		border: none !important;
	}
	
	.speccont .txtable table tr td{
		width:auto !important;
		padding:0 0 !important;
		border:none !important;
		background:none !important;
		text-align: left !important;
	}
	
	.speccont .txtable table tr td:first-child{
		white-space: nowrap;
	}
	
	.speccont .halfbox .box .tablecap{
		padding:10px 0 0 0;
		font-size:1.3rem;
		line-height: 2.4rem;
	}
	
	.speccont .halfbox .box .subtl{
		font-size:1.4rem;
		font-weight: bold;
		text-align: center;
		background:#f0f0f0;
		border:1px solid #ccc;
		margin:0 0 20px 0;
		padding: 0 10px;
		box-sizing: border-box;
	}
	
	.speccont .halfbox .box .illbox.box2{
		padding:0 30px;
	}
	.speccont .halfbox .box .illbox.box3{
		padding:0 30px 0 0;
	}
	
	.speccont .halfbox .box .pdfcont{
		display: flex;
		justify-content: space-between;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox{
		width:calc((100% - 80px) /3);
		transition: all 0.2s;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox:hover{
		opacity: 0.5;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .thumb{
		box-shadow: 15px 0 20px rgba(0,0,0,0.05);
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .tx{
		font-size:1.3rem;
		color:#333;
		padding:10px 0 0 0;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .tx::before{
		content: "";
		width:16px;
		height:16px;
		background:url("../images/pdf_icon.png") no-repeat;
		background-size:16px;
		display: inline-block;
		margin:0 5px 0 0;
		vertical-align: middle;
		position: relative;
		top:-2px;
	}
	
	.speccont .halfbox .box .bottomlink{
		margin:30px 0 0 0;
		padding:30px 0 0 0;
		border-top:1px solid rgba(204,204,204,0.5);
	}
	
	.speccont .halfbox .box .bottomlink a{
		text-decoration: underline;
		color:#421270;
		transition: all 0.2s;
	}
	
	.speccont .halfbox .box .bottomlink a:hover{
		opacity: 0.5;
	}
	
	.speccont .featureflexbox{
		display: flex;
		justify-content: space-between;
		margin:0 0 120px 0;
	}
	
	.speccont .featureflexbox .box{
		width:calc((100% - 160px) / 3);
	}
	
	.speccont .featureflexbox .box .iconcont{
		width:100%;
		padding-top:50%;
		background:url("../images/dot_bg.png");
		position: relative;
	}
	
	.speccont .featureflexbox .box .iconcont .inbox{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.speccont .featureflexbox .box .iconcont .inbox span{
		display: block;
		width:80px;
	}
	
	.speccont .featureflexbox .box .txbox{
		padding:20px 0 0 0;
	}
	
	.speccont .featureflexbox .box .txbox .tl{
		font-size:1.6rem;
		font-weight: bold;
		margin:0 0 10px 0;
	}
	
	.speccont .featureflexbox .box .txbox .tx p{
		margin:0 0 10px 0;
		padding-left:0.55em;
		text-indent: -0.55em;
	}
	
	.speccont .halfbox .box .bottomlink a::before{
		content: "";
		width:5px;
		height:6px;
		background:url("../images/arrow_right2.svg") no-repeat;
		background-size:5px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.contactcont{
		padding:110px 0;
		background:url("../images/contact_bg.jpg") no-repeat;
		background-size:cover;
		background-position: 50% 50%;
	}
	
	.contactcont .tl{
		font-size:4.2rem;
		line-height: 7.0rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		color:#fff;
		text-align: center;
		margin:0 0 0 0;
	}
	
	.contactcont .sub{
		text-align: center;
		color:#fff;
		margin:0 0 40px 0;
	}
	
	.contactcont .btn{
		text-align: center;
	}
	
	.contactcont .btn a{
		width:240px;
		padding:15px 0;
		color:#000000;
		border-radius: 100px;
		background:#fff;
		display: inline-block;
		font-weight: bold;
		transition: all 0.2s;
	}
	
	.contactcont .btn a:hover{
		opacity: 0.7;
	}
	
	.contactcont .btn a::after{
		content: "";
		width:15px;
		height:14px;
		background:url("../images/email_icon.png") no-repeat;
		background-size:15px;
		vertical-align: middle;
		display: inline-block;
		margin:0 0 0 10px;
		position: relative;
		top:-1px;
	}
	
	.bottom_productbox{
		padding:65px 30px;
		background:#f0f0f0;
	}
	
	.bottom_productbox .tl{
		font-size:1.8rem;
		font-weight: bold;
		text-align: center;
		margin:0 0 50px 0;
	}
	
	.bottom_productbox .tl::before{
		content: "";
		width:10px;
		border-bottom:1px solid #000;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.bottom_productbox .tl::after{
		content: "";
		width:10px;
		border-bottom:1px solid #000;
		display: inline-block;
		margin:0 0 0 10px;
		vertical-align: middle;
	}
	
	.bottom_productbox .btnflexbox{
		display: flex;
		flex-wrap: wrap;
		max-width: 1200px;
		margin:0 auto;
	}
	
	.bottom_productbox .btnflexbox a{
		transition: all 0.2s;
	}
	
	.bottom_productbox .btnflexbox a:hover{
		opacity: 0.5;
	}
	
	
	.bottom_productbox .btnflexbox a.iconlink{
		width:calc((100% - 90px )/ 3);
		display: flex;
		align-items: center;
		margin:0 20px 30px 0;
		
	}
	
	.bottom_productbox .btnflexbox a.iconlink .icon{
		width:85px;
		line-height: 0;
		
	}
	
	.bottom_productbox .btnflexbox a.iconlink .tx{
		width:calc(100% - 85px);
		padding:0 0 0 10px;
		box-sizing: border-box;
		font-size:1.3rem;
		line-height: 2.4rem;
		
	}
	
	.bottom_productbox .btnflexbox a.txlink {
		width:calc((100% - 90px )/ 4);
		padding:20px 25px;
		border-top:1px solid #cacaca;
		border-bottom:1px solid #cacaca;
		font-size:1.3rem;
		line-height: 2.4rem;
		box-sizing: border-box;
		background:url("../images/arrow_right.svg") no-repeat;
		background-size:8px;
		background-position: right 0 top 50%;
		
	}
	
	/*--20221103追加--*/
	.ntm_flexbox{
		background:rgba(68,21,114,0.05);
		padding:60px 30px;
	}
	
	.ntm_flexbox.bgnone{
		background:none;
		padding:145px 30px;
	}
	
	.ntm_flexbox .innerbox{
		display: flex;
		justify-content: space-between;
		max-width: 1145px;
		margin:0 auto;
		width:100%;
		flex-wrap: wrap;
	}
	
	.ntm_flexbox .innerbox .mtl{
		font-size:40px;
		line-height: 70px;
		text-align: center;
		width:100%;
		letter-spacing: 0.1em;
		margin:0 0 40px 0;
	}
	
	.ntm_flexbox .innerbox .box{
		padding:40px;
		box-sizing: border-box;
		width:calc((100% - 80px) / 3);
		background:#fff;
	}
	
	.ntm_flexbox .innerbox .box .tl{
		font-size:20px;
		line-height: 30px;
		font-weight: bold;
		color:#441572;
		text-align: center;
		display: flex;
		min-height: 60px;
		align-items: center;
		justify-content: center;
		padding:0 0 20px 0;
		border-bottom:1px solid #441572;
		margin:0 0 15px 0;
		letter-spacing: 0.1em;
	}
	
	.ntm_flexbox .innerbox .box .tx{
		font-size:15px;
		line-height: 30px;
		letter-spacing: 0.06em;
	}
	
	.ntm_flexbox .innerbox .tlcont{
		width:100%;
		margin:0 0 40px 0;
	}
	
	.ntm_flexbox .innerbox .tlcont .tl{
		font-size: 2rem;
		font-weight: bold;
		padding: 0 20px;
		border-left: 4px solid #441572;
	}
	
	.ntm_flexbox .innerbox .illbox{
		padding:0 0 90px 0;
		width:100%;
	}
	
	.ntm_flexbox .innerbox .illbox .inbox{
		width:100%;
		max-width: 940px;
		margin:0 auto;
	}
	
	.ntm_flexbox .innerbox .illbox .inbox img{
		width:100%;
	}
	
	.ntm_flexbox .innerbox .borderbox{
		padding:40px;
		box-sizing: border-box;
		width:calc((100% - 80px) / 3);
		background:#fff;
		border:1px dashed #441572;
		position: relative;
	}
	
	.ntm_flexbox .innerbox .borderbox::after{
		content: "";
		width:35px;
		height:35px;
		display: block;
		position: absolute;
		top:-17px;
		left:calc(50% - 17px);
	}
	
	.ntm_flexbox .innerbox .borderbox.num01::after{
		background:url("../images/ntm_num01.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox.num02::after{
		background:url("../images/ntm_num02.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox.num03::after{
		background:url("../images/ntm_num03.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox .ph{
		margin:0 0 20px 0;
		line-height: 0;
		width:100%;
	}
	
	.ntm_flexbox .innerbox .borderbox .tl{
		font-size:20px;
		line-height: 30px;
		font-weight: bold;
		text-align: center;
		margin:0 0 15px 0;
		letter-spacing: 0.1em;
	}
	
	.ntm_flexbox .innerbox .borderbox .tx{
		font-size:15px;
		line-height: 30px;
		letter-spacing: 0.06em;
	}
}

@media screen and (max-width:768px){
	
	.headbox{
		padding:30px 30px;
		background:#fff;
		display: none;		
		justify-content: space-between;
	}
	
	.headbox .titlebox{
		font-size:2.5rem;
		font-weight: bold;
		color:#441572;
	}
	
	.headboxTips {
		padding: 50px 10px;
		background: #fff;
	}
	
	.headboxTips .titlebox{
		font-size:2.5rem;
		font-weight: bold;
		color:#441572;
	}
	
	.headbox .anklinkbox{
		display: flex;
		align-items: center;
	}
	
	.headbox .anklinkbox a{
		display: block;
		margin:0 0 0 50px;
		font-size:1.4rem;
		color:#333333;
		white-space: nowrap;
	}
	
	.headbox .anklinkbox a::after{
		content: "";
		display: inline-block;
		width:8px;
		height:8px;
		background:url("../images/arrow_down.svg") no-repeat;
		background-size:8px;
		margin:0 0 0 10px;
		vertical-align: middle;
	}
	
	.mainvisualbox{
		position: relative;
		z-index:1;
		margin:0 0 40px 0;
		overflow: hidden;
		opacity: 0;
	}
	
	.mainvisualbox.mb0{
		margin:0 0 0 0;
	}
	
	.mainvisualbox .slider .box .inbox,
	.mainvisualbox .nonslider .box .inbox{
		width:100%;
		padding-top:100%;
		position: relative;
	}
	
	.mainvisualbox .slider .box .inbox img,
	.mainvisualbox .nonslider .box .inbox img{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	.mainvisualbox .slider .box.slick-current img{
		transform: scale(1.1);
		animation-name: slidescale;
		animation-delay: 0s;
		animation-duration: 7s;
		animation-fill-mode: forwards;
		animation-timing-function: linear;
	}
	
	.mainvisualbox .position_title{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		color:#fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		z-index:3;
	}
	
	.mainvisualbox .position_title .sub{
		font-size:2.4vw;
		font-weight: bold;
		margin:0 0 2.6vw 0;
	}
	
	.mainvisualbox .position_title .sub span{
		display: inline-block;
		position: relative;
		padding:0 1em;
		text-align: center;
		line-height: 1.6em;
	}
	
	.mainvisualbox .position_title .sub span::before{
		content: "";
		position: absolute;
		border-bottom:1px solid #fff;
		width:0.5em;
		top:50%;
		left:0;
		margin:0 0.5em 0 0;
	}
	
	.mainvisualbox .position_title .sub span::after{
		content: "";
		position: absolute;
		border-bottom:1px solid #fff;
		width:0.5em;
		top:50%;
		right:0;
		margin:0 0 0 0.5em;
	}
	
	.mainvisualbox .position_title .mtl{
		font-size:8vw;
		line-height: 10.6vw;
		text-align: center;
	}
	
	.mainvisualbox .cap{
		font-size:1.7vw;
		color:#fff;
		position: absolute;
		bottom:10px;
		right:10px;
		z-index:3;
	}
	
	.maininfobox{
		width:95%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin:0 auto 40px;
		padding:0 0 0 0;
		flex-direction: column;
		
	}
	
	.maininfobox.box2{
		width:100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin:0 auto 40px;
		padding:0 0 0 0;
		flex-direction: column;
		
	}
	
	.maininfobox.mb0{
		margin:0 0 0 0;
	}
	
	.maininfobox .txbox{
		width:100%;
		position: relative;
		top:50px;
		opacity: 0;
		transition: all 1s;
	}
	
	.maininfobox .txbox.active{
		top:0;
		opacity: 1;
	}
	
	.maininfobox.box2 .txbox{
		width:95%;
		margin:0 auto 50px;
	}
	
	.maininfobox .txbox .tl{
		font-size:2.2rem;
		line-height: 3.3rem;
		margin:0 0 10px 0;
	}
	
	.maininfobox .txbox .tx{
		font-size:1.4rem;
		line-height: 2.44rem;
	}
	
	.maininfobox .phbox{
		width:100%;
		order: -1;
		position: relative;
		margin:0 0 30px 0;
	}
	
	.maininfobox .phbox .btn{
		width:100%;
		height:100%;
		position: absolute;
		top:0;
		left:0;
		z-index:2;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		transition: all 0.2s;
	}
	
	.maininfobox .phbox .btn:hover{
		opacity: 0.5;
	}
	
	.maininfobox .phbox .btn img{
		width:100px;
		height:auto;
	}
	
	.maininfobox .phbox .inbox{
		wdith:100%;
		padding-top:67.21%;
		position: relative;
	}
	
	.maininfobox .phbox .inbox.box2{
		wdith:100%;
		padding-top:0;
		position: relative;
	}
	
	.maininfobox .phbox .inbox video,
	.maininfobox .phbox .inbox img{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	.maininfobox.box2 .phbox .inbox img{
		position: relative;
		top:0;
		left:0;
		width:100%;
	}
	
	#feature{padding-top:80px;margin-top:-80px;}
	.featurecont{
		padding:0 2.5%;
		margin: 0 auto 10px;
	}
	
	.featurecont .headarea{
		margin:0 0 60px 0;
		display: flex;
		justify-content: flex-end;
		position: relative;
		flex-direction: column;
	}
	
	.featurecont .phbox{
		width:100%;
		margin:0 0 40px 0;
	}
	
	.featurecont .pobox{
		width:100%;
		height:100%;
		position: relative;
		top:0;
		left:0;
		display: flex;
		align-items: flex-end;
		padding:0 0;
		box-sizing: border-box;
	}
	
	.featurecont .pobox .txbox{
		padding:0 30px;
		background:#fff;
		position: relative;
		top:0;
		left:0;
	}
	
	.featurecont .pobox .txbox .tl{
		font-size:2.2rem;
		line-height: 3.5rem;
	}
	
	.featurecont .pobox .txbox .entx{
		-webkit-writing-mode: vertical-rl;
  		-ms-writing-mode: tb-rl;
  		-o-writing-mode: vertical-rl;
  		writing-mode: vertical-rl;
		font-size:1rem;
		color:#666;
		font-weight: 300;
		line-height: 1;
		position: absolute;
		top:0.5em;
		left:0;
		height:calc(100% - 0.5em);
		
	}
	
	.featurecont .pobox .txbox .entx span{
		background:#fff;
		display: inline-block;
		position: relative;
		left:-3px;
		padding:0 0 5px 0;
	}
	
	.featurecont .numflexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		flex-direction: column;
	}
	
	.featurecont .numflexbox .box{
		width:100%;
		margin:0 0 40px 0;
		position: relative;
		top:50px;
		opacity: 0;
		transition:  all 1s;
	}
	
	.featurecont .numflexbox .box.active{
		top:0;
		opacity: 1;
	}
	
	.featurecont .numflexbox .box .phbox{
		position: relative;
		margin:0 0 0 0;
	}
	
	.featurecont .numflexbox .box .numbox{
		text-align: center;
		position: absolute;
		top:0;
		left:0;
		background:#fff;
		width:45px;
		height:45px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.featurecont .numflexbox .box .numbox .sub{
		font-size:0.5rem;
		line-height: 1;
		margin:0 0 0 0;
		width:100%;
	}
	
	.featurecont .numflexbox .box .numbox .num{
		font-size:1.5rem;
		width:100%;
		font-weight: 300;
	}
	
	.featurecont .numflexbox .box .txbox{
		padding:0 0 0 0;
	}
	
	.featurecont .numflexbox .box .txbox .tl{
		font-size:2rem;
		font-weight: bold;
		line-height: 3.6rem;
		margin:0 0 5px 0;
	}
	
	.featurecont .numflexbox .box .txbox .tx{
		font-size:1.5rem;
		line-height: 3rem;
	}
	
	.featurecont .numflexbox .box .txbox .tx table tr td:first-child{
		white-space: nowrap;
	}
	
	.featurecont .borderflexbox{
		padding:0 0 20px 0;
	}
	
	.featurecont .borderflexbox .tlcont{
	}
	
	.featurecont .borderflexbox .tlcont .mtl{
		font-size:2rem;
		font-weight: bold;
		padding:0 20px;
		border-left:4px solid #441572;
	}
	
	.featurecont .borderflexbox .flexbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		flex-direction: column;
	}
	
	.featurecont .borderflexbox .flexbox .box{
		width:100%;
		box-sizing: border-box;
		padding:20px 0;
		border-top:1px solid #eaeaea;
	}
	
	.featurecont .borderflexbox .flexbox .box:first-child{
		border-top:none;
	}
	
	.featurecont .borderflexbox .flexbox .box .tl{
		font-weight: bold;
		font-size: 1.6rem;
		margin:0 0 10px 0;
	}
	
	#story{padding-top:80px;margin-top:-80px;}
	.storycont{
		width:100%;
		position: relative;
	}
	
	.storycont .bgph{
		width:100%;
		position: absolute;
		top:0;
		left:0;
		z-index:-1;
	}
	
	.storycont .innerbox{
		padding:0 0;
		width:100%;
		margin: 0 auto;
	}
	
	.storycont .pobox{
		width:100%;
		height:100%;
		position: relative;
		top:0;
		left:0;
		display: flex;
		align-items: flex-end;
		padding:55px 0 80px;
		box-sizing: border-box;
		background:url("../images/story_bg_sp.jpg") no-repeat;
		background-size:cover;
		background-position: 50% 50%;
		margin:0 0 40px 0;
	}
	
	.storycont .pobox .txbox{
		padding:0 40px;
		position: relative;
		width:95%;
		margin:0 auto;
		box-sizing: border-box;
	}
	
	.storycont .pobox .txbox .tl{
		font-size:2.4rem;
		line-height: 3.4rem;
		color:#fff;
		margin:0 0 10px 0;
	}
	
	.storycont .pobox .txbox .tx{
		font-size:1.2rem;
		line-height: 2rem;
		color:#fff;
		width:50%;
	}
	
	.storycont .pobox .txbox .entx{
		-webkit-writing-mode: vertical-rl;
  		-ms-writing-mode: tb-rl;
  		-o-writing-mode: vertical-rl;
  		writing-mode: vertical-rl;
		font-size:1.8rem;
		color:#fff;
		font-weight: 300;
		line-height: 1;
		position: absolute;
		top:0;
		left:2px;
		height:100%;
		display: flex;
		align-content: space-between;
		
	}
	
	.storycont .pobox .txbox .entx span{
		position: relative;
		left:0;
		display: inline-block;
		padding:0.5em 0 0 0;
		font-size:1rem;
		
	}
	
	.storycont .pobox .txbox .entx:after{
		display: inline-block;
		position: relative;
		left:2.5%;
		padding:0.5em 0 5px 0;
		content: "";
		height:calc(100% - 10px);
		margin:10px 0 0 0;
		vertical-align: bottom;
		opacity: 0.5;
	}
	
	.storycont .floatbox{
		padding:0 2.5%;
		background:#fff;
		position: relative;
		z-index:3;
		top:50px;
		opacity: 0;
		transition: all 1s;
	}
	
	.storycont .floatbox.active{
		top:0;
		opacity: 1;
	}
	
	.storycont .floatbox .floatph{
		width:100%;
		padding:0 0 30px 0;
	}
	
	.storycont .floatbox p.tl{
		font-size:1.5rem;
		line-height: 3.5rem;
		font-weight: bold;
		margin:0 0 10px 0;
		padding-left:30px;
		text-indent: -30px;
	}
	
	.storycont .floatbox p.tl::before{
		content: "";
		border-bottom:1px solid #333;
		vertical-align: bottom;
		width:20px;
		position: relative;
		top:-0.45em;
		margin:0 10px 0 0;
		display: inline-block;
	}
	
	.storycont .floatbox p.tx{
		margin:0 0 30px 0;
	}
	
	.storycont .floatbox p.tx.mb0{
		margin:0 0 0 0;
	}
	
	.storycont .ddmflexcont{
		display: flex;
		justify-content: space-between;
		padding:40px 2.5%;
		flex-direction: column;
	}
	
	.storycont .ddmflexcont .txbox{
		width:100%;
	}
	
	.storycont .ddmflexcont .txbox .sub{
		font-size:1.6rem;
		font-weight: bold;
		margin:0 0 10px 0;
		text-align: center;
	}
	
	.storycont .ddmflexcont .txbox .logo{
		width:40%;
		margin:0 auto 20px;
	}
	
	.storycont .ddmflexcont .phbox{
		width:100%;
		order:-1;
		margin:0 0 20px 0;
	}
	
	.storycont .ddminfo{
		margin:0 auto 0;
		width:95%;
	}
	
	.storycont .ddminfo .tl{
		font-size:2.6rem;
		line-height: 4rem;
		margin:0 0 10px 0;
	}
	
	#spec{padding-top:80px;margin-top:-80px;}
	.speccont{
		padding:50px 2.5% 0;
		margin: 0 auto;
	}
	
	.speccont .tlcont{
		padding:0 0 20px 0;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}
	
	.speccont .tlcont.bonone{
		border:none;
	}
	
	.speccont .tlcont .mtl{
		font-size:1.8rem;
		font-weight: bold;
		padding:0 20px;
		border-left:4px solid #441572;
	}
	
	.speccont .tlcont .sub{
		font-size:1rem;
		color:#999;
		padding:0 0 0 20px;
		border-left:1px solid #999999;
		line-height: 1;
	}
	
	.speccont .tlcont .cap{
		font-size:1.3rem;
		padding:15px 0 0 0;
		line-height: 1;
		color:#666;
		width:100%;
	}
	
	.speccont .flexcont{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	
	.speccont .flexcont .btncont{
		width:100%;
		margin:0 0 30px 0;
		border-right:1px solid #e5e5e5;
		border-bottom:1px solid #e5e5e5;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
	}
	
	.speccont .flexcont .btncont.spbox::after{
		content: "";
		width:50%;
		height:auto;
		border-top:1px solid #e5e5e5;
		border-left:1px solid #e5e5e5;
		display: block;
		box-sizing: border-box;
	}
	
	.speccont .flexcont .btncont.box2{
		width:100%;
		margin:0 0 30px 0;
	}
	
	.speccont .flexcont .btncont .btn{
		border-top:1px solid #e5e5e5;
		border-left:1px solid #e5e5e5;
		cursor: pointer;
		width:50%;
		box-sizing: border-box;
		display: flex;
	}
	
	.speccont .flexcont .btncont .btn span{
		display: block;
		padding:20px 30px 20px 20px;
		background:url("../images/arrow_down.svg") no-repeat;
		background-size:8px;
		background-position: right 20px top 50%;
		opacity: 0.5;
		height:100%;
		width:100%;
		box-sizing: border-box;
	}
	
	.speccont .flexcont .btncont .btn.active span{
		opacity: 1;
		background-color:#f5f5f5;
	}
	
	.speccont .contbox{
		padding:0 0 50px 0;
		width:100%;
		box-sizing: border-box;
	}
	
	.speccont .contbox .box{
		width:100%;
		margin:0 auto;
		justify-content: space-between;
		display: none;
	}
	
	.speccont .contbox .box.column{
		width:100%;
		max-width: 100%;
		margin:0 auto;
		justify-content: space-between;
		flex-direction: column;
		display: none;
	}
	
	.speccont .contbox .box.active{
		width:100%;
		margin:0 auto;
		justify-content: space-between;
		display: flex;
		flex-direction: column;
	}
	
	.speccont .contbox .box .phbox{
		width:100%;
		line-height: 0;
	}
	
	.speccont .contbox .box .txflexbox{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		margin:0 0 0 0;
	}
	
	.speccont .contbox .box .txflexbox .txcont{
		padding:40px 0 0 0;
		width:100%;
	}
	
	.speccont .contbox .box .txcont{
		width:100%;
		padding:30px 0 0 0;
	}
	
	.speccont .contbox .box .txcont .mtl{
		font-size:1.7rem;
		font-weight: bold;
		border-bottom:1px solid #e5e5e5;
		padding:0 0 15px 0;
	}
	
	.speccont .contbox .box .txcont .tx{
		border-bottom:1px solid #e5e5e5;
		padding:10px 0;
		font-size:1.4rem;
		line-height: 2.4rem;
	}
	
	.speccont .contbox .box .txcont .tx p{
		text-indent: -25px;
		padding-left:25px;
	}
	
	.speccont .contbox .box .txcont .tx p::before{
		content: "";
		width:15px;
		height:15px;
		background:url("../images/check_icon.png") no-repeat;
		background-size:15px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.speccont .contbox .box .tablebox{
		padding:40px 0 0 0;
	}
	
	.speccont .contbox .box .tablebox .tl{
		font-size:2rem;
		line-height: 2.4rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .contbox .box .tablebox table{
		width:100%;
		border-top:1px solid #e5e5e5;
		border-bottom:1px solid #e5e5e5;
	}
	
	.speccont .contbox .box .tablebox table td{
		vertical-align: top;
		border-bottom:1px solid #e5e5e5;
		width:100%;
		display: block;
	}
	
	.speccont .contbox .box .tablebox table tr td:first-child{
		padding:10px;
		background:#f2f2f2;
		width:100%;
		box-sizing: border-box;
	}
	
	.speccont .contbox .box .tablebox table tr td.none{
		display: none;
	}
	
	.speccont .contbox .box .tablebox table tr td:last-child{
		border-bottom:none;
	}
	
	.speccont .contbox .box .tablebox table tr:last-child td .intableflex{
		border-bottom:none;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex{
		width:100%;
		border-bottom:1px solid #e5e5e5;
		height:100%;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fcont{
		width:100%;
		display: flex;
		justify-content: space-between;
		border-bottom:1px solid #e5e5e5;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fcont:last-child{
		border-bottom:none;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox{
		width:100%;
		box-sizing: border-box;
		border-left:1px solid #e5e5e5;
		padding:10px;
		text-align: center;
		word-break: break-all;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox:first-child{
		border-left: none;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box2{
		font-weight: bold;
		background:#f2f2f2;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box3{
		width:66.66666%;
	}
	
	.speccont .contbox .box .tablebox table tr td .intableflex .fbox.box4{
		width:33.33333%;
	}

	.speccont .halfbox{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin:0 0 30px 0;
		flex-direction: column;
	}
	
	.speccont .halfbox .box{
		width:100%;
		margin:0 0 30px 0;
	}
	
	.speccont .halfbox .box .titlebox{
		font-size:1.6rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .halfbox .box > table{
		width:100%;
	}
	
	.speccont .halfbox .box > table td{
		border-top:1px solid #e1e1e1;
		border-bottom:1px solid #e1e1e1;
		padding:10px;
		font-size:1.3rem;
		line-height: 2.4rem;
	}
	
	.speccont .halfbox .box > table td:first-child{
		width:32%;
		background:#f2f2f2;
	}
	
	.speccont .halfbox .box table td.intable{
		padding:0 0;
	}
	
	.speccont .halfbox .box table td.intable table{
		width:100%;
	}
	
	.speccont .halfbox .box table td.intable td{
		border-bottom:none;
		background:none;
	}
	
	.speccont .halfbox .box table td.intable td:first-child{
		width:100px;
	}
	
	.speccont .halfbox .box table td.intable tr:first-child td{
		border-top:none;
	}
    
    /* ネットワークマネジメントサーバーNMS1　スペック */
    	.speccont .halfbox .box02 .titlebox{
		font-size:1.6rem;
		margin:0 0 15px 0;
		font-weight: bold;
	}
	
	.speccont .halfbox .box02 > table{
		width:100%;
	}
	
	.speccont .halfbox .box02 > table td{
		border-top:1px solid #e1e1e1;
		border-bottom:1px solid #e1e1e1;
		padding:15px;
		font-size:1.3rem;
		line-height: 2.4rem;
	}
	
	.speccont .halfbox .box02 > table td:first-child{
		white-space: nowrap;
		width:10%;
		background:#f2f2f2;
	}
	
	.speccont .halfbox .box02 table td.intable{
		padding:0 0;
	}
	
	.speccont .halfbox .box02 table td.intable table{
		width:100%;
	}
	
	.speccont .halfbox .box02 table td.intable td{
		border-bottom:none;
		background:none;
	}
	
	.speccont .halfbox .box02 table td.intable td:first-child{
		width:100px;
	}
	
	.speccont .halfbox .box02 table td.intable tr:first-child td{
		border-top:none;
	}
    /* ネットワークマネジメントサーバーNMS1　スペック */
	
	.speccont .txtable table{
		border: none !important;
	}
	
	.speccont .txtable table tr td{
		display: table-cell !important;
		width:auto !important;
		padding:0 0 !important;
		border:none !important;
		background:none !important;
		text-align: left !important;
	}
	
	.speccont .txtable table tr td:first-child{
		white-space: nowrap;
	}
	
	.speccont .halfbox .box .tablecap{
		padding:10px 0 0 0;
		font-size:1.3rem;
		line-height: 1.8rem;
	}
	
	.speccont .halfbox .box .subtl{
		font-size:1.3rem;
		font-weight: bold;
		text-align: center;
		background:#f0f0f0;
		border:1px solid #ccc;
		margin:0 0 20px 0;
		padding: 0 10px;
		box-sizing: border-box;
	}
	
	.speccont .halfbox .box .illbox.box2{
		padding:0 30px;
	}
	
	.speccont .halfbox .box .pdfcont{
		display: flex;
		justify-content: space-between;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox{
		width:calc((100% - 60px) /3);
		transition: all 0.2s;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox:hover{
		opacity: 0.5;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .thumb{
		box-shadow: 15px 0 20px rgba(0,0,0,0.05);
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .tx{
		font-size:1.3rem;
		color:#333;
		padding:10px 0 0 0;
	}
	
	.speccont .halfbox .box .pdfcont .pdfbox .tx::before{
		content: "";
		width:16px;
		height:16px;
		background:url("../images/pdf_icon.png") no-repeat;
		background-size:16px;
		display: inline-block;
		margin:0 5px 0 0;
		vertical-align: middle;
		position: relative;
		top:-2px;
	}
	
	.speccont .halfbox .box .bottomlink{
		margin:30px 0 0 0;
		padding:30px 0 0 0;
		border-top:1px solid rgba(204,204,204,0.5);
	}
	
	.speccont .halfbox .box .bottomlink a{
		text-decoration: underline;
		color:#421270;
		transition: all 0.2s;
	}
	
	.speccont .halfbox .box .bottomlink a:hover{
		opacity: 0.5;
	}
	
	.speccont .featureflexbox{
		display: flex;
		justify-content: space-between;
		margin:0 0 10px 0;
		flex-direction: column;
	}
	
	.speccont .featureflexbox .box{
		width:100%;
	}
	
	.speccont .featureflexbox .box .iconcont{
		width:100%;
		padding-top:50%;
		background:url("../images/dot_bg.png");
		position: relative;
	}
	
	.speccont .featureflexbox .box .iconcont .inbox{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.speccont .featureflexbox .box .iconcont .inbox span{
		display: block;
		width:60px;
	}
	
	.speccont .featureflexbox .box .txbox{
		padding:20px 0 20px 0;
	}
	
	.speccont .featureflexbox .box .txbox .tl{
		font-size:1.6rem;
		font-weight: bold;
		margin:0 0 10px 0;
	}
	
	.speccont .featureflexbox .box .txbox .tx p{
		margin:0 0 10px 0;
		padding-left:0.55em;
		text-indent: -0.55em;
	}
	
	.speccont .halfbox .box .bottomlink a::before{
		content: "";
		width:5px;
		height:6px;
		background:url("../images/arrow_right2.svg") no-repeat;
		background-size:5px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.contactcont{
		padding:55px 0;
		background:url("../images/contact_bg.jpg") no-repeat;
		background-size:cover;
		background-position: 50% 50%;
	}
	
	.contactcont .tl{
		font-size:3rem;
		line-height: 3.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		color:#fff;
		text-align: center;
		margin:0 0 10px 0;
	}
	
	.contactcont .sub{
		text-align: center;
		color:#fff;
		margin:0 0 20px 0;
	}
	
	.contactcont .btn{
		text-align: center;
	}
	
	.contactcont .btn a{
		width:190px;
		padding:15px 0;
		color:#000000;
		border-radius: 100px;
		background:#fff;
		display: inline-block;
		font-weight: bold;
		transition: all 0.2s;
		font-size:1.2rem;
	}
	
	.contactcont .btn a:hover{
		opacity: 0.7;
	}
	
	.contactcont .btn a::after{
		content: "";
		width:13px;
		height:12px;
		background:url("../images/email_icon.png") no-repeat;
		background-size:13px;
		vertical-align: middle;
		display: inline-block;
		margin:0 0 0 10px;
		position: relative;
		top:-1px;
	}
	
	.bottom_productbox{
		padding:40px 2.5% 60px 2.5%;
		background:#f0f0f0;
	}
	
	.bottom_productbox .tl{
		font-size:1.6rem;
		font-weight: bold;
		text-align: center;
		margin:0 0 25px 0;
	}
	
	.bottom_productbox .tl::before{
		content: "";
		width:10px;
		border-bottom:1px solid #000;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
	}
	
	.bottom_productbox .tl::after{
		content: "";
		width:10px;
		border-bottom:1px solid #000;
		display: inline-block;
		margin:0 0 0 10px;
		vertical-align: middle;
	}
	
	.bottom_productbox .btnflexbox{
		display: block;
		margin:0 auto;
		border-bottom:1px solid #cacaca;
	}
	
	.bottom_productbox .btnflexbox a{
		transition: all 0.2s;
	}
	
	.bottom_productbox .btnflexbox a:hover{
		opacity: 0.5;
	}
	
	
	.bottom_productbox .btnflexbox a.iconlink{
		width:100%;
		display: block;
		padding:20px 15px;
		border-top:1px solid #cacaca;
		font-size:1.3rem;
		line-height: 2.4rem;
		box-sizing: border-box;
		background:url("../images/arrow_right.svg") no-repeat;
		background-size:8px;
		background-position: right 0 top 50%;
		
	}
	
	.bottom_productbox .btnflexbox a.iconlink .icon{
		width:85px;
		line-height: 0;
		display: none;
		
	}
	
	.bottom_productbox .btnflexbox a.txlink {
		width:100%;
		padding:20px 15px;
		display: block;
		border-top:1px solid #cacaca;
		font-size:1.3rem;
		line-height: 2.4rem;
		box-sizing: border-box;
		background:url("../images/arrow_right.svg") no-repeat;
		background-size:8px;
		background-position: right 0 top 50%;
		
	}
	
	/*--20221103追加--*/
	.ntm_flexbox{
		background:rgba(68,21,114,0.05);
		padding:30px 2.5% 10px 2.5%;
	}
	
	.ntm_flexbox.bgnone{
		background:none;
		padding:60px 2.5% 20px 2.5%;
	}
	
	.ntm_flexbox .innerbox{
		display: flex;
		justify-content: space-between;
		max-width: 100%;
		margin:0 auto;
		width:100%;
		flex-wrap: wrap;
	}
	
	.ntm_flexbox .innerbox .mtl{
		font-size:20px;
		line-height: 35px;
		text-align: center;
		width:100%;
		letter-spacing: 0.1em;
		margin:0 0 20px 0;
	}
	
	.ntm_flexbox .innerbox .box{
		padding:20px;
		box-sizing: border-box;
		width:100%;
		margin:0 0 20px 0;
		background:#fff;
	}
	
	.ntm_flexbox .innerbox .box .tl{
		font-size:16px;
		line-height: 25px;
		font-weight: bold;
		color:#441572;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		padding:0 0 10px 0;
		border-bottom:1px solid #441572;
		margin:0 0 10px 0;
		letter-spacing: 0.1em;
	}
	
	.ntm_flexbox .innerbox .box .tx{
		font-size:13px;
		line-height: 20px;
		letter-spacing: 0.06em;
	}
	
	.ntm_flexbox .innerbox .tlcont{
		width:100%;
		margin:0 0 20px 0;
	}
	
	.ntm_flexbox .innerbox .tlcont .tl{
		font-size: 2rem;
		font-weight: bold;
		padding: 0 20px;
		border-left: 4px solid #441572;
	}
	
	.ntm_flexbox .innerbox .illbox{
		padding:0 0 50px 0;
		width:100%;
	}
	
	.ntm_flexbox .innerbox .illbox .inbox{
		width:100%;
		max-width: 940px;
		margin:0 auto;
	}
	
	.ntm_flexbox .innerbox .illbox .inbox img{
		width:100%;
	}
	
	.ntm_flexbox .innerbox .borderbox{
		padding:40px 20px 20px;
		box-sizing: border-box;
		width:100%;
		background:#fff;
		border:1px dashed #441572;
		position: relative;
		margin:0 0 40px 0;
	}
	
	.ntm_flexbox .innerbox .borderbox::after{
		content: "";
		width:35px;
		height:37px;
		display: block;
		position: absolute;
		top:-17px;
		left:calc(50% - 17px);
	}
	
	.ntm_flexbox .innerbox .borderbox.num01::after{
		background:url("../images/ntm_num01.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox.num02::after{
		background:url("../images/ntm_num02.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox.num03::after{
		background:url("../images/ntm_num03.png") no-repeat;
		background-size:35px;
	}
	
	.ntm_flexbox .innerbox .borderbox .ph{
		margin:0 0 20px 0;
		line-height: 0;
		width:100%;
	}
	
	.ntm_flexbox .innerbox .borderbox .tl{
		font-size:16px;
		line-height: 25px;
		font-weight: bold;
		text-align: center;
		margin:0 0 15px 0;
		letter-spacing: 0.1em;
	}
	
	.ntm_flexbox .innerbox .borderbox .tx{
		font-size:13px;
		line-height: 20px;
		letter-spacing: 0.06em;
	}
}

@media screen and (min-width:769px){
    .smaart {
        padding-top: 40px;
        width:calc(66.6% - 40px);
        float: left;
        font-size: 0.9em;
        line-height: 140%;
    }
    .nms1Spec {
        float: left;
        width: 320px;
        margin-right: 30px;
    }
}
@media screen and (max-width:768px){
    .smaart {
        padding-top: 0;
        width:100%;
        float:none;
        font-size: 0.9em;
        line-height: 140%;
    }
    .nms1Spec {
        width: 100%;
        margin: 0 0 40px 0;
    }
h4.h4ttl{
	margin: 0 0 1em;	
	border-bottom: 2px solid #DDD;
	font-size: 110%;
}
}
.mb-0{
	margin-bottom: 0px;
}
.mb-5{
	margin-bottom: 5px;
}
.mb-10{
	margin-bottom: 10px;
}
.mb-15{
	margin-bottom: 15px;
}
.mb-20{
	margin-bottom: 20px;
}
.mb-25{
	margin-bottom: 23px;
}
.mb-30{
	margin-bottom: 30px;
}

/*240425追記 products_afc_specifications*/
.mainVisualAfc{
	margin-bottom: 40px;
	height: 240px;
	background: url("../images/afc-main-visual.jpg") center 50% no-repeat;
	background-size: auto 100%;
}
.btnSt04 {
  	font-size: 14px;
  	line-height: 1.42857143;
  	text-align: center;
  	white-space: nowrap;
  	vertical-align: middle;
  	-ms-touch-action: manipulation;
      touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
	user-select: none;
	border: none;
	color: #FFF;
	font-weight: bold;
}
.btnSt04 a:link,
.btnSt04 a:visited{
	padding: 12px 26px;
	display: inline-block;
  	border-radius: 4px;
	background: #50227e;	
	color: #FFF;
	text-decoration: none;
}
.btnSt04 a img{
	height: auto;
	width: auto;
}
.btnSt04 a:hover,
.btnSt04 a:visited{
	background: #350e5b;
	opacity: 0.7;
	text-decoration: underline;
}
.btnSt04.checkList{
	line-height: 1.5;
}
.btnSt04.checkList img{
	position: relative;
	top: 3px;
}
.center{
	text-align: center;
}
.textR{
	text-align: right;
}
.container{
	margin-left: auto;
	margin-right: auto;
	padding:0 10px;  
	max-width:1200px;
	
}
.container.container-xxl{
	max-width:1520px;

}
.container a,a:hover,a:visited{
}
.container a:hover{
	text-decoration: underline;
}
h3.h3ttl{
	margin: 0 0 1em;
	padding: 0 0 10px 14px;
	border-bottom: 1px solid #CCC;
	background: url("../../images/pages/h3ttl_bg.gif") no-repeat;
	background-size: 7px 16px;
	font-size: 116%;
	font-weight: bold;
}
h4.h4ttl{
	margin: 0 0 1.3em;	
	border-bottom: 2px solid #DDD;
	font-size: 140%;
}
.postBox{
	margin-bottom: 20px;
}
.postBox a:hover{
	opacity: 0.7;
	transition: all 0.2s;
}
.postThumb{
	margin-bottom: 8px;
}
.postThumb img{
	aspect-ratio: 5 / 3;
	object-fit: cover;
}
.postBox p{
	margin: 0 0 5px;
	padding: 0;
	line-height: 1.5;
}
.iconBlank{
	width: 14px;
	height: 14px;
	position: relative;
	top: 2px;
}
.postData{
	font-size: 80%;
	text-align: right;
}
.mb-40{
	margin-bottom: 40px;
}
.mb-45{
	margin-bottom: 45px;
}
.mb-50{
	margin-bottom: 50px;
}
.mb-60{
	margin-bottom: 60px;
}
.mb-80{
	margin-bottom: 70px;
}
.mb-100{
	margin-bottom: 75px;
}
.mb-120{
	margin-bottom: 120px;
}
.mb-140{
	margin-bottom: 140px;
}
.mb-160{
	margin-bottom: 160px;
}
.py-60{
	padding-top: 30px;
	padding-bottom: 30px;	
}
@media screen and (min-width:768px){
	.mainVisualAfc{
		height: 300px;
	}
	h3.h3ttl{
		margin: 0 0 1.4em;
		padding: 4px 0 10px 16px;
		background-size: 9px 30px;
		font-size: 160%;
		letter-spacing: 2px;
	}
	.flex3Line{
		display: flex;
		flex-wrap: wrap;
	}
	.flex3Line div.postBox{
		margin-right: 2%;
		width: 32%;
	}
	.flex3Line div.postBox:nth-of-type(3n){
		margin-right: 0px;
	}
	.mb-60{
		margin-bottom: 60px;
	}
	.mb-100{
		margin-bottom: 100px;
	}
	.py-60{
		padding-top: 60px;
		padding-bottom: 60px;	
	}
	.btnSt04 a:link,
	.btnSt04 a:visited{
		padding: 24px 40px;
	}
}
@media screen and (min-width:1200px){
	.mainVisualAfc{
		margin-bottom: 120px;
		height: 600px;
	}
	.container{
		padding:0 35px;  
	}
	.container .innerbox{
		padding: 0 30px;
	}
	.postBox{
		margin-bottom: 30px;
	}	
}

/*24.07.13追記*/
.pageEyeCatch{
	margin-bottom: 40px;
	width: 100%;
	height: 80px;
	background: url("../../images/pages/pagettl_bg.jpg") center top no-repeat;
	background-size:cover;
}
.btnSt01{
	width: 200px;
	text-align: center;
	line-height: 1.6;

}
.btnSt01 a:link,
.btnSt01 a:visited{
	padding: 8px 0;
	background: #3d3d3d;
	display: block;
	color: #FFF;
	transition: all 0.2s;		
}
.btnSt01 a:hover,
.btnSt01 a:active{
	opacity: 0.7;
}
.float-end{
	float: right;
}
.btnSt05{
	width: 375px;
	text-align: center;
	line-height: 1.6;
	color: #000;
}
.btnSt05 a:link,
.btnSt05 a:visited{
	padding: 16px 0;
	/*background: #3d3d3d;*/
	background: #cccccc;
	display: block;
	color: #000;
	transition: all 0.2s;		
}
.btnSt05 a:hover,
.btnSt05 a:active{
	opacity: 0.7;
}


div.section{
	zoom: 100%;
}
div.section:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.flex5Line,
.flex2Line{
	display: flex;
	flex-wrap: wrap;
}
.flex2Line img{
	max-width: 100%;
	height: auto;

}
.flex5Line div.postBox,
.flex2Line div.postBox{
		margin-right: 4%;
		width: 48%;
	}
.flex5Line div.postBox:nth-of-type(2n),
.flex2Line div.postBox:nth-of-type(2n){
	margin-right: 0px;
}
img.imgBorder{
	border: 1px solid #EEE;
}
.bgLightBlue{
	background: #dae2e6;
}
.btnWorksSearch{
	margin-left: auto;
	margin-right: auto;
	width: 260px;
	border: 3px solid #421270;
	font-weight: 700;
	line-height: 1.6;
	font-size: 120%;
}
.btnWorksSearch a:link,
.btnWorksSearch a:visited{
	padding: 14px 28px;
	background: #FFF url("../../images/share/icon_search.png") 90% 50% no-repeat;
	background-size: 50px;
	display: block;
	transition: all 0.2s;			
}
.btnWorksSearch a:hover,
.btnWorksSearch a:active{
	opacity: 0.7;
}
div#voice,div#works,div#search,div#message,div#outline,div#area,div#service,div#history{
		padding-top:100px;
		margin-top:-100px;
}
.tableVoiceList{
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	font-size: 90%;
}
.tableVoiceList th,
.tableVoiceList td{
	padding: 16px 20px;
}
.tableVoiceList th{
	font-weight: normal;
	text-align: left;
}
.tableVoiceList tr:nth-child(odd) th,
.tableVoiceList tr:nth-child(odd) td {
	background: #F3F3F3;
}
.tableVoiceList td a:link,
.tableVoiceList td a:visited{
	color: #441572;
}
.tableVoiceList td a:hover,
.tableVoiceList td a:active{
	text-decoration: underline;
}
.btnBack{
	margin-left: auto;
	margin-right: auto;
	width: 213px;
	text-align: center;
	font-size: 90%;
}
.btnBack a:link,
.btnBack a:visited{
	padding: 4px 10px;
	height: 100%;
	display: block;
	border: 1px solid #a59792;
	background: #fbfaf7;
}
.btnBack a:hover,
.btnBack a:active{
	opacity: 0.7;
}
.postImgW310 img{
	max-width: 310px;	
	width: 100%;
}
.postImgW620 img{
	max-width: 620px;	
	width: 100%;
}
.postImgW800 img{
	max-width: 800px;	
	width: 100%;
}
@media screen and (max-width:576px){
	.tableVoiceList{
		margin-left: 0px;
		margin-right: 0px;
		width: 90vw;
		font-size: 90%;
	}
	.tableVoiceList th,
	.tableVoiceList td{
		width: 100%;
		display: block;
	}
	.tableVoiceList th{
		padding: 10px 8px 1px 8px;
	}
	.tableVoiceList td{
		padding: 1px 8px 8px 8px;
	}	
h4.h4ttl{
	margin: 0 0 1.1em;	
	border-bottom: 2px solid #DDD;
	font-size: 116%;
}
}
@media screen and (min-width:768px){
	.pageEyeCatch{
		margin-bottom: 40px;
		height: 180px;
	}
	/*.flex2Line figure{
		width: 49%;
	}*/
	.flex5Line div.postBox{
			margin-right: 2.5%;
			width: 18%;
	}
	.flex5Line div.postBox:nth-of-type(2n){
			margin-right: 2.5%;		
	}
	.flex5Line div.postBox:nth-of-type(5n){
		margin-right: 0px;
	}	
}
@media screen and (min-width:1200px){
	.pageEyeCatch{
		margin-bottom: 60px;
		height: 240px;
	}
}

/*納入実績・検索
------------------------------------------------------------*/
.tableRfr{
	margin-left: 0px;
	margin-right: 0px;
	width: 100%;
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
}
.tableRfr th,
.tableRfr td{
	padding: 10px;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;	
}
.tableRfr th{
	background: #E6E6E6;
}
.tableRfr td{
	background: #FFF;
}
.tableRfr td img{
	width: 50px;
}

div.searchBox{
	margin-bottom: 20px;
	padding: 16px;
	background: #EEE;
	-moz-border-radius:8px;
	-khtml-border-radius:8px;
	-webkit-border-radius:8px;
	border-radius: 8px;	
}
.searchBox li{
	line-height: 1.5;
	list-style: none;
}
.form-control{
	padding: 8px;
	width: 100%;
	border: 1px solid #DDD;
	border-radius: 8px;
}
.searchBox  input.form-control{
	width: 90%;
}
.searchBtn{
	margin: 0 auto;
	width: 200px;
}

.searchMap{
	margin-bottom: 40px;
	width: 100%;
	height: 600px;
	border: 1px solid #CCC;
}
  .controls {
	margin-top: 10px;
	border: 1px solid transparent;
	border-radius: 2px 0 0 2px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	height: 32px;
	outline: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  }
 #pac-input {
	background-color: #fff;
	font-family: Roboto;
	font-size: 15px;
	font-weight: 300;
	margin-left: 12px;
	padding: 0 11px 0 13px;
	text-overflow: ellipsis;
	width: 200px;
  }

  #pac-input:focus {
	border-color: #4d90fe;
  }

  .pac-container {
	font-family: Roboto;
  }
@media (max-width: 768px) {
	.tableRfr th,
	.tableRfr td{
	padding: 6px;
	}
	.tableRfr td img{
		width: 40px;
	}
	.searchMap{
		height: 400px;
	}
}
@media (min-width: 768px) {
	.searchBox ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.searchBox li{
		width: 23%;
	}
}

/*2024.07.24 About
------------------------------------------------------------*/

@media (max-width: 768px) {
.pageEyeCatch.aboutEyeCatch{
	height: auto;
	background: url("../../aboutus/images/eyecatch_sp.jpg") no-repeat;
	background-size: cover;
	aspect-ratio: 1.4 / 1;
}
.pageEyeCatch.hallsEyeCatch{
	height: auto;
	background: url("../../aboutus/images/hallseyecatch.jpg") no-repeat;
	background-size: cover;
	aspect-ratio: 1.4 / 1;
}
}
@media (min-width: 768px) {
.pageEyeCatch.aboutEyeCatch{
		height: 84vh;
		background: url("../../aboutus/images/eyecatch.jpg") no-repeat;
		background-size: cover;
	}
.pageEyeCatch.hallsEyeCatch{
		height: 42vh;
		background: url("../../aboutus/images/hallseyecatch_pc.jpg") no-repeat;
		background-size: cover;
	}
}
.pageEyeCatch.historyEyeCatch{
	height: auto;
	background: url("../../aboutus/images/history_eyecatch.jpg") no-repeat;
	background-size: cover;
	aspect-ratio: 2.5 / 1;
}
.fs-1{
	font-size: 160%;
	line-height: 1.5;
}
.fs-2{
	font-size: 140%;
}
.ownerPhotoArea{
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}
.ownerName{
	width: 134px;
}
.tableScroll{
	overflow: auto;
    white-space: nowrap;
}
.tableScroll::-webkit-scrollbar{
 height: 5px;
}
.tableScroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.tableScroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
table.tableSt01{
	border-top: 1px solid #CCC;
}
table.tableSt01 th,
table.tableSt01 td{
	padding: 24px 30px;
	border-bottom: 1px solid #CCC;
}
table.tableSt01 th{
	width: 20%;
	border-top:1px solid #CCC;
	background: #EFEFEF;
	text-align: start;
}
table.tableSt02{
	width: 100%;
}
table.tableSt02 th{
	padding: 2px 16px;
	border-bottom: 3px solid #DDD;
	text-align: start;
}
table.tableSt02 td{
	padding: 16px;
	border-bottom: 1px solid #DDD;
}
table.tableSt03{
	border-top: 1px solid #CCC;
	border-left: 1px solid #CCC;	
}
table.tableSt03 th,
table.tableSt03 td{
	padding: 10px;
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;	
	text-align: center;
}
table.tableSt03 th{
	background: #EEE;
}
.tableHstry{
	margin-bottom: 40px;
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
}
.tableHstry th,
.tableHstry td{
	padding: 14px;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;	
}
.tableHstry th{
	background: #eeeeee;	
	font-size: 12px;
	font-weight: normal;
	text-align: right;
}

.tableHstry td{
	font-size: 13px;
	line-height: 1.1;
}

.cap{
	text-indent: -1em;
	padding-left: 1em;
}
.btnMap{
	letter-spacing: 0px;
	text-align: center;
	font-size: 90%;
}
.btnMap a:link,
.btnMap a:visited{
	border: 1px solid #DDD;
	display: block;
}
.btnMap a:hover,
.btnMap a:active{
	background: #EEE;
}
.pamphletList{
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
.pamphletList li{
	width: 48%;
	list-style: none;
	line-height: 1.5;
	font-size: 94%;
}
.bottomBnListBox{
    padding: 60px 0;
    width: 100%;
    background: #EEE;
}
.brandBnlist li{
	margin-left: auto;
	margin-right: auto;
	width: 350px;
	margin-bottom: 16px;
	list-style: none;
	text-align: start;
	line-height: 1.5;
}
/*.brandBnlist li img{
	max-width: 100%;
	height: auto;
}
*/
.brandBnlist li a:link,
.bottomservicebox .brandBnlist li a:visited{
	padding: 0;
	background: none;
}
.brandBnlist li a:link,
.brandBnlist li a:visited{
	
}
small{
	font-size: 70%;
}
@media (min-width: 768px) {
	.fs-1{
		font-size: clamp(2.3rem, 0.278rem + 4.63vw, 3.75rem);
		line-height: 2;
	}
	.fs-2{
		font-size:clamp(1.875rem, 0.764rem + 2.31vw, 2.5rem);
		line-height: 2;
	}
	.fs-5{
		font-size: 120%;
	}
	.fs-6{
		font-size: 140%;
	}
	.ownerPhotoArea{
		margin-left: 3em;
		width: 30%;
		float: right;
	}
	.pamphletList{
		justify-content: flex-start;
	}
	.pamphletList li{
		margin-right: 2em;
		width: 20%;
		font-size: 100%;
	}
	.brandBnlist{
		display: flex;
		justify-content:center;
	}
	.brandBnlist li{
		margin-left: 3px;
		margin-right: 30px;
		width: 300px;
	}
}
@media only screen and (max-width:768px){
	.fs-1{
		font-size: clamp(1.6rem, 0.278rem + 2.63vw, 3.75rem);
		line-height: 1.5;
		margin: 30px auto 20px;
	}
	table.tableSt01{
		width: 96%;
		border-top:none;
	}
	table.tableSt01 th,
	table.tableSt01 td{
		width: 100%;
		display: block;
		border: none;
	}
	table.tableSt01 th{
		padding: 8px 8px 4px 8px;
		background: #EFEFEF;
	}
	table.tableSt01 td{
		padding: 4px 0px 8px 8px;
	}
	.tableHstry th,
	.tableHstry td{
		padding: 8px;
		font-size: 86%;
	}
}

/*20240817追加*/
.colorRed{
	color: #C00;
}
/*CAPTION*/
.cap {
	padding-left: 1em;
	text-indent: -1em;
}
.cap05em {
	padding-left: 1em;
	text-indent: -1em;
}
.cap1em {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.cap2em {
	padding-left: 2em;
	text-indent: -2em;
}
.cap3em {
	padding-left: 3em;
	text-indent: -3em;
}
.cap35em {
	padding-left: 3.5em;
	text-indent: -3.5em;
}
.cap4em {
	padding-left: 4em;
	text-indent: -4em;
}
.cap5em {
	padding-left: 5em;
	text-indent: -5em;
}
.cap55em {
	padding-left: 5.7em;
	text-indent: -5.7em;
}
.cap6em {
	padding-left: 6em;
	text-indent: -6em;
}
.indent {
	text-indent: 1em;
}
.indent10 {
	padding-left: -1em;
	text-indent: 1em;
}
.indent15 {
	padding-left: -1.5em;
	text-indent: 1.5em;
}
.indent20 {
	padding-left: -2em;
	text-indent: 2em;
}
.indent-10 {
	margin-left: 1em;
	text-indent: -1em;
}
.indent-15 {
	margin-left: 1.5em;
	text-indent: -1.5em;
}
.indent-20 {
	margin-left: 2em;
	text-indent: -2em;
}
.indent-30 {
	margin-left: 3em;
	text-indent: -3em;
}
.indent-50 {
	margin-left: 5em;
	text-indent: -5em;
}
.indent-60 {
	margin-left: 6em;
	text-indent: -6em;
}
.marginLR16 {
	margin-left: 16px;
	margin-right: 16px;
}
.marginLR1em{
	margin-left: 1.5em;
	margin-right: 1.5em;
}
.borderBoxSt01{
	padding: 10px;
	border: 1px solid #CCC;
}
.borderBoxSt02{
	padding: 10px;
	border: 1px solid #DDD;
}
.bold{
	font-weight: bold;
}
.linkBlank{
	padding-right: 20px;
	background: url("../../images/share/icon_link.png") right 50% no-repeat;
	background-size: 14px;
	color: #441572;
}
.linkPdf{
	padding-top: 2px;
	padding-left: 30px;
	padding-right: 6px;
	background: url("../../images/share/PDF_24.png") left top no-repeat;
	color: #441572;	
}
@media (min-width: 768px) {
	.flexBox{
		display: flex;
		justify-content: space-between;
	}
	.order-pc-1{
		order: 1;
	}
	.borderBoxSt01,
	.borderBoxSt02{
		padding: 20px;
	}
}

/*20240826追加*/
.pageEyeCatch.eyeCatchMaintenance{
	width: 100%;
		height: 84vh;
	background: url("../../maintenance-and-inspection-services/images/eyecatch-maintenance.jpg") no-repeat;
	background-size: cover;
}
.pageEyeCatch.eyeCatchSoundImprovement{
	width: 100%;
	height: 84vh;
	background: url("../../sound-improvement-services/images/eyecatch-soundimprovement.jpg") no-repeat;
	background-size: cover;
}

/*2024.08.29 Topics
------------------------------------------------------------*/
.colorLink{
	color: #4b1e78;
	text-decoration: underline;
}
.btnMore{
	margin-left: auto;
	width: 150px;
	font-size: 80%;
	text-align: center;
}
.btnMore a{
	padding: 10px;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #333;
	color: #FFF;
}
.btnMore:hover{
	text-decoration: underline;
}
@media (max-width: 768px) {
	.pageEyeCatch.newsEyeCatch{
		height: auto;
		background: url("../../aboutus/images/eyecatch_sp.jpg") no-repeat;
		background-size: cover;
		aspect-ratio: 4 / 3;
	}
/*.leaseEyeCatch{
		height: auto;
		background: url("../../lease-information/images/lease-eyecatch-sp.jpg") no-repeat;
		background-size: cover;
		aspect-ratio: 4 / 3;
	}*/
}
@media (min-width: 768px) {
	.pageEyeCatch.newsEyeCatch{
		height: auto;
		background: url("../../aboutus/images/eyecatch.jpg") no-repeat;
		background-size: cover;
		aspect-ratio: 5 / 1;
	}
	.leaseEyeCatch{
		height: auto;
		background: url("../../lease-information/images/lease-eyecatch.jpg") no-repeat;
		background-size: cover;
		aspect-ratio: 5 / 1;
	}
	.section-topics240917{
		display: flex;
	}
	.section-topics240917 p{
		margin-right: 1em;
	}
}


/*20240929追加*/
.pageEyeCatch.intermissionEyeCatch{
	height: auto;
	position: relative;
}
.btnMoreSt01{
	margin-left: auto;
	margin-right: 0px;
	width: 280px;
	text-align: center;
	line-height: 1.5;
	font-size: 90%;
}
.btnMoreSt02{
	margin-left: auto;
	margin-right:auto;
	width: 280px;
	text-align: center;
	line-height: 1.5;
	font-size: 90%;
}
.btnMoreSt01 a:link,
.btnMoreSt01 a:visited,
.btnMoreSt02 a:link,
.btnMoreSt02 a:visited{
	padding: 10px 0px;
	background: #333;
	display: block;
	color: #FFF;
}
.btnMoreSt02 a:link,
.btnMoreSt02 a:visited{
	padding: 16px 0;
}
.intermissionTxtCatch{
	width: 60vw;
	position: absolute;
	left: 16px;
	top: 10%;
	color: #FFF;
}
.intermissionTxtCatch p{
	font-size: 70%;
	line-height: 1.6;
}
.tableSt04{
	width: 100%;
}
.tableSt04 th{
	font-weight: normal;
	font-size: 90%;
}
.tableSt04 th,
.tableSt04 td{
	padding: 16px;
}
.tableSt04 tr:nth-child(odd) th,
.tableSt04 tr:nth-child(odd) td{
	background: #F3F3F3;
}
		.font-size20{
		font-size: 138.5%;
	}
@media (max-width: 576px) {
	.tableSt04 th,
	.tableSt04 td{
		padding: 1px;
		width: 100%;
		display: block;
		text-align: start;
	}
	.tableSt04 th{
		padding: 10px 10px 2px 10px;
	}
	.tableSt04 td{
		padding: 2px 10px 10px 10px;		
	}
}
@media (min-width: 768px) {
	.intermissionTxtCatch{
		width: 60vw;
		top: 30%;
		transform: translateY(-30%);
	}
	.intermissionTxtCatch p{
		font-size:clamp(1.25rem, 0.096rem + 2.4vw, 2.5rem);
	}

}
@media (min-width: 1200px) {
	.intermissionTxtCatch{
		width: 40vw;
		left: 3em;
	}
}
@media (min-width: 1900px) {
	.pageEyeCatch.intermissionEyeCatch{
		overflow: hidden;
	}
	.pageEyeCatch.intermissionEyeCatch img{
		width: 100%;
		height: 78vh;
		object-fit: cover;
		object-position: left 0px bottom 0px;
	}
}
/*25.01.28追記
------------------------------------------------------------------------------*/
.pageEyeCatch.trackshotEyeCatch{
	height: 50vh;
	background: url("../images/yss_trackshot_eyechatch.jpg") no-repeat;
	background-size: cover;
}
.flex3LineTS{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex3LineTS p{
	margin-bottom: 1em;
	width: 48%;
	line-height: 1.4;
	font-size: 90%;
	text-align: center;
}
.h3ttlSt04{
	border-bottom:1px solid #e5e5e5;
	padding:0 0 40px 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.h3ttlSt04 .mtl{
	font-size:2rem;
	font-weight: bold;
	padding:0 20px;
	border-left:4px solid #441572;
}
.h3ttlSt04 .sub{
	font-size:1.4rem;
	color:#999;
	padding:0 0 0 20px;
	border-left:1px solid #999999;
	line-height: 1;
}
.h3ttlSt04 .cap{
	font-size:1.3rem;
	padding:10px 0 0 30px;
	line-height: 1;
	color:#666;
}
@media (min-width: 768px) {
	.pageEyeCatch.trackshotEyeCatch{
		height: 84vh;
	}
	.atecLinkBtnBox{
		margin-top: -40px;
		margin-bottom: 140px;
	}
	.flex3LineTS{
		justify-content: space-around;
	}
	.flex3LineTS p{
		width: 30%;
		font-size: 96%;
	}
	.flex3LineTS p img{
		width: 230px;
		height: auto;
	}
	.h3ttlSt04{
		flex-wrap: nowrap;
	}
	.h3ttlSt04 .cap{
		padding:0 0 0 70px;
	}
	.productIntroBox{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.productIntroPhotoArea{
		width: 40%;
	}
	.productIntroTxtArea{
		width: 55%;
	}
}

/*25.02.08追記
------------------------------------------------------------------------------*/
.afcImgBox{
	
}
.p-2em{
	padding: 0.8em;
}
@media (min-width: 768px) {
	.d-pc-flex-align-center{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.afcExpBox{
		width: 50%;
	}
	.afcImgBox{
		width: 45%;
	}
	.p-2em{
		padding: 2em;
	}
}
/*25.05.06追記
------------------------------------------------------------------------------*/
.mainvisualbox.mvMeterSystem{
	height: 300px;
	background: url("../images/ms_hp_main.jpg") center 50% no-repeat;
	background-size :cover;
}


@media (min-width: 768px) {
	.mainvisualbox.mvMeterSystem{
		height: auto;
		width: 100%;
		aspect-ratio:2/1;
	}
	.maininfobox.mainMeterSystemBox{
		margin-bottom: 280px;
	}
	.maininfobox.mainMeterSystemBox .txbox .tx{
		font-size:1.7rem;
		line-height: 3rem;
		padding:0 60px 0 0;
	}
	.w-md-50per{
		width: 48%;
	}
	.anchorBox{
		padding-top: 240px;
		margin-top: -240px;
		height: 240px;
		display: block;
	}
}

/*25.08.18追記
------------------------------------------------------------------------------*/
  .release-soon {
    background-color: #eeeeee;
    color: #222222;
    font-size: 12px;
	letter-spacing: 1px;
    font-weight: bold;
    padding: 2px 20px;
    display: inline-block;
    border-radius: 3px;
  }

/*26.02.05追記
------------------------------------------------------------------------------*/

.mainVisualSoundRx{
	margin-bottom: 40px;
	height: 240px;
	background: url("../images/soundrx-main-visual-bg.webp") center 50% no-repeat;
	background-size: auto 100%;
	position: relative;
}
.mainVisualSoundRx-logo{
	width: 100px;
	aspect-ratio:37/13;
	position: absolute;
	top: 3em;
	left: 2em;
}
.mainVisualSoundRx-logo img{
	aspect-ratio:37/13;
}
.mainVisualSoundRx-x{
	width: 200px;
	aspect-ratio:24/19;
	position: absolute;
	bottom: 0px;
	right: 0px;
}
.mainVisualSoundRx-x img{
	aspect-ratio:24/19;
}
@media (min-width: 768px) {
	.mainVisualSoundRx{
		height: 360px;
	}
	.mainVisualSoundRx-logo{
		width: 200px;
		left: 5vw;
	}
	.mainVisualSoundRx-x{
		width: 300px;
	}
}

@media (min-width: 1280px) {
	.bottom_productbox .btnflexbox a.iconlink{
		width:calc((100% - 90px )/ 5);
		margin:0 20px 30px 0;
	}
	.bottom_productbox .btnflexbox a.iconlink:nth-child(5){
		margin-right: 0px;
	}
	.mainVisualSoundRx{
		margin-bottom: 120px;
		height: 600px;
	}
	.mainVisualSoundRx-logo{
		width: 300px;
		left: 10vw;
	}
	.mainVisualSoundRx-x{
		width: 400px;
	}
	.maininfobox .txbox.txBoxSoundRx{
		width:calc(60%);
		padding:0 0 0 calc((100% - 1280px) / 2);
		position: relative;
		top:50px;
	}
}