
/* html
------------------------------------------------*/

html {
    overflow-y: scroll;
    height: 100%;
}

::selection {
    background: #076EAA;
    color: #fff;
}

//Firefox
::-moz-selection {
    background: #076EAA;
    color: #fff;
}


*{
	box-sizing: border-box;
}

sub{
	position: relative;
	top: -0.2em;
}

/* body
------------------------------------------------*/

body {
    margin: 0;
	color: #231F20;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "HiraginoKaku W3", Meiryo, sans-serif;
    font-size: 16px;
    text-align: left;
    line-height: 1.7em;
	font-weight: 400;
	overflow-x: hidden;
}


/* 99% for safari; 100% is too large */

select,
input,
textarea {
    font: 99%;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "HiraginoKaku W3", Meiryo, sans-serif;
}
select:focus,
input:focus,
textarea:focus{
outline:none;
}
textarea{
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "HiraginoKaku W3", Meiryo, sans-serif;
	border: #707070 solid 1px !important;
	resize: none;
	width: 100%;
}




/* Bump up !IE to get to 13px equivalent */

pre,
code {
    font: 115% monospace;
    *font-size: 100%;
}


/* link
------------------------------------------------*/

a {
    font-size: 100%;
	cursor: pointer;
}

a:link {
    color: #231F20;
    text-decoration: none;
}

a:visited {
    color: #231F20;
    text-decoration: none;
}

a:hover,
a:active {
    color: #231F20;
    text-decoration: underline;
}

a.under {
    text-decoration: underline;
}

a.under:hover {
    text-decoration: none;
}


/* img
------------------------------------------------*/

img {
    border: 0;
	vertical-align: middle;
}

a:active img {
    text-decoration: none;
}




/* text
------------------------------------------------*/

strong {
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0em;
}

em {
    font-weight: bold;
    font-style: normal;
    line-height: 1.2;
}

address {
    font-style: normal;
}

sup{
	position: relative;
	top: 3px;
	margin-left: 3px;
}


/* h1, h2, h3, h4, h5, h6
------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1em;
    margin: 0;
}


/* paragraph
------------------------------------------------*/

div {
    margin: 0;
}

p {
    margin: 0;
}


/* list
------------------------------------------------*/

ul {
    list-style-type: disc;
    margin: 0;
    padding: 0;
}

ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ul li ul {
    list-style: disc;
    margin: 0;
}

ol {
    list-style: decimal;
    margin: 0;
    padding-left: 0;
}

dl {
    margin: 0;
}

dl dt {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

dl dd {
    margin: 0;
    line-height: 1.5;
}


/* form
--------------------------------------*/

input,
textarea,
select {
    margin: 0;
    font-size: 15px;
	-webkit-appearance: none; 
	line-height: 1.5em;
	padding: 0.5em 1.2em;
	box-sizing: border-box;
	-moz-appearance: textfield;
	border: none;
	border-radius: 0;
}

input[type="submit"],
input[type="button"]{
	-webkit-appearance: none;
}

input:focus,
textarea:focus {
  outline: 0;
}

option {
    padding-left: 0px;
}

.Eng {
    ime-mode: disabled;
}


/* common rules
================================================*/


/* align
------------------------------------------------*/

.right {
    text-align: right;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.middle {
    vertical-align: middle;
}

.bottom {
    vertical-align: bottom;
}

.top {
    vertical-align: top;
}

.red{
	color: #f00;
}
.black{
	color: #000;
}


/* table
------------------------------------------------*/

table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
}


/* width
------------------------------------------------*/

.w100p {
    width: 100%;
}

.w50 {
    width: 50px;
    max-width: 50px;
}

.w100 {
    width: 100px;
    max-width: 100px;
}

.w200 {
    width: 200px;
    max-width: 200px;
}

.w300 {
    width: 300px;
    max-width: 300px;
}

.w400 {
    width: 400px;
    max-width: 400px;
}


/* text
------------------------------------------------*/

.f22 {
    font-size: 22px;
}

.f20 {
    font-size: 20px;
}

.f18 {
    font-size: 18px;
}

.f16 {
    font-size: 16px;
}

.f14 {
    font-size: 14px;
}

.f12 {
    font-size: 12px;
    line-height: 1em;
}


/*12px*/

.f-11 {
    font-size: 11px;
}


/*11px*/

.f-10 {
    font-size: 10px;
    line-height: 1.5em;
}


/*10px*/

.f-8 {
    font-size: 8px;
}

.f-warning {
    color: #C00;
}

.f-red {
    color: #FF0000;
}

.f-pink {
    color: #dc4d70;
}

.f-bk {
    color: #000;
}

.f-gy {
    color: #666;
}

.f-wt {
    color: #FFF;
}

.f-br {
    color: #b28146;
}

.f-plain {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}
.normal{
	font-weight: normal;
}

.submessage {
    font-size: 11px;
}


/*10px*/


/* margin
------------------------------------------------*/

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.mT2 {
    margin-top: 2px;
}

.mT5 {
    margin-top: 5px;
}
.mT10 {
    margin-top: 10px;
}
.mT15 {
    margin-top: 15px;
}
.mT20 {
    margin-top: 20px;
}
.mT30 {
    margin-top: 30px;
}
.mT35 {
    margin-top: 35px;
}
.mT40 {
    margin-top: 40px;
}
.mT50 {
    margin-top: 50px;
}
.mT60 {
    margin-top: 60px;
}
.mT80 {
    margin-top: 80px;
}

.mL5 {
    margin-left: 5px;
}

.mL10 {
    margin-left: 10px;
}

.mL15 {
    margin-left: 15px;
}

.mL18 {
    margin-left: 18px;
}

.mL20 {
    margin-left: 20px;
}

.mL30 {
    margin-left: 30px;
}

.mL35 {
    margin-left: 35px;
}

.mL50 {
    margin-left: 50px;
}

.mL100 {
    margin-left: 100px;
}

.mL200 {
    margin-left: 200px;
}

.mR5 {
    margin-right: 5px;
}

.mR10 {
    margin-right: 10px;
}

.mR15 {
    margin-right: 15px;
}

.mR20 {
    margin-right: 20px;
}

.mR30 {
    margin-right: 30px;
}

.mLR10 {
    margin-right: 10px;
    margin-left: 10px;
}

.mLR20 {
    margin-right: 20px;
    margin-left: 20px;
}

.mB5 {
    margin-bottom: 5px;
}

.mB10 {
    margin-bottom: 10px;
}

.mB15 {
    margin-bottom: 15px;
}

.mB20 {
    margin-bottom: 20px;
}

.mB30 {
    margin-bottom: 30px;
}

.mB40 {
    margin-bottom: 40px;
}

.mB50 {
    margin-bottom: 50px;
}

.mB60 {
    margin-bottom: 60px;
}

.mTB10 {
    margin-top: 10px;
    margin-bottom: 10px;
}


/* float
------------------------------------------------*/

.Lfloat {
    float: left;
}

.Rfloat {
    float: right;
}


/* [hack] clear fix
--------------------------------------*/

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
    min-height: 1%;
    /* for IE 7*/
}


/* Hides from IE-mac \*/

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}





@media screen and (max-width:959px){
	body,
	textarea, select{

	}

}



/* スマホ
------------------------------------------------*/
@media screen and (max-width:767.5px){
	body{
		font-size: 14px;
	}
	
	.mT10,.mT15 {
		margin-top: 3%;
	}
	.mT20,.mT30,.mT35 {
		margin-top: 5%;
	}
	.mT40,.mT50,.mT60{
		margin-top: 7%;
	}
	
	.mT80{
		margin-top: 12%;
	}
	
	
	input, textarea{
		width: calc(114% - 14px);
		transform: scale(0.9);
		font-size: 16px;
	}
	
	textarea{
		margin-left: -5%;
		padding: 0.5em 0.8em;
	}
	

}


@media print{
	.mT50 {
		margin-top: 20px !important;
	}
	.mT60 {
		margin-top: 30px;
	}
	.mT100 {
		margin-top: 50px !important;
	}
	
	
}





/* show_sp
--------------------------------------*/
.sSP {
    display: none;
}


/* general layout
================================================*/

.flexBox{
	display: flex;
}
.ac{
	align-items: center;
}
.jsb{
	justify-content: space-between;
}


.btnW a{
	display: block;
	color: #fff;
	border: #fff solid 2px;
	text-decoration: none;
	text-align: center;
	font-size: 24px;
	padding: 1em;
	position: relative;
	transition: 0.2s;
}
.btnW a:hover{
	color: #076EAA;
}
.btnW a:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	display: block;
	background: #fff;
	transition: 0.2s;
}
.btnW a:hover:before{
	width: 100%;
}
.btnW a span{
	position: relative;
	z-index: 10;
}

.btnB a{
	display: block;
	color: #076EAA;
	border: #076EAA solid 2px;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	padding: 1em;
	position: relative;
	transition: 0.2s;
	font-weight: bold;
	background: #fff;
	line-height: 1.3em;
}
.btnB a:hover{
	color: #fff;
}
.btnB a:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	display: block;
	background: #076EAA;
	transition: 0.2s;
}
.btnB a:hover:before{
	width: 100%;
}
.btnB a span{
	position: relative;
	z-index: 10;
}


.btnBlueGrada a,
.btnBlueGrada > *{
	background: rgb(35,2,124);
	background: linear-gradient(45deg, #23027C 0%, #0866A8 100%);
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	padding: 1em;
	position: relative;
	transition: 0.2s;
	font-weight: bold;
	line-height: 1.3em;
	cursor: pointer;
}
.btnBlueGrada a,:hover
.btnBlueGrada > *:hover{
	color: #fff !important;
}

.btnBlueGrada a:before,
.btnBlueGrada > *:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	display: block;
	background: #23027C;
	transition: 0.2s;
}
.btnBlueGrada a:hover:before,
.btnBlueGrada > *:hover:before{
	width: 100%;
}
.btnBlueGrada span{
	position: relative;
	z-index: 10;
}
.btnBlueGrada.toggle > *{
	background: #fff;
	color: #2C69A9;
	border: #2C69A9 solid 1px;
}



/* ラジオボタン */
.radioDesign,
.checkboxDesign{
	position: relative;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.radioDesign input ,
.checkboxDesign input {
	opacity: 0;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transform: scale(1);
}

.radioDesign input + span,
.checkboxDesign input + span {
	position: relative;
	border: #CBCBCB solid 1px; 
	width: 18px;
	height: 18px;
	display: inline-block;
	margin-right: 7px;
	background: #fff;
	border-radius: 20px;
}
.radioDesign input + span:before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
}
.radioDesign input:checked + span:before{
	content: "";
	background: #076EAA;
	width: 12px;
	height: 12px;
	position: absolute;
	bottom: 2px;
	left: 2px;
	border-radius: 20px;
}

.checkboxDesign input + span{
	width: 20px;
	height: 20px;
	border-radius: 0;
}
.checkboxDesign input:checked + span:before{
	content: "";
	background: #076EAA;
	width: 7px;
	height: 3px;
	transform: rotate(45deg);
	position: absolute;
	bottom: 5px;
	left: 2px;
}
.checkboxDesign input:checked + span:after{
	content: "";
	background: #076EAA;
	width: 13px;
	height: 3px;
	transform: rotate(133deg);
	position: absolute;
	top: 8px;
	right: 1px;
}




#titleArea{
	background: rgb(255,255,255);
	background: linear-gradient(0deg, #fff 0%, #dce9f3 100%);
	padding: 4em 40px 2em;
	position: relative;
}
#titleArea:before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 30%; 
	border-bottom: 200px solid #fff;
	border-left: 100px solid transparent;
}
#titleAreaIn{
	max-width: 1500px;
	margin: 0 auto;
}
#titleAreaIn h2{
	font-size: 50px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1.2em;
	position: relative;
	z-index: 10;
}
.constructiondetail #titleAreaIn h2{
	display: block;
}
#titleAreaIn h2 span{
	font-size: 60%;
	color: #076EAA;
	margin-left: 1em;
	position: relative;
	padding: 0 1.8em;
}
#titleAreaIn h2 span:before,
#titleAreaIn h2 span:after{
	content: "";
	width: 1.3em;
	height: 2px;
	background: #076EAA;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
#titleAreaIn h2 span:before{
	left: 0;
}
#titleAreaIn h2 span:after{
	right: 0;
}
.constructiondetail #titleArea{
	background: none;
}
.constructiondetail #titleArea:before{
	display: none;
}


#Breadcrumb{
	display: flex;
	flex-wrap: wrap;
	color: #000;
	font-size: 12px;
	margin-top: 3em;
	position: relative;
	z-index: 10;
}
.tag + #Breadcrumb{
	margin-top: 2.5em;
}
#Breadcrumb li{
	display: flex;
	align-items: center;
	line-height: 1.5em;
}
#Breadcrumb li:nth-of-type(n+2){
	margin-left: 1em;
}
#Breadcrumb li:nth-of-type(n+2):before{
	content: ">";
	display: inline-block;
	margin-right: 1em;
}
#Breadcrumb li a{
	color: #000;
}

#titleAreaIn .tag{
	display: flex;
	flex-wrap: wrap;
	margin-top: 1.5em;
}
#titleAreaIn .tag li{
	padding: 0.3em 0.7em;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5em;
}
#titleAreaIn .tag li:nth-of-type(n+2){
	margin-left: 0.7em;
}
#titleAreaIn .tag li.gray{
	background: #DBDADA;
}
#titleAreaIn .tag li.blue{
	background: #076EAA;
	color: #fff;
}

.halfContent{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.halfContent .halfIn{
	width: 48%;
}


#constructionList{
	background: #E5E5E5;
	margin-top: 7em;
}

#constructionStartOuter{
	position: relative;
	padding: 5em 40px 6em;
	background: #E5E5E5;
}
#constructionStartOuter .watermarkTxt{
	font-size: 80px;
	color: #dadada;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1em;
}

#constructionStartOuter:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20%;
	height: 100%;
	background: url("/product/prostruct/images/advantage/construction_bg.png") center bottom no-repeat;
	background-size: 100% auto;
}

#constructionStartIn{
	position: relative;
	z-index: 10;
	max-width: 1200px;
	margin: 0 auto;
}
#constructionStartIn h4,
#packageOuter h4{
	font-size: 34px;
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 0.7em;
	line-height: 1.5em;
}
#constructionStartIn h4:before,
#packageOuter h4:before{
	content: "";
	display: block;
	position: absolute;
	bottom: 0.2em;
	left: 0;
	width: 2.2em;
	height: 2px;
	background: #0965A8;
}
.w1000{
	display: none;
}


#appealArea {
	padding: 3em 40px;
	background: #076eaa;
	color: #fff;
}
#appealAreaIn {
	text-align: center;
	line-height: 1.66;
	font-size: 1.5em;
	font-weight: bold;
}


#advantageFooterMenu{
	background: #E5E5E5;
	padding: 4em 40px;
	position: relative;
}
#advantageFooterMenuIn{
	max-width: 1000px;
	margin: 0 auto;
}
#advantageFooterMenuIn:before,
#advantageFooterMenuIn:after{
	content: "";
	display: block;
	position: absolute;
	width: 15%;
	height: 100%;
	background: url("/product/prostruct/images/advantage/construction_bg.png") center bottom no-repeat;
	background-size: 100% auto;
}
#advantageFooterMenuIn:before{
	top: 0;
	left: 0;
	 transform:rotate(180deg);
}
#advantageFooterMenuIn:after{
	bottom: 0;
	right: 0;
}

#advantageFooterMenuIn h2{
	font-size: 34px;
	text-align: center;
	margin-bottom: 0.7em;
}
#advantageFooterMenuIn ul{
	position: relative;
	z-index: 10;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#advantageFooterMenuIn ul li{
	width: 24%;
	background: rgb(7,110,170);
	background: radial-gradient(circle, #076eaa 0%, #054a83 100%);
	font-size: 26px;
	line-height: 1em;
	position: relative;
}
#advantageFooterMenuIn ul li:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #054A83;
	transition: 0.2s;
}
#advantageFooterMenuIn ul li:hover:before{
	width: 100%;
}
#advantageFooterMenuIn ul li:after{
	content: "";
	position: absolute;
	bottom: 5px;
	right: 5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 20px 20px;
	border-color: transparent transparent #fff transparent;
}
 /*#advantageFooterMenuIn ul li span{
	font-size: 55%;
	background: #231F20;
	text-align: center;
	width: fit-content;
	font-weight: normal;
	padding: 0 1em;
	margin-top: 1em;
} */
#advantageFooterMenuIn ul li a{
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 9.2em;
	position: relative;
	z-index: 10;
	line-height: 1.3em;
}


#packageMenu{
	padding: 80px 40px;
	background: linear-gradient(180deg, #f1f1f1 0, #fff 470px);
}
#packageMenu .packageIn{
	margin: 0 auto;
	max-width: 1200px;
}
#packageMenu .title{
	margin-bottom: 1em;
	text-align: center;
	color: currentColor;
	line-height: 1.5;
	font-size: 30px;
}
#packageMenu .packageTab{
	background: #fff;
	text-underline-offset: 0.25em;
}
#packageMenu .packageTab sup {
	top: 0.1em;
	margin-left: 0;
}
#packageMenu .packageTab input[type="radio"]{
	display: none;
}
#packageMenu .packageTab .tabLabelWrap{
	display: flex;
	align-items: center;
	background: #3e63a2;
	color: #fff;
}
#packageMenu .packageTab .tabLabelWrap .tabLabel{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	line-height: 1.2;
	padding: 1.2em 1em;
	font-size: 22px;
	font-weight: bold;
	cursor: pointer;
	transition: 0.2s;
}
#packageMenu .packageTab .tabLabelWrap .tabLabel:hover{
	text-decoration: underline;
}
#packageMenu .packageTab .tabLabelWrap .tabLabel::after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: currentcolor solid 3px;
	border-right: currentcolor solid 3px;
	transform: rotate(45deg);
	transition: 0.2s;
}
#packageMenu .packageTab .tabContentWrap{
	padding: 1em 4.66%;
	border: 10px solid #2ca6e0;
	transition: 0.2s;
}
#packageMenu .packageTab .tabContentWrap .tabContent{
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.2s;
	font-weight: 400;
	column-count: 2;
	column-gap: 1em;
	column-width: 26em;
}
#packageMenu .packageTab .tabContentWrap .tabContent a{
	display: flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.4em 0;
}
#packageMenu .packageTab .tabContentWrap .tabContent a::before {
	content: "";
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	border-top: #076eaa solid 2px;
	border-right: #076eaa solid 2px;
	transform: rotate(45deg);
}
#packageMenu .packageTab #packageMenuSwitch1:checked ~ .tabLabelWrap .tabLabel1,
#packageMenu .packageTab #packageMenuSwitch2:checked ~ .tabLabelWrap .tabLabel2{
	color: currentcolor;
	background: #2ca6e0;
}
#packageMenu .packageTab #packageMenuSwitch1:checked ~ .tabLabelWrap .tabLabel1:hover,
#packageMenu .packageTab #packageMenuSwitch2:checked ~ .tabLabelWrap .tabLabel2:hover{
	text-decoration: none;
}
#packageMenu .packageTab #packageMenuSwitch1:checked ~ .tabLabelWrap .tabLabel1::after,
#packageMenu .packageTab #packageMenuSwitch2:checked ~ .tabLabelWrap .tabLabel2::after{
	transform: rotate(135deg);
	margin-top: -0.3em;
}
#packageMenu .packageTab #packageMenuSwitch1:checked ~ .tabContentWrap .tabContent1,
#packageMenu .packageTab #packageMenuSwitch2:checked ~ .tabContentWrap .tabContent2{
	height: auto;
	opacity: 1;
}


/* wrap
------------------------------------------------*/




/* header
------------------------------------------------*/
header{
	display: flex;
	justify-content: space-between;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 90px;
	background: #fff;
	padding: 0 0 0 50px;
	z-index: 1000;
	transition: 0.2s;
}

header::after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	opacity: 0;
	border-bottom: 1px solid #d1d1d1;
	transition: 0.2s;
}
header.scrolled::after{
	opacity: 1;
}
header sup {
	top: 0.1em;
	margin-left: 0;
}
header #headerL{
	display: flex;
}
header #headerL .spHMenu{
	display: none;
}
header #headerL h1{
	width: 217px;
	margin-right: 1em;
	display: flex;
	align-items: center;
}
header #headerL h1 a{
	transition: 0.2s;
	width: 100%;
}
header #headerL h1 a:hover{
	opacity: 0.7;
}
header #headerL .logoNS{
	display: none;
	max-width: 217px;
	margin-right: 2em;
}
header #headerL .menu01{
	display: flex;
	height: 100%;
}
header #headerL .menu01 li{
	font-size: 16px;
	font-weight: bold;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
header #headerL .menu01 li a{
	text-decoration: none;
	transition: 0.2s;
	display: block;
}
header #headerL .menu01 li a:hover{
	color: #076EAA;
}
header #headerL .menu01 li:nth-of-type(n+2){
	margin-left: 2em;
}

@media screen and (min-width:999.5px){
	header #headerL .menu01 .menuHover > p{
		position: relative;
	}
	header #headerL .menu01 .menuHover > p::after {
		content: '';
		position: absolute;
		top: calc(100% + 0.25em);
		left: 50%;
		width: 12px;
		height: 14px;
		margin-left: -6px;
		background: url(/product/prostruct/images/common/icon_submenu.svg) top center no-repeat;
	}
	header #headerL .menu01 .menuHover:hover > p::after{
		background-image: url(/product/prostruct/images/common/icon_submenu_active.svg);
	}
	header #headerL .menu01 .package::after{
		content: '';
		width: 0;
		height: 2em;
		margin-left: 2em;
		border-right: 1px solid #707070;
	}
	header #headerL .menu01 .package > p{
		background: #f0f0f0;
		padding: 0.15em 1em;
	}

	header #headerL .menu01 .menuHover:hover{
		/*color: #076EAA;*/
	}
	header #headerL .menu01 .menuHover:hover .menuSub{
		visibility: visible;
		opacity: 1;
		height: 8.125em;
	}
	header #headerL .menu01 .package:hover .packageTab{
		visibility: visible;
		opacity: 1;
		height: auto;
	}
}
header #headerL .menu01 .menuSub{
	background-color: #2ca6e0;
	color: #fff;
	width: 100%;
	position: absolute;
	top: 90px;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: 0.2s;
	height: 0;
}
header #headerL .menu01 .menuSub .menuSubIn{
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1200px;
	margin: 3em auto 3em 10%;
	padding: 0 40px;
}
header #headerL .menu01 .menuSub .menuSubIn .title{
	padding-right: 2em;
	border-right: 2px solid currentcolor;
	line-height: 1.2;
	font-weight: bold;
	font-size: 28px;
}
header #headerL .menu01 .menuSub .menuSubIn ul{
	display: flex;
	flex-wrap: wrap;
}
header #headerL .menu01 .menuSub .menuSubIn ul li{
	position: relative;
	margin-left: 3.33em;
	font-size: 18px;

}
header #headerL .menu01 .menuSub .menuSubIn ul li a{
	margin-left: -0.2em;
	display: flex;
	align-items: center;
	gap: 0.5em;
	color: currentcolor;
}
header #headerL .menu01 .menuSub .menuSubIn ul li a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: currentcolor solid 2px; /*#076eaa*/
  border-right: currentcolor solid 2px;
  transform: rotate(45deg);
}
header #headerL .menu01 .menuSub .menuSubIn ul li a:hover{
	opacity: 0.7;
}

header #headerL .menu01 .packageTab {
	text-underline-offset: 0.25em;
}
@media screen and (min-width:999.5px){
	header #headerL .menu01 .packageTab{
		position: absolute;
		top: 90px;
		left: 0;
		right: 0;
		display: flex;
		visibility: hidden;
		color: #fff;
		background: #2ca6e0;
		height: 0;
		border-bottom: 1px solid #d1d1d1;
		opacity: 0;
		transition: 0.2s;
	}
}
header #headerL .menu01 .packageTab input[type="radio"]{
	display: none;
}
header #headerL .menu01 .packageTab .tabLabelWrap{
	background: #3e63a2;
	padding-left: 300px;
}
header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel{
	display: flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.69em 2em;
	min-width: 190px;
	font-size: 18px;
	cursor: pointer;
	transition: 0.2s;
}
header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel:hover{
	text-decoration: underline;
}
header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel::before {
	content: "";
	width: 8px;
	height: 8px;
	border-top: #fff solid 2px;
	border-right: #fff solid 2px;
	transform: rotate(45deg);
}
header #headerL .menu01 .packageTab .tabContentWrap{
	padding: 1em 2em;
}
header #headerL .menu01 .packageTab .tabContentWrap .tabContent{
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.2s;
	font-weight: 400;
}
header #headerL .menu01 .packageTab .tabContentWrap .tabContent a{
	display: flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.5em;
	color: currentColor;
}
header #headerL .menu01 .packageTab .tabContentWrap .tabContent a:hover{
	text-decoration: underline;
}
header #headerL .menu01 .packageTab .tabContentWrap .tabContent a::before {
	content: "";
	width: 8px;
	height: 8px;
	border-top: #fff solid 2px;
	border-right: #fff solid 2px;
	transform: rotate(45deg);
}
header #headerL .menu01 .packageTab #headerPackageSwitch1:checked ~ .tabLabelWrap .tabLabel1,
header #headerL .menu01 .packageTab #headerPackageSwitch2:checked ~ .tabLabelWrap .tabLabel2{
	color: currentcolor;
	background:#2ca6e0;
}
header #headerL .menu01 .packageTab #headerPackageSwitch1:checked ~ .tabLabelWrap .tabLabel1:hover,
header #headerL .menu01 .packageTab #headerPackageSwitch2:checked ~ .tabLabelWrap .tabLabel2:hover{
	text-decoration: none;
}
header #headerL .menu01 .packageTab #headerPackageSwitch1:checked ~ .tabContentWrap .tabContent1,
header #headerL .menu01 .packageTab #headerPackageSwitch2:checked ~ .tabContentWrap .tabContent2{
	height: auto;
	opacity: 1;
}

@media screen and (max-width:1299.5px) and (min-width:999.5px){
	header #headerL .menu01 .menuSub:before{
		left: 25em;
	}
}

@media screen and (max-width:1149.5px) and (min-width:999.5px){
	header #headerL .menu01 .menuSub:before{
		left: 23em;
	}
}
@media screen and (max-width:1279.5px){
	header #headerL .menu01 .menuSub{
		top: 70px;
	}
	header #headerL .menu01 .menuSub .menuSubIn{
		margin-left: auto;
	}
	header #headerL .menu01 .menuSub .menuSubIn .title{
		padding-right: 1.33em;
		font-size: 24px;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li{
		font-size: 16px;
		margin-left: 2em;
	}
	header #headerL .menu01 .packageTab{
		top: 70px;
	}
	header #headerL .menu01 .packageTab .tabLabelWrap{
		padding-left: 194px;
	}
	header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel{
		min-width: 140px;
		font-size: 16px;
	}
}



header #headerR{
	display: flex;
}
header #headerR .menu02{
	display: flex;
	height: 100%;
}
header #headerR .menu02 li{
	font-size: 16px;
	width: 10.875em;
	text-align: center;
	line-height: 1.3em;
	transition: 0.2s;
	position: relative;
}
header #headerR .menu02 li:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	transition: 0.2s;
}
header #headerR .menu02 li:hover:before{
	width: 100%;
}
header #headerR .menu02 li img{
	width: 22px;
	margin-right: 0.5em
}
header #headerR .menu02 li a{
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	height: 100%;
	position: relative;
	z-index: 10;
}
header #headerR .menu02 li span{
	text-align: left;
}
header #headerR .menu02 li.contact{
	background: #076EAA;
}
header #headerR .menu02 li.contact:before{
	background: #054A83;
}
header #headerR .menu02 li.catalog{
	background: #05316B;
}
header #headerR .menu02 li.catalog:before{
	background: #001839;
}

header.kv{
	background: transparent;
}
header.kv::after{
	opacity: 0;
}
@media screen and (min-width:999.5px){
	header.kv #headerL .menu01 .menuHover > p::after{
		background-image: url(/product/prostruct/images/common/icon_submenu_white.svg);
	}
	header.kv #headerL .menu01 .menuHover:hover > p::after{
		background-image: url(/product/prostruct/images/common/icon_submenu_active_white.svg);
	}
	header.kv #headerL .menu01 .menuHover > p,
	header.kv #headerL .menu01 > li > a{
		color: #fff;
	}
	header.kv #headerL .menu01 .package > p{
		color: currentcolor;
	}
	header.kv #headerL .menu01 .package::after{
		border-color: #fff;
	}
}
header.kv #headerL h1{
	display: none;
}
header.kv #headerL .logoNS{
	display: flex;
	align-items: center;
}

header #headerR .menu02 li.language{
	background: #5199C3;
	width: 5.875em;
	cursor: pointer;
}
header #headerR .menu02 li.language p {
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    color: #fff;
    text-decoration: none;
    height: 100%;
    position: relative;
    z-index: 10;
    padding: .5rem 1.5rem;
}

@media screen and (max-width:767.5px){
	header #headerR .menu02 li.language p {
		gap: 0rem;
	}
}

header #headerR .menu02 li.language p span {
	position: relative;
	display: block;
	padding-right: 1rem;
}
header #headerR .menu02 li.language p span::after {
	content: '';
	position: absolute;
	top: .3rem;
	right: 0;
	display: inline-block;
	width: 12px;
	height: 14px;
	background: url(/en/product/prostruct/images/common/icon_submenu_white.svg) top center no-repeat;
}
header #headerR .menu02 li.language .menuSub {
	background-color: white;
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
	top: 90px;
	visibility: hidden;
	opacity: 0;
	height: 0;
	transition: .2s;
}
header #headerR .menu02 li.language .menuSub a {
	color: #054A83;
	font-weight: bold;
	padding: .5rem 2.1rem;
}
header #headerR .menu02 .menuHover:hover .menuSub{
	visibility: visible;
	opacity: 1;
	height: 34px;
}




/* footer
------------------------------------------------*/
footer{
	background: #E5E5E5;
}

#contactFooter{
	background: rgb(7,110,170);
	background: linear-gradient(45deg, #05306A 0%, #076EAA 100%);
	padding: 0 40px;
	color: #fff;
}
#contactFooterIn{
	padding: 3em 0;
	max-width: 950px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#contactFooterIn .txt{
	font-size: 28px;
	line-height: 1.8em;	
	width: 50%;
}
#contactFooterIn .btnW{
	width: 47%;
	font-weight: bold;
}

#footerMenu{
	max-width: 1200px;
	padding: 5em 40px 2em;
	margin: 0 auto;
}
#footerMenu .menu01{

	border-bottom: #4B4B4B solid 1px;
	margin-bottom: 3em;
	padding-bottom: 3em;
}
#footerMenu .menu01 .menu01In{

}
#footerMenu .menu01 .menu01In:nth-of-type(n+2){
	margin-top: 2em;
}
#footerMenu .menu01 .menu01In ul{
	display: flex;
}
#footerMenu .menu01 .menu01In ul li{
	display: flex;
	font-size: 18px;
}
#footerMenu .menu01 .menu01In ul li a{

	font-weight: bold;
}
#footerMenu .menu01 .menu01In ul li:nth-of-type(n+2){
	/*margin-top: 2.5em;*/
	margin-left: 2.5em;
}

#footerMenu .menu01 .menu01In ul li ul li{

}

#footerMenu .menu01 .menu01In ul li ul li a{
	font-weight: normal;
	position: relative;
	padding-left: 0.7em;
}
#footerMenu .menu01 .menu01In ul li ul li a:before{
	content: "";
	position: absolute;
	top: 0;
	left: -0.2em;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border-top: #2680EB solid 2px;
	border-right: #2680EB solid 2px;
	transform:rotate(45deg);
}

#footerMenu .menu01 .menu01In ul.folding{
	display: flex;
	flex-wrap: wrap;
	margin-left: 2.5em;
}
#footerMenu .menu01 .menu01In ul.folding li{
	margin-right: 2.5em;
	margin-left: 0;
	width: fit-content;
}

footer #closing{
	position: relative;
}
footer #closing .logo{
	max-width: 200px;
}
footer #closing .logo a,
footer #closing .nipponsteel a{
	transition: 0.2s;
}
footer #closing .logo a:hover,
footer #closing .nipponsteel a:hover{
	opacity: 0.7;
}
footer #closing .copy{
	font-size: 12px;
	margin-top: 1em;
} 
footer #closing ul{
	display: flex;
	position: absolute;
	top: 1em;
	right: 0;
}
footer #closing ul li{
	line-height: 1.3em;
	position: relative;
	font-size: 12px;
}
footer #closing ul li:nth-of-type(n+2){
	padding-left: 1em;
	margin-left: 1em;
}
footer #closing ul li:nth-of-type(n+2):before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 1px;
	background: #231F20;
}
footer #closing .nipponsteel{
	position: absolute;
	bottom: 1em;
	right: 0;
	max-width: 175px;
}



#pageTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 70px;
	height: 70px;
	z-index: 1000;
	background-color:rgba(35,31,32,0.9);
	cursor: pointer;
	display: none;
	transition: 0.2s;
}
#pageTop:hover{
	opacity: 0.7;
}
#pageTop:before,
#pageTop:after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
}
#pageTop:before{
	height: 2px;
	background: #fff;
	width: 1.5em;
	top: -1.3em;
}
#pageTop:after{
	transform: rotate(-45deg);
	width: 1.1em;
	height: 1.1em;
	border-top: #fff solid 2px;
	border-right: #fff solid 2px;
	top: 1.4em;
	left: 1px;
}


@media screen and (max-width:1299.5px){
	header{
		padding: 0 0 0 20px;
	}
	header #headerL h1 {
		margin-right: 0.7em;
	}
	header #headerL .logoNS{
		margin-right: 1.4em;
	}
	header #headerL .menu01 li:nth-of-type(n+2),
	header #headerL .menu01 .package::after{
		margin-left: 1.2em;
	}
}


@media screen and (max-width:1279.5px){
	header {
		height: 70px;
	}
	header #headerL .menu01 li{
		font-size: 14px;
	}
	header #headerR .menu02 li {
		font-size: 14px;
	}
	#advantageFooterMenuIn ul li a{
		height: 20vw;
	}

}


@media screen and (max-width:1149.5px){
	header #headerL h1,
	header #headerL .logoNS{
		max-width: 175px;
	}
	header #headerR .menu02 li{
		width: 10em;
	}
	header #headerR .menu02 li br {
		display: block;
	}
	#footerMenu .menu01 .menu01In ul li a {
		font-size: 16px;
	}
}

@media screen and (max-width:819.5px){
	#footerMenu .menu01 .menu01In ul.folding li {
		margin-right: 1.5em;
	}
}



/*header 1000px以下からスマホ*/
@media screen and (max-width:999.5px){
	
	header{
		padding-right: 70px;
	}
	header #headerL .spHMenu{
		width: 70px;
		height: 70px;
		position: fixed;
		top:0;
		right: 0;
		display: block;
		z-index: 100000;
		background: #E5E5E5;
	}

	a.spHMenu:before,
	a.spHMenu span,
	a.spHMenu:after{
		background-color: #076EAA;
		content: " ";
		height: 2px;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		position: absolute;
		transition: all 0.4s ease-out 0s;
		width: 28px;

	}

	a.spHMenu:before{
		top: -20px;
	}
	a.spHMenu:after{
		top: 20px;
	}
	a.spHMenu.MenuOpen{
		background: #CF6495;
	}
	a.spHMenu.MenuOpen:before{
		top: 0;
		transform: rotate(225deg);
	}
	a.spHMenu.MenuOpen:after{
		top: 0;
		transform: rotate(-225deg);
	}
	a.spHMenu.MenuOpen span{
		background-color: #3D436A;
		opacity:0;
	}
	header #headerL .logoNS{
		max-width: 175px;
		margin-top: 20px;
	}
	header #headerL a.spHMenu + nav{
		display: none;
		background: #E5E5E5;
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		padding: 0 20px;
		height: calc(100vh - 70px);
	}
	header #headerL .menu01{
		display: block;
		margin-top: 2em;
		border-bottom: #4B4B4B solid 1px;
		
	}
	header #headerL .menu01 li{
		margin: 0 !important;
		border-top: #4B4B4B solid 1px;
		display: block;
	}
	header #headerL .menu01 li a,
	header #headerL .menu01 li > p{
		position: relative;
		padding: 1em 0;
		display: block;
		width: 100%;
	}
	header #headerL .menu01 li a:before{
		content: "";
		position: absolute;
		top: 0;
		right: 0.2em;
		bottom: 0;
		margin: auto;
		width: 7px;
		height: 7px;
		border-top: #2680EB solid 2px;
		border-right: #2680EB solid 2px;
		transform: rotate(45deg);
	}
	header #headerL .menu01 li a:before{
		content: "";
		position: absolute;
		top: 0;
		right: 0.2em;
		bottom: 0;
		margin: auto;
		width: 7px;
		height: 7px;
		border-top: #2680EB solid 2px;
		border-right: #2680EB solid 2px;
		transform: rotate(45deg);
	}
	header #headerL .menu01 li > p:before,
	header #headerL .menu01 li > p:after{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 1em;
		height: 2px;
		background: #2680EB;
		/*transform: rotate(45deg);*/
		transition: 0.2s;
	}
	header #headerL .menu01 li > p:after{
		transform: rotate(90deg);
	}
	
	header #headerL .menu01 li > p.open:after{
		transform: rotate(0deg);
	}
	
	header #headerL .menu01 .menuSub{
		display: none;
		opacity: 1;
		visibility: visible;
		position: relative;
		transition: none;
		height: auto;
		margin: 0;
		padding: 0;
		top: 0 !important;
		background: none;
		color: currentcolor;
	}
	header #headerL .menu01 .menuSub .menuSubIn .title{
		display: none;
	}
	header #headerL .menu01 .menuSub:before{
		display: none;
	}
	header #headerL .menu01 .menuSub .menuSubIn{
		margin: 0;
		padding: 0;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul{
		display: block;
		max-width: none;
		margin: -0.7em auto 1em;
		width: 90%;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li{
		padding: 0;
		margin: 0 !important;
		border-top: none;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li:nth-of-type(2n){
		margin: 0 !important;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li a{
		margin-left: 0;
		padding: 0.5em 0;
		color: #231F20;
		font-size: 90%;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li a:before{
		border-top: #2680EB solid 2px;
		border-right: #2680EB solid 2px;
		left: auto;
	}
	header #headerL .menu01 .menuSub .menuSubIn ul li a:after{
		content: "";
		position: absolute;
		top: 0;
		right: 3px;
		bottom: 0;
		margin: auto;
		width: 1em;
		height: 2px;
		background: #2680EB;
		transition: 0.2s;
	}

	header #headerL .menu01 .packageTab{
		display: none;
		margin: -0.35em 0 1em;
	}
	header #headerL .menu01 .packageTab .tabLabelWrap{
		display: flex;
		padding-left: 0;
		background: transparent;
	}
	header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel {
		justify-content: center;
		gap: 0.5em;
		padding: 0.7em 1em 0.7em 2em;
		width: 50%;
		min-width: auto;
		line-height: 1.5;
		font-size: 14px;
	}
	header #headerL .menu01 .packageTab .tabLabelWrap .tabLabel::before {
		transform: rotate(135deg);
		margin-top: -0.3em;
		width: 6px;
		height: 6px;
		border-color: currentcolor;
		order: 2;
		transition: transform 0.2s;
	}
	header #headerL .menu01 .packageTab .tabContentWrap {
		background: #fff;
		border: 3px solid #2ca6e0;
		padding: 0.5em 1em;
	}
	header #headerL .menu01 .packageTab .tabContentWrap .tabContent a {
		padding-right: 1.5em;
		line-height: 1.5;
		font-size: 12px;
	}
	header #headerL .menu01 .packageTab .tabContentWrap .tabContent a::before {
		width: 7px;
		height: 7px;
		border-color: #2ca6e0;
	}
	header #headerL .menu01 .packageTab #headerPackageSwitch1:checked ~ .tabLabelWrap .tabLabel1,
	header #headerL .menu01 .packageTab #headerPackageSwitch2:checked ~ .tabLabelWrap .tabLabel2{
		color:#fff;
	}
	/*
	header #headerL .menu01 .packageTab #headerPackageSwitch1:checked ~ .tabLabelWrap .tabLabel1::before,
	header #headerL .menu01 .packageTab #headerPackageSwitch2:checked ~ .tabLabelWrap .tabLabel2::before{
		transform: rotate(-45deg);
		margin-top: 0.3em;
	}
	*/

	#footerMenu .menu01 .menu01In ul li,
	#footerMenu .menu01 .menu01In ul li a {
		font-size: 14px;
	}
	#footerMenu .menu01 .menu01In {

	}
	#footerMenu .menu01 .menu01In ul.folding{
	}
	#footerMenu .menu01 .menu01In ul.folding li {

	}
	
	
	
	
	#advantageFooterMenuIn ul li{
		font-size: 2.5vw;
	}
	
	
	
}


/* スマホ
------------------------------------------------*/
@media screen and (max-width:767.5px){
	
	body {
		font-size: 14px;
	}
	
	#wrap{
		position: relative;
	}
	.sPC{
		display: none;
	}
	.sSP{
		display: block;
	}
	
	.btnW a{
		font-size: 16px;
		padding: 0.8em;
	}
	
	
	
	header{
		padding-right: 60px;
		height: 60px;
		padding-left: 10px;
	}
	header #headerL h1 {
		width: 100px;
		margin-right: 0;
	}
	header #headerL .spHMenu {
	  width: 60px;
	  height: 60px;
	}
	header #headerL a.spHMenu + nav{
		top: 60px;
		height: calc(100vh - 60px);
	}
	
	header #headerR .menu02 li {
		width: 60px;
		font-size: 10px;
	}
	header #headerR .menu02 li span {
		text-align: center;
		line-height: 1.2em;
		transform: scale(0.85);
		transform-origin: top center;
	}
	header #headerR .menu02 li a{
		flex-direction: column;
	}
	header #headerR .menu02 li img{
		width: 16px;
		margin: 0.6em 0;
	}
	header #headerR .menu02 .contact img {
		margin: 0.8em 0;
	}
	header #headerR .menu02 .catalog img {
		margin: 0.44em 0;
	}
	header #headerR .menu02 li.language p span::after {
		top: .15rem;
		height: 8px;
	}
	
	
	#contactFooter{
		padding: 0 20px;
	}
	#contactFooterIn{
		padding: 1.5em 0;
		display: block;
	}
	#contactFooterIn .txt {
		font-size: 16px;
		line-height: 1.5em;
		text-align: center;
		margin-bottom: 0.5em;
		width: auto;
	}
	#contactFooterIn .btnW{
		width: 65vw;
		margin: 0 auto;
	}
	#contactFooterIn .btnW a{
		padding: 0.66em;
		font-size: 14px;
	}
	
	#footerMenu{
		padding: 0;
	}
	#footerMenu .menu01 {
		display: block;
		border: none;;
		margin: 0;
		padding-bottom: 2em;
	}
	#footerMenu .menu01 .menu01In {
		width: 100% !important;
		margin-top: 0;
	}
	#footerMenu .menu01 .menu01In ul{
		flex-wrap: wrap;
	}
	

	#footerMenu .menu01 .menu01In ul li{
		border-bottom: #A5A5A5 solid 1px;
		margin: 0 !important;
		display: block;
		width: 50%;
	}
	#footerMenu .menu01 .menu01In ul li:nth-of-type(2n){
		border-left: #A5A5A5 solid 1px;
	}
	#footerMenu .menu01 .menu01In ul li a,
	#footerMenu .menu01 .menu01In ul li span{
		display: block;
		text-align: center;
		padding: 1em;
	}
	#footerMenu .menu01 .menu01In ul li ul{
		display: flex;
		flex-wrap: wrap;
		border-top: #A5A5A5 solid 1px;
	}
	#footerMenu .menu01 .menu01In ul li ul li{
		width: 50%;
		margin-top: 0 !important;
	}
	#footerMenu .menu01 .menu01In ul.folding{
		margin: 0;
	}
	#footerMenu .menu01 .menu01In ul.folding li{
		width: 50%;
	}
	#footerMenu .menu01 .menu01In ul li ul li:nth-of-type(2n){
		border-left: #A5A5A5 solid 1px;
	}
	#footerMenu .menu01 .menu01In ul li ul li:last-child,
	#footerMenu .menu01 .menu01In ul li ul li:nth-last-of-type(2){
		border-bottom: none;
	}
	#footerMenu .menu01 .menu01In ul li ul li a{
		text-align: left;
		padding: 0.7em 1em 0.7em 2em;
		font-size: 13px;
	}
	#footerMenu .menu01 .menu01In ul li ul li a:before {
		left: 0.8em;
	}
	#footerMenu .menu01 .menu01In:nth-of-type(n+2) {
		margin-top: 0.2em;
	}
	#footerMenu .menu01 .menu01In:nth-of-type(n+2) li{
		width: 100%;
	}
	#footerMenu .menu01 .menu01In:nth-of-type(n+2) li span{
		padding-bottom: 0.5em;
	}
	
	footer #closing{
		display: flex;
		flex-direction: column;
		max-width: 400px;
		margin: 0 auto;
		padding: 0 20px 1.5em;
	}
	footer #closing ul{
		order: 1;
		position: static;
		margin: 0 auto;
	}
	footer #closing .logo{
		order: 2;
		margin: 1.5em auto 0;
		width: 50%;
	}
	footer #closing .nipponsteel{
		order: 3;
		position: static;
		bottom: 45%;
		margin: 1em auto;
		width: 50%;
	}
	footer #closing .copy{
		order: 4;
		font-size: 10px;
		text-align: center;
		margin-top: 0;
	}
	
	#pageTop{
		transform: scale(0.7, 0.7);
		bottom: 0;
		right: 0;
	}
	
	
	#titleArea{
		padding: 1em 20px;
	}
	#titleAreaIn h2 {
		font-size: 24px;
	}
	
	#titleAreaIn .tag{
		margin-top: 1em;
	}
	#titleAreaIn .tag li{
		font-size: 14px;
	}
	
	
	#Breadcrumb{
		margin-top: 1.5em;
		line-height: 1.2em;
	}
	.tag + #Breadcrumb {
		margin-top: 1em;
	}
	#Breadcrumb li:nth-of-type(n+2) {
		margin-left: 0.5em;
	}
	#Breadcrumb li:nth-of-type(n+2):before {
		margin-right: 0.5em;
	}
	
	
	.btnBlueGrada a,
	.btnB a{
		font-size: 14px;
	}
	
	
	.halfContent{
		display: block;
	}
	.halfContent .halfIn{
		width: auto;
	}
	.halfContent .halfIn:nth-of-type(n+2){
		margin-top: 1.5em;
	}
	
	#constructionList{
		/*margin-top: 0;*/
	}
	
	#constructionStartOuter{
		padding: 2em 20px 3em;
	}
	#constructionStartOuter:after{
		width: 35%;
	}
	#constructionStartOuter .watermarkTxt {
		font-size: 10vw;
	}
	#constructionStartIn h4,
	#packageOuter h4 {
		font-size: 20px;
		line-height: 1.3em;
	}
	
	#appealArea {
		padding: 2em 20px;
	}
	#appealAreaIn {
		font-size: 16px;
	}
	
	#advantageFooterMenu{
		padding: 2em 20px;
	}
	#advantageFooterMenuIn:before,
	#advantageFooterMenuIn:after{
		width: 25%;
	}
	#advantageFooterMenuIn h2 {
		font-size: 24px;
	}
	#advantageFooterMenuIn ul li{
		font-size: 14px;
		line-height: 1.5em;
	}
	#advantageFooterMenuIn ul li a{
		flex-direction: column;
	}
	#advantageFooterMenuIn ul li .sp{
		line-height: 0.7em;
	}
	#advantageFooterMenuIn ul li::after {
		bottom: 3px;
		right: 3px;
		border-width: 0 0 13px 13px;
	}
	/* #advantageFooterMenuIn ul li span {
		font-size: 75%;
		margin-top: 1em;
		padding: 3px 1em;
	} */

	#packageMenu{
		padding: 2em 20px;
	}
	#packageMenu .title{
		font-size: 24px;
	}
	#packageMenu .packageTab .tabLabelWrap .tabLabel{
		gap: 0.75em;
		font-size: 1rem;
	}
	#packageMenu .packageTab .tabLabelWrap .tabLabel::after {
		width: 8px;
		height: 8px;
		border-width: 2px;
	}
	#packageMenu .packageTab .tabContentWrap{
		padding: 0.5em 1em;
	}
	#packageMenu .packageTab .tabContentWrap .tabContent a{
		padding: 0.5em 0;
	}
	#packageMenu .packageTab .tabContentWrap .tabContent a::before {
		width: 6px;
		height: 6px;
	}

}



/* 241031
------------------------------------------------*/

.modalAreaDescIn img{
	width: 60%;
    margin: auto;
    display: block;
}

.modalboxIn .modalbox_img{
    width: 60%;
    margin: auto;
    display: block;
    position: relative;  
}
.modalboxIn .modalbox_img img{
	width: 100%;
}
.modalbox_img p {
    position: absolute;
    right: 33px;
    bottom: 0;
    width: 50%;
}


.modal_btnBlueGrada a{
	background: rgb(35, 2, 124);
    background: linear-gradient(45deg, #23027C 0%, #0866A8 100%);
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    padding: 1em;
    transition: 0.2s;
    font-weight: bold;
    line-height: 1.3em;
    cursor: pointer;
}
   
@media screen and (max-width:1450px){
	.modal_btnBlueGrada a{
		font-size: 1vw;
	}
}
    
.modal_btnBlueGrada a,:hover
.modal_btnBlueGrada > *:hover{
	color: #fff !important;
}
@media screen and (max-width:767.5px){
.modal_btnBlueGrada a,
.modal_btnBlueGrada > *{
	background: rgb(35, 2, 124);
    background: linear-gradient(45deg, #23027C 0%, #0866A8 100%);
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    padding: 1em;
    position: relative;
    right: -314px;
    top: -29px;
    transition: 0.2s;
    font-weight: bold;
    line-height: 1.3em;
    cursor: pointer;
    width: 35%;
    height: 50px;
}
    }
@media screen and (max-width:767.5px){ 
.modal_btnBlueGrada a,:hover
.modal_btnBlueGrada > *:hover{
	color: #fff !important;
}
}







/* 機能追加250120 */
.halfContent_img {
    display: flex;
/*
    gap: 60px;
    margin: 3em 2em;
*/
}
.halfContent_img .halfIn {
    width: 48%;
}
.halfContentIn_bg_none_left01 {
    border: solid 1px #333;
    padding: 40px;
    border-bottom: none; 
}
.halfContentIn_bg_none_right01 {
    border: solid 1px #333;
    padding: 40px;
    border-bottom: none; 
    border-left: none;
}
.halfContentIn_bg_none_left02 {
    border: solid 1px #333;
    padding: 40px;
/*    border-bottom: none; */
}
.halfContentIn_bg_none_right02 {
    border: solid 1px #333;
    padding: 40px;
/*    border-bottom: none; */
    border-left: none;
}
.halfContent_blue_bold {
text-align: center;
font-weight: bold;
color: #076EAA;
font-size: 20px;   
margin: 1em;
}

@media screen and (max-width: 767.5px) {
.halfContent_img {
    display: block;
    gap: 60px;
}
    }
@media screen and (max-width: 767.5px) {
.halfContentIn_bg_none_right02 {
    border: solid 1px #333;
    padding: 40px;
    border-top: none;
    
}
    }
@media screen and (max-width: 767.5px) {
.halfContentIn_bg_none_right01 {
    border: solid 1px #333;
    padding: 40px;
    border-top: none;
}
    }
@media screen and (max-width: 767.5px) {
.halfContentIn_bg_none_left02 {
    border: solid 1px #333;
    padding: 40px;
    border-top: none; 
}
    }
@media screen and (max-width: 767.5px) {
.halfContentIn_bg_none_left01 {
    border: solid 1px #333;
    padding: 40px;

}
    }



/* 横リンクボタン */
.link_btnBlueGrada a,
.link_btnBlueGrada > *{
	background: rgb(35,2,124);
	background: linear-gradient(45deg, #23027C 0%, #0866A8 100%);
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	padding: 1em;
	position: relative;
	transition: 0.2s;
	font-weight: bold;
	line-height: 1.3em;
	cursor: pointer;
}
.link_btnBlueGrada a,:hover
.link_btnBlueGrada > *:hover{
	color: #fff !important;
}

.link_btnBlueGrada a:before,
.link_btnBlueGrada > *:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	display: block;
	background: #23027C;
	transition: 0.2s;
}
.link_btnBlueGrada a:hover:before,
.link_btnBlueGrada > *:hover:before{
	width: 100%;
}
.link_btnBlueGrada span{
	position: relative;
	z-index: 10;
}
.link_btnBlueGrada.toggle > *{
	background: #fff;
	color: #2C69A9;
	border: #2C69A9 solid 1px;
}




.zam_detail {
padding: 0.5em 3em;
background: #CCDFED;
width: 80%;
margin: 1em 8em 1em 6.5em;
}

.zam_detail_btnBlueGrada span {
    color: #fff;
    font-weight: bold;
}

.zam_detail_list {
   font-weight: bold;
    padding: 1em;
    color: #076EAA;
    font-size: 20px;
    }
    

.zam_detail_btnBlueGrada {
background: rgb(35, 2, 124);
    background: linear-gradient(45deg, #23027C 0%, #0866A8 100%);
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    padding: 0.5em 0.5em 0.1em 0.5em;
    position: relative;
    transition: 0.2s;
    font-weight: bold;
    line-height: 2.3em;
    cursor: pointer;
    max-height: max-content;
    margin-top: 0.6em;

 }

.zam_detailbtnBlueGrada a:before, .zam_detailbtnBlueGrada > *:before {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 0;
    height: 100%;
    display: block;
    background: #23027C;
    transition: 0.2s;
}

.zam_detail02 {
padding: 0.5em 3em;
background: #CCDFED;
width: 80%;
margin-bottom: 1em;    

}

.zam_detail_btnBlueGrada02 span {
    color: #fff;
    font-weight: bold;
}

.zam_detail_list02 {
   font-weight: bold;
    padding: 1em;
    color: #076EAA;
    font-size: 20px;
    }
    
/*
.boxTitlewhite span:before {
    content: "▶";
    color: #00569B;
    font-size: 0.8em;
    margin: 0.5em;
}
*/

*, ::before, ::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

.boxTitlewhite .blue_txt02 {
background-color: #076EAA;
color: #fff;
padding: 5px;
    }

.boxTitlewhite .blue_txt01 {
color: #076EAA;
padding: 5px;
margin: 0.3em;
 }
.bold_02 {
    font-weight: bold;
	font-size: 20px;
}
