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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
div.mv {
	width: 100%;
	margin: 0 auto;
	line-height: 0;
	text-align: center;
}

div.mv img{
	width: 100%;
	max-width: 1095px;
	margin: 0 auto;
}

a.ytbtn {
	cursor: pointer;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
	
	div.mv {
        background: url("../images/top/main_bg.png") repeat-x;
        background-size: 250px;
    }
	
	div.wapper {
		width: 100%;
		min-width: 1000px;
		padding: 60px 0;
		background: url("../images/common/bg.png") repeat;
		background-size: 316px;
	}
	
	section#news {
		width: 940px;
		margin: 0 auto 30px;
		padding: 25px;
		background: #FFF;
	}
	
	section#news div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	section#news div.block div.block_l{
		width: 606px;
	}
	
	section#news div.block div.block_r{
		width: 254px;
	}
	
	section#news div.block div.block_r ul{
		list-style: none;
		line-height: 0;
	}
	
	section#news div.block div.block_r ul li{
		margin-bottom: 7px;
	}
	
	section#news h2{
		line-height: 0;
		margin-bottom: 20px;
		padding-bottom: 14px;
		position: relative;
		background: url("../images/top/news_title_bg.png") repeat-x;
		background-position: bottom;
		background-size: 250px;
	}
	
	section#news h2 span:first-child{
		width: 496px;
		display: inline-block;
	}
	
	section#news dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 12px;
		margin-bottom: 14px;
		background: url("../images/top/news_bg.png") repeat-x;
		background-position: bottom;
		background-size: 250px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	section#news dl dt{
		width: 160px;
	}
	
	section#news dl dd{
		width: -webkit-calc(100% - 160px);
		width: -moz-calc(100% - 160px);
		width: calc(100% - 160px);
	}
	
	section#news dl dd a{
		color:#595757;
	}
	
	section#contents {
		width: 940px;
		margin: 0 auto;
		padding: 60px 55px;
		background: #FFF;
	}
	
	section#contents div.block{
		width: 100%;
		margin-bottom: 90px;
		position: relative;
	}
	
	section#contents div.block:last-child{
		margin-bottom: 0;
	}
	
	section#contents div.block ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#contents div.block.about ul,
	section#contents div.block.report ul{
		flex-direction: row-reverse;
	}
	
	section#contents div.block ul li.photo{
		width: 392px;
	}
	
	section#contents div.block.about ul li.photo{
		position: absolute;
		top: 20px;
		left: -90px;
		z-index: 5;
	}
	
	section#contents div.block.service ul li.photo{
		position: absolute;
		top: -30px;
		right: -90px;
		z-index: 5;
	}
	
	section#contents div.block ul li.text{
		width: 484px;
	}
	
	section#contents div.block.report ul li.text{
		width: 384px;
		padding-top: 50px;
	}
	
	section#contents div.block ul li.text h2{
		font-size: 36px;
		font-size: 3.6rem;
		line-height: 1.1;
		letter-spacing: 0.15em;
		margin-bottom: 20px;
	}
	
	section#contents div.block ul li.text h2 span{
		width: 138px;
		display: block;
	}
	
	section#contents div.block ul li.text h2 span.ex{
		width: 242px;
	}
	
	section#contents div.block ul li.text p{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2;
	}
	
	section#contents div.block ul li.text a{
		display: block;
		width: 250px;
		margin-top: 20px;
	}
	
	footer div.f_block{
		padding-top: 30px;
    }
	
	footer div.f_block h2{
		font-size: 36px;
		font-size: 3.6rem;
		line-height: 1.2;
		letter-spacing: 0.2em;
		text-align: center;
		margin-bottom: 40px;
    }
	
	footer div.f_block h2 span{
		width: 140px;
		display: block;
		margin: 0 auto;
    }
	
	footer div.f_block h2 + a{
		width: 250px;
		display: block;
		margin: 0 auto;
    }
	
	div.f_block_in {
        padding-top: 0!important;
    }
	
	footer div.f_block div.f_block_in div.illust {
		position: absolute;
		top: 110px;
		right: 0;
	}
	
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 767px){
	
	div.mv {
        background: url("../images/top/main_bg.png") repeat-x;
        background-size: contain;
    }
	
	div.wapper {
		width: 100%;
		padding: 40px 0;
		background: url("../images/common/bg.png") repeat;
		background-size: 316px;
	}
	
	section#news {
		width: 90%;
		margin: 0 auto 30px;
		padding: 40px 5% 20px;
		background: #FFF;
	}
	
	section#news div.block div.block_l{
		width: 100%;
		margin-bottom: 6vw;
	}
	
	section#news div.block div.block_r{
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
	
	section#news div.block div.block_r ul{
		list-style: none;
		line-height: 0;
	}
	
	section#news div.block div.block_r ul li{
		margin-bottom: 10px;
	}
	
	section#news h2{
		line-height: 0;
		margin-bottom: 20px;
		padding-bottom: 12px;
		position: relative;
		background: url("../images/top/news_title_bg.png") repeat-x;
		background-position: bottom;
		background-size: 250px;
	}
	
	section#news h2 span{
		width: 100%;
		max-width: 496px;
		display: inline-block;
	}
	
	section#news dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 12px;
		margin-bottom: 14px;
		background: url("../images/top/news_bg.png") repeat-x;
		background-position: bottom;
		background-size: 250px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	section#news dl dt{
		width: 100%;
	}
	
	section#news dl dd{
		width: 100%;
	}
	
	section#news dl dd a{
		color:#595757;
	}
	
	section#contents {
		width: 90%;
		margin: 0 auto;
		padding: 40px 5%;
		background: #FFF;
	}
	
	section#contents div.block{
		width: 100%;
		margin-bottom: 60px;
		position: relative;
	}
	
	section#contents div.block:last-child{
		margin-bottom: 0;
	}
	
	section#contents div.block ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#contents div.block.about ul,
	section#contents div.block.report ul{
		flex-direction: row;
	}
	
	section#contents div.block ul li.photo{
		width: 100%;
		max-width: 392px;
		margin: 20px auto 0;
	}
	
	section#contents div.block.about ul li.photo{
		position: relative;
		top: initial;
		left: initial;
		z-index: 5;
	}
	
	section#contents div.block.service ul li.photo{
		position: relative;
		top: initial;
		right: initial;
		z-index: 5;
	}
	
	section#contents div.block ul li.text{
		width: 100%;
	}
	
	section#contents div.block.report ul li.text{
		width: 100%;
		padding-top: initial;
	}
	
	section#contents div.block ul li.text h2{
		font-size: 20px;
		font-size: 2.0rem;
		line-height: 1.2;
		letter-spacing: 0.15em;
		margin-bottom: 10px;
	}
	
	section#contents div.block ul li.text h2 span{
		width: 70px;
		display: block;
	}
	
	section#contents div.block ul li.text h2 span.ex{
		width: 122px;
	}
	
	section#contents div.block ul li.text p{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 2;
	}
	
	section#contents div.block ul li.text a{
		display: block;
		width: 180px;
		margin: 20px auto 0;
	}
	
	footer div.f_block{
		padding-top: 30px;
    }
	
	footer div.f_block h2{
		font-size: 20px;
		font-size: 2.0rem;
		line-height: 1.5;
		letter-spacing: 0.2em;
		text-align: center;
		margin-bottom: 30px;
    }
	
	footer div.f_block h2 span{
		width: 70px;
		display: block;
		margin: 0 auto;
    }
	
	footer div.f_block h2 + a{
		width: 180px;
		display: block;
		margin: 0 auto;
    }
	
	div.f_block_in {
        padding-top: 30px!important;
    }
	
	footer div.f_block div.f_block_in div.illust {
		position: absolute;
		top: 110px;
		right: 0;
	}
	
}
