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

/****************Λ­nΦNX*****************/
.sp {
	display: none!important;
}

.mini{font-size:85%;}
.big{font-size:120%;}
.big2{font-size:140%;}
.big3{font-size: 180%;}

/* init */

html { 
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

body {
	color: #000;
	border:0;
	padding:0;
	font-size: 100%;
	line-height: 1.7;
	color: #000;
	font-family: "ΰSVbN",  "CI", Meiryo,"Hiragino Kaku Gothic Pro",'Noto Sans JP', 'Yu Mincho', YuMincho,Osaka, "lr oSVbN", "MS PGothic", sans-serif;
	min-width: 1400px;
}

div#pagetop{ position:fixed; bottom:10px; right:10px; width:70px; display:table; z-index:32768; font-size:90%;}
div#pagetop div{
	height:70px;
	width:70px;
	border-radius:100%;
	background-color:rgba(0,0,0,0.6);
	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.newsbox{
	width:1200px;
	display:flex;
	margin:0 auto 100px;
	overflow:auto;
	line-height:1.5;
	align-items:top;
}

div.newsbox > div.news{
	padding:0 0 0 50px;
	border-left:1px solid #000;
}


div.newsbox a{
	text-decoration:underline;
}

div.newsbox dl{
	padding:5px 0 10px;
	clear:both !important;
	margin-bottom:10px;
	position:relative;
	z-index:1000;
}

div.newsbox dl:first-child{
}

div.newsbox dl dt{
	width:120px;
	float:left;
	font-weight:bold;
	text-align:center;
}


div.newsbox dl dd{
	width:82%;
	float:right;
	text-align:left;
}

div#toptxt01{
	position:absolute;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGPΎ©B', serif;
	top:80px;
	line-height:1.8;
	left:300px;
	text-align:left;
	z-index:20;
}

div#toptxt02{
	position:absolute;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGPΎ©B', serif;
	top:317px;
	line-height:1.8;
	left:300px;
	color:#FFF;
	text-align:left;
	z-index:20;
}


div#toptxt03{
	position:absolute;
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGPΎ©B', serif;
	top:120px;
	line-height:1.8;
	left:290px;
	text-align:left;
	z-index:20;
}


div#toptxt04{
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGPΎ©B', serif;
	text-align:center;
	color:#FFF;
	padding:50px 0;
	line-height:1.8;
	background-color:#383838;
	margin-bottom:20px;
}

.big1 {
	font-size: 140%;
}

.foottel{
	font-size:120%;
	font-weight: bold;
	margin-bottom: 0;
}
.foottel span {
	font-size: 200%;
	color: #3486cf;
}
#footer #foottime p{
	margin-bottom:15px;
}

#footer #footmap{
	position:absolute;
	right:25px;
	top:220px;
	font-size:90%;
	text-align:left;
}

div#floathead{
	width:100%;
	min-width:1400px;
	height:120px;
	background:url(../images/header_bg.png) center top repeat-x;
	z-index:10;
}

div#headerarea{
	width:auto;
	font-size:75%;
	border-top:2px solid #166708;
}

div#headerarea div#header{
	width:1200px;
	margin:0 auto;
	padding:0px 100px 0;
	text-align:left;
}

div#headerarea div#header > div{
	display:flex;
	align-items:center;
}

div#headerarea div#header > div > div:nth-child(1){width:400px;}
div#headerarea div#header > div > div:nth-child(2){width:240px; padding-left:10px;}
div#headerarea div#header > div > div:nth-child(3){width:320px; padding-right:30px; text-align:right;}
div#headerarea div#header > div > div:nth-child(4){width:200px;}

div#headerarea div#header p {
	margin-bottom: 0;
}
div#headerarea div#header .tel {
	font-size:200%;
	color:#ff9000;
	line-height:1;
}
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;
}
#header a:hover {
	opacity: .7;
}

div#headerarea div#header div.fright{
	text-align:right;
	margin:0;
	padding:0 0;
	text-align:right;
	font-size: 120%;
	display:flex;
}
a.hover01:hover {
	opacity: .8;
}

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

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

/****** Gnavi ******/
div#gnavi{
	width:auto;
	height:80px!important;
	margin:0 auto 70px;
	padding:0;
	clear:both;
	box-shadow:0 5px 5px #CCC;
	background-color:#FFF;
	position:sticky;
	z-index:256;
	top:0;
}


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

div#gnavi dl dt{
	display:none;
}

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

div#gnavi ul{
	display:block;
	height: 80px;
	width:1200px;
	margin:0 auto;
	padding:0;
	overflow: visible;	
}

div#gnavi ul li{
	float:left;
	display:block;
	width: 150px;
	height: 80px;
	position:relative;
	overflow: visible;
}

div#gnavi ul li > a{
	text-align:left;
	display:block;
	text-indent:-9999px !important;
	height: 80px;
	background-image:url(../images/gnavi.png);
}

div#gnavi ul li#link01 > a{background-position:0 0;}
div#gnavi ul li#link01 > a:hover{background-position:0 80px;}
div#gnavi ul li#link02 > a{background-position:-150px 0;}
div#gnavi ul li#link02 > a:hover{background-position:-150px 80px;}
div#gnavi ul li#link03 > a{background-position:-300px 0;}
div#gnavi ul li#link03 > a:hover{background-position:-300px 80px;}
div#gnavi ul li#link04 > a{background-position:-450px 0;}
div#gnavi ul li#link04 > a:hover{background-position:-450px 80px;}
div#gnavi ul li#link05 > a{background-position:-600px 0;}
div#gnavi ul li#link05 > a:hover{background-position:-600px 80px;}
div#gnavi ul li#link06 > a{background-position:-750px 0;}
div#gnavi ul li#link06 > a:hover{background-position:-750px 80px;}
div#gnavi ul li#link07 > a{background-position:-900px 0;}
div#gnavi ul li#link07 > a:hover{background-position:-900px 80px;}
div#gnavi ul li#link08 > a{background-position:-1050px 0;}
div#gnavi ul li#link08 > a:hover{background-position:-1050px 80px;}


div#gnavi ul li div{
	display:none;
	position:absolute;
	top:80px;
	left:0px;
}

.invisible{}
.visible{display:none !important;}


div#gnavi div.facility{
	display:none;
}


div#gnavi table{
	font-size:80%;
	background-color:#006;
	color:#FFF;
}
div#gnavi table tr td{
	border-bottom:1px dashed #FFF;
}
div#gnavi table tr td a{
	padding:8px 8px;
	color:#FFF;
	display:block;
	background-color:#060;
	text-decoration:none;
}

div#gnavi table tr td a:hover{
	background-color:#393;
}


div.box{
	height:660px;
	width:100%;
	background-size:100% auto;
	background-position:center center;
	margin:0 auto;
	z-index:3;
	width:1400px;
}
.box-wrap {
	position:relative;
	z-index:40;
	clear:both;
}


.mintyo{
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGPΎ©B', serif;
}

div#contentsarea {
    margin: 0 auto;
    clear: both;
}

div.content{
	width: 1200px;
    margin: 60px auto 60px;
    padding: 60px 50px 40px;
    text-align: left;
    background-color: #FFF;
    box-sizing: border-box;
    box-shadow: 0px 0px 2px #CCC;
    font-size: 120%;
    font-family: "ΰSVbN","ΰΎ©","qMmΎ©Μ6","Hiragino Kaku Gothic Pro", "CI", Meiryo, Osaka, "lr oSVbN", "MS PGothic", sans-serif;
}

div.content p{
	margin-bottom:1em;
}

div.content h3, div#pickup h3 {
	margin-left:-55px;
	padding:15px 0 15px 20px;
	border-left:15px solid #336633;
    font-size: 150%;
	font-weight:bold;
    color: #343;
    clear: both;
    margin-bottom: 40px;
	box-shadow:5px 5px 0 #CCC;
	background-color:#EEE;
}

div.content h4,div#pickup h4{
	clear:both;
	background: #2a8000;
	margin-right:-50px;
	font-family: "qMmpS Pro W3", "Hiragino Kaku Gothic Pro", "CI", Meiryo, Osaka, "lr oSVbN", "MS PGothic", sans-serif;
	padding:5px 0px 0 30px;
	color:#FFF;
	border-radius:50px 0 0 50px;
	font-weight:bold;
	margin-bottom:30px;
	font-size:140%;
	line-height:2;
	position:relative;
}

div.content h4:after{
	content:"Reform / KEIYOU";
	position:absolute;
	font-size:50%;
	right:15px;
	bottom:5px;
}



div.content h4 a{
	color:#FFF;
	text-decoration:none;
}

div.content h4 a:hover{
	color:#ffc300;
	text-decoration:none;
}

div.content h5{
	border-bottom:1px solid #002250;
	border-left:5px solid #002250;
	font-family: "qMmpS Pro W3", "Hiragino Kaku Gothic Pro", "CI", Meiryo, Osaka, "lr oSVbN", "MS PGothic", sans-serif;
	padding-left:12px;
	color:#002250;
	font-weight:normal;
	margin-bottom:20px;
	clear:both;
	font-size:130%;
	line-height:1.5;
	border-radius:0 0;
}

div.content h6{
	font-size:130%;
	padding:3px 1em;
	background-color:#006;
	color:#FFF;
	width:fit-content;
	margin-bottom:10px;
	font-weight:bold;
	border-radius:3px;
	border-left:10px solid #66F;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea{font-size:150%; width:95%;}

form input[type="submit"],
form input[type="reset"],
form input[type="button"]{font-size:150%; width:40%; padding:5px; box-sizing:border-box;}

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

.youtube {
	width:100%;
	padding-top:56.25%;
	position:relative;
}
 
.youtube iframe,
.youtube object,
.youtube embed {
top: 0;
left: 0;
width: 100%;
height: 100%;
position:absolute;
}




dl.proposal{ display:block;}
dl.proposal dt{color:#FFF; font-weight:bold; font-size:120%; margin-bottom:10px; line-height:1.4; padding:8px 1.5em 6px; border-radius:40px; border:1px solid #CCC; background-color:#3aa97c; display:inline-block;}
dl.proposal.pick dt{ background-color:#F63; color:#FFF;}
dl.proposal dd{padding:1em; margin-bottom:40px; font-size:110%; border-radius:20px; background-color:#EEE; /*box-shadow:0 0 5px #393;*/}
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 input[type="email"],
form input[type="tel"],
form textarea{
	font-size:100%;
	width:98%;
	padding:8px; 
	transition:background-color 0.5s;
	border-radius:10px;
}
form input[type="text"]: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 .zip input {
	width: 80px;
}
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="submit"],form input[type="reset"],form input[type="button"]{font-size:130%; width:40%; padding:5px; box-sizing:border-box;}


ul.workslist{ 
	display:flex;
	flex-wrap:wrap;
	margin-bottom:40px;
	justify-content: center;
}

ul.workslist li{
	width:calc(100% / 3 - 2%);
	margin:0 1% 20px;
	text-align:center;
}
ul.workslist li a{
	background-color:#039;
	display:block;
	color:#FFF;
	padding:8px 0;
	transition:all 0.3s;
	text-decoration:none;
	border-radius:30px;
}
ul.workslist li a:hover{
	background-color:#F60;
	transition:all 0.3s;
	box-shadow:0 0 8px #F33;
}


ul.workslist li ul{padding-left:1em; text-indent:-1em; margin-top:2em;}
ul.workslist li ul li{
	padding:8px 0 8px 0.5em;
	text-indent:-1em;
	box-shadow:none;
	margin-bottom:8px;
	border-bottom:1px dashed #999;
	border-left:0;
}



img.subimg{
	border-radius:3px;
	float:right;
	margin:0 0 2em 2em;
	width:30%;
}

div.subimg{
	float:right;
	margin:0 0 1em 2em;
	width:30%;
	padding:;
}

div.subimg img{
	border-radius:3px;
	max-width:100%;
}


img.subimg02{
	border-radius:3px;
	float:right;
	margin:0 0 2em 2em;
	width:33%;
}
div.subimg02{
	float:right;
	margin:0 0 2em 2em;
	width:33%;
}

div.subimg02 img{
	border-radius:3px;
}




ul.normallist{
	margin-bottom:60px;
	padding:1.5em;
	background-color:#FED;
	box-sizing:border-box;
	border-radius:10px;
}

ul.normallist li{
	padding:5px 0 8px 1em;	
	margin-bottom:8px;
	text-indent:-0em;
	position:relative;
	font-size:110%;
	border-bottom:1px dashed #999;
}

/*
ul.normallist li:before{
	content:"E";
}
*/

ul.normallist2{
	margin-bottom:60px;
}

ul.normallist2 li{
	padding:5px 0 0 1em;	
	margin-bottom:8px;
	text-indent:-0em;
	position:relative;
	font-size:110%;
	border-bottom:1px dashed #999;
	text-indent:-1em;
}

ul.normallist2 li:before{
	content:"E";
}


a[href^="tel:"] { cursor: default; }


div.section{
	width:1200px;
	padding:0 100px;
	margin:0 auto;
	
}
dl.faq{
	margin-bottom:40px;
}



.faq dt,.faq02 dt{
	display:block;
	background:url(../images/icon_q.png) 10px top no-repeat #EEE;
	padding:3px 1.5em 0 75px;
	line-height:50px;
	font-weight:bold;
	color:#333;
	position: relative;
	cursor: pointer;
	user-select: none; /* eLXgIπsΒΙ */
}
	


dl.faq dt::after {
  content: "{";
  position: absolute;
  right: 20px ;
  top: 3px;
  font-size:150%;
  font-weight: bold;
  pointer-events: none;
  color: #333;
  transition:all 0.5s;
}
dl.faq dt.open::after {
  content: "|";
}

.faq dd,.faq02 dd{
	display:block;
	background:url(../images/icon_a.png) 10px 10px no-repeat #FFF;
	margin:0 0 0;
	padding:15px 10px 15px 75px;
	line-height:1.7;
	position: relative;
	border:1px solid #EEE;
}




form input[type="submit"],form input[type="reset"],form input[type="button"] {
    display: block;
    text-decoration: none;
    padding: 10px;
    background:#ff7477;
    border-radius: 25px;
    box-sizing: border-box;
    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,#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;
    text-align: center;
}
form input:hover[type="submit"],form input:hover[type="reset"],form input:hover[type="button"] {
	opacity: .8;
}


.featuretexts p {
    color: #000;
    line-height: 2;
    font-size: 110%;
}
img.rad {
    border-radius: 5px;
}

table.ntable2 tbody{
	width: 100%;
	display: block;
}
table.ntable2 tr{
	padding:10px 0;
	width: 100%;
	display: flex;
	border-bottom: 1px solid #333333;
}
table.ntable2 td{
	background-color:#FFF;
	width: 21%;
	display: inline-block;
	padding-left: 1%;
}
table.ntable2 td:last-child {
	width: 78%;
}
table.ntable2 tr:nth-child(even) td{
	/*background-color:#363636;
	color: #fff;*/
}
table.ntable2 th{
	width: 20%;
}
table.ntable2 tr:nth-child(even) th{
	/*background: #eeead4;*/
}
table.ntable2.opc{
	background:rgba(153,153,153,0.3);
}
table.ntable2.opc td{
	background:rgba(255,255,255,0.8);
}
table.ntable2.opc tr:nth-child(even) td{
	background:rgba(248,248,255,0.8);
}
table.ntable2.opc{
	background:rgba(153,153,153,0.3);
}
table.ntable2.opc td{
	background:rgba(255,255,255,0.8);
}
table.ntable2.opc tr:nth-child(even) td{
	background:rgba(248,248,255,0.8);
}
.recruit-box {
	/*border: 2px solid #1c542e;*/
	padding: 30px;
	background: #ee6f06;
	color: #fff;
	font-weight: bold;
}


#footer{
	position:relative;
	z-index:10 !important;
	text-align: left;
}


div#pagetop {
	position:fixed;
	bottom:20px;
	right:20px;
	width:70px;
	display:table;
	z-index:32768;
	font-size:90%;
}
div#pagetop div{
	height:70px;
	width:70px;
	border-radius:100%;
	background: rgba(0,0,0,.6);
	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;
}


#mainimage{
	width:100%;
	position:relative;
	background: #efefef;
	height: calc(100vh - 80px);
}

#mainimage .box{
	width:100%;
	height:inherit;
	background-position:center center;
	background-size:cover;
}

h1 {
	font-size: 12px;
	width: 1200px;
	margin: 0 auto;
	color: #333;
	line-height: 20px;
}

div#pickup{
	width:1200px;
	box-sizing:border-box;
	padding:2em;
	box-shadow:0px 0px 5px #333;
	margin:40px auto;
}
.contentsarea h2 {
	margin:-30px auto 30px;
    clear: both;
    font-size: 250%;
    text-align: center;
    color: #39a87d;
    line-height: 1.5;
    /*font-family: "ΰSVbN", "Hiragino Kaku Gothic Pro", "CI", Meiryo, Osaka, "lr oSVbN", "MS PGothic", sans-serif; */
	background:url(../images/h2_bg.png) center top no-repeat;
	padding-top:110px;
}
h2 span {
	display: block;
	width:10em;
	margin: 0 auto;
	padding-bottom:10px;
	font-size: 40%;
	color: #000;
	border-bottom:1px solid #47db23;
	margin-bottom:20px
}

.btn2 a {
	display: block;
	width: 310px;
	text-decoration: none;
	padding: 5px;
	color: #fff;
	background: #202870;
	text-align: center;
	margin: 30px auto 60px;
	border-radius:40px;
}
.btn2 a:hover {
	background: #5d4c44;
}


div#newsbox {
    padding: 0;
    overflow: auto;
    line-height: 1.5;
    width: 1400px;
    margin: 0 auto 20px;
    padding: 60px 0;
    box-sizing: border-box;
    background: url(../images/news_bg.jpg) center center/cover no-repeat;
    /*font-family: "qMmΎ©Μ6","ΰSVbN", "Hiragino Kaku Gothic Pro", "CI", Meiryo, Osaka, "lr oSVbN", "MS PGothic",arial,helvetica,clean, sans-serif;*/
}
div#newsbox .news-wrap {
    background-color: rgba(255,255,255,0.8);
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 40px;
    box-shadow: 5px 6px #b39b9b;
}
div#newsbox a{
	text-decoration:underline;
	color: #0044cc;
}
div#newsbox a:hover {
	text-decoration: none;
}
div#newsbox dl{
	padding:5px 0 10px;
	clear:both !important;
	border-bottom:1px dotted #999;
	margin-bottom:10px;
	position:relative;
	z-index:1000;
}
div#newsbox dl:first-child{
	padding-top:15px;
	border-top:1px dotted #999999;
}
div#newsbox dl dt{
	width:120px;
	float:left;
	font-weight:bold;
	text-align:center;
}
div#newsbox dl dd{
	width:82%;
	float:right;
	text-align:left;
}


#footerarea {
    position: relative;
    z-index: 10 !important;
    text-align: center;
    background: url(../images/footer_bg.jpg) center center/cover no-repeat;
    height: 400px;
	color:#FFF;
	font-size:100%;
}
#footerarea #footer {
    position: relative;
    height: 370px;
    width: 1200px;
	padding:0 100px;
    margin: 0 auto;
	text-align:center;
	background:url(../images/fotter_bg_02.png) center top no-repeat;
}
#footer #add {
    position: absolute;
    left: 100px;
    top: 17px;
    font-size: 80%;
    color: #ffffff;
    text-align: left;
}
#footer #footlink {
margin-bottom:20px;
margin:0 auto;
}


#footer #footlink ul {

}
#footer #footlink ul li{
display:inline;
}

#footer #footlink ul li a{
	color:#FFF;
	text-decoration:none;
}
#footer #footlink ul li a:hover{
	color:#dda900;

}

#footer #footlink ul li:after{
	content:" | ";
	
}

#footer #footlink ul li:nth-child(5n+1){
	clear:both;
}

#footer #footlink ul li:last-child:after{
	content:"";
	
}
#footer #footlink ul li a,{
color:#000;
font-size:90%;
}
#footer #footlink ul li a:hover{

}
#footer #access {
	position: absolute;
	right: 100px;
	top: 236px;
}
.copy {
	positon:absolute;
	bottom:0;
	left:0;
	width:100%;
	text-align:center;
	font-size:80%;
}
.copyright p {
	width: 1200px;
	padding-left: 10px;
	margin: 0 auto;
}

div.cutline {
    margin: 30px 0;
    border-bottom: 1px dashed #999;
}
table.ntable{
	width: 100%;
}
table.ntable td:first-child {
	font-weight: bold;
}
table.ntable td{
	background-color:#FFF;
	border-bottom:1px solid #999;
}
table.ntable tr:nth-child(even) td{
	/*background-color:#363636;
	color: #fff;*/
}
table.ntable th{
	width: 20%;
}
table.ntable tr:nth-child(even) th{
	
}
table.form-table {
	width: 100%;
}
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);
}


div.catch{
	padding:80px 0;
	margin:40px 0 80px;
}
div.catch > div{
	padding:10px 0;
	background-color:rgba(255,255,255,0.8);
	font-size:180%;
	text-align:center;
	color:#069;
	font-weight:bold;
}

div.catch#company{ background:url(../images/catch_company.jpg) center center / cover;}
div.catch#flow{ background:url(../images/catch_flow.jpg) center center / cover;}
div.catch#reform{ background:url(../images/catch_reform.jpg) center center / cover;}
div.catch#faq{ background:url(../images/catch_faq.jpg) center center / cover;}
div.catch#inquiry{ background:url(../images/catch_inquiry.jpg) center center / cover;}
div.catch#blog{ background:url(../images/catch_blog.jpg) center center / cover;}
div.catch#case{ background:url(../images/catch_case.jpg) center center / cover;}
div.catch#works{ background:url(../images/catch_works.jpg) center center / cover;}


div.moviebox{
	background:url(../images/movie_bg.png) center center no-repeat;
	width:640px;
	min-height:385px;
	padding:100px 180px 0;
	margin:0 auto -215px;
	position:relative;
	z-index:32;
}
div.moviebox.recruit{
	background:url(../images/movie_bg_02.png) center center no-repeat;
	color:#FFF;
}

div.moviebox > div{
}

div.gallery{}
div.gallery ul{
	display:flex;
	flex-wrap:wrap;
}
div.gallery ul li{
	width:calc(100% / 3);
	padding:0 20px;
	box-sizing:border-box;
	margin-bottom:20px;
	text-align:center;
}
div.gallery ul li img{
	max-width:100%;
	height:auto;
}


div#introduction{
	font-size:120%;
}

div#message{
	background:url(../images/message_bg.jpg) left top no-repeat;
	width:1100px;
	height:265px;
	padding:70px 30px 0 70px;
	margin:0 auto 100px;
	display:flex;
	flex-direction:row-reverse;
}

div#message > div{
	width:850px;
}
div#message > div:first-child{
	width:204px;
	padding-left:46px;
}


div#message p:not(:last-child){
	margin-bottom:1em;
}

div#reason{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	width:1200px;
	margin:0 auto;
}
div#reason > div{
	width:560px;
	margin:0 20px 50px;
	display: grid;
	grid-template-rows: subgrid; /* ©iΜ³π€L */
	grid-row: span 3; /* subgridΙνΉι */
	gap: 10px;
}

div#reason > div div.num{
	display:flex;
	margin-bottom:20px;
	align-items:center;
}

div#reason > div div.num p:first-child{
	margin-right:20px;
}
div#reason > div div.num p:last-child{
	font-size:180%;
	font-weight:bold;
}

div#jiritsu{
	margin:0 auto 150px;
	padding:230px 0 50px;
	background:url(../images/movie_bg_02.jpg) center bottom / cover;
}
div#jiritsu div.txt{
	text-align:center;
	width:1200px;
	margin:0 auto;
	padding:2em 0;
	font-weight:bold;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7) 10% 90%, rgba(255, 255, 255, 0));
}
div#jiritsu div.txt p:not(:last-child){
	margin-bottom:1em;
}


div#jiritsu02{
	margin:0 auto 50px;
	padding:0px 0;
	background:url(../images/about_bg.jpg) center bottom / cover;
}
div#jiritsu02 div.txt{
	text-align:center;
	width:100%;
	margin:0 auto;
	padding:4em 0 150px;
	font-weight:bold;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7) 10% 90%, rgba(255, 255, 255, 0));
}
div#jiritsu02 div.txt p:not(:last-child){
	margin-bottom:1em;
}



div#merit{
	width:1200px;
	background-color:#ede8e2;
	border-radius:10px;
	padding:100px 0 30px;
	margin:0 auto 150px;
}

div#merit > div{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	margin-bottom:50px;
}

div#merit > div > div{
	width:360px;
	margin:0 20px;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	background-color:#fcf9f5;
	border-radius:10px;
	box-shadow:0 0 5px #999;
	position:relative;
}


div#merit > div > div div.txt{
	padding:0 2em 2em;
}

div#merit img.rad{
	border-radius:10px 10px 0 0;
}

div#merit > div > div p.mark{
	position:absolute;
	top:-70px;
	left:0;
	z-index:64;
}

div#merit > div > div div.txt p:not(:last-child){
	margin-bottom:1em;
}


.flex_2clm{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
	margin:0 auto;
}
.flex_2clm > div{
	width:48%;
	margin:0 1% 40px;
}
.flex_3clm{
	display:flex;
	flex-wrap:wrap;
	width:1080px;
	margin:0 10px auto;
}
.flex_3clm > div{
	width:340px;
	margin:0 10px 40px;
}
.flex_4clm{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
	margin:0 auto;
}
.flex_4clm > div{
	width:23%;
	margin:0 1% 40px;
}

div.txtbox{
	background-color:#fcf9f5;
	padding:1em 1.5em;
}

dl.flowbox{
	margin-bottom:50px;
	display:flex;
	box-shadow:0 0 5px #FCC;
	overflow:hidden;
	border-radius:10px;
}

dl.flowbox dt{
	width:25%;
}
dl.flowbox dt img{
}
dl.flowbox dd{
	width:75%;
	padding:1em 2em;
	box-sizing:border-box;
	border-left:1px dashed #ff7477;
	background:url(../images/flow_bg.png) right bottom no-repeat;
}

div.impressions{
	display:flex;
}
div.impressions > div{
	width:70%;
}
div.impressions > div.photo{
	width:25%;
	margin-right:5%;
}
div.impressions > div.photo img{
	border-radius:40px 0 40px 0;
}


.recruitbox{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
	margin:0 auto;
}
.recruitbox > div{
	width:48%;
	margin:0 1% 40px;
	border-radius:10px;
	box-shadow:0 0 5px #999;
	overflow:hidden;
}

.recruitbox > div > div.txt{
	padding:1em;
}

.recruitbox > div div p.title{
	background-color:#353792;
	color:#FFF;
	border-radius:30px;
	text-align:center;
	font-size:130%;
}

div#greeting{
	width:1200px;
	margin:0 auto 150px;
	position:relative;
}
div#greeting > div.greeting_txt{
	position:absolute;
	top:260px;
	left:90px;
	font-size:95%;
}

div#greeting_02{
	width:1200px;
	margin:0 auto 0px;
	position:relative;
}
div#greeting_02 > div.greeting_txt{
	position:absolute;
	top:230px;
	left:590px;
	font-size:95%;
}


div#casebox{
	padding:50px 0;
	background-color:#fff9f6;
	margin-bottom:150px;
}
div#casebox > div:first-child{
	width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
div#casebox > div > div{
	width:300px;
	margin:0 50px 40px;
	font-size:93%;
}

div#reformbox{
	padding:50px 0 80px;
	margin-bottom:150px;
	background:url(../images/reform_bg.jpg) center center / cover;
}
div#reformbox > div{
	width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
div#reformbox > div > div{
	width:360px;
	margin:0 20px 0;
}


div#contentsbox{
	padding:70px 0 70px;
	margin-bottom:100px;
	background:#f8f8f8;
}
div#contentsbox > div{
	width:1200px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	font-size:95%;
}
div#contentsbox > div > div{
	width:280px;
	margin:0 10px 0;
}

div#contentsbox > div > div p.title{
	font-size:180%;
	color:#53331c;
	font-weight:bold;
	padding-left:15px;
	border-left:5px solid #2a8000;
	margin-bottom:20px;
}

div.flex_photo{
	display:flex;
}
div.flex_photo > div{
	width:48%;
	margin:0 1%;
}


table.casetable{border-top:1px dashed #666; margin-bottom:100px;}
table.casetable th,table.casetable td{border-bottom:1px dashed #666;}


ul.listbox{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	padding:1em;
	box-sizing:border-box;
	border:1px solid #CCC;
	background-color:#F8F8F8;
	margin:0 auto 60px;
	border-radius:1em;
}
ul.listbox li{
	width:48%;
	padding:5px 0;
	margin:0 1% 10px;
	border-bottom:1px dashed #99AA99;
}


div.flowbox{
	display:flex;
	flex-wrap:wrap;
}

div.flowbox > div{
	width:calc(100% / 3 - 40px);
	margin:0 20px 50px;
}

div.flowbox > div p.flowtitle{
	background-color:#2a8000;
	color:#FFF;
	font-weight:bold;
	font-size:130%;
	padding:10px 20px;
	margin-bottom:0;
}
div.flowbox > div p.flowimg{
	margin-bottom:0;
}
div.flowbox > div div.flowtxt{
	background-color:#EEE;
	color:#222;
	font-size:85%;
	padding:1em;
}

div.flowbox > div div.flowtxt p:last-child{
	margin-bottom:0;
}


a.btn{
	display:block;
	background-color:#091870;
	padding:5px 1em;
	width:fit-content;
	font-weight:bold;
	color:#FFF;
	border-radius:8px;
	transition:all 0.3s;
}
a.btn:hover{
	background-color:#5A5;
}
