@charset "utf-8";

/* 共通 */

header {
 margin-bottom: 10px !important;
}

#contents-page {
 margin-bottom: 70px;
 margin-top: 30px;
}

section:last-child,
.container:last-of-type {
 margin-bottom: 0;
}

section .title h1 {
 display: inline-block;
 text-align: center;
 line-height: 1.5;
 font-size: 16px;
 margin-right: auto;
 margin-left: auto;
 margin-bottom: 0;
 letter-spacing: 1px;
}

section .titleimg h1 {
 margin-bottom: 0;
}

section .title h1 span {
 display: block;
 font-size: 28px;
 border-bottom: 2px solid black;
 margin-bottom: 0.3em;
}

section h2 {
 margin-bottom: 0.5em;
 font-size: 18px;
}

section p:not(:last-child) {
 margin-bottom: 2em;
}

section figure {
 margin-bottom: 0;
}

.titleimg img, 
.title img {
 width: 100%;
 height: auto;
}

#contents-page dl {
 font-size: 15px;
}

#contents-page dt {
float: left;
clear: left;
margin-right: 0.3em;
width: 120px;
 font-weight: normal;
 font-style: normal;
}

#contents-page dd {
 float: left;
 margin-left: 1em;
 margin-bottom: 1em;
}

/* COMPANY */

body#company_p p.companyttl {
 font-size: 14px;
 margin-bottom: 0;
}

body#company_p p.person {
 font-size: 24px;
 margin-bottom: 0.5em;
}

body#company_p p.person span {
 font-size: 12px;
 margin-right: 5px;
}

/* BUSINESS MENU */

body#businessmenu_p {
 
}

body#businessmenu_p h2{
 margin-bottom: 2em;
 font-size: 18px;
 font-weight: bold;
}
body#businessmenu_p h2:before {
font: 900 17px/1 "Font Awesome 5 Free";
content: "\f04d";
 color: #54c3f1 !important;
 margin-right: 3px;
}

body#businessmenu_p #contents-page ul {
 margin-bottom: 2em;
}

body#businessmenu_p h3 {
 font-weight: bold;
 margin-bottom: 5px;
 font-size: 18px;
}

table.type1 {
 margin-bottom: 2em;
}

table.type1 td {
 border-bottom: 2px solid #54c3f1;
}

table.type1 th {
 background-color: #54c3f1;
 padding-right: 5px;
 padding-left: 5px;
 font-weight: normal;
 font-style: normal;
}

table.type1 th:last-child{
 border-right: 10px solid white;
 width: 68%;
 border-left: 10px solid white;
}
table.type1 td:last-child{
 padding-left: 5px;
}
table.type1 th,
table.type1 td{
 padding-top: 6px;
 padding-bottom: 6px;
}

body#businessmenu_p #contents-page #ConsulCase {
 
}

body#businessmenu_p #ConsulCase h3 {
 margin-bottom: 0.8em;
 font-size: 18px;
 line-height: 2;
}

body#businessmenu_p #ConsulCase h3 span {
 border-radius: 15px;
 background-color: #54c3f1;
 padding-left: 15px;
 padding-right: 15px;
 font-weight: normal;
 font-style: normal;
 margin-right: 15px;
}

table.type2 {

}

.case:not(:last-child){
 margin-bottom: 3em;
   border-bottom: 2px solid #54c3f1;
 padding-bottom: 1em;
}

table.type2 p {
 margin-bottom: 0;
}
table.type2 th,
table.type2 td{
 padding-top: 10px;
 padding-bottom: 10px;
}
table.type2 th {
 width: 12%;
 vertical-align: top;
 text-align: center;
 font-weight: normal;
 font-style: normal;
 font-size: 20px;
 color: gray;
}

table.type2 th span {
 border-radius: 20px;
 display: block;
 border: 2px solid gray;
 padding-top: 5px;
 padding-bottom: 5px;
 font-size: 15px;
}

table.type2 th span.sug{
 border-color: #54c3f1;
 color: black;
}

table.type2 td {
 vertical-align: top;
 padding-left: 15px;
}

/* Works 主な実績 */

body#works_p {
 
}

body#works_p h2{
 margin-bottom: 2em;
 font-size: 18px;
}
body#works_p h2:before {
font: 900 17px/1 "Font Awesome 5 Free";
content: "\f04d";
 color: #54c3f1 !important;
 margin-right: 3px;
}

body#works_p #contents-page .timeline {
 overflow: hidden;
}
body#works_p #contents-page .timeline dl {
}

body#works_p #contents-page .timeline dl dt {
 float: left;
 width: 130px !important;
 font-weight: normal;
 font-style: normal;
 text-decoration: none;
 clear: left;
 line-height: 1.8;
 margin-right: 0;
}

body#works_p #contents-page .timeline dl dd {
 margin-left: 140px;
 margin-bottom: 0.7em;
 line-height: 1.8;
 float: none;
 clear: none;
}

body#works_p #contents-page #works ul {
 margin-bottom: 3em;
}

table.type3 {
 font: 13px Helvetica, Verdana, sans-serif;
 width: 100%;
}

table.type3 tr:nth-child(2n+1) {
 background-color: rgba(84,195,241,0.03785211);
}

body#works_p .inner:last-child {
 margin-bottom: 0;
}

table.type3 caption {
 background-color: #54c3f1;
 padding-left: 5px;
 font-size: 15px;
 font-weight: bold;
 color: white;
}

table.type3 th{
 border-left: 1px solid #e0e2e2;
 border-top: 1px solid #e0e2e2;
 border-bottom: 1px solid #e0e2e2;
 background-color: #d8d9d8;
}

table.type3 td{
 border-left: 1px solid #e0e2e2;
 border-bottom: 1px solid #e0e2e2;
}

table.type3 th:last-child,
table.type3 td:last-child{
 border-right: 1px solid #e0e2e2;
}

table.type3 td:nth-child(1){
 white-space: nowrap;
}

table.type3 th:nth-child(2){
 width: 52%;
 border-left: 1px solid white;
}

table.type3 th:nth-child(3){
	border-left: 1px solid white;
}

table.type3 th:nth-child(4){
	border-left: 1px solid white;
 width: 10%;
}
table.type3 th,
table.type3 td{
 padding: 10px 5px;
}

/* お問い合わせ */

#contact {
 margin-bottom: 15px;
}

#contact #contactWrap {
 color: white;
 padding: 15px;
 margin-bottom: 0;
}

#contact #contactWrap {
 color: white;
 padding: 15px;
}

#contact #contactWrap .row {
 background-color: #54c3f1;
 margin-left: 0;
 margin-right: 0;
 padding-top: 15px;
 padding-bottom: 15px;
}

#contact .container .imgover h1 {
 margin-bottom: 30px;
}

#contact .container .imgover h1 span {
 border-bottom-color: white;
}

/* プロフィール */

#profile {
 margin-bottom: 30px;
}

#profile .row:first-child {
}

#profile p {
 margin-bottom: 0;
}

#profile p.companyttl {
 font-size: 14px;
}

#profile p.person {
 font-size: 24px;
 margin-bottom: 0.5em;
}

#profile p.person span {
 font-size: 12px;
 margin-right: 5px;
}

#profile p.exp {
 font-size: 14px;
}

/* スマートフォン */

@media screen and (min-width: 320px) and (max-width: 767px) {

/* 共通 */

#contents-page {
 margin-bottom: 30px;
 margin-top: 20px;
}

section .title h1 {
 display: inline-block;
 text-align: center;
 line-height: 1.5;
 font-size: 13px;
 margin-right: auto;
 margin-left: auto;
 margin-bottom: 0;
}

section .titleimg h1 {
 margin-bottom: 0;
}

section .title h1 span {
 display: block;
 font-size: 18px;
 border-bottom: 2px solid black;
 margin-bottom: 0.3em;
}

section h2 {
 font-size: 14px;
 margin-bottom: 0.5em;
}

#contents-page dl {
 font-size: 12px;
}

#contents-page dt {
 margin-bottom: 0.3em;
}

#contents-page dd {
clear: left;
 float: left;
 margin-left: 1em;
 margin-bottom: 1em;
}

/* COMPANY */

body#company_p p.companyttl {
 font-size: 12px;
 margin-bottom: 0;
}

body#company_p p.person {
 font-size: 18px;
 margin-bottom: 0.5em;
}

body#company_p p.person span {
 font-size: 12px;
 margin-right: 5px;
}

/* BUSINESS MENU */

body#businessmenu_p h2{
 margin-bottom: 2em;
 font-size: 15px;
 font-weight: bold;
}

body#businessmenu_p h3 {
 font-weight: bold;
 margin-bottom: 5px;
 font-size: 15px;
}

body#businessmenu_p #ConsulCase h3 {
 margin-bottom: 0.8em;
 font-size: 15px;
}

body#businessmenu_p #ConsulCase h3 span {
 display: block;
 width: 30%;
 margin-right: 0;
 text-align: center;
 white-space: nowrap;
}

table.type2 th {
 width: 15%;
}

table.type2 th span {
 font-size: 12px;
}

/* Works 主な実績 */

body#works_p h2{
 margin-bottom: 2em;
 font-size: 15px;
 font-weight: bold;
}

body#works_p h3 {
 font-weight: bold;
 margin-bottom: 5px;
 font-size: 15px;
}

body#works_p .timeline {
}

body#works_p #contents-page .timeline dl {
 margin-bottom: 0.5em;
}

body#works_p #contents-page .timeline dl dt {
 float: left;
 width: 70px !important;
 font-weight: normal;
 font-style: normal;
 text-decoration: none;
 clear: left;
}

body#works_p #contents-page .timeline dl dd {
 margin-left: 70px !important;
 float: none;
 clear: none;
}

body#works_p #contents-page .inner{
overflow: auto;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
 padding-bottom: 10px;
}
body#works_p #contents-page .inner::-webkit-innerbar{
 height: 5px;
}
body#works_p #contents-page .inner::-webkit-innerbar-track{ background: #F1F1F1;
}
body#works_p #contents-page .inner::-webkit-innerbar-thumb { background: #BCBCBC;
}

table.type3 {
 font: 11px Helvetica, Verdana, sans-serif;
}

/* プロフィール */

#profile figure#profile-img {
 margin-top: 15px;
 width: 100%;
}

#profile p {
 margin-bottom: 0;
}

#profile p.companyttl {
 font-size: 12px;
}

#profile p.person {
 font-size: 16px;
 margin-bottom: 0.5em;
}

#profile p.person span {
 font-size: 12px;
 margin-right: 5px;
}

#profile p.exp {
 font-size: 12px;
}

}

/* タブレット */

@media screen and (min-width: 768px) and (max-width: 991px) {

}

/* PCサイズ */

@media screen and (min-width: 992px) and (max-width: 1199px) {

}

/* ワイドスクリーン */

@media only screen and (min-width : 1200px) {

}

/* タブレット以上 */

@media only screen and (min-width : 768px) {

}

/* PCサイズ以上 */

@media only screen and (min-width : 991px) {

}