@charset "utf-8";



/* loading
-----------------------------------*/
#loading{
	width: 32px;
	height: 32px;
	margin-left: -16px;
	position: absolute;
	left: 50%;
	top: 410px;
	z-index: 999;
}



/* header
-----------------------------------*/
#header{
	height: 851px;
}
#header div.slider{
	width: 100%;
	height: 911px;
	background: -webkit-linear-gradient(top, #ffffff 0%, #c8c8c8 100%);
	background: linear-gradient(to bottom, #ffffff 0%, #c8c8c8 100%);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
#header div.slider:before, 
#header div.slider:after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	z-index: 3;
}
#header div.slider:before{
	width: 100%;
	height: 45px;
	background: rgba(255,255,255,0.85);
	top: 0;
}
#header div.slider:after{
	width: 100%;
	height: 50px;
	background: url("../img/bg_home_02.png") repeat-x center 0;
	bottom: -10px;
}
#header div.slider h2{
	margin-left: 402px;
	position: absolute;
	left: 50%;
	top: 367px;
	z-index: 3;
	opacity: 0;
}
#header div.slider p{
	margin-left: 249px;
	position: absolute;
	left: 50%;
	top: 500px;
	z-index: 3;
	opacity: 0;
}
#header div.slider div.bx-wrapper{
	width: 6000px;
	height: 911px;
	margin-left: -3000px;
	position: absolute;
	left: 50%;
	top: 0;
	overflow: hidden;
	z-index: 2;
	opacity: 0;
}
#header h1, 
#header a.logo img, 
#header nav ul, 
#header p.photospot, 
#header address.inquiry, 
#header .ico{
	z-index: 10;
}
#header nav ul{
	background: rgba(255,255,255,0.8) url("../img/bg_home_03.png") no-repeat 290px 0;
	box-shadow: 0 0 15px 0 rgba(0,0,0,0.3);
	border-radius: 15px;
	top: 793px;
}



/* footer
-----------------------------------*/
#footer section.studio{
	margin-bottom: 38px;
}
#footer address.inquiry{
	width: 1000px;
	margin: 0 auto 113px auto;
}
#footer address.inquiry a{
	font-size: 138.5%;
	width: 386px;
	height: 57px;
	background: url("../img/bg_home_05.png") no-repeat 0 0;
	text-align: center;
	display: block;
	margin-left: 309px;
	padding-top: 103px;
}
#footer address.inquiry a:hover{
	height: 55px;
	padding-top: 105px;
}
#footer section.news{
	width: 100%;
	background: #f7f7f7;
	padding: 84px 0 74px 0;
	position: relative;
}
#footer section.news:after{
	content: "";
	width: 249px;
	height: 145px;
	display: block;
	background: url("../img/ico_home_01.png") no-repeat 0 -48px;
	margin-left: -125px;
	position: absolute;
	left: 50%;
	top: -31px;
	z-index: 1;
}
#footer section.news h2{
	width: 1000px;
	text-align: center;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
#footer section.news ul{
	width: 814px;
	margin: 0 auto;
}
#footer section.news ul li{
	list-style: none;
	border-bottom: 1px solid #a9a9a9;
	position: relative;
}
#footer section.news ul li + li{
	margin-top: 4px;
}
#footer section.news ul li.new:after{
	content: "";
	width: 34px;
	height: 48px;
	display: block;
	background: url("../img/ico_home_01.png") no-repeat -75px 0;
	position: absolute;
	left: -37px;
	top: 13px;
}
#footer section.news ul li a{
	font-size: 116%;
	width: 100%;
	display: table;
}
#footer section.news ul li a span{
	display: table-cell;
}
#footer section.news ul li a span:nth-of-type(1){
	width: 117px;
	padding: 30px 2px 7px 20px;
}
#footer section.news ul li a span:nth-of-type(2){
	padding: 30px 21px 7px 0;
}
#footer section.news ul li a:hover span:nth-of-type(1){
	padding: 30px 0 7px 22px;
}
#footer section.news ul li a:hover span:nth-of-type(2){
	padding: 30px 19px 7px 2px;
}



/* home_unit
-----------------------------------*/
#home_unit{
	width: 100%;
	margin-bottom: 75px;
	padding-top: 150px;
	position: relative;
}
#home_unit::before{
	content: '';
	width: 1600px;
	height: 919px;
	background: url("../img/bg_home_01.gif") no-repeat center 0;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: -1;
}


#home_unit section.message{
	width: 100%;
	padding-bottom: 399px;
	position: relative;
	z-index: 1;
	position: relative;
}
#home_unit section.message::before{
	content: '';
	background-color: #f7f7f7;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -2;
}
#home_unit section.message div.inner{
	width: 910px;
	margin: 0 auto;
	padding: 45px 0 50px 0;
	position: relative;
}
#home_unit section.message div.inner:before, 
#home_unit section.message div.inner:after{
	content: "";
	width: 45px;
	height: 100%;
	display: block;
	border-top: 10px solid #c9c9c9;
	border-bottom: 10px solid #c9c9c9;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	top: 0;
}
#home_unit section.message div.inner:before{
	border-left: 10px solid #c9c9c9;
	left: 0;
}
#home_unit section.message div.inner:after{
	border-right: 10px solid #c9c9c9;
	right: 0;
}
#home_unit section.message h2{
	font-size: 167%;
	line-height: 1.45;
	text-align: center;
	margin-bottom: 57px;
	position: relative;
}
#home_unit section.message h2:before, 
#home_unit section.message h2:after{
	content: "";
	display: block;
	background-image: url("../img/ico_home_01.png");
	background-repeat: no-repeat;
	position: absolute;
}
#home_unit section.message h2:before{
	width: 34px;
	height: 38px;
	background-position: 0 0;
	left: 438px;
	top: -54px;
}
#home_unit section.message h2:after{
	width: 41px;
	height: 39px;
	background-position: -34px 0;
	left: 436px;
	bottom: -42px;
}
#home_unit section.message h2 > span{
	font-size: 159%;
}
#home_unit section.message h2 > span > span{
	font-size: 80%;
}
#home_unit section.message p{
	font-size: 116%;
	margin: 0 85px;
}
#home_unit section.message p + p{
	margin-top: 10px;
}


#home_unit div.menu{
	width: 100%;
	height: 1420px;
	background: url("../img/bg_home_06.jpg") no-repeat center 0;
	background-size: cover;
	position: relative;
	z-index: 10;
}
#home_unit div.menu h2, 
#home_unit div.menu li{
	position: absolute;
	left: 50%;
}
#home_unit div.menu section.plan h2{
	font-size: 167%;
	line-height: 54px;
	width: 421px;
	height: 54px;
	text-align: center;
	margin-left: -210px;
	padding-top: 2px;
	background: url("../common/img/bg_title_01.png") no-repeat 0 0;
	top: -317px;
}
#home_unit div.menu li{
	list-style: none;
}
#home_unit div.menu li.omiyamairi{
	margin-left: -500px;
	top: -236px;
}
#home_unit div.menu li.shichigosan{
	margin-left: -155px;
	top: -225px;
}
#home_unit div.menu li.school{
	margin-left: 175px;
	top: -279px;
}
#home_unit div.menu li.maternity{
	margin-left: -356px;
	top: 95px;
}
#home_unit div.menu li.family{
	margin-left: 33px;
	top: 86px;
}
#home_unit div.menu li.jyusanmairi{
	margin-left: -500px;
	top: 445px;
}
#home_unit div.menu li.seijinshiki{
	margin-left: -151px;
	top: 419px;
}
#home_unit div.menu li.senior{
	margin-left: 173px;
	top: 431px;
}
#home_unit div.menu li.idphoto{
	margin-left: -337px;
	top: 757px;
}
#home_unit div.menu li.profile{
	margin-left: 36px;
	top: 773px;
}
#home_unit div.menu li.photospot{
	margin-left: -175px;
	top: 809px;
}
#home_unit div.menu li.voice{
	margin-left: -350px;
	bottom: 73px;
}
#home_unit div.menu li.faq{
	margin-left: 70px;
	bottom: 73px;
}
#home_unit div.menu li img{
	border: none;
	vertical-align: top;
}


#home_unit section.works{
	width: 100%;
	margin-bottom: 94px;
	position: relative;
}
#home_unit section.works:after{
	content: "";
	width: 1788px;
	height: 30px;
	background: url("../img/bg_home_04.png") no-repeat 0 0;
	display: block;
	margin-left: -894px;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;
}
#home_unit section.works h2{
	margin-left: -126px;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 11;
}
#home_unit section.works .bx-wrapper{
	width: 3500px;
	margin-left: -1750px;
	position: relative;
	left: 50%;
}
#home_unit section.works a:hover img{
	opacity: 0.8;
}


#home_unit ul.point{
	width: 1000px;
	margin: 0 auto;
}
#home_unit ul.point li{
	width: 499px;
	list-style: none;
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	float: left;
	position: relative;
}
#home_unit ul.point li:before, 
#home_unit ul.point li:after{
	content: "";
	display: block;
	position: absolute;
}
#home_unit ul.point li:before{
	background-image: url(../common/img/ico_illust_01.png);
	background-repeat: no-repeat;
}
#home_unit ul.point li:after{
	width: 20px;
	height: 20px;
	background: #ffffff;
}
#home_unit ul.point li a{
	display: block;
	padding: 15px 0 35px 0;
}
#home_unit ul.point li a:hover{
	color: #323232;
	text-decoration: none;
}
#home_unit ul.point h2{
	font-size: 182%;
	line-height: 1.45;
	margin: 0 0 23px 61px;
}
#home_unit ul.point div.comment{
	margin: 0 125px 36px 40px;
}
#home_unit ul.point div.comment p{
	font-size: 116%;
}
#home_unit ul.point div.comment p + p{
	margin-top: 10px;
}
#home_unit ul.point p.more{
	width: 76px;
	height: 31px;
	margin-left: 363px;
	position: relative;
	overflow: hidden;
}
#home_unit ul.point p.more img{
	position: absolute;
	left: 0;
	top: 0;
}


#home_unit ul.point li:nth-child(2n){
	border-left: 1px solid #cccccc;
	border-right: none;
}
#home_unit ul.point li:nth-child(2n) h2{
	margin-left: 81px;
}
#home_unit ul.point li:nth-child(2n) div.comment{
	margin-left: 60px;
	margin-right: 105px;
}
#home_unit ul.point li:nth-child(2n) p.more{
	margin-left: 383px;
}
#home_unit ul.point li:nth-child(1):before{
	width: 158px;
	height: 130px;
	background-position: 0 0;
	left: 304px;
	top: -26px;
}
#home_unit ul.point li:nth-child(1):after{
	right: -1px;
	bottom: -1px;
}
#home_unit ul.point li:nth-child(2):before{
	width: 79px;
	height: 79px;
	background-position: -158px 0;
	left: 245px;
	top: 11px;
}
#home_unit ul.point li:nth-child(2):after{
	left: -1px;
	bottom: -1px;
}
#home_unit ul.point li:nth-child(3), 
#home_unit ul.point li:nth-child(4){
	border-top: 1px solid #cccccc;
	border-bottom: none;
}
#home_unit ul.point li:nth-child(3) div.comment, 
#home_unit ul.point li:nth-child(4) div.comment{
	margin-bottom: 26px;
}
#home_unit ul.point li:nth-child(3) a, 
#home_unit ul.point li:nth-child(4) a{
	margin-bottom: -38px;
	padding-top: 53px;
	position: relative;
}
#home_unit ul.point li:nth-child(3):before{
	width: 87px;
	height: 64px;
	background-position: -237px 0;
	left: 288px;
	top: 51px;
}
#home_unit ul.point li:nth-child(3):after{
	right: -1px;
	top: -1px;
}
#home_unit ul.point li:nth-child(4):after{
	left: -1px;
	top: -1px;
}
#home_unit ul.point li:nth-child(4):before{
	width: 94px;
	height: 79px;
	background-position: -324px 0;
	left: 275px;
	top: 41px;
}


#home_unit ul.point li a:hover p.more img{
	top: -31px;
}