@charset "utf-8";

.block-city{

}

.bg-city{
	width: auto;
	height: 100%;
}
.hrts{
	text-align: center;
	font-size: 14px;
	margin-bottom: 10px;
}
.no-hit{
	display: none
}
.no-hit p{
	width: 50vw;
	padding-top: 40vh;
	display: flex;
	align-items: center;
	justify-content: center;

}
.cooperating_companies{
	background-image: url("../img/b3.jpg");
	display: flex;
	align-items: center;
}
.cooperating_companies-inner{
	display: flex;
	position: relative;
	height: 83vh;
	background-image: url("../img/bg_paper.webp");
	background-repeat: repeat-x;
	background-size: auto 100%;
}
.manekineko-link{
	margin-left: 200px;
	text-align: center;
	position: relative;
}
.manekineko-link a{
	display: block;
	position: absolute;
	width: 110%;
	bottom: 80%;
	left: 50%;
	padding-left: 15%;
	z-index: 2;
	transform: translateX(-50%);
}
.manekineko-link a img{
	width: 100%;
	height: auto;

}
.manekineko-link p{
	text-align: center;
	position: absolute;
	bottom: 5%;
	width: 100%;
	z-index: 1;
}
.manekineko-link p img{
	width: 70%;
	height: auto;
}

/*　協力 */
.c_companies{
	display: flex;
	align-items: center;
	width:auto;
}
.c_companies .inner{
	display: flex;
	padding: 3% 0;
	background-image: url("../img/b2.jpg");
	background-repeat: repeat-x;
	background-size: auto 100%;
	border-radius: 6px;
	height: 65vh;
	align-items: center;
	width:auto;
}
.c_companies h2{
	width: 200px;
}
.c_companies h2 img{
	width: 50%;
	display: block;
	margin: 0 auto;
	height: auto
}
.c_companies-list{
	display: flex;
	width: 100%;
}
.c_companies-list li{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 260px;
	padding: 0 20px;
	border-right: 1px solid #DBCBB0;
	align-items: top;
}
.c_companies-list a{
	display: block;

}
.c_companies-list li:last-child{
	border: none
}
.c_companies-list figure{
	display: flex;
	justify-content:space-between;
	align-items: center;
	margin: 0 0 14px 0;
	background: #FFF;
	height: 120px;
	border-radius: 5px;
	padding: 7px;
}
.c_companies-list img{
	vertical-align: baseline;
	width: 100%;
	display: block;
	max-width: 100%;
	height: auto;
}
.c_companies-list h3{
	text-align: center;
	display: block !important;
	padding: 0;
	font-size: 15px;
	width: 100%;
}
.c_companies-list p{
	line-height: 150%;
	color: #A89668;
	letter-spacing: 2px;
	font-size: 14px;
	margin: 0;
	padding: 8px 0 0 0;
	vertical-align: top
}

/*　実行委員会 */
.executive_committee{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
}
.executive_committee .inner{
	padding: 0 ;
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	position: relative;
	width:85%;
	margin: 0 auto
}
.executive_committee h3{
	width: 50%;
	margin: 0 auto 30px auto;

}
.executive_committee h3 img{
	vertical-align: baseline;
	width: 100%;
	display: block;
	max-width: 100%;
	height: auto;
}
.executive_committee-list{


	width: 100%;
	margin: 0 auto 12% auto;

	overflow-y: auto
}
.executive_committee-list li{
	width: 100%;
	padding: 0 1%;
	font-size: 12px;
}
.executive_committee-list li p{
	padding-left: 1rem
}
.executive_committee-list li img{
	vertical-align: baseline;
	width: 100%;
	display: block;
	max-width: 100%;
	height: auto;
}
.copyright{
	text-align: center;
	color: #CCBA9D;
	width: 100%;
	position: absolute;
	bottom: 0;
	font-size: 13px;

}
.go-list{
	border: 1px solid red;
	position: relative;
}
/* ------------------------------------------------------------- */
.modal{
	width: 500px;
	height: 72vh;
	z-index: 10;
	background-image:
  	url("../img/bg_paper_left.webp"),
  	url("../img/bg_paper_right.webp"),
  	url("../img/bg_paper.webp");	
	background-repeat: 	no-repeat,no-repeat,repeat-x  ;
	background-size: 
 	auto 100%, 
  	auto 100%, 
  	auto 100%;
	background-position: 
  	left top,
  	right center,
  	left center;
	display: flex;
	padding: 15vw 10vw;
}
.modal .item{

}
.modal h3{
	text-align: center;
	margin-bottom: 10px;
}
.modal h3 img{
	width: auto;
	height:8vh
}
.modal-concept .item1{
	width: 50%;
}
.modal-concept .item2{
	width: 50%;
	display: block;
	text-align: center
}
.modal-concept .item2 img{
	width: 90%;
	height: auto
}
.modal p{
	line-height: 200%;
	padding: 0 10px 30px 10px;
	overflow-y: auto;
	overflow-x: hidden;
	height: 47vh;
}
.modal.modal-about{

	background-image:
	url("../img/bg_cat.webp"),
  	url("../img/bg_paper_left.webp"),
  	url("../img/bg_paper_right.webp"),
  	url("../img/bg_paper.webp");	
	background-repeat:no-repeat,no-repeat,no-repeat,repeat-x  ;
	background-size: 
	60% auto, 
 	auto 100%, 
  	auto 100%, 
  	auto 100%;
	background-position: 
	center bottom 10%,
  	left top,
  	right center,
  	left center;

}
/* ------------------------------------------------------------- */
.cats{

	display: flex;
	align-items: center;
	margin: 0;
}
.cats-inner{
	display: flex;
	position: relative;

	height: 83vh;
	padding-left:70px;
	background-image:
  	url("../img/bg_paper_left_blue.png"),
  	url("../img/bg_paper_blue_right.jpg?1"),
  	url("../img/bg.jpg");
	
	background-repeat: 	no-repeat,no-repeat,repeat-x  ;
	background-size: 
 	auto 100%, 
  	auto 100%, 
  	auto 100%;

	background-position: 
  	left top,
  	right center,
  	left center;
}

.search-form{
	width: 360px;
	display: flex;
	align-items: center;
	justify-content: center
}
.search-form .inner{
	width: 55%;
	margin-bottom: 6%
}
.search-form h2{
	width: 40%;
	margin: 0 auto 3% auto
}
.search-form h2 img{
	width: 100%;
	height: auto
}
.search-text{
	border: 1px solid #005AA0;
	border-radius: 100px;
	background: #FFF;
	padding: 0% 2%;
	line-height: 1;
	margin-bottom: 6%;
	background-image: url("../img/icn_search.svg");
	background-repeat: no-repeat;
	background-position: right 4% center;
	background-size: auto 50%
}
.search-text input{
	width: 90%;
	padding: 4% 3%;
}
.search_category{
	border: 1px solid #005AA0;
	border-radius: 100px;
	padding: 4% 2%;
	background: #005AA0;
	color: #FFF;
	width: 100% !important;
	text-align: center !important;
  text-align-last: center;    /* iPhone Safari対策 */
  -moz-text-align-last: center; /* Firefox対策 */
}
.ui-icon {
  appearance: none; /* Safari */
  -webkit-appearance: none; /* iOS */
  -moz-appearance: none;
}
.btn_search{
	background:#005AA0;
	width: 100%;
	height: 41px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
}
.search-btn{
	width: 230px;
	display: flex;
	align-items: center;

}
.search-btn .inner{
	width: 60%;
}
.search-form h3{
	display: block;
	width: 100%;
	margin-bottom: 7%;
}
.search-form h3 img{
	width: 100%;
	height: auto
}
.search-btn a{
	display: block;
}
.search-btn a img{
	width: 100%;
	height: auto;
}
.search-result{

	display: flex;
	align-items: center;
}
.search-result-list{
  display: grid;
  grid-template-rows: repeat(2, auto); /* 2行に固定 */
  grid-auto-flow: column;              /* 横に並べて、あふれたら下に */
  justify-content: start;
  align-items: start;
}
.search-result-list li{
	width: 170px;
	
}
.search-result-list a{
	display: block;
	padding:4px;
}
.search-result-list a div{
	font-size: 11px;
	text-align: center;
	padding: 4px;
}
.search-result-list img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 3px solid rgba(177,140,87,0.3);
	border-radius: 5px;
}

/* ------------------------------------------------------------- */
.company{
	background-image: url("../img/b3.jpg");
	display: flex;
	align-items: center;
	margin: 0;
}
.company-inner{
	display: flex;
	align-items: center;
	justify-content:flex-start;
	position: relative;

	height: 83vh;
	padding-left: 90px;
	background-image: 

  	url("../img/bg_paper_left_blue.png"),
  	url("../img/bg_paper_blue_right.jpg?1"),
  	url("../img/bg.jpg?3");
	
	background-repeat: 	no-repeat,no-repeat,repeat-x  ;
	background-size: 
 	auto 100%, 
  	auto 100%, 
  	auto 100%;

	background-position: 
  	left top,
  	right center,
  	left center;
}

.neko-box{

	display: flex;
	align-items: center;
	margin-right:90px;
	background-image: url("../img/bg_manekineko.png");
	background-size: auto 100%;
	background-repeat: repeat-x;
	padding: 25px;
	border-radius: 7px;
}

.neko-box .inner{
	padding-left: 7%;
	display: flex;
	align-items:center;

}
.neko-box .item1{
	width: 48%;
	position: relative;
	text-align: center
}
.neko-box .item1 img{
	width: auto;
	height: 100vw;
}

.neko-box img.landscape{
	height: auto !important;
	width:90% !important;
	margin: 0 auto;
	display: block
}
@media screen and (min-width: 414px) {
	.neko-box img.landscape{
		width: 372px;
	}
}
.neko-box img.portrait{
	height: 60vh;
	width:auto;
	margin: 0 auto;
	display: block
}
.neko-box img.square{
	height: auto;
	width:90vw;
	margin: 0 auto;
	display: block
}

.neko-box .item2{
	width: 50%;
}
h2.ntit{
	margin-bottom: 5%;
	background:#F0E1C0;
	border-left: 6px solid #C2B48D;
	padding: 3% 2% 2% 4%;
	color: #715B46;
	font-size: 120%;
	display: flex;
	align-items: center;
	line-height: 1
}
.neko-box .item2 p{
	line-height: 200%;
	color:#191B1A;
	overflow-y: scroll;
	height: 57vh
}
.kumo{
	width:700px;

}		
.company-info{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding-right: 40px;
	min-height: 60vh;
	width: 100vw;
}
@media screen and (min-width: 414px) {
	.company-info{
		width: 390px;
	}
}
.company-info .inner{
	display: flex;
	align-items: center;
}
.company-info h3{
	width: 30%;
}
.company-info h3 img{
	width: 65%;
	height: auto
}
.company-name{

}
.company-name h4{
	margin-bottom: 4%;
	background:#F0E1C0;
	border-left: 6px solid #C2B48D;
	padding: 1% 2% 1% 3%;
	color: #715B46;
	min-width: 300px;
}
.company-name p{
	font-weight: bold;
	font-size: 120%;
	margin-bottom: 2%
}
.btn1{
	background: #005AA0;
	color: #FFF;
	border-radius: 100px;
	text-align: center;
	padding: 4%;
	display: block;
	background-image: url("../img/icon_newsite.svg");
	background-repeat: no-repeat;
	background-position: right 5% center;
	background-size: auto 30%;
	font-size: 105%;
	margin-top: 7%;
	margin-bottom: 7%;
	letter-spacing: 0;
}
.title_company_info{
	padding: 0 40px 0 70px;	
}
.ibox{
	width: 100vw;
	height: 66vh;
	padding: 0 5vw;
	overflow-y: auto；
}
.ibox p{
	width: 90vw;
	height: 64vh;
	line-height: 170%;
	overflow-y: auto;
	color: #715841;
	font-size: 15px;
	
}
.gbox{
	width: 100vw;
	height: 66vh;
	padding: 0 5vw;
	overflow-y: auto；
}

@media screen and (min-width: 414px) {
	.ibox,.gbox{
		width: 390px;
		padding: 0;
	}
	.ibox p{
		width: 100%;
		height: 60vh !important;
	}
}
.ibox p{
	
	height: 66vh;
	overflow-y: auto；
}
img.fw{
	height: 98%;
	width: auto
}
@media screen and (min-width: 414px) {
	img.fw{
	height: 90%;
	width: auto
	}
}

.articles{
	display: flex;
	align-items: center;

}
.article1,.article2{
	display: flex;
	justify-content: space-between;
	height:60vh;
	overflow: hidden;
}
.article2{

}
.article1 .item2{
	min-width: 300px;
	margin-right: 4%;
	position: relative;

}
.article2 .item1,
.article2 .item2{
	margin-right: 4%;
	min-width: 300px;
}
.articles img{
	width:100%;
	max-height: 100%;
}

.article1 .item1{
	margin-right: 4%;
	min-width: 300px;

}
.article1 .item2{
	display: flex;
	align-items: center

}
.rotate-90 {
    transform: rotate(90deg);
}
.rotate-180 {
    transform: rotate(180deg);
}
.rotate-270 {
    transform: rotate(270deg);
}
img.cimg.landscape{
	height: auto;
	width:100%;
	margin: 0 auto;
	display: block
}
@media screen and (min-width: 414px) {
	img.cimg.landscape{
		width: 372px;
	}
}
img.cimg.portrait{
	height: 60vh;
	width:auto;
	margin: 0 auto;
	display: block
}
img.cimg.square{
	height: auto;
	width:90vw;
	margin: 0 auto;
	display: block
}
@media screen and (min-width: 414px) {
	img.cimg.square{
		width: 352px;
	}
}
img.pimg.landscape{
	height: auto;
	width:90vw;
	margin: 0 auto;
	display: block
}
@media screen and (min-width: 414px) {
	img.pimg.landscape{
		width: 372px;
	}
}
img.pimg.portrait{
	height: 30vh;
	width:auto;
	margin: 0 auto;
	display: block
}
img.pimg.square{
	height: 45vh;
	width:auto;
	margin: 0 auto;
	display: block
}
img.mimg{
	width: 100%;
	height: auto;

	margin: 0 auto;
	display: block
}

.h4{
	margin-bottom: 4%;
	background:#F0E1C0;
	border-left: 6px solid #C2B48D;
	padding: 1% 2% 1% 3%;
	color: #715B46;
	width: 100%;
}
.article1 .item1 p,
.article2 .item1 p{
	line-height: 200%;
	overflow-y: scroll;
	height: 50vh
}
.company-logo{
	margin-bottom: 5%;
}
.company-logo img{

	border-radius: 8px;
}

.recomend_title{
	width: 300px;
	display: flex;
	align-items: center;
	justify-content: center
}
.recomend_title img{
	width: 60%;
	display: block;
	height: auto
}
/* ------------------------------------------------------------- */
.sns{
	width: 500px;
	min-height:60vh;
	margin-left: 30px
}
.sns .inner{

}
.movie{
	background:#FAEBD2;
	padding: 5%;
	margin-bottom: 3%;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.sns-list{
	display: flex;
	justify-content: center;
	padding: 20px 8% 0 8%;

}
.sns-list li{
	display: flex;
	width: 33%;
	justify-content: center;
}
.sns-list a{
	text-align: center;
	background:#FAEBD2;
	height: 85px;
	width: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
}
.sns-list img{
	width:45%;
	height: auto
}


/* ------------------------------------------------------------- */
.artist-info{
	border: 1px solid blue;
}
.position{
	color: #715841;
	margin-bottom: 4%;
}
.artist-data{
	width: auto;
	min-height: 60vh;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding-right: 40px;
}
.artist-data .inner{
	min-width: 250px;
}
.artist-data h3{
	margin-bottom: 4%;
	background:#F0E1C0;
	border-left: 6px solid #C2B48D;
	padding: 1% 2% 1% 3%;
	color: #715B46;
	width: 100%;
	display: block;
}
.artist-data p{
	line-height: 200%;
	color:#191B1A;
	overflow-y: scroll;
	height: 57vh
}
.portfolio{
	width: 400px;
	min-height: 60vh;
}
.portfolio img{
	width: 92%;

	height: auto
}
.portfolio div{
	color: #715841;
	text-align: center;
	padding-top: 1%;
}

/* NAV------------------------------------------------------------- */
.menu-toggle {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 9999;
  cursor: pointer;
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 300px;
  height: 100%;
  background-color: rgba(255,255,255,0.94);
  box-shadow: -2px 0 5px rgba(0,0,0,0.2);
  z-index: 9998;
  padding: 50px 20px;
  transition: right 0.3s ease;
}

.mobile-nav.active {
  right: 0;
}

.mobile-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}
.mobile-nav ul:first-child {
	border-bottom: 1px solid #ccc;

}
.mobile-nav ul:last-child a {
	font-size: 15px;
	padding-left: 20px;
}

.mobile-nav li {
  margin-bottom: 15px;
}

.mobile-nav a {
  text-decoration: none;
  color: #333;
  font-size: 17px;
}

/* PC */
@media screen and (min-width: 600px) {

}