@charset "utf-8";
/* CSS Document */

/*--------------------------------------
    visual main-content top
--------------------------------------*/

.main-content.top .visual{
	padding: 170px 0 250px;
	position: relative;
	width:100%;
}
.main-content.top .visual:before{
	height:220px;
	width:100%;
	position: absolute;
	top:40px;
	left:0;
	content: "";
	display: block;
	background: url("../common/images/bg_001.png") no-repeat center top;
	background-size:contain;
}
.main-content.top .visual:after{
	height:230px;
	width:100%;
	position: absolute;
	bottom:0;
	left:0;
	content: "";
	display: block;
	background: url("../common/images/bg_002.png") no-repeat center bottom;
	background-size:contain;
}
.main-content.top .visual .bx-wrapper{
	overflow:hidden;
	width:100%;
}
.main-content.top .visual .bx-viewport{
	-webkit-box-shadow: none;
    box-shadow: none;
    border: none;
	overflow:visible !important;
	width:1000px !important;
	margin:0 auto;
	background: none !important;
}
.main-content.top .visual .bx-viewport li{
	text-align: center;
	width:930px !important;
	margin:0 35px;
	height:666px;
}
.main-content.top .visual .bx-viewport li .inner{
	height:666px;
	width:100%;
	position: relative;
}
.main-content.top .visual .bx-viewport li.slider001{
	background: url("../images/top/keyv_001.png") no-repeat center center;
	background-size:contain;
}
.main-content.top .visual .bx-viewport li.slider002{
	background: url("../images/top/keyv_002.png") no-repeat center center;
	background-size:contain;
}
.main-content.top .visual .bx-viewport li.slider003{
	background: url("../images/top/keyv_003.png") no-repeat center center;
	background-size:contain;
}
.main-content.top .visual .bx-viewport li.slider004{
	background: url("../images/top/keyv_004.png") no-repeat center center;
	background-size:contain;
}
.main-content.top .visual .bx-viewport li.slider005{
	background: url("../images/top/keyv_005.png") no-repeat center center;
	background-size:contain;
}
.main-content.top .visual .bx-viewport li .inner span{
	position: absolute;
	background: rgba(255,255,255,0.8);
	padding: 0 20px;
	font-size:28px;
	font-size:2.8rem;
	line-height: 1.5;
}
.main-content.top .visual .bx-viewport li.slider001 .inner span{
	top:150px;
	right:45px;
}
.main-content.top .visual .bx-viewport li.slider002 .inner span{
	bottom:40px;
	left:50px;
}
.main-content.top .visual .bx-viewport li.slider003 .inner span{
	top:60px;
	right:60px;
}
.main-content.top .visual .bx-viewport li.slider004 .inner span{
	bottom:30px;
	right:60px;
}
.main-content.top .visual .bx-viewport li.slider005 .inner span{
	top:70px;
	left:55px;
}
.main-content.top .visual .bx-wrapper .bx-controls{
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
}
.main-content.top .visual .bx-wrapper .bx-controls .bx-controls-direction{
	width:100%;
	height:100%;
	position: relative;
}
.main-content.top .visual .bx-wrapper .bx-controls .bx-controls-direction .bx-prev{
	width:calc(50% - 500px);
	height:100%;
	position: absolute;
	top:0;
	left:0;
	text-indent: -9999;
	overflow: hidden;
}
.main-content.top .visual .bx-wrapper .bx-controls .bx-controls-direction .bx-next{
	width:calc(50% - 500px);
	height:100%;
	position: absolute;
	top:0;
	right:0;
	text-indent: -9999;
	overflow: hidden;
}

/*--------------------------------------
    news main-content top
--------------------------------------*/

.main-content.top .section001 h2.top001{
	text-align: center;
	font-size:25px;
	font-size:2.5rem;
	line-height: 1.5;
	position: relative;
	padding-bottom:12px;
}
.main-content.top .section001 h2.top001 span{
	display: block;
	text-align: center;
	font-size:16px;
	font-size:1.6rem;
	color:#D88597;
	line-height: 1.2;
}
.main-content.top .section001 h2.top001:after{
	display: block;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	height:7px;
	background: url("../common/images/bg_header_001.jpg") no-repeat center center;
	background-size:cover;
	content: "";
}
.main-content.top .section001 .newslist{
	display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:82px;
    margin-top: 60px;
}
.main-content.top .section001 .newslist .item{
    width:272px;
}
.main-content.top .section001 .newslist .item h3.top001{
	box-sizing: border-box;
	padding-left:30px;
	display: inline-block;
	margin:0 0 10px;
	font-size:20px;
	font-size:2.0rem;
	position: relative;
	line-height: 1.1;
}
.main-content.top .section001 .newslist .item h3.top001.long{
	font-size:16px;
	font-size:1.6rem;
}
.main-content.top .section001 .newslist .item.news001 h3.top001.long{
	font-size:14px;
	font-size:1.4rem;
}
.main-content.top .section001 .newslist .item.news001 h3.top001{
	width: 140px;
    height: 32px;
    background: url(../images/top/icon_001.gif) no-repeat center center;
}
.main-content.top .section001 .newslist .item.news002 h3.top001{
	width:98px;
	height:31px;
	background:url("../images/top/icon_002.gif") no-repeat center center;
}
.main-content.top .section001 .newslist .item.news003 h3.top001{
	width:99px;
	height:31px;
	background:url("../images/top/icon_003.gif") no-repeat center center;
}
.main-content.top .section001 .newslist .item.news004 h3.top001{
	width:255px;
	height:32px;
	background:url("../images/top/icon_004.gif") no-repeat center center;
}
.main-content.top .section001 .newslist .item.news005 h3.top001{
	width:205px;
	height:32px;
	background:url("../images/top/icon_005.gif") no-repeat center center;
}
.main-content.top .section001 .newslist .item.news006 h3.top001{
	width:182px;
	height:32px;
	background:url("../images/top/icon_006.gif") no-repeat center center;
}
.main-content.top .section001 .newslist .item .inner .pic{
	width:272px;
	height:200px;
}
.main-content.top .section001 .newslist .item .inner .pic img{
	width:100%;
	height:100%;
	object-fit: cover;
}
.main-content.top .section001 .newslist .item .inner .date{
	font-size:12px;
	font-size:1.2rem;
	line-height: 1.2;
	margin-top: 10px;
}
.main-content.top .section001 .newslist .item .inner h4{
	line-height: 1.2;
	font-weight: bold;
}
.main-content.top .section001 .newslist .item .inner .notfound{
	width:272px;
}
.main-content.top .section001 .newslist .item .inner .link{
	text-align: right;
	margin-top: 10px;
}
.main-content.top .section001 .newslist .item .inner .link a{
	display: inline-block;
	padding:0 20px 0 10px;
	border:1px solid #D88597;
	border-radius: 5px;
	line-height: 25px;
	color:#D88597;
	position: relative;
}
.main-content.top .section001 .newslist .item .inner .link a:after{
	position: absolute;
	top:50%;
	right:5px;
	transform: translate(0,-50%);
	background: url("../common/images/icon_list_002.png") no-repeat center center;
	width:8px;
	height:8px;
	content: "";
}
.main-content.top .section001 .boxlist{
	margin-top: 185px;
}
.main-content.top .section001 .boxlist .left-box{
	width:478px;
	height:305px;
	box-sizing: border-box;
	padding:20px 15px 15px;
	background: url("../images/top/bg_001.jpg") no-repeat center center;
	text-align: center;
}
.main-content.top .section001 .boxlist .left-box h3.top002{
	line-height: 40px;
	font-size:23px;
	font-size:2.3rem;
	display: inline-block;
	padding:0 70px;
	background: #FFFFFF;
	border-radius: 20px;
	position: relative;
}
.main-content.top .section001 .boxlist .left-box h3.top002:before{
	background: url("../images/top/icon_heading_002.png") no-repeat center center;
	width:47px;
	height:6px;
	display: block;
	content:"";
	position: absolute;
	top:50%;
	left:5px;
	transform: translate(0,-50%);
}
.main-content.top .section001 .boxlist .left-box h3.top002:after{
	background: url("../images/top/icon_heading_001.png") no-repeat center center;
	width:47px;
	height:6px;
	display: block;
	content:"";
	position: absolute;
	top:50%;
	right:5px;
	transform: translate(0,-50%);
}
.main-content.top .section001 .boxlist .left-box .approach{
	width:448px;
	height:230px;
}
.main-content.top .section001 .boxlist .left-box .approach .left{
	width:200px;
	height:230px;
	float:left;
	position: relative;
}
.main-content.top .section001 .boxlist .left-box .approach .right{
	width:228px;
	height:230px;
	float:right;
}
.main-content.top .section001 .boxlist .left-box .approach a{
	display: block;
	position: relative;
	width:100%;
	height:100%;
}
.main-content.top .section001 .boxlist .left-box .approach a h4{
	position: absolute;
	top:10px;
	left:15px;
	z-index: 500;
}
.main-content.top .section001 .boxlist .left-box .approach .left a .pic{
	width:200px;
	height:210px;
	position: absolute;
	bottom:0;
	left:0;
}
.main-content.top .section001 .boxlist .left-box .approach .left a .pic img{
	width:200px;
	height:210px;
	border:2px solid #FFFFFF;
	box-sizing: border-box;
	object-fit: cover;
}
.main-content.top .section001 .boxlist .left-box .approach .right a .pic{
	width:228px;
	height:210px;
	position: absolute;
	bottom:0;
	left:0;
}
.main-content.top .section001 .boxlist .left-box .approach .right a .pic img{
	width:228px;
	height:210px;
	border:2px solid #FFFFFF;
	box-sizing: border-box;
	object-fit: cover;
}
.main-content.top .section001 .boxlist .right-box{
	width:478px;
	height:305px;
	box-sizing: border-box;
	padding:10px;
	text-align: center;
	background: url("../images/top/bg_001.jpg") no-repeat center center;
}
.main-content.top .section001 .boxlist .right-box .inner{
	background: #FFFFFF;
	width:100%;
	height:100%;
	box-sizing: border-box;
	padding:0 15px;
}
.main-content.top .section001 .boxlist .right-box .inner h3.top002{
	line-height: 40px;
	font-size:23px;
	font-size:2.3rem;
	display: inline-block;
	padding:0 70px;
	position: relative;
	margin: 10px 0 40px;
}
.main-content.top .section001 .boxlist .right-box .inner h3.top002:before{
	background: url("../images/top/icon_heading_002.png") no-repeat center center;
	width:47px;
	height:6px;
	display: block;
	content:"";
	position: absolute;
	top:50%;
	left:5px;
	transform: translate(0,-50%);
}
.main-content.top .section001 .boxlist .right-box .inner h3.top002:after{
	background: url("../images/top/icon_heading_001.png") no-repeat center center;
	width:47px;
	height:6px;
	display: block;
	content:"";
	position: absolute;
	top:50%;
	right:5px;
	transform: translate(0,-50%);
}
.main-content.top .section001 .boxlist .right-box .inner .magazine{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.main-content.top .section001 .boxlist .right-box .inner .magazine .first{
	width:120px;
}
.main-content.top .section001 .boxlist .right-box .inner .magazine .second{
	width:86px;
}
.main-content.top .section001 .boxlist .right-box .inner .magazine .third{
	width:170px;
}
.main-content.top .section001 .boxlist .right-box .inner .magazine a{
	width:100%;
	display: block;
}
.main-content.top .section001 .boxlist .right-box .inner .magazine .link{
	width:95px;
	height:24px;
	margin:20px auto;
	line-height: 22px;
	border: 1px solid #000000;
	text-align: center;
	display: block;
	font-size:12px;
	font-size:1.2rem;
	border-radius: 12px;
}

/*--------------------------------------
    about main-content top
--------------------------------------*/

.main-content.top .section002{
	margin-top: 185px;
}
.main-content.top .section002 h2.top001{
	text-align: center;
	font-size:25px;
	font-size:2.5rem;
	line-height: 1.5;
	position: relative;
	padding-bottom:12px;
}
.main-content.top .section002 h2.top001 span{
	display: block;
	text-align: center;
	font-size:16px;
	font-size:1.6rem;
	color:#D88597;
	line-height: 1.2;
}
.main-content.top .section002 h2.top001:after{
	display: block;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	height:7px;
	background: url("../common/images/bg_header_001.jpg") no-repeat center center;
	background-size:cover;
	content: "";
}
.main-content.top .section002 .item{
	width:300px;
	float:left;
	margin-top:70px;
	margin-right:40px;
	text-align: center;
}
.main-content.top .section002 .item:nth-child(3n){
	margin-right:0;
}
.main-content.top .section002 .item .inner h3{
	display: inline-block;
	padding:0 30px;
	font-size:21px;
	font-size:2.1rem;
	position: relative;
	line-height: 32px;
	margin-bottom: 10px;
}
.main-content.top .section002 .item .inner h3.long{
	font-size:16px;
	font-size:1.6rem;
}
.main-content.top .section002 .item .inner h3:before{
	position: absolute;
	top:0;
	left:0;
	width:11px;
	height:32px;
	content:"";
	display: block;
}
.main-content.top .section002 .item .inner h3:after{
	position: absolute;
	top:0;
	right:0;
	width:11px;
	height:32px;
	content:"";
	display: block;
	transform: rotate(180deg);
}
.main-content.top .section002 .item.about001 .inner h3:before,
.main-content.top .section002 .item.about001 .inner h3:after{
	background: url("../images/top/icon_heading_003.png") no-repeat center center;
}
.main-content.top .section002 .item.about002 .inner h3:before,
.main-content.top .section002 .item.about002 .inner h3:after{
	background: url("../images/top/icon_heading_004.png") no-repeat center center;
}
.main-content.top .section002 .item.about003 .inner h3:before,
.main-content.top .section002 .item.about003 .inner h3:after{
	background: url("../images/top/icon_heading_005.png") no-repeat center center;
}
.main-content.top .section002 .item.about004 .inner h3:before,
.main-content.top .section002 .item.about004 .inner h3:after{
	background: url("../images/top/icon_heading_006.png") no-repeat center center;
}
.main-content.top .section002 .item.about005 .inner h3:before,
.main-content.top .section002 .item.about005 .inner h3:after{
	background: url("../images/top/icon_heading_007.png") no-repeat center center;
}
.main-content.top .section002 .item.about006 .inner h3:before,
.main-content.top .section002 .item.about006 .inner h3:after{
	background: url("../images/top/icon_heading_008.png") no-repeat center center;
}
.main-content.top .section002 .item .inner .pic{
	width:100%;
	box-sizing: border-box;
	padding:10px;
}
.main-content.top .section002 .item.about001 .inner .pic{
	background: url("../images/top/bg_about_001.jpg") no-repeat center top;
}
.main-content.top .section002 .item.about002 .inner .pic{
	background: url("../images/top/bg_about_002.jpg") no-repeat center top;
}
.main-content.top .section002 .item.about003 .inner .pic{
	background: url("../images/top/bg_about_003.jpg") no-repeat center top;
}
.main-content.top .section002 .item.about004 .inner .pic{
	background: url("../images/top/bg_about_004.jpg") no-repeat center top;
}
.main-content.top .section002 .item.about005 .inner .pic{
	background: url("../images/top/bg_about_005.jpg") no-repeat center top;
}
.main-content.top .section002 .item .inner .pic img{
	width:280px;
	height:190px;
	object-fit: cover;
}
.main-content.top .section002 .item .inner li{
	width:135px;
	margin-top:10px;
	margin-left: 10px;
	float:left;
	line-height: 25px;
	font-size:12px;
	font-size:1.2rem;
	text-align: center;
	background: #F8E8D0;
	border-radius: 5px;
}
.main-content.top .section002 .item .inner li a{
	display: block;
}
.main-content.top .section002 .item .inner li.wide{
	width:180px;
}
.main-content.top .section002 .item .inner li.sns{
	background: none;
	height:34px;
}
.main-content.top .section002 .item .inner li.sns a{
	padding:0 5px;
	display: inline-block;
}

/*--------------------------------------
    recruit main-content top
--------------------------------------*/

.main-content.top .section003{
	margin-top: 175px;
	padding:40px 0 20px;
	background: url("../images/top/bg_002.jpg") no-repeat center center;
	background-size:cover;
}
.main-content.top .section003 .width{
    width: 780px;
}
.main-content.top .section003 h2.top002{
	text-align: center;
	font-size:25px;
	font-size:2.5rem;
	line-height: 1.5;
	padding-bottom:10px;
	margin-bottom: 20px;
}
.main-content.top .section003 h2.top002 span{
	display: block;
	text-align: center;
	font-size:16px;
	font-size:1.6rem;
	color:#D88597;
	line-height: 1.2;
}
.main-content.top .section003 .right-box{
	/*width:458px;
	height:320px;
	background:#FFFFFF;
	padding:7px;*/
    padding: 40px 0 0 0;
	box-sizing: border-box;
}
/*.main-content.top .section003 .right-box img{
	width:100%;
	height:100%;
	object-fit: cover;
}*/

/*--------------------------------------
    access main-content top
--------------------------------------*/

.main-content.top .section004{
	margin-top: 180px;
}
.main-content.top .section004 h2.top001{
	text-align: center;
	font-size:25px;
	font-size:2.5rem;
	line-height: 1.5;
	margin-bottom: 70px;
	position: relative;
	padding-bottom:12px;
}
.main-content.top .section004 h2.top001 span{
	display: block;
	text-align: center;
	font-size:16px;
	font-size:1.6rem;
	color:#D88597;
	line-height: 1.2;
}
.main-content.top .section004 h2.top001:after{
	display: block;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	height:7px;
	background: url("../common/images/bg_header_001.jpg") no-repeat center center;
	background-size:cover;
	content: "";
}
.main-content.top .section004 .map{
	background:url("../images/top/img_map_001.jpg") no-repeat center center;
	background-size:contain; 
	width:826px;
	height:1116px;
	position: relative;
	margin:0 auto;
}
.main-content.top .section004 .map .link{
	width:233px;
	height:223px;
}
.main-content.top .section004 .map .link a{
	font-size:14px;
	font-size:1.4rem;
	color:#6A3906;
	text-decoration: underline;
	display: block;
	width:100%;
	height:100%;
	padding: 195px 20px 0;
	box-sizing: border-box;
	text-align: right;
}
.main-content.top .section004 .map .link.link001{
	position: absolute;
	top:36px;
	left:48px;
}
.main-content.top .section004 .map .link.link002{
	position: absolute;
	top:2px;
	right:13px;
}
.main-content.top .section004 .map .link.link003{
	position: absolute;
	bottom:0px;
	left:5px;
}
.main-content.top .section004 .map .link.link004{
	position: absolute;
	bottom:0px;
	left:275px;
}
.main-content.top .section004 .map .link.link005{
	position: absolute;
	bottom:0px;
	right:0px;
}
.main-content.top .section004 .map .link.link006{
	position: absolute;
	bottom:242px;
	right:0px;
}