/************************************************************
 sub-common
*************************************************************/
#sub-stage{
    margin: 0 0 0 0;
    width: 100%;
    position: relative;
    z-index: -1;
}
#sub-stage .works-bg{
    width: 77%;
    background: url(../images/works/title-bg.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 20%;
}
#sub-stage .gallery-bg{
    width: 77%;
    background: url(../images/gallery/title-bg.jpg) no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-top: 20%;
}
#sub-stage .profile-bg{
    width: 77%;
    background: url(../images/profile/title-bg.jpg) no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-top: 20%;
}
#sub-stage .contact-bg{
    width: 77%;
    background: url(../images/contact/title-bg.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 20%;
}
#sub-stage h2{
    position: absolute;
    top: 50%;
    right: 10%;
    margin: auto;
}
.sub h3{
    font-size: 22px;
    font-weight: 600;
    padding-left: 48px;
    position: relative;
    line-height: 140%;
}
.sub h3:before{
    position: absolute;
    content: "";
    background: url(../images/common/kusi.svg) no-repeat;
    width: 38px;
    height: 20px;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.contents-680{
    max-width: 680px;
    width: 90%;
    margin: 50px auto;
}
/************************************************************
 gallery
*************************************************************/
#gallery-1{
    width: 90%;
    max-width: 1100px;
    margin: 70px auto;
}
#gallery-1 ul {
    margin: 1.5em 0 ;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
#gallery-1 ul:after {
    display: block;
    content:"";
    width: 30vw;
}

.spotlight-group img,
.spotlight-group .image{
    width: 30vw;
    max-width: 200px;
    margin: 1vh 0;
    border-radius: 8px;
}
.spotlight-group .image{
    height: 30vw;
    max-height: 200px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.spotlight.image{
    cursor: pointer;
}
/************************************************************
 works
*************************************************************/
#works-1, #works-2, #works-3, #works-4{
    width: 90%;
    max-width: 1200px;
    margin: 70px auto;
}
#works-1 .row{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
#works-1 .column-l{
    width: 65%;
}
#works-1 .column-r{
    width: 30%;
}
#works-2 ul,#works-3 ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#works-2 ul li {
    width: 19%;
    margin-bottom: 1em;
}
#works-2 ul li img, #works-3 ul li img{
    width: 100%;
    height: auto;
}
#works-2 ul li h4,#works-3 ul li h4{
    font-size: 18px;
    margin: .5em 0;
    line-height: 140%;
}
#works-2 ul li p{
    font-size: 14px;
    line-height: 150%;
}
#works-3 ul li {
    width: 32%;
    margin-bottom: 1em;
}
#column-topics{
    width: 90%;
    max-width: 1200px;
    margin: 70px auto;
    border: 1px solid #1f202a;
    box-sizing: border-box;
}
#column-topics .inner{
    width: 90%;
    margin: 0 auto;
    padding-bottom: 1em;
}
#column-topics h4{
    background: url(../images/common/topics-bg.svg) no-repeat;
    padding:35px 0 0 35px;
    height: 50px;
    font-size: 26px;
    letter-spacing: 2px;
    font-weight: 400;
    margin: 0;
}
#column-topics h5{
    font-size: 18px;
    font-weight: 600;
    margin: .5em 0 0 0;
    line-height: 140%;
}
#column-topics dl{
    display:flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 1.5em 0;
}
#column-topics dt{
    width: 120px;
    margin: 0;
    padding: 0;
}
#column-topics .osube{
    background: url(../images/works/osube.svg) no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
#column-topics .sage{
    background: url(../images/works/sage.svg) no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
#column-topics dd{
    flex: 0.95;
    margin: 0;
    padding: 0;
}
/************************************************************
 profile
*************************************************************/
#profile-1{
    width: 90%;
    max-width: 940px;
    margin: 70px auto;
}
#profile-1 .row{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#profile-1 .column-l{
    width: 25%;
}
#profile-1 .column-r{
    width: 70%;
}
#profile-1 span{
    font-size: 14px;
}
#profile-1 strong{
    font-weight: 400;
    font-size: 24px;
    display: block;
}
#column-history{
    width: 90%;
    max-width: 940px;
    margin: 70px auto;
    border: 1px solid #1f202a;
    box-sizing: border-box;
}
#column-history .inner{
    width: 90%;
    margin: 0 auto;
    padding-bottom: 1em;
}
#column-history h4{
    background: url(../images/common/topics-bg.svg) no-repeat;
    padding:35px 0 0 35px;
    height: 50px;
    font-size: 26px;
    letter-spacing: 2px;
    font-weight: 400;
    margin: 0;
}
/************************************************************
 contact
*************************************************************/
#contact-1,#contact-2{
    width: 90%;
    max-width: 940px;
    margin: 70px auto;
}
#contact-1 .row{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#contact-1 .column-l{
    width: 25%;
}
#contact-1 .column-r{
    width: 70%;
}
#contact-1 .column-r strong{
    display: block;
    font-size: 22px;
    font-weight: 600;
    padding: 0 0 .5em 0;
}
#contact-1 .column-r b{
    display: block;
    font-size: 20px;
    font-weight: 600;
    padding: .5em 0 .2em 0;
}
#contact-2 h4{
    font-size: 32px;
    margin-bottom: 0;
}
#contact-2 .alert{
    font-weight: 400;
    display: inline-block;
    padding: 1em;
    margin-top: 0;
    line-height: 140%;
    background: #e1a1cc;
    color: #fff;
    font-size: 18px;
}
p.error, span.error {
  color: red;
}
.inputarea{
    margin: 1.5em 0 0 0;
}
input.re-width{ width: 80%; display: block; }
textarea.re-width{ width: 80%;  display: block;}
input{
	border:0;
	padding:10px;
	border:solid 1px #d5d6db;
    background: #d5d6db;
    margin: 0;
}
::-webkit-input-placeholder {
    color:#1f202a;
}
:-ms-input-placeholder {
    color:#1f202a;
}
::placeholder{
    color:#1f202a;
}
input:focus {
    border:solid 1px #1f202a;
    outline: none;
}
textarea{
	border:0;
	padding:10px;
	border:solid 1px #d5d6db;
    background: #d5d6db;
    margin: 0;
}
::-webkit-textarea-placeholder {
    color:#1f202a;
}
:-ms-textarea-placeholder {
    color:#1f202a;
}
::placeholder{
    color:#1f202a;
}
textarea:focus {
    border:solid 1px #1f202a;
    outline: none;
}
.entrybtn {
	text-align:center;
	margin-top:1em;
}
.entrybtn button{
	border:solid 1px #1f202a;
	background-color:#1f202a;
	padding:15px 100px;
	margin:0 0 20px;
	text-transform:uppercase;
	color:#fff;
	cursor:pointer;
	border-radius: 30px;
    font-size: 20px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.entrybtn button:hover{
	background-color: #e1a1cc;
	color:#fff;
	border:solid 1px #e1a1cc;
}
#contact-2 ul li{
    font-size: 14px;
    line-height: 150%;
    margin-bottom: .3em;
}
@media screen and (max-width: 992px) {
}
@media screen and (max-width: 860px) {
}
@media screen and (max-width: 768px) {
/************************************************************
 sub-common
*************************************************************/
#sub-stage .works-bg,
#sub-stage .gallery-bg,
#sub-stage .profile-bg,
#sub-stage .contact-bg{
    padding-top: 30%;
    width: 85%;
}
#sub-stage h2{
    right: 5%;
    top: 80%;
}
/************************************************************
 works
*************************************************************/
#works-1 .column-l{
    width: 60%;
}
#works-1 .column-r{
    width: 35%;
}
#works-2 ul li {
    width: 32%;
}
/************************************************************
 profile
*************************************************************/
#profile-1 .column-l{
    width: 30%;
}
#profile-1 .column-r{
    width: 65%;
}
}
@media screen and (max-width: 740px) {
}
@media screen and (max-width: 640px) {
/************************************************************
 works
*************************************************************/
#works-3 ul li {
    width: 48%;
}
}
@media screen and (max-width: 560px) {
/************************************************************
 works
*************************************************************/
#works-1 .column-l{
    width: 100%;
}
#works-1 .column-r{
    width: 100%;
}
/************************************************************
 profile
*************************************************************/
#profile-1 .column-l{
    width: 100%;
    max-width: 320px;
    margin: 0 auto 1em auto;
}
#profile-1 .column-r{
    width: 100%;
}
}
@media screen and (max-width: 460px) {
/************************************************************
  works
*************************************************************/
.spotlight-group img,
.spotlight-group .image{
    width: 38vw;
}
.spotlight-group .image{
    height: 38vw;
}
#column-topics dt{
    background-size: auto 100%;
    height: 170px;
    margin: 0 auto;
}
#column-topics dd{
    flex: auto;
    width: 100%;
}
/************************************************************
 contact
*************************************************************/
#contact-1 .column-l{
    width: 37%;
}
#contact-1 .column-r{
    width: 58%;
}
}
@media screen and (max-width: 400px) {
/************************************************************
 sub-common
*************************************************************/
#sub-stage .works-bg,
#sub-stage .gallery-bg,
#sub-stage .profile-bg,
#sub-stage .contact-bg{
    padding-top: 40%;
    margin-bottom: 80px;
}
#sub-stage h2{
    right: 5%;
    top: 90%;
}
/************************************************************
 works
*************************************************************/
#works-2 ul li {
    width: 48%;
}
#works-3 ul li {
    width: 100%;
}
}
@media screen and (max-width: 350px) {
/************************************************************
 contact
*************************************************************/
#contact-1 .column-l{
    width: 100%;
    margin-bottom: 1em;
}
#contact-1 .column-r{
    width: 100%;
}
.entrybtn button{
	padding:15px 0;
    width: 90%;
}
}
@media screen and (max-width: 300px) {
/************************************************************
 sub-common
*************************************************************/
#sub-stage h2{
    left: 0;
    right: auto;
    height: 90%;
}
#sub-stage h2 img{
    height: auto;
    width: 100%;
}
}