/*---------------------
PC画面用(解像度：1440px)
----------------------*/
/* =======================================
	共通
======================================= */
html, body{
	margin: 0;	/* 余白の削除 */
	padding: 0;	/* 余白の削除 */
	height: 100%;	/* 縦の高さを100% */
	width: 100%;	/* 横の幅を100% */
	font-size:62.5%;
}
body{
    background: #fff;
    font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    color:#000;
    font-size:14px;
    font-size:1.4rem;
    line-height:160%;
    letter-spacing:0rem;
}
#wrap {
    position: relative;
    min-height: 100%;
}
/* ヘッダーの表示領域 */
#header { 
	margin: 0px auto 0;
	text-align:center;
	width:1080px;
}
#contents-area{
	margin: 0px auto 0;     /* 上から10px分余白を取る */
	padding: 0px 0px 130px;   /* フッターの高さの分余白を取る */
	width:1080px;
}
#contents-box{
    margin:0px;
    padding:0px 30px;
}
#contents-left-box {
    margin:0;
    width:50%;
    float:left;
}
#contents-right-box {
    margin:0;
    width:50%;
    float:left;
}
#under-contents-left-box {
    margin:0;
    width:76%;
    float:left;
}
#under-contents-right-box {
    margin:0;
    width:24%;
    float:left;
}
.contents-inner {
    padding:20px 0;
}
#contents-left-box .contents-inner {
    padding-right:10px;
}
#contents-right-box .contents-inner {
    padding-left:10px;
}
#under-contents-left-box .contents-inner {
    padding-right:10px;
}
#under-contents-right-box .contents-inner {
    padding-left:10px;
}
div#footer-area{
    background-color: #000;
    width:100%;
    height: 40px;
    position: absolute;
    bottom: 0px;
    padding: 0px;
}

/* フッターの表示領域 */
div#footer{
	margin: 0;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="search"],
input[type="image"] {
   -webkit-appearance: none;
   -moz-border-radius: 0px;
   -webkit-border-radius: 0px;
   border-radius: 0;
   ounline:0;
}
input[type="text"],
input[type="password"] {
    width:98%;
    border:1px solid #ccc;
}
input[type="submit"] {
    border-style:none;
    border-radius: 4px;
}
input[type="radio"] {
    border:1px solid #ccc;
}
input[name="contact_tel01"],
input[name="contact_tel02"],
input[name="contact_tel03"],
input[name="contact_fax01"],
input[name="contact_fax02"],
input[name="contact_fax03"] {
    width:10%;
}
textarea {
    width:100%;
}
textarea[name=contact_comment] {
    height:150px;
}
.attention {
    color:#ff3333;
}
.errField {
    background:#ffeeee;
}
/* =======================================
	ClearFix
======================================= */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
a{color:#333;text-decoration:none;}
a:focus, *:focus { outline:none; }
.btn2,
.btn1 {
  margin:20px 0px;
  text-align:center;
}
.btn2 li{
  margin:0px;
  width:50%;
  float:left;
}
.btn1 li{
  margin:0px;
  width:100%;
}
.button1 {
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	position: relative;
	background-color: #1abc9c;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #0e8c73;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	font-size:1.6rem;
	border-style:none;
}
.button2 {
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
	position: relative;
	background-color: #555;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #333;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	font-size:1.6rem;
}
.button1::before,
.button1::after,
.button2::before,
.button2::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button1,
.button1::before,
.button1::after,
.button2,
.button2::before,
.button2::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button1:hover {
	background-color: #31c8aa;
	box-shadow: 0 3px 0 #23a188;
}
.button2:hover {
	background-color: #aaa;
	box-shadow: 0 3px 0 #888;
}
.button1:active,
.button2:active{
	top: 3px;
	box-shadow: none;
}
/* =======================================
	Header
======================================= */

#header-top {
    margin:0px auto;
    padding:15px 0;
    display:table;
    width:100%;
    max-width:1280px;
    border-bottom:1px solid #009BAF;
    
}
#header-top #qualification {
    display:table-cell;
    text-align:left;
    width:33%;
    font-weight:900;
    font-size:1.2rem;
    vertical-align:middle;
}
#header-top #header-logo {
    margin:0;
    display:table-cell;
    width:33%;
    vertical-align:middle;
}
#header-top #header-logo h1{
    margin:0;
}
#header-top #header-logo h1 img{
    margin:0;
    display:inline;
}
#header-top #header-contact {
    margin:0;
    display:table-cell;
    width:33%;
    vertical-align:middle;
    
}
#header-top #header-contact img{
    margin:0;
    float:right
}
#header-btm {
    margin:0px auto 0;
    width:100%;
}
#header-btm .global-nav ul{
    margin:0;
    display:table;
    width:100%;
}
#header-btm .global-nav ul li{
    margin:0 0 0 0;
    padding:0;
    width:19%;
    float:left;
    font-weight:900;
    font-size:1.6rem;
    color:#009BAF;
}
#header-btm .global-nav ul li:nth-child(1){
    margin-right:1%;
}
#header-btm .global-nav ul li:nth-child(2),
#header-btm .global-nav ul li:nth-child(3),
#header-btm .global-nav ul li:nth-child(4){
    margin-left:0.5%;
    margin-right:0.5%;
}
#header-btm .global-nav ul li:nth-child(5){
    margin-left:1%;
}
#header-btm .global-nav ul li a{
    display:block;
    padding:15px 0 18px;
    position:relative;
}
#header-btm .global-nav ul li a::after{
    content:"";
    display:block;
    background: #009BAF;
    width:100%;
    height: 3px;
    position: absolute;
    bottom: 0px;
    padding: 0px;
    z-index:-1;
}
#header-btm .global-nav ul li:hover a::after{
    content:"";
    display:block;
    background: #5347D8;
    width:100%;
    height: 3px;
    position: absolute;
    bottom: 0px;
    padding: 0px;
    z-index:-1;
}
#header-btm .global-nav ul li.hover a::after{
    content:"";
    display:block;
    background: #5347D8;
    width:100%;
    height: 3px;
    position: absolute;
    bottom: 0px;
    padding: 0px;
    z-index:-1;
}
/* =======================================
	ブロック
======================================= */
#page_visual {
  position:relative;
  margin:0;
  padding:0;
}
#page_visual h2{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
  margin-top:-1.5rem;
  text-align:center;
  font-size:3.0rem;
  color:#fff;
  text-shadow:1px 1px 1px #5347D8;
}
.contents-box {
  padding-bottom:30px;
}
ul.works {
  margin:0;
}
ul.works li {
  margin:0;
  padding-bottom:10px;
  float:left;
  width:32.33%;
}
ul.works li:nth-child(3n+1) {
  margin-right:1%;
}
ul.works li:nth-child(3n+2) {
  margin-left:0.5%;
  margin-right:0.5%;
}
ul.works li:nth-child(3n+3) {
  margin-left:1%;
}
dl.topics {
  margin:0;
  padding:10px 0;
  display:table;
  border-top:1px dotted #009BAF;
  width:100%;
}
dl.topics:last-child {
  border-bottom:1px dotted #009BAF;
}
dl.topics dt{
  margin:0;
  display:table-cell;
  vertical-align:middle;
  width:20%;
}
dl.topics dd{
  margin:0;
  display:table-cell;
  vertical-align:middle;
  width:80%;
}
.contents-box:before,
.contents-box:after {
	content: " ";
	display: table;
}
.contents-box:after {clear: both;}
.contents-box {*zoom: 1;}
p.intro {
    margin-bottom:20px;
}
.naiyou{
    margin-bottom:30px;
    padding:20px;
    border: 1px solid #ccc;
    background:#efefef;
    width:100%;
}
.naiyou h4{
    margin:0px 0 0;
    font-size:14px;
    font-weight:bold;
    background: #D5D2EF;
	padding: 10px;
}
.naiyou dl{
    margin:10px 0 0;
    padding:0;
}
.naiyou dl dt{
    margin:0;
    float:right;
    width:40%;
}
.naiyou dl dt img{
    padding:5px;
    border:1px solid #ccc;
    background:#eee;
}
.naiyou dl dd{
    margin:0;
    float:right;
    width:60%;
}
.naiyou dl dt ul{
    margin:20px 0;
}
ul.naiyou li{
    list-style-type:square;
    list-style-position:inside;
    margin:10px 0 0;
}
ul.naiyou li.title{
	list-style-type:none;
    margin:0px 0 0;
    font-size:14px;
    font-weight:bold;
    background: #5347D8;
	padding: 10px;
	color:#fff;
}
ul.naiyou li.image{
    list-style-type:none;
	float:right;
	padding:5px;
	border:1px solid #ccc;
	background:#fff;
}
ul.naiyou li.image img{
	display:block;
}
ul.naiyou li.description{
	list-style-type:none;
    margin:10px 0 0 20px;
}
ul.work {
  margin:0;
}
ul.work li {
  margin:0;
  padding-bottom:10px;
  float:left;
  width:24%;
  min-height:280px;
}
ul.work li:nth-child(4n+1) {
  margin-right:1%;
}
ul.work li:nth-child(4n+2),
ul.work li:nth-child(4n+3) {
  margin-left:0.5%;
  margin-right:0.5%;
}
ul.work li:nth-child(4n+4) {
  margin-left:1%;
}
ul.work li div{
  padding-top:5px;
}
.right-navi{
    margin:0;
    border:1px solid #cccccc;
}
.right-navi li {
    margin:0;
    border-bottom:1px solid #ccc;
}
.right-navi li#right-navi-title {
    padding:10px 10px;
    display:block;
    background:#00A1B1;
    font-weight:900;
    color:#fff;
}
.right-navi li:last-child {
    border-bottom:none;
}
.right-navi li a{
    padding:10px 10px;
    display:block;
    font-weight:900;
    color:#00A1B1;
}
.right-navi li a:after{
    content:"▶";
    position:relative;
    top:0px;
    font-size:1.0rem;
    float:right;
}
/* =======================================
	TITLE
======================================= */
h2.title {
    margin: 0px 0 20px;
    padding-top:0px;
    padding-bottom:15px;
    padding-left:0px;
    font-size: 2.0rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 900;
    color: #00A1B1;
    border-bottom:4px solid #00A1B1;
}
.contents-box h3 {
    margin-top:20px;
    margin-bottom:20px;
    padding:15px;
    background:#5347D8;
    color:#fff;
    font-size:1.8rem;
}
.contents-box h3:first-child {
    margin-top:0px;
}
/* =======================================
	table
======================================= */
.table {
    width: 100%;
    display: table;
    border-bottom: 1px solid #ccc;
    margin:30px 0px;
}
.table .tbody {
    display: table-row-group;
}
.table .tbody tr{
    display: block;
    border: 1px solid #ccc;
    border-bottom: none;
    padding: 1em;
    background: #fff;
}
.table .tbody .tr > div {
    display: table-cell;
    padding: 0.7em 1em;
    text-align: center;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    overflow-x: hidden;
}
.table .tbody .tr {
    display:table;
    width:100%;
}
.table .tbody .tr > div.th {
    border-left: 1px solid #ccc;
    width:25%;
    background:#f4f4f4;
    vertical-align:middle;
    text-align:left;
}
.table .tbody .tr > div.td {
    width:75%;
    background:#fff;
    text-align:left;
}
.table .tbody .tr > div.td > div.tel {
    font-size:90%;
}
.table .tbody .tr > div.td > div.fax {
    font-size:90%;
}
/* =======================================
	Footer
======================================= */
#footer #ft-logo-box {
    margin:0;
    padding:40px 0px;
    float:left;
}
#footer #ft-logo-box img{
  display:inline;
  margin:0;
}
#footer #ft-logo-box span::before{
  content: "\A" ;
  white-space: pre;
}
#footer #ft-contact-box {
    margin:0;
    padding:55px 0px 0;
    float:right;
}
#footer #ft-entry-box {
    margin:0 0 0 10px;
    padding:55px 0px 0;
    float:right;
}
#footer-area p{
  margin:0;
  padding:0px 0px 0px;
  text-align:center;
  line-height:50px;
  background:#009BAF;
  color:#fff;
}
