@charset "utf-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * CSS Information
 * ===============================================================
 * TOC:
 *     =1    common
 *     =2    top
 *
 * ===============================================================
*/



/** =1
 * ========================================
 * common
 * ========================================
 */

/* [ common ]
------------------------------ */

body{
	color: #231815;
}

.pc{
	display: block;
}
.sp{
	display: none;
}
@media screen and (max-width: 767px) {
.pc{
	display: none;
}
.sp{
	display: block;
}
}

.newsDetailWrap a,
.newsDetailWrap a:visited{
	color:#000000;
	text-decoration: underline;
}
.newsDetailWrap a:hover{
	color:#000000;
	text-decoration: none;
}

 
/* [ header ]
------------------------------ */

.fixhead header{
	position: fixed;
    right: 1px;
    z-index: 10000;
}
.fixhead header nav{
	width: 472px;
}


@media screen and (max-width: 767px) {
.header{
}
}
.logo_pc{
	position: absolute;
	top: 25px;
	left: 45px;
	z-index: 1000;
}
header nav{
	position: absolute;
	z-index: 10000;
	top: 20px;
	right: 33px;
}
#profile header nav,
#theme header nav,
#contact header nav{
	top: 27px;
}
#works header nav{
	top: 21px;
}
header nav ul{
	overflow: hidden;
}
header nav ul li{
	float: left;
	margin-right: 10px;
	width:89px;
	height: 39px;
}
header nav ul li:nth-child(4){
	margin-right: 30px;
}
header nav ul li:nth-child(5),
header nav ul li:nth-child(6){
	float: left;
	margin-top: 5px;
	margin-right: 10px;
	width:23px;
	height: 23px;
}
header nav ul li a{
	display: block;
	width:89px;
	height: 39px;
}
header nav ul li:nth-child(5) a,
header nav ul li:nth-child(6) a{
	width:23px;
	height: 23px;
}

header nav ul li:last-child{
	margin-right: 0;
}
/* spNav */
.spNavWrap{
	display: none;
}
@media screen and (max-width: 767px) {

.spNavWrap{
	display: block;
	width: 100%;
	/*height: 100%;*/
	position: absolute;
}
.spNavInner{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1001;
}
.imgNavOpen{
	position: absolute;
	top: 20px;
	right: 20px;
}
.spNavOpenWrap{
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 102002;
	background-color: rgba( 0, 0, 0, 0.9 );
	display: none;
}
.imgNavClose{
	position: absolute;
	top: 20px;
	right: 20px;
}
.nav_sp{
	margin-top: 20%;
	text-align: center;
}
.nav_sp li{
	margin-bottom: 35px;
}
.nav_sp li:last-child{
	margin-bottom: 0;
}
li.sp_sns a{
	margin-right: 20px;
	width: 28px;
	height: 28px;
}
li.sp_sns a:first-child{
	margin-left: 30px;
}



.spNavOpenWrap.show{
    display: block;
      opacity: 1;
      animation-duration: 0.5s;
      animation-name: fade-in;
      -moz-animation-duration: 0.5s;
      -moz-animation-name: fade-in;
      -webkit-animation-duration: 0.5s;
      -webkit-animation-name: fade-in;
    }

    @keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }

    @-moz-keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }

    @-webkit-keyframes fade-in {
      0% {
        display: none;
        opacity: 0;
      }

      1% {
        display: block;
        opacity: 0;
      }

      100% {
        display: block;
        opacity: 1;
      }
    }
}

.subheadWrap{
	height: 50px;
	margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
.subheadWrap{
	display: none;
	height: auto;
	margin-bottom: 35px;
}	
}




/* [ contents ]
------------------------------ */
#profile .contents{
	width:780px;
	margin: 0 auto;
	
}
@media screen and (max-width: 767px) {
.contents,
#profile .contents{
	width: 88%;
	margin: 0 auto;
}
}

#contact .contents{
	width:680px;
	margin: 0 auto;
	
}
@media screen and (max-width: 767px) {
.contents,
#contact .contents{
	width: 88%;
	margin: 0 auto;
}
}




/* [ footer ]
------------------------------ */

footer{
	margin-top: 150px;
	padding-bottom: 110px;
}
@media screen and (max-width: 767px) {
footer{
	margin-top: 50px;
	padding-bottom: 50px;
}
}


.copyright{
	margin-left: 115px;
	font-size: 15px;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
.copyright{
	margin-left: 0;
	font-size: 10px;
	letter-spacing: 0.05em;
	text-align: center;
}
}


/* =2
* ========================================
* top
* ========================================
*/
body,html{
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 767px) {
body,html{
	font-family: 'Noto Serif Japanese', serif;
}	
}



.mvWrap{
	position: relative;
	margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
.mvWrap{
	margin-bottom: 35px;
}	
}

.imgtitle{
	position: absolute;
	width:211px;
	height: 41px;
	z-index: 1000;
	margin: auto;
	top:0;
	bottom: 0;
	left: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
.imgtitle{
	position: absolute;
	width:130px;
	height: 25px;
}
.imgtitle img{
	position: absolute;
	width:130px;
	height: 25px;
}
}



.txtTopIntro{
	text-align: center;
	font-size:15px;
	line-height: 32px;
	color: #231815;
	margin-bottom: 90px;
	letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
.txtTopIntro{
	display: none;
}	
}



/* .slide viewer
------------------------- */
.viewer,
.viewer2{
	margin: 0 auto;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.viewer{
	display: block!Important;
}
.viewer a{
	cursor: pointer;
}

.viewer2{
	display: none!Important;	
}
@media screen and (max-width: 767px) {
.viewer{
	display: none!Important;	
}
.viewer2{
	display: block!Important;	
}
}


.viewer ul,
.viewer2 ul {
	width: 100%;
	overflow: hidden;
	position: relative;
	background:#000000;
}
.viewer ul li,
.viewer2 ul li {
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.viewer ul li img,
.viewer2 ul li img {
	width: 100%;
}

/* =======================================
	ClearFixElements
======================================= */
.viewer ul:after,
.viewer2 ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
 
.viewer ul,
.viewer2 ul{
	display: inline-block;
}
.viewer ul a{
	pointer:default!Important;
}

/* top nav */
.topNav{
	display: none;
}
@media screen and (max-width: 767px) {
.topNav{
	display: block;
	text-align: center;
	margin-bottom: 85px;
}
.topNav li{
	margin-bottom: 35px;
}
.topNav li:last-child{
	margin-bottom:0;
}
}



/* news */
.subheadNewsTop{
	padding-top: 30px;
	text-align: center;
	margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
.subheadNewsTop{
	width: 50px;
	height: auto;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 50px;
}
.subheadNewsTop img{
	width: 50px;
	height: auto;
	text-align: center;
}
}

.newsList{
	margin-left: -120px;
}
@media screen and (max-width: 767px) {
.newsList{
	margin-left: 0;
}
}

.newsList li{
	overflow: hidden;
	width: 680px;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.newsList li{
	width: 100%;
}
}

.newsList .dateNews{
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	float: left;
	font-size: 14px;
	width: 90px;
	margin-right: 30px;
}
@media screen and (max-width: 767px) {
.newsList .dateNews{
	float: none;
	font-size: 10px;
	margin-bottom: 5px;
}
}

.newsDetailWrap{
	width:560px;
	float: left;
	border-bottom: solid 1px #BEBEBE;
	padding-bottom: 70px;
	margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
.newsDetailWrap{
	width:100%;
	float: none;
	padding-bottom: 35px;
	margin-bottom: 35px;
}
}

.titleNews{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
.titleNews{
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 27px;
}
.txtNews{
	font-size: 13px;
}
}

.picNews{
	margin-top: 35px;
	text-align: center;
}
@media screen and (max-width: 767px) {
.picNews{
	margin-top: 20px;
	width:100%;
}
.picNews img{
	width:100%;
	height: auto;
}
}


.newsList li:last-child .newsDetailWrap{
	margin-bottom: 0;
	border: none;
}

.colorRed{
	color:#b40214;
}


/* =2
* ========================================
* profile
* ========================================
*/


.headlineSublayer{
	width: 85px;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 160px;
}
@media screen and (max-width: 767px) {
.headlineSublayer{
	margin: 0 auto;
	margin-bottom: 50px;
	width: 62px;
	padding-top: 30px;
}
}

.aboutus{
	margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
.aboutus{
	margin-bottom: 57px;
}
}


.txtCate{
	font-size: 18px;
	letter-spacing: 0.2em;
	line-height: 1;
	margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
.txtCate{
	font-size: 12px;
	margin-bottom: 18px;
}
}

.txtName{
	font-size:25px;
	line-height: 1;
	letter-spacing: 0.15em;
	margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
.txtName{
	font-size:18px;
	letter-spacing: 0.15em;
	margin-bottom: 13px;
}
}

.txtFrigana{
	font-size: 17px;
	color:#808080;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 85px;
}
@media screen and (max-width: 767px) {
.txtFrigana{
	font-size: 10px;
	line-height: 1;
	margin-bottom: 36px;
}
}

.txtDisc1,
.txtDisc2{
	font-size:15px;
	letter-spacing: 0.01em;
	line-height: 32px;
}
@media screen and (max-width: 767px) {
.txtDisc1,
.txtDisc2{
	font-size:12px;
	line-height: 22px;
}
}

.txtDisc1{
	margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
.txtDisc1{
	margin-bottom: 15px;
}
}


.subheadList{
	font-size:17px;
	color:#6D6D6A;
	padding-bottom: 10px;
	margin-bottom: 25px;
	line-height: 1;
	width: 100%;
	border-bottom:solid 1px #6D6D6A;
}
@media screen and (max-width: 767px) {
.subheadList{
	font-size:12px;
	padding-bottom: 5px;
	margin-bottom: 15px;
	
}
}

.list,
.list2{
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.list,
.list2{
	margin-bottom: 50px;
}
}

.list li{
	overflow: hidden;
}

.txtYear{
	font-size: 15px;
	line-height: 2.1;
	float: left;
	margin-right: 35px;
}
@media screen and (max-width: 767px) {
.txtYear{
	font-size: 12px;
	line-height: 2.1;
	margin-right: 15px;
}
}

.txtList{
	font-size: 15px;
	line-height: 2.1;
	float: left;
}
@media screen and (max-width: 767px) {
.txtList{
	font-size: 12px;
	line-height: 2.1;
	width: 80%;
}
}


.list2 li{
	font-size: 15px;
	line-height: 2.1;
}
@media screen and (max-width: 767px) {
.list2 li{
	font-size: 12px;
	line-height: 2.1;
}
}

.txtPlayLink a,
.txtPlayLink a:visited{
	color: #808080;
	text-decoration: underline;
}
.txtPlayLink a:hover{
	color: #808080;
	text-decoration: none;
}

.txtPlayLink span{
	display: block;
	margin-top: 20px;	
}
@media screen and (max-width: 767px) {
.txtPlayLink span{
	margin-top: 10px;	
}
.Listbr br{
	display: none;
}
}

/* =3
* ========================================
* works
* ========================================
*/
@media screen and (max-width: 767px) {
#works,
#theme{
	background: #2D2D2D;
}
#works .contents,
#theme .contents{
	width:100%;
}
#works footer .copyright,
#theme footer .copyright{
	color: #FFFFFF;
}
}

#works .subheadWrap{
	margin-bottom: 38px;
}
@media screen and (max-width: 767px) {
#works .subheadWrap{
	margin-bottom: inherit;
}
}

#works .headlineSublayer{
	width: 81px;
	margin-bottom: 62px;
	padding-top: 10px;
}
@media screen and (max-width: 767px) {
#works .headlineSublayer,
#theme .headlineSublayer{
	margin-bottom: 45px;
	width: 50px;
	padding-top: 30px;
}
}

.worksMainimg{
	position: relative;
}
@media screen and (max-width: 767px) {
.worksMainimg{
	display: none;	
}
}

.mv_ThemePickup{
	position: absolute;
	z-index: 20000;
	width:100%;
	height: auto;
}
.mv_ThemePickupInner{
	width:100%;
	height: auto;
	position: relative;
}
.mv_ThemePickup li{
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	width:100%;
	z-index: 9999922299;
}
.mv_ThemePickup img{
	width: 100%;
	height: auto;
}


.bxslider img{
	width: 100%;
	height: auto;
}
.worksList{
	width:100%;
	margin: 0 auto;
}


.worksList ul{
	overflow: hidden;
}
@media screen and (max-width: 767px) {
.worksList ul{
	overflow: visible;
}
.worksList .bx-wrapper{
	margin-bottom: 0;
}
}

.worksList li{
	width:23.5%;
	float: left;
	margin-right: 2%;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.worksList li{
	width:100%;
	float: none;
	margin-right: 0;
	margin-bottom: 25px;
}
}


.worksList li:nth-child(4),
.worksList li:nth-child(8){
	margin-right: 0;
}
.worksList li img{
	width:100%;
	height: auto;
}

.thumbTheme{
	/*margin-bottom: 15px;*/
}
@media screen and (max-width: 767px) {
.thumbTheme{
	display: none;
}
}

.thumbTheme a{
	z-index: -1;
}

.txtThumbTheme{
	font-size: 22px;
	display: none;
}
@media screen and (max-width: 767px) {
.txtThumbTheme{
	display: block;
	font-size: 19px;
	margin-bottom: 5px;
}
}

.worksList li:nth-child(1) .txtThumbTheme,
.worksList li:nth-child(4) .txtThumbTheme{
	margin-left: 2%;
}
@media screen and (max-width: 767px) {
.worksList li:nth-child(1) .txtThumbTheme,
.worksList li:nth-child(4) .txtThumbTheme{
	margin-left: 10px;
}
}

.txtThumbTheme span{
	font-size: 16px;
	color:#949886;
}
@media screen and (max-width: 767px) {
.txtThumbTheme{
	color:#BBBBB1;
	margin-left: 10px;
}

.txtThumbTheme span{
	margin-left: 5px;
	font-size: 15px;
	color:#808080;
}


}

.thumbTheme_sp{
	display: none;
}
.thumbTheme_sp_Wrap{
	display: none;
}
@media screen and (max-width: 767px) {
.thumbTheme_sp{
	width: 100%;
	display: block;
}
.thumbTheme_sp a{
	display: block;
}
.thumbTheme_sp_Wrap{
	display: block;
}

.thumbTheme_sp img{
	width: 100%;
	height: auto;
}
}


/* =4
* ========================================
* theme
* ========================================
*/
#theme .headlineSublayer{
	margin-bottom: 58px;
}
@media screen and (max-width: 767px) {
#theme .headlineSublayer{
	margin-bottom: 45px;
	width: 50px;
	padding-top: 30px;
}
}
#theme .themeList{
	width:100%;
	max-width:1200px;
	margin: 0 auto;
	box-sizing:border-box;
}	
.themeList *{  
  margin:0;
  padding:0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}


.txtTheme span{
	margin-left: 10px;
	color:#949886;
}
.txtTheme span.subtitle{
	font-size: 15px;
	color:#231815;
}
@media screen and (max-width: 767px) {
.txtTheme span.subtitle,
.txtThumbTheme span.subtitle{
	color:#BBBBB1;
}
}

.themeHead{
	margin-bottom: 45px;
	height: 40px;
	margin-left: 10.2%;
	padding-top: 15px;
	font-size: 17px;
}
@media screen and (max-width: 767px) {
.themeHead{
	margin-bottom: 35px;
	height: auto;
	margin-left: 15px;
	padding-top:0;
}
}

@media screen and (max-width: 767px) {
.themeSlide{
	display: none;
}

}

.themeSlide .themeHead{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	margin-bottom: 130px;
	padding-top: 50px;
}
.themeSlide .txtTheme{
	float: left;
	margin-left: 7%;
	padding-top: 15px;
	font-size: 17px;
}
.themeSlide .closeThemeSlide{
	float: right;
	margin-top: 0px;
	margin-right: 70px;
}
.themeSlide .closeThemeSlide{
	cursor: pointer;
}

.themeList ul {
	overflow: hidden;
	list-style: none;
	margin: 0px;
	padding: 0 20px;
	margin-right:-2%;
  	overflow:hidden;
  	margin-left: 7%;
}
.picThemeList_sp{
	display: none;
}
@media screen and (max-width: 767px) {
.thumbTheme_pc{
	display: none;
}
.picThemeList_sp{
	display: block;
	width:100%;
}
.picThemeList_sp p{
	width:100%;
	margin-bottom: 22px;
}
.picThemeList_sp p img{
	width:100%;
	height: auto;
}

}

.themeList ul  li{
	float: left;
	width:12.57%;
	max-width:140px;
	margin-left: 2%;
  	text-align:center;
  	margin-bottom: 2%;
}
.themeList ul  li img{
	width:100%;
	height: auto;
}

@media screen and (max-width: 767px) {
.txtTheme{
	font-size: 19px;
	color:#BBBBB1;
}
.txtTheme span{
	font-size: 15px;
	color:#808080;
}
}




.themeSlide{
	width:100%;
}
/* 設定 */
.slide_body {
	width: 100%;
}
.slide{
	background: #FFF;
}
.slide img {
	width: 100%;
	vertical-align: bottom;
}

.slide_wrap{
	position: relative;
}
.nextWrap{
	position: absolute;
	top: 0;
	right: 0;
}
.preWrap{
	position: absolute;
	left: 0;
	top: 0;
}
.nextWrap img{
	width:auto;
}
.preWrap img{
	width:auto;
}
/* =5
* ========================================
* contact
* ========================================
*/

.txtAttention{
	font-size: 12px;
	text-align: right;
	margin-bottom: 10px;
}
.sup{
	vertical-align: super;
	font-size: 10px;
}
.subheadContact{
	font-size: 16px;
	margin-bottom: 8px;
}

#contact input,
#contact textarea{
	border: solid 1px #000000;
}


.nameform input{
	width: 322px;
	height: 66px;
	background-image: url(../img/contact/imgTri_pc.jpg);
	background-repeat: no-repeat; 
	text-indent: 1em;
	box-sizing: border-box;
	border-radius: 0!Important;
}
@media screen and (max-width: 767px) {
.nameform input{
	width: 100%;
	height: 44px;
}
.nameform input:first-child{
	margin-bottom: 10px;
}
}

.nameform input:first-child{
	margin-right: 31px;	
}
@media screen and (max-width: 767px) {
.nameform input:first-child{
	margin-right: 0;
}
}

.nameform,
.emailform,
.phoneform,
.txtform{
	margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
.nameform,
.emailform,
.phoneform,
.txtform{
	margin-bottom: 20px;
}
}

.emailform input,
.phoneform input{
	width: 680px;
	height: 66px;
	background-image: url(../img/contact/imgTri_pc.jpg);
	background-repeat: no-repeat; 
	box-sizing: border-box;
	text-indent: 1em;
	border-radius: 0!Important;
}
@media screen and (max-width: 767px) {
.emailform input,
.phoneform input{
	width: 100%;
	height: 44px;
	background-image: url(../img/contact/imgTri_pc.jpg);
	background-repeat: no-repeat; 
}
}

.txtform textarea{
	width: 680px;
	height: 210px;
	background-image: url(../img/contact/imgTri_pc.jpg);
	background-repeat: no-repeat;
	box-sizing: border-box;
	text-indent: 1em;
	padding: 5px 0;
	border-radius: 0!Important;
}
@media screen and (max-width: 767px) {
.txtform textarea{
	width: 100%;
	height: 210px;
}
}

.mfp_buttons button{
	width: 680px;
	height: 66px;
	font-size: 20px;
	color: #FFFFFF;
	border: none;
	background: #000000;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;

}

@media screen and (max-width: 767px) {
.mfp_buttons button{
	width: 100%;
	height: 40px;
	font-size: 20px;
	font-family: 'Noto Serif Japanese', serif;
}
}

.contactComp{
	text-align: center;
}



/* 追加 
.slide{transition:all .3s;opacity:.8;}
.slide.active{ opacity:1;}
*/
.preNav2,
.bx-prev{
	position: absolute;
	display: block;
	height: 660px;
	width: 1000px;	
}


.container .bx-wrapper{
	margin-bottom: 0;
}



.themeWrap{
	position: relative;
	min-height: 800px;
	padding-top: 50px;
}
.themeSlide{
	position: absolute;
	top: 0;
	z-index:999999;
	background: #FFF;
	height: 100%;
}
.themeList{
	top: 0;
	z-index:999998;
	background: #FFF;
}
@media screen and (max-width: 767px) {
.themeList{
	background: inherit;
}
}


#theme .worksList{
	margin-top: 90px;
}

.btnPageTop{
	display: none;
}
@media screen and (max-width: 767px) {
.btnPageTop {
	display: block;
	font-size: 11px;
	text-align: right;
}
.btnPageTop a{
	display: inline-block;
	text-align: right;
	color:#BBBBB1;
	padding-right: 10px;
	letter-spacing: 0.07em;
}
.btnPageTop a:visited{
	color:#BBBBB1;
}
}




.fixhead{
	position: fixed;
	top: 0;
	background: #FFFFFF;
	z-index: 10;
}
@media screen and (max-width: 767px) {
.fixhead{
	position: inherit;
	background: inherit;
	z-index:inherit;
}
}

.cont{
	width: 100%;
    position: inherit;
    margin-top: -88px;
    background: #FFFFFF;}
@media screen and (max-width: 767px) {
.cont{
	width: 100%;
    position: inherit;
    margin-top:0;
    background: inherit;
    padding-bottom: 0;
}
#works .contents{
	margin-top: 0!Important;
}
}


.bx-wrapper {
	background: #FFFFFF;
}