@charset "shift-jis";
/* CSS Document */

/****************窝発系便利クラス*****************/
.sp-header {
	display: none; 
}
.sp {
	display: none!important;
}


img.lid{display:block; clear:both;}
img.img_bdr	{ border:#bfbfbf solid 1px; padding:1px;}

.rlov{

}

form em{font-size:80%; color:#F33;}
form strong{font-size:120%; color:#F60;}
.green{color:#3b7135;}
.red{color:#FF3333;}
.orange{color:#F60;}
.blue{color: #0d4691;}
.blue2{color: #002586;}
.white{color:#FFF;}


.mini{font-size:85%;}
.big{font-size:120%;}
.big2{font-size:150%;}
.big3 {
	font-weight:bold;
	font-size:220%;
}

.bgcl_01{ background: #FFF0F8;}

/* init */
.background {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: fixed;
    background-position: center center;
    opacity: 0;
-webkit-background-size: cover;
        background-size: cover;
-webkit-transition: all 0.5s ease 0s;
   -moz-transition: all 0.5s ease 0s;
        transition: all 0.5s ease 0s;
	pointer-events: none;
}
.show .background {
    opacity: 1;
		z-index:-3;
}
.wrap {
    position: relative;
    z-index: 32000;
}
/* design*/
#content01_bg {background-image: url(../images/bg_01.jpg);}
#content02_bg {background-image: url(../images/bg_02.jpg);}
#content03_bg {background-image: url(../images/bg_03.jpg);}
#content04_bg {background-image: url(../images/bg_04.jpg);}
.text-box {
    padding: 50px 25px;
    width: 480px;
    background-color: rgba(0,0,0,0.5);
    color: #fff;
}
.text-box .catch {
    margin: 0 0 10px;
    font-size: 40px;
}
.text-box .copy {
    margin: 0;
    line-height: 2;
}
body{
	min-width:1400px;
	border:0;
	padding:0;
	font-size: 100%;
	color: #000;
	line-height: 1.7;
}
body#hd{
	margin: 0 auto; 
	padding: 0; 
	min-width: 1400px; 
	background: url(../images/body_bg.jpg) center top repeat-x;
}
#mainimage{
	width:100%;
	position:relative;
	background-color:#a7d6ff;
}

#mainimage div.mv_wave{
	background:url(../images/mv_wave.png) bottom center repeat-x;
	height:34px;
	position:absolute;
	bottom:0px;
	left:0;
	width:100%;
	z-index:256;
}


#recruit_mv {
	position:relative;
	height:600px;
	background:url(../../recruit/images/mv.jpg) center center / cover no-repeat;
}

#equipment_mv {
	position:relative;
	height:600px;
	background:url(../../equipment/images/mv.jpg) center center / cover no-repeat;
}


#material_mv {
	position:relative;
	height:600px;
	background:url(../../material/images/mv.jpg) center center / cover no-repeat;
}


#achievement_mv {
	position:relative;
	height:600px;
	background:url(../../achievement/images/mv.jpg) center center / cover no-repeat;
}



#blog_mv {
	position:relative;
	height:600px;
	background:url(../../blog/images/mv.jpg) center center / cover no-repeat;
}


#company_mv {
	position:relative;
	height:600px;
	background:url(../../company/images/mv.jpg) center center / cover no-repeat;
}


#contact_mv {
	position:relative;
	height:600px;
	background:url(../../contact/images/mv.jpg) center center / cover no-repeat;
}

#feature_mv {
	position:relative;
	height:600px;
	background:url(../../feature/images/mv.jpg) center center / cover no-repeat;
}




#mainimage .box{
	width:100%;
	height:inherit;
	background-position:center center;
	background-size:cover;
}
.stripe {
	background:url(../images/stripe.png) center top repeat;
	height:100%;
	width:100%;
	z-index:100;
	position:absolute;
	top:0;
	left:0;
}
#mainimage .inner{
	width:1200px;
	margin:0 auto;
	height:inherit;
	position:relative;
	top:calc(-1 * (100vh - 0px));
	z-index:512;
}

#mainimage .inner .logo{
	padding-top:calc((100vh + 220px)/4);
	padding-bottom:calc((100vh - 730px)/2);
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:768;
	text-align:center;
	max-height:calc(100vh - 0px);
	overflow:hidden;
}
#mainimage .inner .time{
	position:absolute;
	bottom:60px;
	left:0px;
	z-index:1024;
	text-align:center;
	max-height:calc(100vh - 0px);
	overflow:hidden;
}
div#secret{
	text-align:center;
	position:fixed;
	min-width:1400px;
	width:100%;
	top:-60px;
	z-index:10000;
	transition:all 0.5s;
	background:url(common/images/header_bg.jpg) center top repeat-x;
	background-color:#997a74;
}
.kasou-main {
	height: 520px;
	position: relative;
}
.kasou-main .stripe {
	background: rgba(68, 82, 119, 0.41);
}
.about-mv {
	background: url(../images/mv-about.jpg) center center/cover no-repeat;
}
.case-mv {
	background: url(../images/mv-case.jpg) center center/cover no-repeat;
}
.work-mv {
	background: url(../images/mv-work.jpg) center center/cover no-repeat;
}
.recruit-mv {
	background: url(../images/mv-recruit.jpg) center center/cover no-repeat;
}
.inquiry-mv {
	background: url(../images/mv-inquiry.jpg) center center/cover no-repeat;
}
.h2-wrap {
	/*background: #ffda5d;*/
	background: #feeb8c;
}
.kasou-main .fleft img {
	width: 220px;
}
#contentsarea h2 {
	font-size: 200%;
	text-align: center;
	font-weight: bold;
	color: #6f6767;
	position: relative;
	z-index: 32;
	margin-bottom: 40px;
}
#contentsarea h2:before {
	position: absolute;
	content: ""E;
	font-size: 500%;
	top: -10px;
	left: 0;
	text-align: center;
	display: block;
	width: 100%;
	color: #eee;
	z-index: -1;
	line-height: .6;
}
#contentsarea h2 span {
	display: block;
	font-size: 60%;
}
#wrap h3 {
    font-size: 160%;
    font-weight: bold;
	margin:0 0 20px 0;
    color: #093663;
    clear: both;
    font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}
#wrap h4{
	margin-bottom: 20px;
    clear: both;
    background-color: #50423c;
    color: #FFF;
    /*display: inline-block;*/
    max-width: 40%;
    font-size: 130%;
    padding: 0.2em 1em;
    font-weight: bold;
    border-radius: 10px;
}
#wrap h5{
	margin:0 0 15px 0;
	padding:10px;
	font-weight:bold;
	border-left:5px solid #173db0;
	font-size:120%;
	clear:both;
	color:#173db0;
	line-height:1.2;
}
div#newsbox{
	padding: 0 80px 0 0;
    background: #1361af;
    margin-top: 140px;
	box-sizing:border-box;
}
div#newsbox .news-wrap {
	position: relative;
    top: -80px;
    left: 0;
    width: 100%;
}
div#newsbox a{
	text-decoration:underline;
}
div#newsbox dl:first-child {
	padding: 20px 0;
}
div#newsbox dl{
	padding: 5px 0 20px;
	clear:both !important;
	border-bottom:1px solid #b0b9d2;
	margin-bottom:10px;
	position:relative;
	z-index:1000;
}
div#newsbox dl dt{
	width:15%;
	float:left;
	background: #1071b5;
	color: #fff;
	font-weight:bold;
	text-align:center;
}
div#newsbox dl dd{
	width:80%;
	float:right;
	text-align:left;
}
#footer{
	position:relative;
	z-index:10 !important;
	text-align:center;
}

div#pagetop{ 
	position:fixed; 
	bottom:60px; 
	right:10px; 
	width:70px; 
	display:table; 
	z-index:32768; 
	font-size:90%;
}
div#pagetop div{
	height:70px;
	width:70px;
	border-radius:100%;
	background-color: rgb(9 43 18 / 63%);
	color:#FFF;
	text-align:center;
	vertical-align:middle;
	margin-bottom:10px;
}
div#pagetop div div{
	height:70px;
	width:70px;
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	line-height:1.3;
}
div#pagetop div div a{
	color:#FFF;
	text-decoration:none;
}


div#newsbg{
	background:url(../images/news_bg.jpg) center center repeat-x;
}
div#newsbg > div{
	display:flex;
	width:1200px;
	margin:0 auto;
}

div#newsbg > div > div{
	width:580px;
}
div#newsbg > div > div:first-child{
	margin-right:20px;
}

.newsbox {
	padding:30px 20px;
	overflow:auto;
	max-height:200px;
	background-color:#FFF;
}

div.newsbox a{
	text-decoration:underline;
}
div.newsbox dl{
	padding:0px 0 10px;
	clear:both !important;
	border-bottom:1px dotted #999;
	margin-bottom:10px;
	position:relative;
	display:flex;
}
div.newsbox dl dt{
	width:25%;
	
}
div.newsbox dl dd{
	width:75%;
	
}

.mintyo{
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}

#footerarea{
	position:relative;
	min-height:532px;
	background:url(../images/footer_bg.jpg) center top / cover;
	color:#FFF;
}

#footerarea #footer{
	background:url(../images/footer_wave_bg.png) center bottom repeat-x;
	text-align:center;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
}

#footer #add {
	position: relative;
	padding: 60px 0;
	width: 1200px;
	margin: 0 auto;
	/*font-size:;*/
	text-align: left;
}


#footlink{
	background-color:#00a0e9;
	color:#FFF;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 10px;
	font-size: 95%;
	justify-content: space-between;
	text-align:center;
}
#footlink ul{
	margin-bottom:40px;
}
#footlink ul li{
	line-height:1.9;
	
	text-align: center;
	display: inline-block;
}


#footlink ul li:after {
	content:"|";
	padding:0 3px;
}

#footlink ul li a{
	color:#FFF;
	
	transition: all 0.3s;
	
	display: inline-block;
}

#footlink ul li a:hover{
	transition: all 0.3s;
	opacity: .7;
}

.copy{
	font-size:80%;
}

div#headerarea{
	width:100%;
	position: absolute;
	z-index: 99999;
	min-width:1400px;
}

div#headerarea div#header{
	width:1200px;
	margin:0 auto;
	padding:0;
	text-align:left;
	color: #fff;
	min-width:1200px;
}
div#headerarea div#header h1{
	margin:0 auto;
	padding:0;
	text-align:left;
	line-height:20px;
	font-size:90%;
	font-weight:bold;
	color:#FFF;
}

div#headerarea div#header div.fleft{
	margin:0;
	padding:0;
}


div#headerarea div#header div.fright{
	text-align:right;
	margin:0;
	padding:0 0;
	text-align:right;

}

div#headerarea div#header div.fright .small{
	font-size: 80%;
}

div#header h1 a{color:#FFF;}

div#header .fright{
	text-align:right;
}

/****** Gnavi ******/
div#gnavi{
	width:auto;
	height:100px;
	margin:0 auto 100px;
	padding:0;
	clear:both;
	position:sticky;
	background-color:#FFF;
	top:0;
	z-index:8192;
}

div#gnavi dl{
	display:block !important;
}

div#gnavi dl dt{
	display:none;
}

div#gnavi dl dd{
	display:block !important;
}

div#gnavi ul{
	display:block;
	height:100px;
	width:1200px;
	margin:0 auto;
}

div#gnavi ul li{
	float: left;
    display: block;
    width: 200px;
    height: 100px;
    position: relative;
}

div#gnavi ul li a{
	text-align:center;
	display:block;
	text-indent:-9999px !important;
	height:100px;
	text-decoration: none;
	
	
	
	background-image:url(../images/gnavi.png);
}
div#gnavi ul li:last-child a {
	
}
div#gnavi ul li a:hover {

}
div#gnavi ul li:last-child a:hover {

}

div#gnavi ul li#link01 a{background-position:0 0;}
div#gnavi ul li#link01 a:hover{background-position:0 100px;}
div#gnavi ul li#link02 a{background-position:-200px 0;}
div#gnavi ul li#link02 a:hover{background-position:-200px 100px;}
div#gnavi ul li#link03 a{background-position:-400px 0;}
div#gnavi ul li#link03 a:hover{background-position:-400px 100px;}
div#gnavi ul li#link04 a{background-position:-600px 0;}
div#gnavi ul li#link04 a:hover{background-position:-600px 100px;}
div#gnavi ul li#link05 a{background-position:-800px 0;}
div#gnavi ul li#link05 a:hover{background-position:-800px 100px;}
div#gnavi ul li#link06 a{background-position:-1000px 0;}
div#gnavi ul li#link06 a:hover{background-position:-1000px 100px;}


/*contentsarea*/
/****** Main ******/
/*#wrap div#mainimage{
	clear:both;
	width:1200px;
	margin:0 auto;
	padding-bottom:40px;
	position:relative;
}*/

#wrap .top div#mainimage{
	clear:both;
	width:1200px;
	margin:0 auto;
	padding-bottom:40px;
	height:300px;
	position:relative;
}


/* init */
.background {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: fixed;
    background-position: center center;
    opacity: 0;
-webkit-background-size: cover;
        background-size: cover;
-webkit-transition: all 0.5s ease 0s;
   -moz-transition: all 0.5s ease 0s;
        transition: all 0.5s ease 0s;
	pointer-events: none;
}
.show .background {
    opacity: 1;
		z-index:-3;
}
.wrap {
    position: relative;
    z-index: 32000;
}



/****** Side ******/
#wrap div.contents div#sidearea{
	width:200px;
	margin:0 0 0 0;
	padding:0 0 20px 0;
	float:left;
	text-align:left;
	font-size:80%;
}

html#top #wrap div.contents div#sidearea{
	margin:20px 0 0 0;
	padding:0;
	float:left;
	text-align:left;
	font-size:70%;
}

#wrap div.contents div#sidearea #sidemenu{
	margin-bottom:20px;
}

#wrap div.contents div#sidearea div.recbox{
	border:1px solid #dfdfdf;
	background-color:#5a2a1a;
	margin-bottom:20px;
	text-align:center;
	padding:7px;
}

#wrap div.contents div#sidearea div.recbox02{
	padding:7px;
	margin-bottom:7px;
	background-color:#edf3f6;
}


#wrap div.contents div#sidearea div.addbox{
	background:url(../images/side_bg.jpg) left top no-repeat;
	height:436px;
	padding-top:80px;
	text-align:center;
}

#wrap div.contents div#sidearea div.addbox div.add{
	margin:0 10px 10px;
	text-align:left;
	line-height:1.4 !important;
}
#wrap div.contents div#sidearea div.addbox div.tel{
	margin:0 10px 10px;
	color:#32a4e2;
	text-align:left;
	font-weight:bold;
}
#wrap div.contents div#sidearea div.addbox div.tel .big2{
	font-size:195%;
	line-height:1.3;
}



#wrap div.contents div#sidearea ul{
	margin:0;
}
#wrap div.contents div#sidearea ul li{
	padding:0 0 1px 0 !important;
	display:block;
	margin-bottom:0;
}
#wrap div.contents div#sidearea ul li a{
	color:#5a4322;
	display:block;
	margin-bottom:0 !important;
	padding:0 !important;
}
#wrap div.contents div#sidearea ul li a img{
	display:inline;
	margin-bottom:0;
	line-height:0;
}
#wrap div.contents div#sidearea ul li a:hover{
	text-decoration:underline;
}
#wrap div.contents div#sidearea ul li img{
	display:block;
	margin-bottom:0;
}

#wrap div.contents div#bannerarea{
	width:206px;
	text-align:center;
}


/****** Contents ******/
#wrap div.contents div#contentsarea{
	width:1200px;
	margin:0 auto;
	padding:30px 100px 0;
	background-color:rgba(255,255,255,0.9);
	text-align:left;
}

#wrap div.contents div#contentsarea02{
}

/* Heading */



#kasou section#contents{
	padding:0 0 4em;
}

#kasou div.contents{
	width:1200px;
	padding:30px 100px;
	background-color:rgba(255,255,255,0.85);
	box-shadow:0 0 5px #999;
	margin:0 auto;
	text-align:left;
}


#wrap div.contents h2{
	margin-bottom:20px;
	clear:both;
	font-size:270%;
	text-align:center;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
	color:#157295;
}

#wrap div.contents h2 span{
	display:block;
	margin:0 auto;
	color:#000;
	font-size:40%;
}


#wrap div.contents h3 {
    font-size: 140%;
    font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
	margin:0 0 30px -50px;
    color: #FFF;
	background-color:#039;
    padding: 7px 0 7px 20px;
    border-left: 10px solid #026;
    clear: both;
}




#wrap div.contents h4{
	margin:0 0 15px;
	padding:7px 10px;
	font-weight:bold;
	border-left:3px solid #306090;
	background:url(../images/h4_bg.jpg) right bottom no-repeat rgba(255,255,255,0.8);
	font-size:150%;
	clear:both;
	color:#102040;
	line-height:1.4;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}
#wrap div.contents h5{
	margin:0 0 15px 0;
	padding:10px;
	font-weight:bold;
	border-left:3px solid #108060;
	font-size:110%;
	clear:both;
	color:#105030;
	line-height:1.2;
}

#wrap div.contents div#contentsarea p{
	margin:0 0 15px;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}


/* Basic parts */
#wrap div.contents div.section{
	margin:0 20px 50px;
	clear:both;
}
#wrap div.contents p{
	margin:0 0 1.0em;
}

#wrap div.contents div.pagetop{
	text-align:right;
	margin-top:20px;
	clear:both;
}





#wrap div.contents div.pagetop a{
	text-decoration:underline;
}
#wrap div.contents div#contentsarea .txno{
	text-indent:-9999px;
}

/* Basic parts 2 */






/****** Foots ******/

/****** Second_xxxx ******/


ul.voice li{margin-bottom:10px;
	padding:10px;
	background-color:#F8F8FF;
	border:3px double #039;
	margin-right:50px;
}
ul.voice li ul,ul.voice li.ans{margin-top:10px;}
ul.voice li ul li,ul.voice li.ans{
	margin-bottom:0;
	margin-right:0px;
	background-color:#FFFFFF;
	border:1px dotted #36B;
	margin-left:50px;}
	
ul.voice li.ans{margin-bottom:20px !important;}


dl.faq{
	opacity: 1!important;
	padding:15px;
	margin:0 10px 50px;
	background-color:#ececeb;
	border:1px solid #CCCCDD;
	border-radius:10px;
	display:block;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}

dl.faq dt{
	border-radius:10px;
	font-weight:bold;
	padding-left:20px;
	padding-top:4px;
	margin-bottom:20px;
	background:url(../images/icon_q.png) left top no-repeat;
	line-height:50px;
	background-color:#5a3828;
	color:#FFF;
	font-size:140%;
}
dl.faq dd{
	border-radius:10px;
	padding-left:30px;
	padding-top:12px;
	padding-bottom:5px;
	background:url(../images/icon_a.png) left top no-repeat;
	background-color:#FFF;
	font-size:110%;
	font-weight:bold;
	min-height:50px;
}


span.caution{
	display:block !important;
	padding:8px;
	background-color:#F0F0F8;
	border:1px solid #ABB;
}


/*div.box{
	height:650px;
	width:1400px;
	background-size:100% auto;
	background-position:center center;
	margin:0 auto;
	z-index:12768;
}*/

div.box01{
	background:url(../images/box_bg01.jpg) left top repeat-y;
	border:1px solid #CCC;
	margin:0 10px 40px;
	padding:8px;
}

div#pagelink{ width:700px; margin:0 auto 40px;}
div#pagelink ul li{
	float:left;
	width:175px;
}
div#pagelink ul li a{
	display:block;
	padding-left:18px;
	background:url(../images/arrow_green.png) left 5px no-repeat;
}

td.pickbox{
	padding:9px 9px 0px;
	border:1px solid #CFCFCF;
}

div.textbox{padding:2em; margin:0 10px 60px; background:url(../images/box_bg.jpg) right bottom no-repeat #FFF; border:1px solid #BDF; border-top-width:5px; clear:both;}

div.textbox02{background:url(../images/box_middle.jpg) left top repeat-y; margin:0 10px 40px; width:760px; clear:both;}
div.textbox02 div.txt{padding:4px 15px 4px 15px;}

div#bannerbg a{
	display:block;
	background:url(../images/banner_04_bg.jpg) left top no-repeat;
	height:95px;
	padding:85px 0 0 50px;
	font-weight:bold;
}
div#bannerbg a:hover{
	background-position:right bottom;
}

span#tshadow{
	display:block;
	filter: glow(color=#FFFFFF,strength=5px) !important;
}

ul.linklist{
	margin-bottom:80px;
	padding-left:40px;
	margin-right:20px;
	padding-top:20px;
	font-size:120%;
}

ul.linklist li{
	background:url(../images/arrow_list.jpg) left 4px no-repeat;
	padding-left:25px;
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:1px dashed #999999;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
	position:relative;

}

ul.linklist.half li{
	float:left;
	width:42%;
	margin-right:1%;
}

ul.linklist.half li:nth-child(odd){
	clear:both;
}

ul.linklist li:before{
	position:absolute;
	left:0;
	top:4px;
	content:"||||";
	color:#F60;
	transform:rotate(90deg);
	font-size:60%;
}

ul.linklist li a{
	text-decoration:underline;
	font-size:130%;
	font-weight:bold;
}

dl.impbox{
	background:url(../../column/images/impbox_bottom.jpg) right bottom no-repeat;
	padding-bottom:20px;
	margin-bottom:45px;
}

dl.impbox dt{
	background:url(../../column/images/impbox_top.jpg) left top no-repeat;
	height:56px;
	line-height:56px;
	padding-bottom:7px;
	padding-left:20px;
	font-size:120%;
	font-weight:bold;
	text-shadow:1px 1px 0 #EEE;
}
dl.impbox dd{
	background:url(../../column/images/impbox_middle.jpg) left top repeat-y;
	padding:0 20px 0 70px;
	line-height:1.6;
}


.ggmap {
position: relative;
padding-top: 400px;
height: 0;
overflow: hidden;
width:100%;
margin:0;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


dl.proposal{ display:block; 	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;}
dl.proposal dt{color:#06F; font-size:130%; margin-bottom:0px; line-height:1.4; padding:10px 2em; border-radius:20px; margin-bottom:-5px; border:1px solid #CCC; background-color:#FFF; display:inline-block; position:relative; z-index:1;}
dl.proposal.pick dt{ background-color:#F63; color:#FFF;}
dl.proposal dd{ margin-left:2%; padding:1em; box-shadow:0 0 3px #CCC; margin-bottom:40px; background-color:#FFF8F0; z-index:0; position:relative; border-radius:5px; font-size:110%;}
dl.proposal dd .mini{display:block; padding-left:1em; text-indent:-1em; margin:15px 0 !important; color:#03C;}
dl.proposal dd .atsn{display:block; padding-left:1.9em; text-indent:-1.9em; margin:6px 0 !important;}

dl.proposal.half{}
dl.proposal.half dt{ max-width:50%;}
dl.proposal.half dd{ width:50%;}

    form input[type="text"], form textarea {
        font-size: 110%;
        padding: 15px 20px;
        width: 100%;
        max-width: 100%;
        background-color: #f8f8f8;
        border: 1px solid #666;
        border-radius: 3px;
        box-sizing: border-box;
    }



	    form input[type="image"]:hover {
     opacity: 0.5;  
    }


form input[type="text"]:hover,form input[type="tel"]:hover,form input[type="email"]:hover,form textarea:hover{background-color:#FFF8F0;}

form input[type="checkbox"]{transition:margin-left 0.5s; width:1.6em; height:1.6em; text-align:middle;}
form input[type="checkbox"]:checked{margin-left:1.5em;}

form input[type="file"]{font-size:100%; width:80%; box-shadow:0px 0px 5px #666; padding:8px;}
form select{font-size:100%; box-shadow:0px 0px 5px #666; padding:8px 0;}
form input[type="tel"],form .number input[type="text"] {
	width: 150px;
}
form input[type="submit"],form input[type="reset"],form input[type="button"]{font-size:130%; width:40%; padding:5px; box-sizing:border-box;}

form input[type="submit"],form input[type="reset"],form input[type="button"] {
    display: block;
    text-decoration: none;
    padding: 10px;
    background: linear-gradient(-10deg,#1071b5,#2d8ed2);
    /*border-radius: 25px;*/
    box-sizing: border-box;
    box-shadow: 4px 4px 12px #ada9a8;
    color: #fff;
    font-size: 110%;
    width: 40%;
    margin: 0 auto;
    border: none;
    outline: none;
    margin-bottom: 20px;
}
.linkarrow a {
	display: block;
    text-decoration: none;
    padding: 10px;
    background: linear-gradient(-10deg,#1071b5,#2d8ed2);
    /*border-radius: 25px;*/
    box-sizing: border-box;
    box-shadow: 4px 4px 12px #ada9a8;
    color: #fff;
    font-size: 110%;
    width: 40%;
    margin: 0 auto;
    border: none;
    outline: none;
    margin-bottom: 20px;
    text-align: center;
}
.linkarrow a:hover,form input:hover[type="submit"],form input:hover[type="reset"],form input:hover[type="button"] {
	background: linear-gradient(-10deg,#9c9c9c,#6f6868);
	box-shadow: 4px 4px 12px #695b55;
}
form .herf input[type="submit"],form .herf input[type="reset"],form .herf input[type="button"] {
    display: inline-block;
    text-decoration: none;
    padding: 10px;
    background: linear-gradient(-10deg,#4190ec,#064c9e);
    /*border-radius: 25px;*/
    box-sizing: border-box;
    box-shadow: 4px 4px 12px #2d6a8a;
    color: #fff;
    font-size: 110%;
    width: 40%;
    margin: 0 auto;
    border: none;
    outline: none;
    margin-bottom: 20px;
    margin-right: 30px;
}
form .ntable span {
    display: inline-block;
    /*margin: 0 30px 0 10px;*/
}
form .ntable span.sp-break {
	display: none;
}
table.ntable{
	background-color:;
	display:block;
}
table.ntable tbody{
	width: 100%;
	display: block;
}
table.ntable tr{
	padding:3px 0;
	width: 100%;
	display: flex;
	border-bottom: 1px solid #e5e5e5;
}
table.ntable td{
	background-color:#FFF;
	width: 21%;
	display: inline-block;
	padding-left: 1%;
	font-weight: bold;
}
table.ntable td:last-child {
	width: 78%;
	font-weight: normal;
}
table.ntable tr:nth-child(even) td{
	/*background-color:#363636;
	color: #fff;*/
}
table.ntable th{
	width: 20%;
}
table.ntable tr:nth-child(even) th{
	/*background: #eeead4;*/
}
table.ntable.opc{
	background:rgba(153,153,153,0.3);
}
table.ntable.opc td{
	background:rgba(255,255,255,0.8);
}
table.ntable.opc tr:nth-child(even) td{
	background:rgba(248,248,255,0.8);
}
table.ntable.opc{
	background:rgba(153,153,153,0.3);
}
table.ntable.opc td{
	background:rgba(255,255,255,0.8);
}
table.ntable.opc tr:nth-child(even) td{
	background:rgba(248,248,255,0.8);
}

img.subimg,div.subimg{
	float:right;
	max-width:30%;
	margin-left:10px;
	margin-bottom:40px;
}

img.subimg02,div.subimg02{
	float:left;
	margin-right:30px;
	margin-bottom:40px;
}

img.subimg03,div.subimg03{
	float:right;
}

img.subimg04,div.subimg04{
	float:right;
	margin-left:10px;
}
div.stexot{
	width:1200px;
	height:20px;
	line-height:20px;
	margin:0 auto;
	color:#FFF;
	font-size:80%;
	text-align:left;
}


div#contentsarea p {
	margin-bottom: 15px;
}
.fw-b {
	font-weight: bold;
}
#mainarea {
    clear: both;
    border-top: none;
    background: #f3f3f3;
}
div#contentsarea {
    width: 1200px;
    margin: 40px auto 60px;
   
    text-align: left;
    background-color: #FFF;
    box-sizing: border-box;
  
}
#contents {
	/*padding-top: 80px;*/
}
.visible {
	/*display:none !important;*/
}
.news-tit {
    position: relative;
    width: 1200px;
    margin: 0 auto;
}
.news .t-tit {
	position: absolute;
    top: 25px;
    left: 474px;
}

.btn a {
	display: block;
	background: url(../images/arrow.png) left center/20px no-repeat;
	color: #0c72b2;
	text-decoration: none;
	font-size: 120%;
	font-weight: bold;
	padding-left: 30px;
	margin-top: 20px;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}
.information .btn a {
	margin-left: 0;
}
.btn a:hover {
	opacity: .8;
	color: #24699a;
}

.btn2 a {
	display: block;
	width: 250px;
	font-size: 140%;
	text-align: center;
	color: #fff;
	background: #01248a;
	/*padding: 4px 0;*/
	margin-left: auto;
	margin-top: 20px;
	text-decoration: none;
	position: relative;
}
.btn2 a:after {
	display: block;
	content: ""E;
	position: absolute;
	right: 20px;
	top: 2px;
}
.btn2 a:hover {
	background: #bd2b35;
	opacity: .96;
}

.line {
	padding: 30px;
	background: #1361af;
	color: #fff;
	font-size: 140%;
	text-align: center;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
}
ul.list li {
	padding: 5px 5px 5px 20px;
	background: #1071b5;
	color: #fff;
	margin-bottom: 7px;
}
.k-company.k-work div.k-company-bg {
	background: url(../../work/images/bg01.jpg) center center/cover no-repeat; 
}
.k-company.k-work2 div.k-company-bg {
	background: url(../../work/images/bg02.jpg) center center/cover no-repeat; 
}
.k-company.k-recruit div.k-company-bg {
	/*background: url(../../recruit/images/bg.jpg) 80% center/cover no-repeat; */
	/*width: 30%;*/
	/*margin-right: 10%;*/
	background: none;
}

h1 {
	width:1200px;
	margin:0 auto;
	text-align:right;
	font-size:75%;
	color:#fff;
}

.add {
	font-size:90%;
	padding-top:8px;
	margin-right:20px;
}

.tel {
	font-size:120%;
}

.tel span {
	font-size:180%;
}

.flex-box {
	display:flex;
	justify-content: end;
	align-items:center;
}

.mv_logo {
	padding-top:55px;
}

.mb125 {
	margin-bottom:125px;
}

#feature {
	width:1200px;
	margin:100px auto 50px;
	display:flex;
	justify-content:space-between;
}

#feature dl {
	width:280px;
}

#feature dt {
	margin-bottom:15px;
}

.feat_tit {
	font-size:180%;
	font-weight:bold;
	letter-spacing:3px;
	margin-bottom:5px;
}

#greeting {
	width:1200px;
	height:612px;
	margin:0 auto 50px;
	position:relative;
	padding:100px 100px 0;
	background:url(../images/greeting_bg.jpg) center top no-repeat;
}

#greeting_spot {
	width:1200px;
	height:612px;
	margin:0 auto 50px;
	position:relative;
	padding:100px 100px 0;
	background:url(../../member/images/greeting_bg.jpg) center top no-repeat;
	min-height: 900px;
}


#greeting02 {
	width:100%;
	margin:0 auto 100px;
	padding:30px 0;
	background:url(../images/greeting_bg_02.jpg) center center / cover;
}

#greeting02 > div{
	width:1200px;
	margin:0 auto;
}




#equip {
	width:1200px;
	margin:0 auto;
	position:relative;
}

.equip_txt {
	position:absolute;
	top:33%;
	right:12%;
	text-align:center;
}



.ft_logo {
	padding-top:50px;
	margin-bottom:40px;
}

.ft_tel {
	font-size:230%;
}



h3 {
	font-size:150%;
	font-weight:bold;
	padding: 10px 10px 10px 30px;
	color: #fff;
	border-radius: 10px;
	background:url(../images/h3_logo.png) 98% 80% no-repeat #00a0e9;
	margin-bottom:30px;
}




input[type="submit" i]:disabled {
  opacity:0.5;
  pointer-events: none; 
}



div.flex_3clm{
	display:flex;
	max-width:1200px;
	margin:0 auto;
	flex-wrap:wrap;
}
div.flex_3clm > div{
	width:calc(100% / 3 - 40px);
	margin:0 20px 30px;
}
div.flex_3clm > div img{
	max-width:100% !important;
	height:auto;
}

div.flex_4clm{
	display:flex;
	max-width:1200px;
	margin:0 auto;
	flex-wrap:wrap;
}
div.flex_4clm > div{
	width:calc(100% / 4 - 20px);
	margin:0 10px 30px;
}
div.flex_4clm > div img{
	max-width:100% !important;
	height:auto;
}


h4 {
	font-size:130%;
	font-weight:bold;
	color:#900;
	border-left:3px solid #000;
	border-bottom:1px solid #000;
	padding-left:20px;
	margin-bottom:30px;
}


h5 {
	font-size: 120%;
	font-weight: bold;
	color: #000;
	border-bottom: 1px solid #999;
	border-left: 3px solid #e94a44;
	padding-left: 20px;
	width: fit-content;
	margin-bottom: 30px;
}

.check_list li {
background: url(../images/check.png) top left no-repeat;
padding-left: 35px;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px dashed #999;
}

.wd650 {
	width: 730px;
}

div#taiou{
	width:auto;
	background-color:#333;
	margin-bottom:80px;
}
div#taiou > div{
	width:1400px;
	position:relative;
	margin:0 auto;
}
div#taiou > div div{
	position:absolute;
	left:200px;
	top:60px;
	padding:30px;
	background-color:rgba(255,255,255,0.9);
}
div#taiou > div div p:first-child{
	font-size:180%;
	margin-bottom:30px;
}


div#contents{
	width:1200px;
	margin:0 auto 60px;
	display:flex;
}
div#contents > div{
	width:380px;
	padding:0 10px;
}


div#spot{
	margin-bottom:50px;
	background:url(../images/spot_bg.jpg) center bottom repeat-x;
}
div#spot > div.spotbox{
	width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}

div#spot > div.spotbox > div{
	width:280px;
	padding:10px;
}

div#spot > div.spotbox .spot_title{
	background:url(../images/icon_foot.png) left 5px no-repeat;
	padding:10px 0px 10px 40px;
	font-weight:bold;
	color:#039;
}

div#spot > div.spotbox .spot_title a{
	color:#039;
	text-decoration:none;
}

div#spot > div.spotbox .spot_title span{
	font-size:60%;
	font-weight:normal;
	color:#333;
}

div#shop{
}
div#shop > div.shoplist{
	width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
div#shop > div.shoplist > div{
	width:580px;
	margin-bottom:100px;
}
div#shop > div.shoplist > div:nth-child(odd){
	margin-right:40px;
}

div#shop > div.shoplist > div:nth-last-child(-n+2){
	margin-bottom:50px;
}


div#shop > div.shoplist > div div.relative{	padding:10px 0;}
div#shop > div.shoplist p.shoptitle, .shoptitle{
	background:url(../images/info_icon.jpg) left center no-repeat;
	padding-left:45px;
	font-size:115%;
	font-weight:bold;
}
div#shop > div.shoplist p.shopname, p.shopname{
	color:#00accb;
	font-size:115%;
	font-weight:bold;
	margin:10px 0;
}





div#shop > div.shoplist img.shoplink{
	position:absolute;
	bottom:10px;
	right:10px;
}

div#shop > div.shoplist div.shoptxt{
	background-color:#f0f0f0;
	padding:1em;
	border-radius:10px;
}


a.btn{
	display:block;
	width:fit-content;
	margin:0 auto;
	color:#FFF;
	text-decoration:none;
	padding:15px 3.5em;
	background:url(../images/arrow_white.png) right 1.5em center no-repeat #232e96;
	border-radius:60px;
	transition:all 0.3s;
}
a.btn:hover{
	background-color:#39F;
}

div.linkbox{
	background:#EEE;
	padding:20px 0 1px;
}
div.linkbox > div{
	width:940px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
div.linkbox > div > div{
	width:300px;
	margin:0 20px 20px 0;
}
div.linkbox > div > div:nth-child(3n){
	margin-right:0;
}


div#intro{
	background: url(../images/intro_wave.jpg) bottom center repeat-x , url(../images/intro_bg.png) top center repeat;
	text-align:center;
	padding-bottom:120px;
	position: relative;
}


div#intro2{
	background: url(../../about/images/blue_nami_bg.jpg);
	text-align:center;
	padding:100px 0 123px;
	position: relative;
}


div#intro2 > div {
	width: 1400px;
	margin: 0 auto;
	position: relative;
}



.intro_txt {
	font-size: 150%;
	font-weight: bold;
	text-align: center;
	position: absolute;
	top: 240px;
    left: 360px;
}


	
    span.mark {
        background: linear-gradient(transparent 70%, #ff3 30%);
        font-weight: bold;
    }


.mb200 {
	margin-bottom:200px !important;
}

table.com_tb {
	width: 800px;
}


table.com_tb th, table.com_tb td {
	border-bottom: 1px solid #999;
	padding: 10px;
}

table.com_tb th {
	width: 150px;
}

table.com_tb td {
	
}

.shopname a {
	color: inherit;
	text-decoration: none;
}

.shopname a:hover {
	color: #999;
}

dl.flex_2cl {
	display: flex;
	justify-content: space-between;
}

dl.flex_2cl dt, dl.flex_2cl dd {
	width: calc(100% / 2 - 10px);
}

.gray_box {
	background-color: #f8f8f8;
	padding: 15px;
	border-radius: 10px;
}

.gray_box p:last-child {
	margin-bottom: 0 !important;
}

    form .needmark {
        font-size: 80%;
        display: inline-block;
        color: #c33;
        padding: 3px 10px;
        border: 1px solid #c33;
        border-radius: 10px;
    }


	.flex_2cl {
		display: flex;
		justify-content: space-between;
	}


	.flex_2cl > div {
		width: calc(100% / 2 - 10px);
	}

	h3 a {
		color: inherit;
		
		transition: 0.3s;
		display: block;
	}

	h3 a:hover {

		color: #0d4691;
		transition: 0.3s;
	}

	