/* */
html,
body{
	height:100%;
	width:100%;
}
body{
	margin:0 auto;
	max-width:640px;
	min-width:380px;
}
a{
	color:#5a68df;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}
.pc{
	display:none !important;
}
img{
	max-width:100%;
	height:auto;
}
#gotoTop{
}
#gotoTop a {
    position: fixed;
    bottom: 40px;
    right: 20px;
    background: url(../img/common/page-top.png) no-repeat center #FFF;
    background-size: 80% auto;
    width: 55px;
    height: 55px;
    z-index: 999;
    border-radius: 30px;
    border: 2px solid #a7a7a7;
    cursor: pointer;
}
.rep {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
#header .inner,
#footer.inner,
#gloval ul,
#contents{
	margin:0 auto;
}
span.large {
    font-size: 1.3em !important;
}
/******ヘッダー設定*******/
.wrapper.top{
	height:100%;
	position:relative;
}
#header{
	background:url(../img/common/main_img_bg.jpg?v20250123) center center no-repeat;
	background-size:cover;
	height:50%;
}
#header .inner{
	padding:0 15px;
	background:url(../img/common/header_bg.png);
}
#header .logo{
	/*width:40%;*/
	width:158px;
	float:left;
	margin:5px 2.5%;
}
#header .logo img{
	width:100%;
	height:auto;
}
#header .logo .code{
	margin-bottom:3px;
	font-size:93%;
	color:#333333;
}

#header .logo-m {
	position: absolute;
	top: 10px;
	left: 176px;
}

#header .logo-m img {
    width: 120px;
}


#header .header_contact{
	width:30%;
	float:right;
	text-align:right;
	margin-right:55px;
}
#header .header_contact p.text{
	display:none;
}
#header .header_contact p{
	display:inline-block;
	width:50px;
	height:50px;
}
#header .header_contact a{
	display:block;
	height:0;
	overflow:hidden;
	padding-top:100%;
	background:#87a25b center center no-repeat;
	border-radius:50%;
}

#header .main_img p.title{
color:orange;
font-weight:bold;
font-size:200%;
line-height:4em;
}

#header .main_img p.note{
color:#ffffff;
font-size:120%;
font-weight:bold;
line-height:3em;
}
h1{
/*
	font-size:93%;
	font-weight:normal;
	margin-bottom:5px;
*/
	display:none;
}

.top .read {
    text-align: center;
    margin: 1.4rem 1.2rem 0.6rem 1.2rem;
    color: #06348b;
    font-size: 0.9rem;
    line-height: 1.3rem;
}
.top .read p.title {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 2.5rem;
}
/******ページリンク設定*******/
#wrapper{
	position:relative;
	width:100%;
}
#gloval{
	position:fixed;
	top:0;
	bottom:0;
	right:0;
	width:50px;
	height:50px;
	background:url(../img/sp_common/gloval_list.png) center center no-repeat,url(../img/common/header_bg.png) center center repeat;
	background-size:120% auto;
	/*border:solid 1px #ffffff;*/
	z-index:999;
}
#gloval ul{
	display:none;
	position:absolute;
	top:0;
	right:0;
}
#gloval.check ul{
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding-top:50px;
}
#gloval li{
	width:50%;
	margin-left:50%;
	text-align:right;
	background: url(../img/common/g_nav_li.gif) center right no-repeat;
	border-bottom:solid 1px #fff;
	background:#87a25b;
}
#gloval li a{
	display:block;
	padding:15px 10%;
	background:#629dd0;
	color:#ffffff;
	font-weight:bold;
	text-decoration:none;
	text-align:left;
}
#gloval li a:hover{
	color:#56712a;
}

#gloval li.this_page{
	color:#ffffff;
}
/******フッター**********/
#footer{
	padding-top:5px;
	background-color:white;
	    background: #629dd0 url(../img/common/footer_bg.gif) bottom center repeat-x;
}
#footer div.inner{
	margin:0 auto;
	text-align: center;
}
#footer div.inner ul{
	overflow:hidden;
	text-align:center;
	margin:5px 0
}
#footer div.inner ul li{
	display:inline-block;
	width:43%;
	margin-bottom:5px;
}
#footer div.inner ul li:last-child{
	width:90%;
}
#footer div.inner ul li a{
	display:block;
	padding:10px;
	color:#333;
	border-radius:10px;
	border:1px solid #333;
	background:#fff;
}
#footer address{
	clear:both;
	text-align:center;
	color:white;
	padding-top:15px;
	padding-bottom:10px;
	font-size:85%;
}

/******各ページ共通********/
#contents{
}
#contWrap{
	padding:15px 10px;
	line-height:1.4em;
}
h2{
	margin-bottom:20px;
	padding:0 10px;
	color:#312624;
	border-bottom:solid 1px #312624;
	font-size:160%;
	font-weight:bold;
	font-family:serif;
	line-height:25px;
	text-align:center;
}
h2.info_tle_img{
	padding:0;
	margin:0 0 20px;
	border:none;
}
h3{
	font-size: 124.3%;
	border-bottom:solid 1px #dedede;
	margin-bottom:15px;
	padding:5px 15px;
    margin-top: 30px;
    line-height: 2em;
    background: #3193da;
    border-radius: 1.2em;
    color: #fff;
    padding-left: 1em;
}
h3 span {
    color: initial;
    font-weight: initial;
    font-size: 0.8rem;
    display: block;
    line-height: 1rem;
    margin-bottom: 0.4rem;
}
h4{
	font-size:100%;
	margin-bottom:10px;
	padding:5px 10px;
	border-radius:5px;
	background:#445566;
	color:#fff;
}

.btn a {
display: block;
    /* width: 27%; */
    padding: 10px 15px;
    border: solid 3px #3272dc;
    border-radius: 10px;
    text-align: center;
    font-weight: bold;
    background: #d0e2ff;
}

/******各ページ************/
/*トップページ----*/
.main_img{
	/*表示の都合上ヘッダー内にあります。*/
	position:absolute;
	top:0;
	bottom:0;
/*	width:100%;
	background:url(../img/common/main_img.png) center left 10px no-repeat;*/
	background-size:90% auto;
}
.main_img img{
	width:100%;
	height:auto;
	display:none;
}
.info{

}
.info ul{

}
.info ul li{
	/*
	width:45%;
	float:left;
	*/

	font-size:116%;
	color:#2e4557;

	padding:5px 1% 5px 0;
	font-weight:bold;
}
.info.attention ul li{
	/*font-size:121.4%;*/
}
.info ul li.full{
	width:95%;
}
.info ul li.odd{
/*border-right:dotted 1px #aaaaaa;*/
}
.info ul li.even{

}
.top_about{
	text-align:center;
	margin-bottom:10px;
}
.top_about li{
	display:inline-block;
	width:90%;
	margin-bottom:10px;
}
.top_point,
.service .point{
	font-family:serif;
	font-weight:bold;
	line-height:1.5em;
	margin-bottom:15px;
}
.top_04{
	color:#ff0000;
}
.top_05{
	color:#00479d;
}
.top_06{
	background:#f2fed8;
	border:solid 2px #90c446;
	border-radius:10px;
	padding:10px 20px;
	font-size:85%;
}
.index_contact{
	text-align:center;
	margin-bottom:30px;
}
.index_contact{
	text-align:center;
	margin-bottom:30px;
}

.index_news {
margin-bottom: 30px;
}

.index_news ul {
    padding: 0 10px;
    max-height: 300px;
    overflow: auto;
    border-bottom: solid 1px #312624;
    border-left: solid 1px #312624;
    border-right: solid 1px #312624;
    padding: 20px;
}

h2.info_tle {
    margin-bottom: 0 !important;
        margin-top: 20px;
}

.index_news li dt {
    background: #428dce;
    color: #fff;
    padding: 5px 10px;
    margin: 0 0 10px;
    border-radius: 5px;
    margin-top: 8px;
}



ul.menu_list {
    padding: 0 10px;
    margin-bottom: 30px;
    max-height: 300px;
    overflow: auto;
    border-bottom: solid 1px #312624;
    border-left: solid 1px #312624;
    border-right: solid 1px #312624;
    padding: 20px;
}

ul.menu_list li dt {
    background: #428dce;
    color: #fff;
    padding: 5px 10px;
    margin: 0 0 10px;
    border-radius: 5px;
    margin-top: 8px;
}

.menu_img img {
    width: 100%;
    margin-bottom: 12px;
}

div#banner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 1rem;
        text-align: left;
}
div#banner dl {
	border: 1px solid #c3c3c3;
	padding: 1rem;
	width: 100%;
	box-sizing: border-box;
display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        text-align: left;
        margin-top: 1rem;
}
div#banner dl * {
	vertical-align: top;
}
div#banner dt {
    width: 20%;
    display: inline-block;
}
div#banner dt a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}
div#banner dt a {
    display: block;
    /* width: 100%; */
    /* object-fit: fill; */
    /* height: 100%; */
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    box-sizing: border-box;
}
div#banner dd {
    width: calc(80% - 1.4rem);
    display: inline-block;
    /* font-size: 0.9rem; */
    margin-left: 1rem;
    /* box-sizing: border-box; */
}

div#banner dd p {
    font-size: 0.9rem;
    margin: 0;
}
div#banner dd p.stitle {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

/*調査に「ついてージ----*/
.service{
}

.service .info p{
	font-size:116%;
	color:#2e4557;
	list-style:disc;
	font-weight:bold;
	margin:0 10px 20px;
}
.service .info{
	margin-bottom:5px;
}
.service td.photo {
	width: inherit;
}
.sien{
	font-size:114.3%;
	margin-bottom:15px;
	padding:5px 15px;
	color:#444;
	line-height:1.5em;
	
}
.service .botton{
	text-align:center;
	margin-bottom:10px;
}
.service .botton p{
	display:inline-block;
	width:80%;
	margin-bottom:5px;
}
.service .botton p a{
	display:block;
	font-size:116%;
	color:#fff;
	background:#2e4557;
	list-style:disc;
	font-weight:bold;
	padding:10px 20px;
	margin:0 10px;
	border-radius:10px;
	text-decoration:none;
}
.service .botton p a:hover{
	background:#4897d6;
}
/*料金ページ----*/
.service h3,
.fee h3{

}
.service h3 img,
.fee h3 img{
	width:230%;
	max-width:300%;
	height:auto;
}

.service dt {
    text-align: center;
    font-size: 120%;
    margin: 8px;
    font-weight: bold;

}
dt.stitle {
    background: #cecece;
    padding: 4px;
}
.service dd,
.fee dd{
	margin:0 20px 10px;
}
.service ul,
.fee ul{
	margin-bottom:20px;
}
.service p,
.fee p{
	margin-left:10px;
	margin-bottom:20px;
}
.fee .attention{
	color:#ff0000;
}
.service table,
.fee table{
	margin:0 2% 20px;
	width:96%;
	font-size:116%;
}
.service th,
.service td,
.fee th,
.fee td{
	display:block;
	padding:5px 1%;
	font-weight:normal;
}
.service th,
.fee th{
	width:40%;
	float:left;
}
.service td,
.fee td{
	width: 100%;
	text-align: center;
}
.service table span,
.fee table span{

	padding:0 5px;
	font-weight:bold;
}
.service td.detail,
.fee td.detail{
	width:98%;
	padding:3px 1%;
	text-align:right;
	border-bottom:solid 1px #666;
	margin-bottom:15px;
}
.fee .fee_03 th,
.service .fee_03 th,
.fee .fee_04 th,
.service .fee_04 th{
	width:98%;
	text-align:left;
}
.fee .fee_03 td,
.service .fee_03 td,
.fee .fee_04 td,
.service .fee_04 td{
	border-bottom:solid 1px #666;
	margin-bottom:15px;
}
.fee .fee_03 td:last-child,
.service .fee_03 td:last-child,
.fee .fee_04 td:last-child,
.service .fee_04 td:last-child{
	width:40%;
	padding:3px 1% 5px;
}

.service_02 dl h3 span{
	display:inline-block;
	line-height:1.5em;
	width:1.5em;
	border-radius:1.2em;
	color:#1a2a02;
	text-align:center;
	margin-right:15px;
}
.service_02 dl h3 span.time {
    display: inline;
    color: #ffe665;
    margin-left: 6px;
    font-size: 80%;
    /* background: #000; */
}
.service_02 table td img {
   width:100%;
}
/*よくある質問ページ----*/
.fq dl{
	margin:0 15px 20px;
	padding:10px;
	/*border:dashed 1px #666;*/
	background:#e4e4e4;
	border-radius:10px;
}
.fq dd{
	margin:0 15px;
}

/*求人ページ----*/
.recruit{
}
.recruit .text,
.recruit .recruit_info{
	margin:0 10px 20px;
}
.recruit .text p{
	margin:0 20px 10px;
}
.recruit_info table{
	margin:0 10px 10px;
}
.recruit_info th,
.recruit_info td{
	display:block;
	width:90%;
	border:solid 1px #dedede;
	vertical-align:middle;
	padding:10px 5%;
}
.recruit_info th{
	/*width:15%;*/
	background:#ececec;
}
.recruit_info th span{
	display:block;
}
.recruit_info ul{
	width:25%;
	float:left;
}
.recruit_info li{
	color:#c0c0c0;
}
.recruit_info li.chack{
	color:#444444;
}


.service_02 dl dd{
	margin:0 15px 20px;
}
.service_02 dl p{
	padding:0;
}

ul#menulist {
    display: block;
    text-align: left;
    overflow: hidden;
}

ul#menulist li {
    text-align: center;
    width: 49%;
    display: inline-block;
}
ul#menulist a {
    display: inline-block;
    width: 84%;
    /* height: 20px; */
    background-color: #aaaaaa;
    /* float: left; */
    color: #fff;
    padding: 10px;
    text-align: center;
    border-radius: 30px;
    /* text-align: center; */
    /* margin-right: 10px; */
    font-weight: bold;
    margin: 0 auto;
}



/*会社概要----*/
.company dd{
	margin:0 20px 10px;
}
.company table{
	width:100%;
}
.company th,
.company td{
	display:block;
	width:90%;
	border:solid 1px #dedede;
	vertical-align:middle;
	padding:10px 5%;
	text-align: left;
}
.company th{
	background:#ececec;
}
.company td span{
	font-size:85%;
}
.company td img{
	height:20px;
}
.company dd iframe{
	width:100%;
	height:300px;
}
/*お問合わせページ----*/
/* contact */
	/* width */
	.dataTable table td input,
	.dataTable table td textarea{
		width:95%;
	}
	
	.dataTable table td textarea{
		height:100px;
	}
	.dataTable table td.contact_tel input{
		width:25%;
	}
	.dataTable table td input[type="radio"],
	.dataTable table td input[type="checkbox"]{
		width:5%;
	}
	/* background&color */
	.dataTable{
		/*background:#fcf7dd;*/
	}
	.necessity,
	.error{
		color:#ff0000;
	}
	/*確認画面へﾎﾞﾀﾝ*/
	.button input.go_conf{
		background: url(../img/contact/conf_btn_off.gif) no-repeat 0 0;
	}
	.button input.go_conf:hover{
		background: url(../img/contact/conf_btn_on.gif) no-repeat 0 0;
	}
	/*戻る*/
	.button input.back{
		background: url(../img/contact/back_btn_off.gif) no-repeat 0 0;
	}
	.button input.back:hover{
		background: url(../img/contact/back_btn_on.gif) no-repeat 0 0;
	}
	/*メール送信*/
	.button input.go_mail{
		background: url(../img/contact/submit_btn_off.gif) no-repeat 0 0;
	}
	.button input.go_mail:hover{
		background: url(../img/contact/submit_btn_on.gif) no-repeat 0 0;
	}

.comp {
	text-align:center;
	margin:20px auto;
}
.dataTable{
	margin:15px auto 20px;
	border:#cccccc 1px solid;
}
.dataTable table tr:first-child th,
.dataTable table tr:first-child td,
.dataTable table .one th,
.dataTable table .one td{
	border:none;
}
.dataTable table{
	width:100%;
}
.dataTable table th,
.dataTable table td{
	width:90%;
	padding:5px 5% 5px;
	display:block;
}
.dataTable table td{
	padding-bottom:15px;

}
.dataTable table th{
	font-size:14px;
	font-weight:normal;
	border-top:#cccccc 1px dotted;
	padding-top:15px;
}
.dataTable table td input,
.dataTable table td textarea{
	padding:5px;
}
.dataTable table td.contact_radio input{
	width:15px;
}
.button{
	text-align:center;
}
.button input{
	cursor: pointer;
	display: inline-block;
	width:200px;
	height:45px;
	border:none;
	text-indent: -9999px;
	*sidplay:block;
	*float:left;
}

.map iframe {
    width: 100%;
    height: 300px;
}
.address dt {
    font-weight: bold;
    font-size: 150%;
    margin-top: 12px;
    margin-bottom: 12px;
}

.address dl {
    margin-bottom: 1em;
}
.access .address {
	border-bottom: 1px dashed #838383;
margin-bottom: 1rem;
}
.parking img {
    border: 1px solid #c7c7c7;
    margin-top: 1rem;
}
.access dd.tel a {
    font-size: 200%;
}
.access dt.label {
    font-size: initial;
    margin-bottom: initial;
}
/*宴会---*/
tr.suspended {
    position: relative;
}
tr.suspended td span {
display: block;
        position: absolute;
        width: 100%;
        background-color: rgba(180, 180, 180, 0.7);
        top: 0;
        left: 0;
        height: 100%;
        text-align: center;
        color: #a70000;
        font-size: 1.5rem;
        font-weight: bold;
        padding: 6rem 0;
        box-sizing: border-box;
        line-height: 2rem;
}
