/*-------------------------------------
リセット
-------------------------------------*/
#wrapper {
    width: 100%;
    margin: 0;
    padding: 0;

}

#happy {
    background: #f2f2f2;
}

/*-------------------------------------
トップスタイル
-------------------------------------*/

.top .txt_box_wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
}
.top .txt_box_wrapper .txt_box img {
    width: 29%;
}
.top .txt_box_wrapper .txt_box01 {
}
.top .txt_box_wrapper .txt_box01 a {
    position: absolute;
    width: 40%;
    height: 38%;
    left: 50%;
    z-index: 10;
}
.top .txt_box_wrapper .txt_box01 a img {
    display: block;
    position: absolute;
    left: 0%;
    top: 36%;
    z-index: 10;
}
.top .txt_box_wrapper .txt_box02 {
}
.top .txt_box_wrapper .txt_box02 a {
    position: absolute;
    width: 40%;
    height: 38%;
    left: 35%;
    top: 28%;
    z-index: 10;
}
.top .txt_box_wrapper .txt_box02 a img {
    display: block;
    position: absolute;
    left: 0%;
    top: 36%;
    z-index: 10;
}
.top .txt_box_wrapper .txt_box03 {
}
.top .txt_box_wrapper .txt_box03 a {
    position: absolute;
    width: 40%;
    height: 38%;
    left: 19%;
    top: 57%;
    z-index: 10;
}
.top .txt_box_wrapper .txt_box03 a img {
    display: block;
    position: absolute;
    left: 0%;
    top: 18%;
    z-index: 10;
}

.work-block-top{
    display:block;
    max-width:100%;
    padding-bottom:55%;
    position:relative;
    overflow:hidden;
}
.work-block-top:first-child{margin-top:0}
.work-block-top .cover{width:100%;height:100%;z-index:2;left:0;position:absolute}
.work-block-top img.upstate{width:100%;position:absolute;z-index:1;left:0;margin-top:0;}




#error-msg{padding:10px;color:#fff;background-color:#e44;position:fixed;left:50%;z-index:100;top:10px;font-size:1.2em;margin-left:-150px;display:none}
#work{display:block;clear:both;position:relative;}
.work-block{display:block;max-width:100%;padding-bottom:210%;position:relative;overflow:hidden;padding-right:60px;}
.work-block:first-child{margin-top:0}
.work-block .cover{width:100%;height:100%;z-index:2;left:0;position:absolute}
.work-block img.upstate{width:100%;position:absolute;z-index:1;left:0;margin-top:0;}
.work-block h1{position:absolute;color:#fff;bottom:0;z-index:2;font-size:75px;max-width:86%;line-height:1em}
.goto_top {
	width:25%;
	position:absolute;
	top:1%;
	left:20%;
	z-index:2;
	font-size:75px;
	line-height:1em;
}
.goto_top a {
	height:60px;
	display:block;
}
.movie {
	width:100%;
	position:absolute;
	top:5%;
	z-index:2;
}
.movie a {
	width:100%;
	display:block;
	padding:8% 0 8%;
	text-align:center;
}
.movie a img {
	width:10%;
	margin:0 auto;
	max-width:195px;
}
.box_01 {
	width:15%;
	padding:2%;
	background:#fff;
	position:absolute;
	top:12%;
	left:20%;
	z-index:2;
	line-height:1em;
}
.box_01 .txt{
	padding:10px 0 0;
	text-align:center;
}
.box_01 .txt img {
	width:100%;
	max-width:231px;
	margin-bottom: 8%;
}
.box_01 .btn01 {
	margin-bottom: 6%;
}
.box_01 .btn01,
.box_01 .btn02 {
	text-align:center;
}
.box_01 .btn01 img,
.box_01 .btn02 img {
	width:100%;
	max-width:231px;
}
#happy .pt {
	background: none;
	position: relative;
	z-index: 9999;
	width: 100%;
}
#happy .pt a {
	width:12%;
	display: block;
	position: absolute;
	bottom: 40%;
	right: 10%;
}
#happy .pt a:hover {
	background: none;
	height: auto;
}
#happy .pt a img {
	width:100%;
	max-width:102px;
	margin: 0;
	padding: 0;
}


.social_button {
	background: #ffffff;
  	width: 100%;
	margin:0 auto;
	padding-top:50px;
	padding-bottom: 30px;
	text-align:center;
}
.social_button .facebook{
	display:inline;
	width:150px;
	padding-left:30px;
}
.social_button .twitter{
	width:150px;
	display:inline;
}

@media only screen and (max-width:675px){#case-introduction,
.work-block h1{font-size:28px}
}