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

/*メニュー用フォント*/
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');

body {
	background:#fff;
	font-family:serif;
}
a {
	text-decoration:none;
	color:#333;
	cursor: pointer;
}

input {display:none;}

h2 {
	font-size:30px;
	margin:20px auto 100px;
	letter-spacing:2px;
	color:#333;
}



#menu_button,
.menu_button_label {
	display:none;
}
#menu {
	display:block;
	position:absolute;
	width:280px;
	background:#fff;
	height:100%;
	left:0;
	top:0;
	}

.contents {
	display:block;
	position:absolute;
	width:calc(100% - 280px);
	top:0;
	right:0;
	padding:50px 6%;
	box-sizing:border-box;
}

#menu a.logo,
#menu .menu_linklist,
#menu .sns_link,
#menu .copylights
 {
	display:block;
	width:200px;
	margin:0 auto;
}
#menu a.logo {
	font-family: 'Kosugi Maru', sans-serif;
	height:200px;
	box-sizing:border-box;
	font-size:20px;
	padding:20px;
	margin-top:50px;
	letter-spacing:4px;
	transition:all ease-in-out .3s;
}
#menu a.logo img {
	width:100%;
}


#menu .menu_linklist,
#menu .sns_link,
#menu .copylights
 {
	display:block;
	position:relative;
	padding:30px 0;
	text-align:left;
	margin-top:35px;
}
#menu div:before {
	content:"";
	display:block;
	width:48px;
	height:2px;
	background:#e6e6e6;
	position:absolute;
	top:0px;
	left:0;
}
#menu div:after {
	content:"";
	display:block;
	width:48px;
	height:2px;
	background:#e6e6e6;
	position:absolute;
	bottom:0;
	left:0;
}

#menu .menu_linklist a {
	font-weight:700;
	font-size:13px;
	letter-spacing:1px;
	line-height:2em;
	color:#999;
	transition:all ease-in-out .1s;
}
#menu .menu_linklist a:hover {
	color:#333;
}

#menu .sns_link a {
	display:block;
	font-size:15px;
	font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  transform: scaleY(1.05);
  letter-spacing: 1px;
  line-height: 1.1em;
  margin:1em auto;
}
#menu .sns_link a i {
	color:#00bfff;
	font-size:20px;
	padding:10px;
}
#menu .bana img {
	width:90px;
}

#menu .copylights {
	font-size:12px;
	color:#999;
	line-height:1.6em;
}


.contents img {width:100%;height:auto;}
.contents .grid-container .grid {
	position:relative;
	overflow:hidden;
        vertical-align:top;
}
.contents .grid-container .grid label:before {
	content:"";
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.8);
	top:0;
	left:0;
	right:0;
	opacity:0;
	transition:all ease-in-out .2s;
}
.contents .grid-container .grid:hover label:before {opacity:1;}
.contents .grid-container .grid p {
	display:block;
	position:absolute;
	box-sizing:border-box;
	width:100%;
	font-size:18px;
	line-height:1.3em;
	top:calc(50% - 30px);
	left:0;
	right:0;
	margin:0 auto;
	padding:0 1em;
	opacity:0;
	transition:all ease-in-out .2s;
	z-index:10;
}
.contents .grid-container .grid p b {
	display:block;
	margin:10px auto;
}
.contents .grid-container .grid:hover p {
	opacity:1;
}

.blank_link {
        text-decoration:underline;
}


/*--------pinterest風グリッド----------*/

/*-----
@media screen and (min-width: 1200px) {
 .grid-container {
  -webkit-column-count: 3;
  -webkit-column-gap: 20px;
  -webkit-column-fill: auto;
  -moz-column-count: 3;
  -moz-column-gap: 20px;
  -moz-column-fill: balance !important;
  column-count: 3;
  column-gap: 20px;
  column-fill: auto;
 }
}
@media screen and (min-width: 600px) and (max-width: 1199px) {
 .grid-container {
  -webkit-column-count: 2;
  -webkit-column-gap: 20px;
  -webkit-column-fill: auto;
  -moz-column-count: 2;
  -moz-column-gap: 20px;
  -moz-column-fill: balance !important;
  column-count: 2;
  column-gap: 20px;
  column-fill: auto;
 }
}
@media screen and (max-width: 600px) {
 .grid-container {
  -webkit-column-count: 1;
  -webkit-column-gap: 20px;
  -webkit-column-fill: auto;
  -moz-column-count: 1;
  -moz-column-gap: 20px;
  -moz-column-fill: balance !important;
  column-count: 1;
  column-gap: 20px;
  column-fill: auto;
 }
}

.grid {
 display: inline-block;
 -webkit-column-break-inside: avoid;
 -moz-column-break-inside: avoid;
 column-break-inside: avoid;
	margin:20px auto;
}
.grid:first-child {margin:0 auto;}
----*/
/* Google Chorome BugFix */
/*@media screen and (-webkit-min-device-pixel-ratio: 0) {
 .grid {
  display: block !important;
 }
}
----*/

.grid-container {width:100%;text-align:left;}
.grid {display:inline-block;width:30%;text-align:center;margin:0 0 20px;}
@media screen and (min-width: 1200px) {
.grid {width:calc(100% / 3 - 20px);margin:0 6px 18px;}
}
@media screen and (min-width: 600px) and (max-width: 1199px) {
.grid{width:49%;margin:0 0.3% 20px;}
}
@media screen and (max-width: 600px) {.grid{width:100%;}}






.swiper-container,
.caption {
	display:block;
	width:80%;
    max-width:500px;
	vertical-align:top;
	margin:0 auto 0;
}
.swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;

      /* Center slide text vertically */
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
    }


.modal {
	display:block;
	position:fixed;
	width:60%;
	height:auto;
	max-height:80%;
	top:-100%;
	left:-100%;
	transform: translate(-50%, -50%);
	background:#fff;
	padding:20px 20px;
	border:3px solid #666;
	z-index:100;
	overflow-y:scroll;
}

.modal_input:checked + label.bg_close + .modal
 {
	display:block;
	top:50%;
	left:50%;
}
.modal_input:checked + label + .modal {
	display:block;
	top:50%;
	left:50%;
}

label.bg_close {
	display:none;
}

.modal_input:checked + label.bg_close
 {
	display:block;
	position:fixed;
	width:100%;
	height:100%;
	background:#000;
	opacity:.4;
	top:0;
	left:0;
	right:0;
	z-index:50;
}
label.close {
	display:block;
	background:#bbb;
	color:#fff;
	font-weight:300;
	margin:10px auto 0;
	padding:5px 0;
}


.name {
	display:block;
	font-size:20px;
	margin:30px auto;
}
.cap_word {
	display:block;
	text-align:left;
	line-height:2em;
}

.cap_word a {
	color:#00aeff;
}


.dokomachi_caption  {white-space: pre-line;line-height: 2em;font-size:10px;letter-spacing:1px;}
@media screen and (min-width:600px) {
.dokomachi_caption {font-size:15px;letter-spacing:2px;}
}

.download_button {display:inline-block;margin:20px auto;}
.download_button button {
	border:none;
	background: #000;
	color:#fff;
	padding:10px 16px;
	border-radius:4px;
}


/*----------slick--------------*/
.slick-prev:before,
.slick-next:before {
    color: #000;
    font-size:15px;
}
.slick-prev {
    left: -20px;
}
.slick-next {
    right: -20px;
}
.slider div {
    height:auto;
    max-height:500px;
}
.slider div img {
    height:100%;
    max-height:500px;
    object-fit:contain;
    vertical-align:middle;
}
.tatenaga div img {
  height:auto;
  width:100%;
  }
.slick-track
{
    display: flex;
    justify-content: center;
    align-items: center;
}
.overimg_9 .slick-dots li{
	width:16px !important;
}


@media screen and (max-width: 600px) {
.modal {
     width:84%;
}
.swiper-container {
	width:95%;
	margin:0 auto 0;
}
.caption {
  width:95%;
}

}




/*----------profile-------------*/

.contents .logo {
	display:block;
	width:300px;
	height:300px;
	margin:100px auto;
	box-sizing:border-box;
	font-size:20px;
	padding:20px;
	margin-top:50px;
	letter-spacing:4px;
	transition:all ease-in-out .3s;
        background:#fff;
}
@media screen and (min-width: 1200px) {.contents .logo {width:350px;height:350px;}}
.contents a.logo:hover {
	background:#333;
	color:#fff;
}

.pro_caption,
.prof_cap {
	width:90%;
	margin:100px auto 0;
	text-align:left;
	line-height:3.5em;
}

.prof_cap {line-height:2em;}
.prof_cap b {display:block;font-size:18px;margin-bottom:10px;}
/*-----------profile--------------*/





/*-------スマホ用-------*/
@media screen and (max-width:990px){
.menu_button_label {
	display:block;
	position:absolute;
	box-sizing:border-box;
	font-size:16px;
	color:#777;
	letter-spacing:1px;
	top:23px;
	right:24px;
	z-index:30;
	width:101px;
	height:34px;
	padding:8px 30px 10px 10px;
	cursor:pointer;
	border-radius:4px;
}
.menu_button_label b:before {
	content:"";
	display:block;
	position:absolute;
	width:15px;
	height:2px;
	top:12px;
	right:13px;
	background:#777;
	border-radius:2px;
}
.menu_button_label b:nth-child(2):before {top:16px;}
.menu_button_label b:nth-child(3):before {top:20px;}
#menu {
	width:100%;
	height:80px;
	z-index:20;
	overflow:hidden;
	padding:0;
	transition:all ease-in-out .5s;
}
#menu a.logo {
	position:absolute;
	width:70px;
	height:70px;
	padding:0px;
	font-size:16px;
	margin:0 auto;
	top:4px;
	left:20px;
}
#menu_button:checked + #menu {
	height:400px;
	}
#menu .menu_linklist,
#menu .sns_link,
#menu .copylights
 {
	width:90%;
	padding:10px 0;
	text-align:left;
	margin:20px auto;
}

#menu .menu_linklist {
	margin-top:80px;
}
#menu .menu_linklist a {
	font-size:16px;
}
#menu .sns_link a {
	font-size:18px;
	margin-right:10px;
}
#menu .sns_link a i {
	font-size: 30px;
}

#menu .bana img {
	width:120px;
}


.contents {
	width:100%;
	margin-top:55px;
}



.cap_word {
	font-size:13px;
}



.profile li img,
.profile li p {
	display:block;
}
.profile li img {width:200px;margin:10px auto;}
.profile li p {width:100%;text-align:left;}


}





