@charset "utf-8";

#concept .nobgbox ul.mainmenu{
	overflow:hidden;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

#concept .nobgbox ul.mainmenu li{
	position:relative;
	background:#fff;
	width:32%;
	float:left;
	text-align:center;
	border:6px solid #c1e8ed;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#concept .nobgbox ul.mainmenu li a{
	display:block;
	text-decoration:none;
	width:100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	padding:30px;
}

#concept .nobgbox ul.mainmenu li img{
	width:100%;
}

#concept .nobgbox ul.mainmenu li img.theme{
	max-width:100%;
	width:auto;
	position:absolute;
	left:10px;
	top:10px;
}

#concept .nobgbox ul.mainmenu li p span{
	font-size:.8rem;
}

#concept .nobgbox ul.mainmenu li p{
	font-size:1rem;
	display:block;
	font-weight:bold;
	padding:5px 0 0;
	color:#333;
}

#concept .nobgbox ul.mainmenu li span.link{
	font-family: 'Martel Sans', sans-serif;
	display:block;
	border:1px solid #9a9aa7;
	text-decoration:none;
	line-height:100%;
	color:#9a9aa7;
	padding:8px 0 6px;
	letter-spacing:0.3rem;
	margin:15px 5% 20px;
    transition: all 0.4s;
	text-align:center;
	position:absolute;
	bottom:0;
	left:0;
	width:90%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#concept .nobgbox ul.mainmenu li:hover span.link{
	color:#fff;
	background:#9a9aa7;
}

#concept .nobgbox ul.mainmenu li:nth-child(2){
	margin:0 2%;
}

#c_main{
	background:url(../img/concept/main_bg.jpg) left top no-repeat;
	width:100%;
	padding:40px 0 1px;
	background-size:cover;
	margin:0 0 40px;	
}

.contents_main{
	overflow:hidden;
	position:relative;
}

.contents_main .img{
	float:right;
	padding-left:18px;
}

.contents_main .txt h3{
	text-align:left;
	padding:0px 0 20px 60px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom:0;
	margin-top:0;
	letter-spacing:0;
	line-height:2rem;
}

.contents_main .txt h3.theme01{
	background:url(../img/concept/theme1.png) no-repeat 0 top;
}

.contents_main .txt h3.theme02{
	background:url(../img/concept/theme2.png) no-repeat 0 top;
}

.contents_main .txt h3.theme03{
	background:url(../img/concept/theme3.png) no-repeat 0 top;
}

.contents_main .txt h3 span{
	font-size:1rem;
}

.contents_main .txt a{
	font-family: 'Martel Sans', sans-serif;
	max-width:234px;
	display:block;
	border:1px solid #9a9aa7;
	text-decoration:none;
	line-height:100%;
	color:#fff;
	padding:10px 0 8px 0.3rem;
	letter-spacing:0.3rem;
	margin-top:15px;
    transition: all 0.4s;
	text-align:center;
	background:#9a9aa7;
}

.contents_main .txt a:hover{
	background:#fff;
	color:#9a9aa7;
}

.c_right .img{
	float:left;
	padding-right:0;
	padding-left:0;
}

.c_right .txt{
	float:right;
	max-width:610px;
}

.c_01_head p{
	text-align:center;
	padding-bottom:5px;
}

.c_01_head img{
	max-width:100%;
	width:auto;
	text-align:center;
	margin:0 auto;
}

.layout01 .left{
	float:left;
	vertical-align:top;
	width:60%;
}

.layout01 .right{
	float:right;
	vertical-align:top;
	width:38%;
}

.layout02 .left{
	float:left;
	vertical-align:top;
	width:38%;
}

.layout02 .right{
	float:right;
	vertical-align:top;
	width:59%;
}

.layout01 .left img,
.layout01 .right img,
.layout02 .left img,
.layout02 .right img{
	max-width:100%;
	width:auto;
}

.txtbox{
	overflow:hidden;
	display:table;
	margin-bottom:40px;
}

.txtbox .imgright,
.txtbox .imgleft{
	padding-bottom:0;
}

.txtbox_all{
	padding:30px;
	background:#f1ede8;
}

.txtbox_all h4{
	font-size:1.5rem;
	line-height:2rem;
	padding-bottom:20px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

span.c_bt_01:before{
	content:url(../img/concept/icn_c01.png);
	vertical-align:-10px;
	padding-right:5px;
}

span.c_bt_02:before{
	content:url(../img/concept/icn_c02.png);
	vertical-align:-10px;
	padding-right:5px;
}

span.c_bt_03:before{
	content:url(../img/concept/icn_c03.png);
	vertical-align:-10px;
	padding-right:5px;
}

.c_02_head{
	background:#f4f4f0 url(../img/concept/c02_main.jpg) no-repeat right top;
	background-size:cover;
	padding:40px;
	width:1068px;
	margin:0 auto 40px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.c_02_head h3{
	max-width: 440px;
	font-size:1.7rem;
	line-height:2.2rem;
	padding-top:20px;
	padding-bottom:30px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.c_02_head h3 sub{
	font-size: 0.8rem;
	line-height: 1;
	display: inline-block;
	transform: translateY(-7px);
	padding: 0 4px;
}

.c_02_head h3 .small{
	color:#333;
	font-size:.9rem;
	line-height:1;
	margin: 10px 0 0;
	display: block;
}

.c_02_head p{
	font-size:1.4rem;
	line-height:1.5rem;
	padding-bottom:20px;
}

.c_02_head p span{
	font-size:1rem;
}

.c_03_box{
	text-align:center;
}

.c_03_box p{
	text-align:left;
}

.c_03_box ul{
	overflow:hidden;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

.c_03_box ul li{
	float:left;
	width:32%;
	margin-top:20px;
}

.c_03_box ul li:nth-child(2),
.c_03_box ul li:nth-child(5){
	margin:20px 2% 0;
}

.c_03_box ul li img{
	max-width:100%;
	width:auto;
}

.c_03_box ul li figure span{
	display:block;
	font-size:0.75rem;
	line-height:1.1rem;
	padding-top:3px;
	text-align:left;
}

#c01{
	margin-top:-90px;
	padding-top:90px;
}


@media only screen and (min-width: 1681px) {

}

@media only screen and (max-width: 1680px) {

}

@media only screen and (max-width: 1260px) {

#concept .nobgbox ul.mainmenu{
	width:96%;
	margin:0 2%;
}

#c_main{
	width:104%;
	margin:0 -2% 40px;
}

.contents_main .img{
	position:absolute;
	right:40px;
	top:130px;
}

.contents_main .img img{
	max-width:300px;
}

.contents_main .txt p{
	padding-right:320px;
	min-height:130px;
}

.contents_main .txt h3{
	font-size:1.4rem;
}

.c_right .img{
	position:absolute;
	right:40px;
	top:130px;
	padding-right:0;
	padding-left:30px;
}

.c_right .img img{
	max-width:300px;
}

.c_right .txt p{
	padding-right:330px;
	padding-left:0;
	min-height:130px;
}

.c_right .txt{
	float:none;
	max-width:100%;
}

.c_02_head{
	background-size:contain;
	padding:30px;
	width:100%;
}

.c_02_head h3{
	font-size:1.4rem;
	line-height:2rem;
	padding-top:0;
	padding-bottom:10px;
}

.c_02_head p{
	font-size:1.4rem;
	width:70%;
	padding-bottom:0;
}

.c_02_head p span{
	font-size:1rem;
}

}

@media only screen and (max-width: 980px){

.c_02_head{
	background-size:cover;
	padding:30px;
}

.c_02_head h3{
	font-size:1.4rem;
	line-height:1.7rem;
	width:50%;
	max-width: auto;
	padding-top:0;
	padding-bottom:15px;
}

.c_02_head p{
	font-size:1.2rem;
	width:70%;
	padding-bottom:0;
}

.c_02_head p span{
	font-size:0.9rem;
}

.contents_main .img{
	position:inherit;
	right:auto;
	top:auto;
	float:none;
	padding-left:0;
}

.contents_main .txt h3{
	width:100%;
}

.contents_main .img{
	text-align:center;
	margin:0 auto;
}

.contents_main .img img{
	max-width:auto;
	margin:0 auto 20px;
	text-align:center;
}

.contents_main .txt p{
	padding-right:0;
	min-height:0;
}

.contents_main .txt a{
	max-width:100%;
}

.txtbox_all h4{
	font-size:1.3rem;
	line-height:1.8rem;
}

}

@media only screen and (max-width: 768px){

#concept .nobgbox ul.mainmenu li{
	width:100%;
	float:none;
	padding:20px;
	margin:10px 0;
}

#concept .nobgbox ul.mainmenu li img{
	max-width:100%;
	width:auto;
}

#concept .nobgbox ul.mainmenu li:nth-child(2){
	margin:0;
}

.c_02_head h3{
	font-size:1.1rem;
	line-height:1.5rem;
	width:50%;
	padding-top:0;
	padding-bottom:15px;
}

.c_02_head p{
	font-size:1rem;
	line-height:1.3rem;
	width:70%;
	padding-bottom:0;
}

.c_02_head p span{
	font-size:0.8rem;
	line-height:1.3rem;
}

.txtbox .imgright,
.txtbox .imgleft{
	text-align:center;
	margin:0 auto 20px;
}

}

@media only screen and (max-width: 480px) {

.contents_main .txt h3{
	max-width:100%;
	width:auto;
	font-size:1.2rem;
	line-height:1.5rem;
}

.contents_main .img img{
	max-width:100%;
	width:auto;
	margin-bottom:15px;
}

.c_02_head{
	background:#f4f4f0 none;
	text-align:center;
	padding:20px 10px;
}

.c_02_head h3{
	width:100%;
	font-size:1.3rem;
}

.c_02_head p{
	width:100%;
}

.c_03_box ul li{
	float:none;
	width:100%;
}

.c_03_box ul li:nth-child(2),
.c_03_box ul li:nth-child(5){
	margin:0;
}

.layout01 .left,
.layout01 .right,
.layout02 .left,
.layout02 .right{
	display:block;
	padding:0;
	float:none;
	width:100%;
}

.layout01 .right{
	text-align:center;
	margin-top:20px;
}

.layout02 .left{
	text-align:center;
	margin-top:20px;
}

}

@media only screen and (max-width: 320px) {

}
