@charset "utf-8";
:root{
  --default-font:'Zen Kaku Gothic New', sans-serif;
	--base-color:#111;
	--main-color:#2ea7e0;
  --sub-color:#fff000;
  --link-color:#1d3994;
}
body{
	font-family:var(--default-font);
	font-weight: 400;
	letter-spacing: 0.05em;
	width:100%;
	font-size:1em;
	line-height:1.8;
	font-weight:400;
	letter-spacing:0.08em;
	color:var(--base-color);
	text-align:center;
	min-width:1080px;
	-webkit-text-size-adjust:100%;
  background-color:#fff;
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
	}

.size120{font-size:1.2em; line-height:170%;}
.size90{font-size:0.9em; line-height:170%;}

.mt0{margin-top:0px !important;}
.mt10{margin-top:10px !important;}
.mt20{margin-top:20px !important;}
.mb20{margin-bottom:20px !important;}
.pt0{padding-top:0px !important;}

a{
	color:#3476ae;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}

.left,
.alignleft{
	float:left;
	margin:0 20px 20px 0;
}
.right,
.alignright{
	float:right;
	margin:0 0 20px 20px;
}
.aligncenter{
	margin:0 auto 20px auto !important;
	text-align:center !important;
	display:inlne-block;
}

.flex{display:flex;}
.flex-between{justify-content:space-between;}
.flex-center{justify-content:center !important;}
.flex-wrap{flex-wrap:wrap;}
.text-box{flex: 1;}

.hissu{color:#FF0000 !important;}
.pc-block{display:block !important;}
.pc-none{display:none !important;}

/* initialize */
*{margin:0; padding:0; font-style:normal;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
	display: block;
}

img{border:none; display:block;}

.left{float:left; display:inline;}
.left img{margin-right:20px;}

.right{float:right; display:inline;}

.align-left{text-align:left;}
.align-right{text-align:right;}
.align-center{text-align:center;}

.clear{clear:both; display:block;}

li{list-style:none;}

.clearfix:after{
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	}

.clearfix{display:inline-block;}

/* Hides from IE-mac ﾂ･*/
* html .clearfix{height:1%;}
.clearfix{display:block;}
/* End hides from IE-mac ﾂ･*/

/* header */
header{
	position: relative;
	width: 100%; height: 550px;
	overflow: hidden;
	background-color:var(--main-color);
	background-image: url(../../img/enterprise/header_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 0 0;
}
#header-inner{
	position: relative;
	width: 1100px; height: 550px;
	margin: 0 auto;
	padding: 60px 360px 0 0;
	box-sizing: border-box;
}
#header-inner h1{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: var(--sub-color);
	margin:0 auto 20px;
}
#header-inner h1 span{
	font-size: 2.4rem;
}
#header-inner::before{
	position: absolute;
	content: "";
	bottom:0; right: -120px;
	width: calc( 517px * 1);
	height: calc( 536px * 1);
	background-image: url(../../img/enterprise/header_image.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
#header-inner .header-copy{
	font-size: 1.7em;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--sub-color);
	margin-bottom:20px;
}
#header-inner p{
	color: #FFF;
  font-weight: 700;
}
#merit-wrapper{
	position: relative;
	width: 1080px;
	margin: 0 auto;
	padding: 80px 0;
}
#merit-wrapper h2{
	font-size: 2em;
	color: var(--main-color);
	line-height: 1.5;
	margin-bottom: 80px;
}
#merit-wrapper h2 span.lead{
	display: block;
	font-size: 0.8em;
	color: var(--base-color);
}
.merit-box{
	border: 2px solid #DFF3FC;
  box-shadow: 5px 5px 5px 0 rgba(223, 243, 252, .9);
	padding: 40px 30px;
	box-sizing: border-box;
}
.merit-box h3{
	font-size: 1.2em;
	font-weight: 700;
	margin-bottom: 20px;
}
.merit-box ol{
	display: flex;
	justify-content: space-between;
  counter-reset: count 0;
}
.merit-box ol li{
  position: relative;
	width: calc( 100% / 3);
	padding: 0 30px;
	box-sizing: border-box;
}
.merit-box ol li:nth-child(2){
	border-left: 1px dashed #999;
	border-right: 1px dashed #999;
}
.merit-box ol li::before{
	position: absolute;
	content: "";
	top:0; left:20px;
	width: 56px; height: 56px;
	border-radius: 50%;
	color: #FFF;
	font-size: 0.8em;
	background: #D6BB3B;
	box-sizing: border-box;
}
.merit-box ol li:nth-child(2)::before{background: #CC6E96;}
.merit-box ol li:nth-child(3)::before{background: #58B09A;}
.merit-box ol li::after{
	position: absolute;
	top:0; left:32px;
  content:  "0 " counter(count);
  counter-increment: count 1;
	font-size: 1.8em;
	font-weight: 700;
	letter-spacing:-0.1em;
	color: #FFF;
}
.merit-box ol li figure{
  position: relative;
	width: 80px; height: 80px;
	margin: 0 auto 5px;
}
.merit-box ol li figure::before{
  position: absolute;
	content: "";
	top:40px; left:-68px;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: #D6BB3B;
}
.merit-box ol li:nth-child(2) figure::before{background: #CC6E96;}
.merit-box ol li:nth-child(3) figure::before{background: #58B09A;}
.merit-box ol li p{
	text-align: left;
}
.merit-box ol li .merit-title{
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #D6BB3B;
}
.merit-box ol li:nth-child(2) .merit-title{color: #CC6E96;}
.merit-box ol li:nth-child(3) .merit-title{color: #58B09A;}
#contents-wrapper{
	position: relative;
	width: 100%;
  background: #F3F4F5;
	padding: 80px 0 20px;
}

ul.contents-nav{
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
ul.contents-nav li{
  font-size: 1.2em;
  margin: 0 20px;
}
ul.contents-nav li a{
  display: block;
  text-decoration: none;
  font-size: 0.9em;
  line-height: 1.8;
  font-weight: 700;
  color: var(--base-color);
  position: relative;
}

ul.contents-nav li a::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 2px solid #333;
}

ul.contents-nav li a:hover {
  color: var(--main-color);
}

ul.contents-nav li a:hover::after {
  border-bottom-color: var(--main-color);
}

ul.contents-nav li a:hover::before {
  content: "";
  width: 7px;
  height: 7px;
  border-left: 2px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
}
#contents-wrapper section{
  position: relative;
  width: 1080px;
  margin: 0 auto 60px;
  border-radius: 20px;
  background: #FFF;
  padding: 60px 50px;
  box-sizing: border-box;
}
#contents-wrapper section h2{
  color: var(--main-color);
  margin-bottom: 20px;
}
#contents-wrapper section p{
  margin-bottom: 20px;
}
.button a{
	position: relative;
	display: block;
	border: 1px solid var(--main-color);
	border-radius: 5px;
	line-height: 3em;
	color: var(--base-color);
	transition:0.3s;
  margin: 0 auto;
  width: 360px;
}
.button a::before{
  position: absolute;
	content: "";
  top: 14px; right: 14px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background-color: var(--main-color);
}
.button a::after{
	position: absolute;
	content: "";
  top: 19px; right: 20px;
  width: 0; height: 0;
  border-left: 6px solid #FFF;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.button a:hover{
	background-color: var(--main-color);
	color: #FFF;
	transition:0.3s;
	text-decoration: none;
}
.button a:hover::before{
  background-color: #FFF;
}
.button a:hover::after{
  border-left: 6px solid var(--main-color);
}
ul.point-list{
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
ul.point-list > li{
  text-align: left;
}
ul.point-list > li:first-child{
  width: 480px;
  margin-right: 40px;
  padding-right: 40px;
  border-right: 1px dashed #666;
}
ul.point-list > li:last-child{
  flex: 1;
}
ul.point-list > li h3{
  font-size: 1.1em;
  font-weight: 700;
}
ul.icon-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
ul.icon-list li{
  width: 64px; height: 64px;
}
footer{
	padding: 60px 0 20px;
}
.contact{
	font-weight: 700;
	margin-bottom: 10px;
}
#shinshu-heart{
	width: 100px; height: auto;
	margin: 30px auto;
}
#copyright{
	font-size: 0.9em;
}
