@charset "utf-8";
/* ------------------
 *common css
 * --------------- */
/*html
====================================================*/

/*body
====================================================*/
body
{
	font-family:"TsukuGoPro-M", "游ゴシック体", "Yu Gothic", YuGothic;
	color:#333;
}
a{
	color:#333;
	text-decoration:none;
}
.error {
	color: #f00;
	font-size: 14px;
}
.en {
	ime-mode:disabled;
}
.input_value{
	margin-left:1em;
}
.photo_unit_template{
	display:none !important;
}
.social-media-wrap {
	margin-top: 10px;
}
/* PC ------------------------------------------------------------------------------------------------------*/
@media only screen and (min-width:768px){	
.only_sm {
	display: none;
}
/*body
====================================================*/
body{
	font-size: 1.4rem;
}
/*header
====================================================*/
header{
	width:100%;
	background:#fff;
	border-bottom:#dbdbdb solid 1px;
	margin:0 auto;
}
header h2{
	margin-bottom: 0;
}
header h1{
	float:left;
	margin-top:15px;
}
header h1 a{
	text-indent:-9999px;
	background-image:url(../images/logo_header.png) ;
	background-repeat:no-repeat;
	background-size:contain;
	width:353px;
	height:53px;
	display:block;
}
header .btn-area{
	float:right;
}
header .btn-login{
	float:left;
	border-left:#dbdbdb solid 1px;
	height:75px;
	display:inline-block;
	vertical-align:middle;
	line-height:75px;
	cursor:pointer; 
}
header .btn-login a{
	text-decoration:none;
	display:block;
	padding:0 10px;
}
/*nav
====================================================*/
nav{
	cursor:pointer;
	float:left;
}
#menu li{
	display: block;
}
#menu li ul.child{
    display: none;
	position:absolute;
	color:#fff;
	margin-left: -157px;
	z-index:100;
}
#menu li ul.child li{
	border-bottom:#465d4d solid 1px;
	background:#516758;
	text-align:left;
	width:auto;
}
#menu li ul.child li a{
    padding: 20px 25px;
    display: block;
    color: #fff;
	text-decoration:none;
	white-space:nowrap;
}
#menu li ul.child li a:hover{
	background:#465d4d;
}
/*wrapper
====================================================*/
.wrapper{
	max-width:935px;
	margin:0 auto;
	overflow:hidden;
}
/*block-sns
====================================================*/
.block-sns ul{
	overflow:hidden;
	width:297px;
	margin:60px auto 30px;
	display: flex;
    justify-content: center;
}
.block-sns li{
	float:left;
	margin-right:70px;
	font-size:1.1rem;
}
.block-sns li a{
	color:#506657;
	text-decoration:none;
	padding-top:30px;
}
.block-sns li.btn-stories a{
	background-image:url(../images/icon_sns_facebook.svg) ;
	background-repeat:no-repeat;
	background-size:46px;
	width:55px;
	height:16px;
	display:block;
	padding-left:46px;
}
.block-sns li.btn-insta a{
	background-image:url(../images/icon_sns_insta.svg);
	background-repeat:no-repeat;
	background-size:46px;
	width: 50px;
	height:16px;
	display:block;
	/* padding-left:46px; */
}
.block-sns li.btn-myhome a{
	background-image:url(../images/icn_sns01.png) ;
	background-repeat:no-repeat;
	background-size:46px;
	width:100px;
	height:16px;
	display:block;
	padding-left:46px;
}
.block-sns li:last-child{
	margin-right:0;
}
/*footer
====================================================*/
footer .block-footer{
	text-align:center;
	border-top:#ccc solid 1px;
	padding:30px 0 26px;
	overflow:hidden;
	clear:both;
}
footer .footer-logo{
	margin-bottom:20px;
}
footer small{	
	color:#4d4d4d;
	font-size: 1.1rem;
}
/*block-photo
====================================================*/
.block-photo ul{
	overflow:hidden;
}
.block-photo li{
	float:left;
    text-align: center;
    vertical-align: middle;
	margin:0 28px 28px 0;
	background:#fff;
	width:293px;
	height:293px;
	display: none;
}
/*.block-photo li:nth-child(3n)*/
.block-photo li:nth-of-type(3n)
{
	margin-right:0;
}
.block-photo li a{
	display: block;
	width:293px;
	height:293px;
    color: #fff;
}
/*
---------------------------------------------------*/
figure {
	position: relative;
	overflow: hidden;
	width: 293px;
	height:293px;
}
figure img{
	width:100%;
	height:auto;
}
figure p.case {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    padding: 90px 0 70px;
    text-align: center;
}
figure p.case span.note{
	margin-right:30px;
}
figure p.case span.note::before{
	content:url(../images/icn_note.png);
	position:relative;
	margin-right:0.5em;
}
figure p.case span.balloon::before{
	content:url(../images/icn_balloon.png);
	position:relative;
	margin-right:0.5em;
}
figure p {
	color: #fff;
	text-align:left;
	padding: 20px
}
figure p.theme_name {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 12px 15px;
}
figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
}
figure:hover figcaption {
	opacity: 1;
}
.return_theme {
	color: #666;
	font-size: 1.8rem;
	padding-bottom:10px;
}
.return_theme a{
	color:#506657;
	text-decoration:none;
	font-size: 18px;
}

/*block-more
====================================================*/
.block-more{
    margin:30px auto 0;
	color: #4c6354;
	background:url(../images/arrow_down.png) center bottom no-repeat;
	height:50px;
}
.block-more a{
	display: block;
    font-size: 14px;
    text-align: center;
	color: #4c6354;
	text-decoration:none;
	height:50px;
	width:80px;
	margin:0 auto;
}
/*popupwindow css*/
/*wrapper-window
====================================================*/
.wrapper-window{
	width:640px;
	margin:0 auto;
	max-width:640px;
	background: #FFF;
}
.wrapper-popup{
	padding:30px 40px;
}
.wrapper-popup h2{
	margin-top: 30px;
	font-size:2.4rem;
	color:#000;
}
.wrapper-window .wrapper-popup h3{
	color:#333;
	font-size:1.6rem;
	margin-bottom:20px;
}
.wrapper-window .wrapper-popup h4{
	color:#333;
	font-size:1.6rem;
	margin-bottom:10px;
}
.wrapper-window .wrapper-popup p{
	color:#666;
	margin-bottom:20px;
}
.wrapper-window .gray-box{
	background:#f2f2f2;
	padding:30px;
	margin-bottom:30px;
}
.wrapper-window .gray-box p{
	color:#666;
}
.wrapper-window .gray-box p a{
	color:#00a1e8;
}
.wrapper-window input{
	border:#ccc solid 1px;
	background:#fff;
	padding:15px;
	margin-bottom:40px;
}
.wrapper-window input::-webkit-input-placeholder{
	color:#999;
	font-size:1.6rem;
}
.wrapper-window input.wide{
	width:93%;
}
.wrapper-window input.short{
	width:42%;
}
.wrapper-window textarea{
	border:#ccc solid 1px;
	background:#fff;
	padding:15px;
	margin-bottom:30px;
	width:93%;
	height:10em;
}
.wrapper-window textarea::-webkit-input-placeholder{
	color:#999;
	font-size:1.6rem;
}
.wrapper-window .block-btn {
  background: #555 none repeat scroll 0 0;
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
  margin-bottom: 10px;
  text-align: center;
	padding: 10px 0 12px 0;
}
.wrapper-window .block-btn a {
  color: #fff;
  text-decoration: none;
	display:block;
}
.wrapper-window .block-btn.bottom{
	margin:0 25px;
}
.wrapper-window .block-btn.close{
	width:180px;
	margin:0 auto;
}
.wrapper-window .block-btn-two{
	overflow:hidden;
	width:440px;
	margin:0 auto;
}
.wrapper-window .block-btn-two .block-btn{
	float:left;
	margin:0 20px 20px 20px;
}
.wrapper-window .center{
	text-align:center;
}
.wrapper-window .m-b20{
	margin-bottom:10px !important;
}
.wrapper-window .m-b50{
	margin-bottom:40px !important;
}
.wrapper-window .m-b70{
	margin-bottom:70px !important;
}
footer .footer-logo {
    margin-bottom: 20px;
}
footer .footer-logo img {
    width: auto;
}
footer small {
    color: #4d4d4d;
    font-size: 1.1rem;
}
}

/* SP ------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {

.only_lg {
	display: none;
}

/*body
====================================================*/
body{
	font-size:1.2rem;
}
/*img
====================================================*/
img {
    height: auto;
    max-width: 100%;
}
/*header
====================================================*/
header{
	width:100%;
	background:#fff;
	border-bottom:#dbdbdb solid 1px;
}
header .wrapper{
	margin:0;
}
header h1{
	float:left;
	padding:4px 10px 4px 10px;
}
header h1 a{
	text-indent:-9999px;
	background-image:url(../images/logo_header_sp.png) ;
	background-repeat:no-repeat;
	background-size: contain;
	width:210px;
	height:26px;
	display:block;
}
header .btn-area{
	float:right;
}
header .btn-login{
	float:left;	
	border-left:#dbdbdb solid 1px;
	height:38px;
	display:inline-block;
	vertical-align:middle;
	line-height:38px;
	cursor:pointer;
	font-size:0.9rem;
}
header .btn-login a{
	text-decoration:none;
	display:block;
	padding:0 5px;
}
header .btn-logout{
	font-size: 0.7rem !important
}
header .btn-logout a{
	padding:0 2px;
}

/*nav
====================================================*/
nav{
	cursor:pointer;
	float:left;
}
#menu li{
	display: block;
}
#menu li img{
	width:38px;
	height:38px;
}
#menu li ul.child{
    display: none;
	position:absolute;
	color:#fff;
	width:100%;
	left:0;
	z-index:200;
}
#menu li ul.child li{
	border-bottom:#465d4d solid 1px;
	background:#516758;
	text-align:left;
	width:auto;
}
#menu li ul.child li a{
    padding: 15px 0 15px 15px;
    display: block;
    color: #fff;
	text-decoration:none;
	font-size:1.2rem;
}
#menu li ul.child li a:hover{
	background:#465d4d;
}
/*wrapper
====================================================*/
.wrapper{
	margin:0 10px;
}
/*block-photo
====================================================*/
.block-photo ul{
	overflow:hidden;
}
.block-photo li{
	float:left;
    text-align: center;
    vertical-align: middle;
	background:#fff;
	width:33%;
	height:auto;
	display: none;
	border-bottom:#fff solid 1px;
	border-left:#fff solid 1px;
}
.block-photo li img{

}
/*.block-photo li:nth-child(3n)*/
.block-photo li:nth-of-type(3n){
	margin-right:0;
}
.block-photo li a{
	display: block;
    color: #fff;
}
/*
---------------------------------------------------*/
figure {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-top: 100%;
}
figure p.case {
    color: #fff;
    font-size: 1.0rem;
    font-weight: 600;
    padding:5% 0;
    text-align: center;
}
figure p.case span.note{
	margin-right:10px;
}
figure p.case span.note::before{
	margin-right:0.5em;	
	content:" ";
    display:inline-block;
	width:9px;
	height:13px;
    background:url(../images/icn_note.png);    
    background-size:contain;
    vertical-align:middle;
}
figure p.case span.balloon::before{
	margin-right:0.5em;	
	content:" ";
    display:inline-block;
	width:12px;
	height:10px;
    background:url(../images/icn_balloon.png);    
    background-size:contain;
    vertical-align:middle;
}
figure p {
	color: #fff;
	text-align:left;
	padding:0 3%;
	line-height:1.2;
}
figure p.theme_name {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 6px 8px;
}

figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
}
figure:hover figcaption {
	opacity: 1;
}
.return_theme {
	font-size: 1.4rem;
	padding-bottom:10px;
	color: #666;
}
.return_theme a{
	color:#506657;
	text-decoration:none;
	font-size: 14px;
}

/*footer
====================================================*/
footer .block-footer{
	text-align:center;
	border-top:#ccc solid 1px;
	padding:20px 0;
	overflow:hidden;
	clear:both;
}
footer .footer-logo{
	margin-bottom:10px;
}
footer small{
	color:#4d4d4d;
	font-size:1rem;
}
/*block-more
====================================================*/
.block-more{
    margin:20px auto 0;
	color: #4c6354;
	background-image:url(../images/arrow_down.png);
	background-position: center bottom;
	background-repeat:no-repeat;
	background-size:20px auto;
	height:35px;
}
.block-more a{
	display: block;
    font-size: 1.1rem;
    text-align: center;
	color: #4c6354;
	text-decoration:none;
	height:35px;
	width:60px;
	margin:0 auto;
}
/*block-sns
====================================================*/
.block-sns{
	margin-top: 30px;
	position: relative;
	overflow: hidden;
}
.block-sns ul{
	margin:0 auto 10px;
	float:left;
	left:50%;
	position:relative;
}
.block-sns li{
	float:left;
	font-size:0.9rem;
	text-align:center;
	position:relative;
	left:-50%;
}
.block-sns li a{
	color:#506657;
	text-decoration:none;
	padding-top:30px;
}
.block-sns li.btn-stories a{
	background-image:url(../images/icon_sns_facebook.svg) ;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:35px;
	width:100%;
	height:auto;
	display:block;
	padding-top:40px;
	margin-right:70px;
}
.block-sns li.btn-insta a{
	background-image:url(../images/icon_sns_insta.svg);
	background-repeat:no-repeat;
	background-position:top center;
	background-size:35px;
	width:100%;
	height:auto;
	display:block;
	padding-top:40px;
	margin-right:70px;
}
.block-sns li.btn-myhome a{
	background-image:url(../images/icn_sns01.png) ;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:35px;
	width:100%;
	height:auto;
	display:block;
	padding-top:40px;
}
/*footer
====================================================*/
footer .block-footer{
	text-align:center;
	border-top:#ccc solid 1px;
	padding:15px 0;
	overflow:hidden;
	clear:both;
}
footer .footer-logo{
	margin-bottom:5px;
}
footer .footer-logo img{
	width:20%;
}
footer small{	
	color:#4d4d4d;
	font-size: 0.8rem;
}
.social-media-wrap {
	margin-top: 50px;
}
}

@media only screen and (max-width: 480px) {
	#nav{
		font-size: 12px;
	}
}