@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Modern+Antiqua);
/* reset */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
 margin: 0;
 padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
 font-style: normal;
}
ul {
 list-style: none;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
caption, th {
 text-align: left;
}
q:before, q:after {
 content: '';
}
object, embed {
 vertical-align: top;
}
legend {
 display: none;
}
h1, h2, h3, h4, h5, h6 {
 font-size: 100%;
}
img, abbr, acronym, fieldset {
 border: 0;
}
body {
 font: 14px/1.9 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
 font-weight: 300;
 -webkit-text-size-adjust: 100%;
 overflow-x: hidden;
 color: #000;
 background: #fff;
}
a {
 color: #0066ff;
 text-decoration: none;
}
a:hover, .active {
 text-decoration: underline;
}
a:active, a:focus, input:active, input:focus {
 outline: 0;
}
/* ヘッダー
------------------------------------------------------------*/
#mainnav a {
 color: #000;
 font-family: 'Modern Antiqua', 'Noto Sans JP', serif;
}
/* フッター
------------------------------------------------------------*/
#footer {
 clear: both;
 padding: 50px 10px 50px 0;
 text-align: center;
 font-size: 12px;
}
/* 共通
------------------------------------------------------------*/
h1, h2 {
 font-family: 'Modern Antiqua', 'Noto Sans JP', serif;
}
img {
 max-width: 100%;
 height: auto;
}
section {
 clear: both;
}
section h2 {
 width: 60%;
 margin: 70px auto;
 font-size: 22px;
 font-weight: normal;
 text-align: center;
}
section h2 span {
 padding-bottom: 20px;
 border-bottom: 3px solid #000;
}
.inner {
 width: 80%;
 margin: 0 auto;
 padding-bottom: 50px;
}
#sec03 .inner, #sec04 .inner {
 border-bottom: 1px solid #a0a0a0;
}
.innerS {
 width: 60%;
 margin: 0 auto;
 padding-bottom: 80px;
}
.table_Bg1 {
 border-spacing: 0;
 border-collapse: separate;
    width: 100%;
}
.table_Bg1 th, .table_Bg1 td {
 border-top: 1px solid #8198BB;
 border-left: 1px solid #8198BB;
}
.table_Bg1 th {
 padding: 5px 10px;
 background: #99B2CF;
 color: #FFFFFF;
 text-align: center;
}
.table_Bg1 td {
 padding: 2px 5px;
 background: #FCFCFC;
 color: #454545;
}
.table_Bg1 th:last-child, .table_Bg1 td:last-child {
 border-right: 1px solid #8198BB;
}
.table_Bg1 tr:last-child th, .table_Bg1 tr:last-child td {
 border-bottom: 1px solid #8198BB;
}
.table_Bg1 tr:first-child :first-child {
 border-top-left-radius: 5px;
}
.table_Bg1 tr:first-child :last-child {
 border-top-right-radius: 5px;
}
.table_Bg1 tr:last-child :first-child {
 border-bottom-left-radius: 5px;
}
.table_Bg1 tr:last-child :last-child {
 border-bottom-right-radius: 5px;
}

ul.listdisplaed {
    list-style: disc;
    padding: revert;
}

.contact_us {
    text-align: center;
    background-color: rgb(34 34 34 / 68%);
    margin: 0 -20px;
    padding: 1em;
    border-radius: 10px;
    color: #fff;
}
.contact_us a.email {
    font-weight: bold;
    font-family: unset !important;
    font-size: smaller;
    color: #fff !important;
}
.contact_us a.tel {
    font-weight: bold;
    font-family: unset !important;
    font-size: 1.5em;
    color: #fff !important;
}

/* SEC02 Gallery
------------------------------------------------------------*/
#sec02 {
 padding: 0 !important;
}
#sec02 header {
 display: none;
}
#gallery {
 overflow: hidden;
}
#gallery li {
 float: left;
 width: calc(100%/3);
 line-height: 0;
}
#gallery li.full {
 width: 100%;
}
#gallery img {
 display: block;
 width: 100%;
 height: auto;
}
/* SEC03 BRAND
------------------------------------------------------------*/
.col4 .img {
 margin: 0 auto;
}
/* SEC04 PROJECT
------------------------------------------------------------*/
#sec04 {
 padding-bottom: 0 !important;
}
.article {
 clear: both;
 overflow: hidden;
 padding-bottom: 50px;
}
.article img {
 float: left;
 margin: 5px 20px 20px;
}
.article p {
 margin-bottom: 20px;
}
/* SEC05 COMPANY
------------------------------------------------------------*/
#sec05 p {
 margin-bottom: 5px;
}
.col2 li {
 display: inline-block;
 width: 100%;
 margin: 20px 0;
}
#map {
 position: relative;
 padding-bottom: 75%;
 height: 0;
 overflow: hidden;
 z-index: 0;
}
#map iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100% !important;
 height: 100% !important;
 border: 0;
}

/* decoration
------------------------------------------------------------*/
.button a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    border-radius: 9999px;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    background: linear-gradient(270deg, #3bade3 0%, #576fe6 25%, #9844b7 51%, #ff357f 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    transition: all 0.3s ease-out;
}
.button a:hover {
    color: #fff;
    background-position: 99% 50%;
}
.button a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

#sns li a img {
    width: 4em;
}

div.inner h3 {
    color: #8198BB;
}
div.inner h4 {
    color: #99B2CF;
}

.bloc01 {
    border-left-style: solid !important;
    margin-left: 3em;
    border-left: 0.5em;
    border-left-color: #99b2cf;
    padding-left: 0.5em;
}

/* RESPONSIVE 設定
------------------------------------------------------------*/
@media only screen and (min-width: 800px) {
 body {
  font-size: 14px;
 }
 #wrapper {
  width: 100%;
  background-image: url("../images/bg2.jpg");
  background-attachment: fixed;
 }
 #content {
  width: 80%;
  background-color: #fff;
 }
 #sidebar {
  width: 12%;
  position: fixed;
  top: 0;
  right: 4%;
  /* background: #fff;*/
 }
 a#menu {
  display: none;
 }
 .panel {
  display: block !important;
 }
 #sidebar h1 {
  padding: 30px 0;
 }
 #mainnav li {
  font-size: 14px;
  padding: 10px 0;
 }
 #sns {
  margin-top: 50px;
 }
 #sns li {
  display: inline-block;
  padding-right: 10px;
 }
 #sns a:hover img {
  opacity: .8;
 }
 /* SEC03 BRAND
	-----------------*/
 .col4 {
  text-align: center;
 }
 .col4 li {
  display: inline-block;
  width: 18%;
  padding: 0 3%;
  vertical-align: top;
  text-align: left;
 }
 #map iframe {
  height: 200px !important;
 }
 #footer {
  padding: 30px 10px 70px 0;
 }
}
@media only screen and (min-width: 641px) {
 .col2 li {
  width: 60%;
  vertical-align: top;
 }
 .col2 li:first-child {
  width: 35%;
  padding-right: 4%;
 }
}
@media only screen and (max-width: 640px) {
 .innerS {
  width: 94%;
  padding-bottom: 30px;
 }
 #gallery li {
  float: none;
  width: 100%;
 }
 .article img {
  float: none;
  display: block;
  margin: 0 auto 20px;
 }
 #map iframe {
  width: 96% !important;
  left: 2%;
 }
}
@media only screen and (max-width: 799px) {
 #sidebar {
  position: fixed;
  width: 100%;
  z-index: 500;
  background-image: url("../images/bg2.jpg");
  background-attachment: fixed;
 }
 #sidebarWrap {
  position: relative;
  width: 100%;
  height: 60px;
  /*background: #fff;*/
  border-bottom: 1px solid #ccc;
 }
 #sidebar h1 {
  text-align: center;
  padding-top: 15px;
 }
 #sidebar h1 img {
  width: auto !important;
  max-height: 25px;
 }
 a#menu {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
  margin: 10px;
 }
 #menuBtn {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #000;
  transition: .2s;
 }
 #menuBtn:before, #menuBtn:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 2px;
  background: #000;
  transition: .3s;
 }
 #menuBtn:before {
  margin-top: -7px;
 }
 #menuBtn:after {
  margin-top: 5px;
 }
 a#menu .close {
  background: transparent;
 }
 a#menu .close:before, a#menu .close:after {
  margin-top: 0;
 }
 a#menu .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
 }
 a#menu .close:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
 }
 .panel {
  width: 100%;
  display: none;
  overflow: hidden;
  position: relative;
  left: 0;
  top: -10px;
  z-index: 100;
 }
 #mainnav {
  position: absolute;
  top: 0;
  width: 100%;
  text-align: right;
 }
 #mainnav ul {
  border-bottom: 1px solid #ccc;
  background: #fff;
  text-align: left;
 }
 #mainnav li a {
  position: relative;
  display: block;
  padding: 15px 25px;
  border-bottom: 1px solid #ccc;
  color: #000;
  font-weight: 400;
 }
 #mainnav li a:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 }
 #mainnav #sns li {
  display: inline-block;
 }
 #mainnav #sns li a {
  position: relative;
  display: inline-block;
  padding: 15px 10px 0;
  border: 0;
 }
 #mainnav #sns li a:before {
  border: 0;
 }
 .col4 li {
  margin: 0 auto 50px;
  display: block;
  text-align: center;
 }
 section h2 {
  margin: 55px auto;
 }
}