/*
===================================================
	Reset
===================================================
*/
*{
 margin: 0px;
 padding: 0px;
}
li{
 list-style: none;
}
a{
 text-decoration: none;
 color: #333;
}
a:visited{
 color: #333;
}
address{
 font-style:normal;
}
/*
===================================================
	Base Setting
===================================================
*/
body {
	line-height: 1.4em;
 letter-spacing: 0.05em;
	color: #333;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS P Gothic","Osaka",arial,sans-serif;
}
img{
 max-width: 100%;
 height: auto;
 vertical-align: bottom;
}
.sp-visible{
 visibility: hidden;
 width: 0px;
 height: 0px;
 overflow: hidden;
}
.pc-visible{
 visibility: visible;
}
.maxWidth{
 max-width: 1200px;
 padding-left: 10px;
 padding-right: 10px;
 margin-left: auto;
 margin-right: auto
}
.w90{
    width: 90%;
}
.w50{
    width: 50%;
}
.alignC{
 text-align: center;
}
.alignL{
 text-align: left;
}
.alignR{
 text-align: right;
}
.floatL{
 float: left;
}
.floatR{
 float: right;
}
.clearfix{
 overflow: hidden;
}
.hidden{
 visibility: hidden  !important;
 overflow: hidden  !important;
 height: 0px  !important;
 width: 1px  !important;
 margin: 0px !important;
 padding: 0px !important;
 min-width: 0px !important;
 min-height: 0px !important;
 border: none;
}
.font-s{
 font-size: 90%;
}
.font-ss{
 font-size: 80%;
}
.font-l{
 font-size: 120%;
}
.font-ll{
 font-size: 140%;
}
.lh-1_125{
    line-height: 1.125;
}
.lh-1_5{
    line-height: 1.5;
}
.lh-1_6{
    line-height: 1.6;
}
.wbr{
    word-break: keep-all;
    overflow-wrap: break-word;
}
#header{
 position: fixed;
 width:100%;
 top: 0px;
 z-index: 999;
}
#header>.inner{
 display: table;
 width: 100%;
 max-width: 1149px;
 margin: 25px auto 0px;
 background: #fff;
 padding:15px 20px;
 font-size: 90%;
 position: relative;
}
#header>.inner>h1{
 display: table-cell;
 vertical-align: middle;
 width: 10%;
 text-align: center;
 line-height: 1.2em;
 font-size: 1.2em;
}
#header>.inner>h1 img{
 max-width: 67px;
 height: auto;
}
.studio #header>.inner>h1 img{
 max-width: 200px;
 height: auto;
}
.zing #header>.inner>h1 img{
 max-width: 60px;
 height: auto;
}
.office #header>.inner>h1 img{
 max-width: 200px;
 height: auto;
}
#header>.inner>nav{
 display: table-cell;
 vertical-align: middle;
}
#header>.inner>nav>ul{
 text-align: center;
 /*margin-right: 15px;*/
}
#header>.inner>nav>ul>li{
 display: inline-block;
 padding-right: 12px;
}
#header>.inner>nav>ul>li>a{
 display: inline-block;
 color: #222;
 position: relative;
 padding: 3px 0px;
}
#header>.inner>nav>ul>li>a:after{
 display: block;
 content: "";
 position: absolute;
 bottom: 0px;
 background: #000;
 width: 100%;
 height: 4px;
 transform: scaleX(0);
 opacity: 0;
}
.zing #header>.inner>nav>ul>li>a:after,
.studio #header>.inner>nav>ul>li>a:after,
.office #header>.inner>nav>ul>li>a:after{
 background: #fff;
}
#header>.inner>nav>ul>li>a:hover:after{
 transform: scaleX(1);
 opacity: 1;
 transition: .5s;
}
#header>.inner>nav .subMenu a:before{
 position: absolute;
 content: "";
 display: block;
 border-top: solid 5px #000;
 border-left: solid 5px transparent;
 border-right: solid 5px transparent;
 left: 50%;
 margin-left: -3px;
 bottom: -7px;
}
.zing #header>.inner>nav .subMenu a:before,
.studio #header>.inner>nav .subMenu a:before,
.office #header>.inner>nav .subMenu a:before{
 border-top: solid 5px #fff;
}
#header>.inner>.contact{
 display: table-cell;
 vertical-align: middle;
 text-align: center;
}
#header>.inner>.contact>a{
 display: block;
 background: #000;
 color: #fff;
 padding: 8px 30px;
 position: relative;
 border:solid 1px #000;
}
#header>.inner>.contact>a:hover{
 color: #333;
 background: #fff;
 transition: .5s;
}
#header .subMenuArea{
 width: 100%;
 max-width: 1040px;
 margin: 0px auto 0px;
 font-size: 72%;
}
#header .subMenuArea li{
 opacity: 0;
 visibility: hidden;
 height: 0px;
 padding: 20px;
 background: #fff;
}
#header .subMenuArea li.active{
 transition: 1s;
 opacity: 1;
 visibility: visible;
 height: auto;
}
#header .subMenuArea a{
 display: inline-block;
 position:relative;
 vertical-align: middle;
 padding: 0px 10px 0px 0px;
}
#header .subMenuArea a:hover{
 text-decoration: underline;
}
#header .subMenuArea a:before{
 content: "";
 display: inline-block;
 width: 0.5em;
 height: 0.5em;
 border-top: solid 1px #000;
 border-right: solid 1px #000;
 transform: rotate(45deg);
 margin-right: 5px;
}
#header .subMenuArea .row{
 display: table;
 width: 100%;
 margin-bottom: 20px;
}
#header .subMenuArea .row .ttlArea{
 display: table-cell;
 width: 32%;
}
#header .subMenuArea .row .ttlArea span{
 display: block;
 background: #000;
 color: #fff;
 text-align: center;
 padding: 5px;
}
#header .subMenuArea .row .linkArea{
 display: table-cell;
 text-align: left;
 padding-left: 15px;
}
#main{
 width: 100%;
 overflow: hidden;
}
#footer{

}
#footer .inner{
 padding: 60px 0px 60px;
 background: #333;
 color: #fff;
 overflow: hidden;
}
#footer .inner a{
 color: #fff;
}
#footer .inner .about{
 float: left;
}
#footer .inner address{
 float: right;
 text-align: right;
}
#footer .copyright{
 text-align: center;
 font-size: 60%;
 padding:20px 0px;
}
#footer .copyright a:hover{
 text-decoration: underline;
}

.studio #footer>.inner{
 background: #39A4E8;
 color:#fff;
}

.office #footer>.inner
{
 background: #78D27B;
 color:#fff;
}

.zing #footer>.inner{
 background: #F2914A;
 color:#fff;
}

.studio #footer>.inner a{
 color:#fff;
}
.office #footer>.inner a{
 color:#fff;
}
.zing #footer>.inner a{
 color:#fff;
}

#blog .inner{
 padding: 50px 0px 80px;
}
#blog li{
 width: 260px;
}
#blog .img{
 width: 260px;
 height: 200px;
}

#pagetop{
 z-index: 999;
 visibility: hidden;
 opacity: 0;
 width: 50px;
 height: 50px;
 position: fixed;
 right: 5px;
 bottom: 5px;
 background: #aaa;
}
#pagetop a{
 position: relative;
 display: block;
 overflow: hidden;
 width: 100%;
 height: 100%;
}
#pagetop a span{
 display: none;
}
#pagetop a:after{
 position: absolute;
 display: block;
 content: "";
 width: 20px;
 height: 20px;
 top: 20px;
 left: 13px;
 border-top: solid 3px #fff;
 border-left: solid 3px #fff;
 transform: rotate(45deg);
 z-index: 2;
}
#pagetop.active{
 visibility: visible;
 opacity: 1;
}

#page{
 min-height: 400px;
 position: relative;
}
#page h2{
 position: absolute;
 top: 50%;
 color: #fff;
 width: 100%;
 text-align: center;
 font-weight: normal;
 margin-top:0.5em;
 font-size:180%;
}
#page h2 span{
 display: inline-block;
 font-size:80%;
 margin-top:10px;
 position: relative;
}
#page h2 span:before{
 position: absolute;
 content: "";
 display: block;
 border-bottom:solid 1px #fff;
 width: 50px;
 left:-60px;
 top:50%;
}
#page h2 span:after{
 position: absolute;
 content: "";
 display: block;
 border-bottom:solid 1px #fff;
 width: 50px;
 right: -60px;
 top:50%;
}

.mt1em{
 margin-top: 1em;
}
.mt2em{
 margin-top: 2em;
}
.mt3em{
 margin-top: 3em;
}
.mb1em{
 margin-bottom: 1em;
}
.mb2em{
 margin-bottom: 2em;
}
.mb3em{
 margin-bottom: 3em;
}
.ml1em{
 margin-left: 1em;
}
.ml2em{
 margin-left: 2em;
}
.ml3em{
 margin-left: 3em;
}
.ml4em{
 margin-left: 4em;
}
.mr1em{
 margin-right: 1em;
}
.mr2em{
 margin-right: 2em;
}
.mr3em{
 margin-right: 3em;
}
.mr4em{
 margin-right: 4em;
}

.pt1em{
	padding-top: 1em;
}

.ttlStyle{
 font-size: 30px;
 font-family: 'Open Sans', sans-serif;
 letter-spacing: 0.1em;
}
.ttlStyle span{
 letter-spacing: 0.1em;
 display: block;
 font-size: 14px;
 font-weight: normal;
 margin-top: 1em;
}
.listStyle1{
 text-align: center;
}
.listStyle1 li{
 display: inline-block;
 padding: 10px;
 vertical-align: top;
}

.listStyle2{
 width: 90%;
 max-width: 1100px;
 margin-left: auto;
 margin-right: auto;
 overflow: hidden;
}
.listStyle2 li{
 float:left;
 width: 23%;
 text-align: center;
 padding: 1%;
}
.listStyle2 li img{
 display:inline;
}

.btn a{
 display: inline-block;
 border:solid 1px #333;
 padding: 10px 20px;
 text-align: center;
 min-width: 150px;
 font-size: 80%;
 color: #333;
}
.btn a:hover{
 background: #000;
 color: #fff;
 transition: .5s;
}
.btn.black a{
 background:#000;
 color:#fff;
}
.btn.black a:hover{
 background:#fff;
 color:#333;
}
.btn.white a{
 background: #fff;
 color:#000;
}
.btn.white a:hover{
 background:#000;
 color:#fff;
}
.dBlock{
	display: block;
}

/*
===================================================
	pc 1000px
===================================================
*/
@media screen and (max-width: 1000px) {
 #header{
  position: fixed;
  width:100%;
  top: 0px;
  z-index: 999;
 }
 #header>.inner{
  margin: 0px auto 0px;
  padding: 10px 0px;
  background: #fff;
  font-size: 80%;
 }
 #header>.inner>h1 {
  padding-left: 10px;
  width: 20%;
 }
 #header>.inner>h1 img{
  width: 100%;
  height: auto;
 }
 #header>.inner>nav>ul {
  text-align: right;
  padding-right: 5px;
 }
 #header>.inner>nav>ul>li {
  display: inline-block;
  padding-right: 10px;
 }
 #header>.inner>.contact{
  padding-right: 10px
 }
 #header>.inner>.contact>a{
  text-align: center;
  display: block;
  background: #000;
  color: #fff;
  padding: 4px 5px;
  position: relative;
  border:solid 1px #000;
 }

}


/*
===================================================
	sp
===================================================
*/
@media screen and (max-width: 768px) {
 body{
  font-size:90%;
 }
 .sp-visible{
  visibility: visible;
 }
 .pc-visible{
  visibility: hidden;
  width: 0px;
  height: 0px;
  overflow: hidden;
 }
 #header>.inner>h1 {
  padding-left: 40px;
  /*width: 40%;*/
 }
 #header>.inner>h1 a{
  display: block;
 }
 header>.inner>h1 a img{
  display: block;
 }
 #header>.inner>nav{
  display: none;
 }
 #header>.inner>.contact{
  width: 60%;
  padding-right: 10px;
  text-align: right;
 }
 #header>.inner>.contact>a{
  display: inline-block;
  max-width: 120px;
  padding: 4px 10px;
 }
 #main{

 }
 #footer{
  font-size: 80%;
 }
 #footer .inner{
  padding: 30px 0px 30px;
 }
 #footer .inner .about{
  float: none;
  text-align: center;
 }
 #footer .inner .about img{
  display: inline;
 }
 #footer .inner address{
  margin-top: 3em;
  float: none;
  text-align: center;
 }
 #footer .copyright a{
  margin-top: 5px;
  display: block;
  text-align: center;
 }
 .sp-menuBtn {
  cursor: pointer;
  position: fixed;
  z-index: 999;
  top: 7px;
  left: 4px;
  width: 35px;
  height: 35px;
  /*  border: solid 2px #333;*/
  border-radius: 35px;
  background: rgba(255, 255, 255, 1);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.07);
 }
 .sp-menuBtn .sp-menuBtn__inner {
  transition: transform 0.5s;
  position: relative;
  top: 10px;
  left: 8px;
  width: 19px;
  height: 3px;
  background: #333;
 }
 .sp-menuBtn .sp-menuBtn__inner::after {
  transition: transform 0.5s;
  position: absolute;
  top: 6px;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #333;
 }
 .sp-menuBtn .sp-menuBtn__inner::before {
  transition: transform 0.5s;
  position: absolute;
  top: 12px;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #333;
 }
 .sp-menuBtn.active .sp-menuBtn__inner {
  position: relative;
  top: 16px;
  left: 8px;
  width: 19px;
  height: 3px;
  background: #57815B;
  transform: rotate(45deg);
 }
 .sp-menuBtn.active .sp-menuBtn__inner::after {
  position: absolute;
  top: 0px;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #333;
  transform: rotate(90deg);
 }
 .sp-menuBtn.active .sp-menuBtn__inner::before {
  position: absolute;
  top: 0px;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #333;
 }
 .sp-menuBtn span {
  display: none;
 }
 .sp-menuArea {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0px;
  height: 0px;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: scroll;
 }
 .sp-menuArea.active {
  transition: opacity 0.5s;
  opacity: 1;
  visibility: visible;
  z-index: 998;
 }
 .sp-menuArea .sp-menu {
  padding: 50px 10px 10px;
 }
 .sp-menuArea .sp-menu li {
  border-bottom: solid 1px #eee;
 }
 .sp-menuArea .sp-menu li a {
  position: relative;
  display: block;
  padding: 10px 5px 10px 12px;
  color: #333;
 }
 .sp-menuArea .sp-menu>li>a:before {
  transition:.5s;
  position: absolute;
  left: 0px;
  top: 50%;
  margin-top: -3px;
  vertical-align: middle;
  content: "";
  display: block;
  border-left: solid 6px #333;
  border-top: solid 4px transparent;
  border-bottom: solid 4px transparent;
 }
 .sp-menuArea .sp-menu>li.active>a:before {
  transform:rotate(90deg);
 }
 .sp-menuArea .sp-menu .submenu{
  display:none;
  padding: 10px;
  font-size:90%;
  background: #eee;
 }
 .sp-menuArea .sp-menu .submenu li{
  border-bottom:dotted 1px #fff;
 }
 .sp-menuArea .sp-menu .submenu li:last-child{
  border-bottom:none;
 }
 .listStyle2 li{
  float:left;
  width: 48%;
  text-align: center;
  padding: 1%;
 }
 #blog .inner{
  padding: 30px 0px 50px;
 }

 #page{
  min-height: 200px;
  position: relative;
 }

}


.memberlist {
	display: flex;
	justify-content: center;
	flex-wrap: wrap; max-width: 1380px;
	margin: 0 auto;
}

.memberlist li {
	width: calc(100% / 6);
	margin: 0.5em;
}


@media screen and (max-width: 850px) {
.memberlist li {
	width: 25%;
	}
}

/*プルダウンメニュー追加（PC）*/

.dropdown_lists_wrap {
    display: none;/*/デフォルトでは非表示の状態にしておく/*/
    /* width: 100%; */
    position: absolute;
    /* top: 60px; */
    /* left: 0; */
}
.nav_lists:hover .dropdown_lists_wrap {
    display: block;/*/Gナビメニューにホバーしたら表示/*/
}
.dropdown_lists {
    background-color: #fff;
    height: fit-content; 
    transition: all .3s;
    position: relative;
    padding: 1em;
	color: #333;
    /*border-top: solid 1px #000;*/
}
.dropdown_lists:not(:first-child){
	border-top: solid 1px #000;
}
	/*
.dropdown_lists:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #333;
    position: absolute;
    top: 0;
    left: 0;
}*/
/*.dropdown_lists:hover {
    background-color: #333;
    color: #fff;
}*/
.dropdown_lists a {
    display: flex;
    align-items: center;
    color: #333;
    text-decoration: none;
    position: relative;
}
/*.dropdown_lists a:hover {
    color: #fff;
}/*
.dropdown_lists a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}*/
@media screen and (max-width: 590px) {
	#member_intro .listStyle1 li{
		width: 46%;
		padding: 5px;
	}
	#member_intro .listStyle1 li .img{
		aspect-ratio: 13 / 10;
		object-fit: cover;
		width: 100%;
		height: auto;
	}
}