@charset "UTF-8";
/* CSS Document */

/* (2025版)4段 */
.row {
   width: 100%;
/*   max-width: 1400px; */
   margin: 30px auto;
   background: #FFF;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}
/*
.narrow .row { max-width: 1400px; }*/
/* fixed width for IE8 */
/*
.ie .row { width: 1400px ; }
*/
.row .row { width: auto; max-width: 100% }

.col {
   position: relative;
   padding: 0px;
   float: left;
}
.row img,
.reveal-modal img {
   max-width: 100%;
   height: auto;
   margin: 0px 0px 10px 0px;
   padding: 0px;
}
#portfolio-wrapper a:hover{
    opacity:0.6;
}


/* 配置 */
/* Portfolio Content */
#portfolio-wrapper {
	margin: 0px;
}
#portfolio-wrapper .col {
	width: 25%; /* 4段 */
	margin: 10px 0px;
	padding: 0px;
}
@media only screen and (max-width: 780px) {
#portfolio-wrapper .col {
	width: 50%; /* 2段 */
	margin: 10px 0px;
	padding: 0px;
}
}
@media only screen and (max-width: 460px) {
#portfolio-wrapper .col {
	width: 100%; /* 1段 */
	margin: 10px 0px;
	padding: 0px 2px;
}
}
.portfolio-item .item-wrap {
	background: #FFF;
	overflow: hidden;
	margin: 0px;
	padding: 0px;
 /*	
   -webkit-box-shadow: 0px 1px 1px rgba(50, 50, 50, 0.1);
   -moz-box-shadow:    0px 1px 1px rgba(50, 50, 50, 0.1);
   box-shadow:         0px 1px 1px rgba(50, 50, 50, 0.1);

   -webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;*/
}
/* ポップアップ */
.portfolio-item .item-wrap a {
	margin: 0px;
	padding: 0px;
	display: block;
}
.portfolio-item-meta .item-open{
	font-size: 1.1em;
	line-height: 1.2em;
	margin: 0px;
	padding: 0px 0px 10px 0px;
	display: block;
	background: #FFF;
	height: auto;
	width: auto;
}
@media only screen and (max-width: 900px) {
.portfolio-item-meta .item-open{
	font-size: 1.0em;
	line-height: 1.2em;
	margin: 0px;
	padding: 0px 0px 10px 0px;
	display: block;
	background: #FFF;
	height: auto;
	width: auto;
}
}
@media only screen and (max-width: 460px) {
.portfolio-item-meta .item-open{
	font-size: 1.1em;
	line-height: 1.2em;
	margin: 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	background: #FFF;
	height: auto;
	width: auto;
}
}
.item-open a{
	font-weight: bold;
	color: #000;
	width: 100%;
	height: auto;
	text-align: left;
}
.item-open a:before{
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	color: #06C;
	padding-right: 5px;
}
.item-open a:hover,
.item-open a:hover:before{
   color: #F00;
}

/* ポップアップで開く */
.reveal-modal-bg {
   position: fixed;
	height: 100%;
	width: 100%;
	background: #000;
	background: rgba(0,0,0,.8);
	z-index: 100;
	display: none;
	top: 0;
	left: 0;
}
.reveal-modal {
	visibility: hidden;
	top: 100px;
	left: 50%;
	margin-left: -300px;
	width:100%;
	max-width: 550px;
	height: auto;
	background: #fff;
	position: absolute;
	z-index: 101;
	padding: 0;
	-moz-box-shadow: 0 0 10px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,.4);
	-box-shadow: 0 0 10px rgba(0,0,0,.4);
}
@media only screen and (max-width: 600px) {
.reveal-modal {
	visibility: hidden;
	top: 50px;
	left: 5%;
	margin-left: 0px;
	width:90%;
	max-width: 550px;
	height: auto;
	background: #fff;
	position: absolute;
	z-index: 101;
	padding: 0;
	-moz-box-shadow: 0 0 10px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,.4);
	-box-shadow: 0 0 10px rgba(0,0,0,.4);
}
}
.reveal-modal .description-box {
	padding: 0px;
}
.reveal-modal .description-box .item-open{
	font-size: 1.2em;
	line-height: 1.4em;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	background: #4161BC;
	width: 100%;
	height: auto;
	margin: 0px 0px;
	padding: 10px 30px;
}
.reveal-modal .description-box p {
	font-size: 0.9em;
	line-height: 1.4em;
	color: #000;
	width: auto;
	height: auto;
	text-align: left;
	margin: 15px 30px 20px 30px;
	padding: 0px;
}
.reveal-modal .description-box ul li {
	font-size: 1em;
	line-height: 1.5em;
	width: auto;
	height: auto;
	text-align: left;
	margin: 15px 10px;
	padding: 0px 0px;
}
.reveal-modal .description-box ul li a {
	color: #000;
}
.reveal-modal .description-box ul li a:hover{
	color: #F00;
}		
.reveal-modal .description-box ul li a:before{
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	color: #06C;
	padding-right: 0.3em;/* インデントと揃える */
	font-size: 1em;
	vertical-align: baseline;
}

.reveal-modal .description-box .categories {
   font-size: 1em;
   line-height: 1.2em;
   color: #FFF;
   text-transform: uppercase;
   display: block;
}
.reveal-modal .description-box .categories i {
   margin-right: 8px;
}
.reveal-modal .link-box {
   padding: 20px 30px;
   background: #000;
   text-align: center;
}
.reveal-modal .link-box a {
   font-size: 1.1em;
   line-height: 1.2em;
   color: #fff;
   text-transform: uppercase;
   cursor: pointer;
}
.reveal-modal a:hover {
	color: #F00;
}
.reveal-modal a.close-reveal-modal {
	margin-left: 50px;
}
.reveal-modal a.close-reveal-view:before{
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 900;
	color: #FFF;
	padding-right: 0.3em;/* インデントと揃える */
	font-size: 1em;
	vertical-align: baseline;
}
.reveal-modal a.close-reveal-modal:before{
	font-family: "Font Awesome 5 Free";
	content: '\f410';
	font-weight: 900;
	color: #FFF;
	padding-right: 0.3em;/* インデントと揃える */
	font-size: 1em;
	vertical-align: baseline;
}

/* 461px以上は"item-pc " */
.item-pc {
	display: block !important;
	height: auto;
	width: 100%;
	display: block;
}
.item-sp { display: none !important;}

/* 460px以下は"item-sp" */
@media only screen and (max-width: 460px) {
.item-pc { display: none !important;}
.item-sp {
	display: block !important;
	height: auto;
	width: 100%;
	display: block;
}
}



/* （2026）Gallery Configuration */
.photo-wrapper {
  display: block;
  position: relative;
  overflow: auto;
  background-color: #2f2f2f;
  -webkit-transition: background-color 0.4s;
  -moz-transition: background-color 0.4s;
  -o-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
.project .overlay {
  position: absolute;
  text-align: center;
  color: #fff;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: opacity 1.4s;
  -moz-transition: opacity 1.4s;
  -o-transition: opacity 1.4s;
  transition: opacity 1.4s;
}
.project:hover .photo {
  opacity: 10;
  filter: alpha(opacity=4000);
  opacity: 0.1;
  filter: alpha(opacity=40);
}
.project:hover .overlay {
  opacity: 100;
  filter: alpha(opacity=10000);
  opacity: 1;
  filter: alpha(opacity=100);
}

/* 追加 */
.photo-wrapper .overlay ul{
	color: #FFF;
	text-align: left;
	margin: 20px 5px 10px 10px;
	padding: 0px;
	list-style-type: none;
}
/* スクロールバー全体 */
.photo-wrapper:-webkit-scrollbar {
	background: #000;
	width: 5px;
	height: 5px;
}
/* スクロールバーのボタン */
.photo-wrapper:-webkit-scrollbar-thumb {
    background-color: white;
 	border: 2px solid red;
}
.photo-wrapper:::-webkit-scrollbar-thumb:hover {
  background-color: red;
}

.photo-wrapper .overlay li a:link,
.photo-wrapper .overlay li a:visited{
	font-weight: normal;
	color: #FFF;
}
.photo-wrapper .overlay li a:hover{
	font-weight: normal;
	color: #F00;
}
/* 矢印 */
.photo-wrapper .overlay li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 900;
	padding-right: 5px;
	color: #FFF;
}
/* cover内みだし */
.project .covermidasih{
	font-size: 1.1em;
	line-height: 1.4em;
	font-weight: bold;
	color: #000;
	background-color: #FFF;
	margin: 0px;
	padding: 5px 0px 5px 0px;
}
.project .covermidasih a:link,
.project .covermidasih a:visited{
	font-size: 1.1em;
	line-height: 1.4em;
	font-weight: bold;
	color: #000;
}
/* 矢印 */
.project .covermidasih:before {
	font-family: "Font Awesome 5 Free";
	content: '\f13a';
	font-weight: 900;
	padding-right: 5px;
	color: #000;
}

/* top長さ固定の段組み */
div.cover {
   font-size: 1.0em;
   line-height: 1.3em;
   font-weight: normal;
   display: table;
   border-spacing: 0px 10px;
   margin: 0px;
   padding: 0px;
   width: 100%;
}
.cover .box-1 img,
.cover .box-2 img,
.cover .box-3 img,
.cover .box-4 img,
.cover .box-5 img,
.cover .box-6 img,
.cover .box-7 img,
.cover .box-8 img,
.cover .box-9 img{
	width: 100%;
	height: auto;
}
/* 4段組み */
div.cover div.box-1 {
   display: table-cell;
   width: 15%;
   padding-right: 10px;
   padding-left: 0px;
}
div.cover div.box-2 {
   display: table-cell;
   width: 15%;
   padding-right: 5px;
   padding-left: 5px;
}
div.cover div.box-3 {
   display: table-cell;
   width: 15%;
   padding-right: 5px;
   padding-left: 5px;
}
div.cover div.box-4 {
   display: table-cell;
   width: 15%;
   padding-right: 0px;
   padding-left: 10px;
}
/* 3段組み */
div.cover div.box-5 {
   display: table-cell;
   width: 32%;
   padding-right: 10px;
   padding-left: 0px;
}
div.cover div.box-6 {
   display: table-cell;
   width: 32%;
   padding-right: 5px;
   padding-left: 5px;
}
div.cover div.box-7 {
   display: table-cell;
   width: 32%;
   padding-right: 0px;
   padding-left: 10px;
}
/* 2段組み */
div.cover div.box-8 {
   display: table-cell;
   width: 48%;
   padding-right: 7px;
   padding-left: 0px;
}
div.cover div.box-9 {
   display: table-cell;
   width: 48%;
   padding-right: 0px;
   padding-left: 7px;
}

@media screen and (max-width: 1000px) {
/* 段組み解除 */
div.cover div.box-1,
div.cover div.box-2,
div.cover div.box-3,
div.cover div.box-4,
div.cover div.box-5,
div.cover div.box-6,
div.cover div.box-7,
div.cover div.box-8,
div.cover div.box-9{
	display: inline-block;
	width: 48%;
	padding: 0px;
	margin-top: 0px;
	margin-right: 3px;
	margin-bottom: 1%;
	margin-left: 3px;
}
}
@media screen and (max-width: 600px) {
div.cover {
   font-size: 1.0em;
   line-height: 1.3em;
   font-weight: normal;
   display: table;
   border-spacing: 0px 10px;
   margin: 0px;
   padding: 0px;
   width: 100%;
}
/* 段組み解除 */
div.cover div.box-1,
div.cover div.box-2,
div.cover div.box-3,
div.cover div.box-4,
div.cover div.box-5,
div.cover div.box-6,
div.cover div.box-7,
div.cover div.box-8,
div.cover div.box-9{
	display: inline-block;
	width: 100%;
	padding: 0px;
	margin: 0px;
}
}

.sp4{display: none !important;
}
.sp5{
	display: table !important;
	display: table;
	clear: both;
}
.sp6{display: none !important;
}

@media screen and (max-width: 1400px) {
div.cover {
   font-size: 0.9em;
   line-height: 1.2em;
   font-weight: normal;
   display: table;
   border-spacing: 0px 10px;
   margin: 0px;
   padding: 0px;
   width: 100%;
}
}
/* 1000px以下*/
@media only screen and (max-width: 1000px) {
.sp4{
	display: table !important;
	display: table;
	clear: both;
}
.sp5{
	display: none !important;
}
.sp6{
	display: none !important;
}
}
@media only screen and (max-width: 1000px) {
div.cover {
   font-size: 1.0em;
   line-height: 1.2em;
   font-weight: normal;
   display: table;
   border-spacing: 0px 10px;
   margin: 0px;
   padding: 0px;
   width: 100%;
}
}
/* 780px以下*/
@media only screen and (max-width: 780px) {
.sp4{
	display: none !important;
}
.sp5{
	display: table !important;
	display: table;
	clear: both;
}
.sp6{
	display: none !important;
}
div.cover {
   font-size: 0.9em;
   line-height: 1.2em;
   font-weight: normal;
   display: table;
   border-spacing: 0px 10px;
   margin: 0px;
   padding: 0px;
   width: 100%;
}
}
/* 600px以下*/
@media only screen and (max-width: 600px) {
.sp4{
	display: none !important;
}
.sp5{
	display: none !important;
}
.sp6{
	display: table !important;
	display: table;
	clear: both;
}
}


