
html {
	margin: 0;
	padding: 0;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	background-color: #fff;
	color: #333;
	border-top: 4px solid #222;
}
h1.title, h1, h2, h3, h4, h5, h6 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-weight: 100;
	margin-bottom: 16px;
	letter-spacing: 0.4em;
}
p {
	font-size: 16px;
	line-height: 1.8em;
	font-weight: 300;
}
section {
	margin-bottom: 80px;
}

#top-cover {
	background: url(../images/sample01.png) no-repeat;
	background-size: cover;
	background-position: bottom right;
}

#top-cover h1 {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	color: #fff;
	font-weight: 500;
	padding-top: 120px;
}

#top-cover h1 + p {
	color: #fff;
	font-size: 30px;
	margin-bottom: 60px;
}

#top-cover a:hover {
	opacity: 0.7;
	filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.main {
	background-color: #fff;

}
.main .midashi h1 {
	position: relative;
	padding: 0 0 30px 0;
	margin-bottom: 50px;
}

.main  .midashi mark {
	background:#E0D14B;
	font-size: 12px;
	letter-spacing: 4px;
	font-weight: 500;
	color: #15599D;
	text-transform: uppercase;
	padding: 4px 8px 4px 14px;
}

footer {
	background-color: #222;
}
.footer-in {
	color: #fff;
	text-align: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
}

/*****************************************/

/*navbar style

/*****************************************/


#nav-sm-box {
	display: flex;
	align-items: center;
	padding: 8px 16px;
	background-color: rgba(255,255,255,0.8);
	border-bottom: solid 1px rgba(18,70,122,0.3);
}

#nav-sm-box a {
	text-decoration: none;
}

#nav-sm-brand {
	position: relative;
	top: -1px;
}
#nav-sm-brand a {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	color: #000;
	font-weight: bold;
	text-decoration: none;
	font-size: 110%
}

#nav-sm-box ul {
	position: absolute;
	right: 10px;
}

#nav-sm-box ul li {
	list-style: none;
	float: left;
	margin-left: 10px;
	color: #12467A;
	font-size: 80%;
}

#top {
	display: flex;
	align-items: center;
	padding: 0 36px;
	height: 66px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	background-color: #12467A;
}
#top #top-brand {
	margin-right: 36px;
}
#top #top-brand span, #top #top-brand a {
	display: block;
	background: none;
	text-indent: -9999px;
	width: 232px;
	line-height: 34px;
	background-repeat: no-repeat;
	background-image: url("../images/logo.png");
}
 @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
 #top #top-brand span,  #top #top-brand a {
 background-image: url("../images/logo-2x.png");
 background-size: 232px auto;
}
}
#top ul {
	display: flex;
	align-items: center;
	margin: 0;
}
#top nav li {
	font-size: 16px;
}
#top nav span, #top nav a {
	display: inline-block;
}
#top nav a {
	color: #fff;
	text-decoration: none;
}
#top nav a:hover {
	-moz-transition: all linear 0.2s;
	transition: all linear 0.2s;
	color: rgba(255, 255, 255, 0.6);
}
#top nav b a, #top nav span {
	font-weight: 500;
	color: rgba(0, 0, 0, 0.4);
}
#top nav b a {
	text-decoration: underline;
}
#top nav b a:hover {
	color: #000;
}
#top #top-nav-main {
	padding-left: 36px;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}
#top #top-nav-main li {
	margin-right: 28px;
}

 @media (max-width: 768px) {
#top {
	display: block;
	height: auto;
	padding: 10px 0 8px 0;
}
#top ul {
	display: block;
}
#top #top-brand {
	display: none;
}
#top #top-nav-main {
	padding: 0;
	border: none;
}
#top #top-nav-main li {
	text-align: center;
	width: auto;
	margin: 16px 0;
	padding: 0;
}
}


/*****************************************/

/*list style

/*****************************************/

.about-list dl {
	display: block;
}

.about-list dl dt {
	float: left;
	width: 110px;
	line-height: 2em;
	color: #15599D;
	font-weight: 400;
}

.about-list dl dd {
	margin-left: 110px;
	line-height: 2em;
	border-bottom: dotted 1px #ccc;
}

/*****************************************/

/*section style

/*****************************************/

#business, #about {
	margin-top: -120px;
	padding-top: 120px;
}

#ac01, #ac02, #ac03, #ac04 {
	margin-top: -100px;
	padding-top: 100px;	
}

#business h2 {
	border-left: solid 10px #666;
	padding-left: 20px;
}

#work01 .col, #work02 .col, #work03 .col, #work04 .col {
	padding: 60px;
	background-color: rgba(255,255,255,0.1);
}

#work01 {
	background: url(../images/work01_bg.jpg) no-repeat center;
	background-size: cover;
}

#work02 {
	background: url(../images/work02_bg.jpg) no-repeat top right;
	background-size: cover;
}

#work03 {
	background: url(../images/work03_bg.jpg) no-repeat left center;
	background-size: cover;
}

#work04 {
	background: url(../images/work04_bg.jpg) no-repeat top left;
	background-size: cover;
}

#about01 {
	background: url(../images/photo01.jpg) no-repeat;
	background-size: cover;
	background-position: left center;
}

#work04 .modalTop .col {
		padding: 0;
	background-color: rgba(255,255,255,0);
}

#work04 .modalTop ul li {
	line-height: 1.4em;
	font-size: 11px;
}



.box-2 {
	border: solid 1px #CCC;
	padding: 20px 20px 10px;
	text-align: center;
}

.box-2 h4 {
	font-weight: 400;
	margin-bottom: 0;
}


/*****************************************/

/*page top style

/*****************************************/

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	line-height: 4.4em;
}
#page-top a {
    background: rgba(21,89,157,0.8);
    text-decoration: none;
    color: #fff;
    width: 70px;
	height: 70px;
    text-align: center;
    display: block;
    border-radius: 35px;
}
#page-top a:hover {
    text-decoration: none;
    background: rgba(0,0,0,0.5);
}


/*****************************************/

/*sp style

/*****************************************/

@media (max-width: 768px) {

#top-cover .col-8 {
	padding-top: 40px;
}

#work01 .col, #work02 .col, #work03 .col, #work04 .col {
	padding: 60px;
	background-color: rgba(255,255,255,0.8);
}

#work h2 {
	font-size: 34px;
}
.nom-tex .col {
		padding: 0 30px;
}


}


 @media (max-width: 480px) {

#top-cover h1 {
	font-size: 30px;
	letter-spacing: 0;
}

#top-cover h1 + p {
	padding: 0 20px;
	font-size: 20px;
	margin-bottom: 30px;
}




#page .main h1 {
	font-size: 38px;
	letter-spacing: 0;
	text-indent: 0;
}

.nom-tex .col {
		padding: 0 20px;
}

.about-list dl dt {
	float: none;
	border-bottom: solid 1px #15599D;
	width:  100%;

}

.about-list dl dd {
	margin-left: 0 !important;
	padding-bottom: 6px;
}
}

