@charset "utf-8";


/* 基本要素	---------------- */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
html{
	position: relative;
}
body {
	margin:0 0;
	width:100%;
	color: #000;
	position: relative;
	background: #fff;
	-webkit-text-size-adjust: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt" 1;
	line-height: 1.75;
	text-align:justify;
	font-size: 100%;
	overflow-x:hidden;
	border:13px solid #BEF0FF;
	border-top:none;
	box-sizing:border-box;
}
body:before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	width:100%;
	border-top:13px solid #BEF0FF;
	z-index:99999;
}
.capriola{
	font-family: 'Capriola', sans-serif;
}
.vdl{
	font-family: 'vdl-v7marugothic',  "Kosugi Maru" ,sans-serif;
}
h1, h2, h3, h4, h5, h6 {
}
ul {
	list-style: none;
}
ol{
	list-style: decimal;
}
li {
}

img {
	border: 0;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}
table {
	font-size: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
th, td {
	vertical-align: top;
	line-height: 150%;
}
caption, th {
	text-align: left;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}
p {
	line-break: strict;
	word-break: normal;
	margin:0;
}
p:not(:last-child){
	margin-bottom:1em;
}
main a img{
	transition: 0.6s ease;
}
main a:hover img{
	opacity:0.6;
}
a:link {
	color: #005BAC;
	text-decoration: none;
}
a:visited {
	color: #005BAC;
	text-decoration: none;
}
a:hover {
	color: #1A6BB4;
	text-decoration: underline;
}

label {
	cursor: pointer;
}
.clfx:after {
	display: block;
	clear: both;
	height: 0px;
	visibility: hidden;
	content: ".";
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}
.clfx {
	min-height: 1px;
}
* html .clfx {
	height: 1px;
	/*¥*//*/ /*MAC IE5.x対策*/
	height: auto;
	overflow: hidden;
	/**/
}

main,header,footer,nav{
	display:block;
}
#skip {
	position: absolute;
	left: -9999em;
}
.mb50{
	margin-bottom:50px !important;
}
.mb60{
	margin-bottom:60px !important;
}
.mb70{
	margin-bottom:70px !important;
}
.mb80{
	margin-bottom:80px !important;
}
.mb90{
	margin-bottom:90px !important;
}
.mb100{
	margin-bottom:100px !important;
}
/* 基本レイアウト---------------- */
.wrapper {
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 100px;
	position:relative;
	box-sizing:border-box;
}

main.page{
	margin-bottom:90px;

}
main .wrapper {
}
main{
}

/*メディアクエリここから*/
@media(max-width:980px){
.wrapper {
	padding: 0 50px;
}
}
@media(max-width:640px){
.wrapper {
	width:96%;
	max-width: 96%;
	padding: 0 0;
}
}
@print{
.wrapper {
	width:100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 100px;
	position:relative;
}
}
/* ヘッダー---------------- */
header{
	background:#fff;
	min-height:128px;
}
#fixed-header{
	position:fixed;
	top:0;
	left:0;
	width:calc(100% - 26px);
	z-index:9999;
	margin: 0 13px;
	background:#fff;

}
@media print{
	#fixed-header{position:relative;}
}
header .wrapper{
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	max-width:1400px;
	padding-top: 25px;
	padding-bottom:35px;
	box-sizing:border-box;
	background:#fff;
}
#header-logo{
}
#header-logo a{
	transition:ease 0.3s;
	display:block;
	color:#000;
	text-decoration:none;
	font-size:0.875em;
	letter-spacing:0.05em;
}
#header-logo a:hover{
	opacity:0.7;
}
#header-logo img{
	margin-top:0.5em;
	width:auto;
	height:35px;
}
#header-navi{
}
#header-navi {
}
#header-navi ul{
	display:flex;
	margin-top:1.5em;
}
#header-navi li{
	color:#000;
	cursor:pointer;
	padding:0 1.5em;
}
#header-navi li:first-child{
	padding-left:0;
}
#header-navi li:last-child{
	padding-right:0;
}
#header-navi  li  a{
	display:block;
	text-align:center;
	height:30px;
	line-height:30px;
	color:#000;
	position:relative;
	transition:ease 0.3s;
	letter-spacing:0.2em;
	marign-right:-0.2em;
}

#header-navi  li.button  a{
	padding:0 2em;
	background:#53E76C;
	border:2px solid #53E76C;
	border-radius:1em;
	text-decoration: none;
}
#header-navi  li.button  a:hover{
	background:#fff;
}
/*メディアクエリここから*/
@media only screen and (max-width:1240px){
#header-navi li{
	padding:0 1em;
}
#header-navi  li.button  a{
	padding:0 1em;
}
}
@media only screen and (max-width:1160px){
#header-navi li{
	padding:0 0.5em;
}
#header-navi  li.button  a{
	padding:0 0.5em;
}
}
@media only screen and (max-width:1080px){
#header-logo{
	margin-right: 50px;
}
#header-navi{
	display:none;
	position:fixed;
	left:0;
	top:125px;
	height:100vh;
	width:100%;
	transition:0.3s ease;
	background: #fff;
	border:13px solid #BEF0FF;
	border-top:none;
	box-sizing:border-box;
}
#header-navi .wrapper{
	width:100%;
	height:100vh;
	position:absolute;
	right:0;
	z-index:9999;
}
#header-navi ul{
	display:flex;
	flex-direction: column;
	background-image:url(../images/note-green-dot.svg),url(../images/note-green-dot.svg),url(../images/note-green.svg);
	background-size-x: 4px,4px,100%;
	background-size-y: 4px,4px,4px;
	background-repeat: no-repeat, no-repeat, repeat-x;
	background-position: top left,top right,top center;
	margin: 0 1em;
}
#header-navi li{
	flex: 1;
	position:relative;
	color:#000;
	border:none;
	padding:0;
	margin:0;
	background-image:url(../images/note-green-dot.svg),url(../images/note-green-dot.svg),url(../images/note-green.svg);
	background-size-x: 4px,4px,100%;
	background-size-y: 4px,4px,4px;
	background-repeat: no-repeat, no-repeat, repeat-x;
	background-position: bottom left,bottom right,bottom center;
}
#header-navi li.button{
	background:none;
	margin-top:1em;
}
#header-navi  li.button  a{
	margin: 0 2em;
}
#header-navi  li  a{
	display:block;
	text-align:center;
	text-decoration: none;
	height:40px;
	line-height:40px;
	color:#000;
	position:relative;
	transition:ease 0.3s;
}

#header-navi  li  a:hover{
	background:#53E76C;
}

}/*メディアクエリここまで*/

/* スマホボタン---------------- */

#sp-menu{
	display:none;
}
@media only screen and (max-width:1080px){
	#sp-menu{
		display:block;
		position: fixed;
		top: 35px;
		right: 20px;
		cursor:pointer;
		border-radius:5px;
		
		z-index:9999;
	}
	#header-button{
		display:block;
		cursor:pointer;
		width:40px;
		height:40px;
		position:relative;
		background:#53E76C;
		left:0;
		border-radius:10px;
	}
	#header-button p{
		text-align:center;
		width:100%;
		position:absolute;
		top:50%;
		left:0;
		transform:translateY(-50%);
		font-size:10px;
		color:#000;
	}
	.hnbgmenu {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 100%;
		cursor: pointer;
	}
	.menu-line {
		top: 50%;
		top: calc(50% - 2px);
	}
	.menu-inner::after,
	.menu-inner::before {
		content: "";
	}
	.menu-line,
	.menu-inner::after,
	.menu-inner::before {
		position: absolute;
		display: block;
		width: 66%;
		left: 17%;
		height: 2px;
		transition: .15s ease-out;
		background-color: #fff;
	}
	.menu-inner::before {
		top: 25%;
		top: calc(25% - 2px);
	}
	.menu-inner::after {
		top: 75%;
		top: calc(75% - 2px);
	}
	.hnbgmenu.active .menu-line {
		width: 0;
		opacity: 0;
		transform: translateX(20px) rotate(90deg);
	}
	.hnbgmenu.active .menu-inner::before {
		transform: translateY(10px) translateX(0px) rotate(-135deg);
	}
	.hnbgmenu.active .menu-inner::after {
		transform: translateY(-10px) translateX(0px) rotate(135deg);
	}
}

/* フッター---------------- */
footer{
	background:#BEF0FF;
	padding: 45px 0 40px;
}
footer .wrapper{
}

footer #footer-top{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:20px;
}
footer #footer-logo{
	margin-bottom:15px;
}
footer #footer-logo a{
	transition:  0.3s ease;
}
footer #footer-logo a:hover{
	opacity:0.7;
}
footer #footer-logo img{
	height:25px;
	width:auto;
}
footer #footer-navi{
	margin-bottom:15px;
}
footer #footer-navi ul{
	display:flex;
	align-items:center;
}
footer #footer-navi ul li{
}
footer #footer-navi ul li:not(:last-child):after{
	content:"-";
}
footer #footer-navi ul li a{
	color:#000;
	margin: 0 1em;

}
footer #footer-copy{
	font-size:0.75em;
	letter-spacing:0.2em;
	margin-right:-0.2em;
}

@media(max-width:1240px){

footer #footer-top{
	display:block;
}
}

@media(max-width:840px){

footer #footer-navi ul li:not(:last-child):after{
	content:"";
}

footer #footer-navi ul{
	display:block;
}

footer #footer-copy,
footer #footer-logo,
footer #footer-navi ul li{
	text-align:center;
}
}
/* トップページ---------------- */
#top-image{
	position:relative;
}
#top-image img{
	width:100%;
	height:auto;
}
#top-image .text{
	position:absolute;
	left:20.59%;
	top:21.31%;
	font-weight:600;
	font-size:2.27em;
	line-height:2.5;
	letter-spacing:0.2em;
	margin-right:-0.2em;
}
#top-image .text > span{
	background:#fff;
	border:3px solid #000;
	padding:0.2em 0.5em;
	margin-bottom:1em;
}
#top-image .text > span span.blink{
	opacity:1;
	animation: blink1 0.5s ease infinite alternate;
}
.typo{
	opacity:0;
}

#top-image .sub-text{
	position:absolute;
	left:20.59%;
	top: calc(21.31% + 6.5em);
	font-weight:600;
	font-size:1.75em;
	line-height:2.5;
	letter-spacing:0.2em;
	margin-right:-0.2em;
}

#top-image .sub-text > .green{
	position: relative;
}

#top-image .sub-text > .green:after{
	content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 4px;
  background: #53e76c;
  border-radius: 999px;
}

@keyframes blink1 {
0% {opacity:1}
49% {opacity:1}
50% {opacity:0}
100% {opacity:0}
}
@media(max-width:1300px){
	#top-image img{
	width:100%;
	height:auto;
aspect-ratio: 1022 / 600;
}
		#top-image .sub-text{
		        font-size: 1.55em;
        top: calc(21.31% + 7em);
	}
}
@media(max-width:1050px){
	#top-image .sub-text{
		font-size:1.3em;
		top:calc(21.31% + 8.1em)
	}
}
@media(max-width:840px){
#top-image .text{
	font-size:2em
}
}
@media(max-width:740px){
#top-image .text{
	left:17%;
}
	#top-image .sub-text{
	left:17%;
		font-size:1em;
		top:calc(21.31% + 9.6em)
}
}
@media(max-width:640px){
#top-image .text{
	left:12%;
}
	#top-image .sub-text{
	left:12%;
}
}
@media(max-width:580px){
#top-image .text{
	font-size:1.5em
}
	#top-image .sub-text{
	font-size:0.8em;
				top:calc(21.31% + 9.5em);
}
}
@media(max-width:440px){
#top-image .text{
	font-size:1.25em;
	left:9%;
}
	#top-image .sub-text{
	font-size:0.7em;
		top: calc(21.31% + 8.8em);
		left:9%;
}
}
@media(max-width:360px){
#top-image .text{
	top:10%;
	font-size:1em
}
	#top-image .sub-text{
	top:10%;
}
}

#main.page{
	padding-top:65px;
}
#main h2{
	letter-spacing:0.05em;
	font-size:3.125em;;
	font-family: 'Capriola', sans-serif;
}
#main h2 span{
	transition:0.5s ease;
	color:#000;
}
#main h2 span.colored{
	color:#53E76C;
}
#main h2.blue span.colored{
	color:#BEF0FF;
}
#main h2.white span.colored{
	color:#ffffff;
}
#main h2.lime span.colored{
	color:#AFF9C0;
}

#main h2 + p{
	font-weight:500;
	letter-spacing:0.2em;
	position:relative;
	display:inline-block;
	z-index:2;
	    white-space: nowrap;
    font-family: 'vdl-v7marugothic', sans-serif;
	margin-left:0.5em;
}
.page h2 + p{
	margin-bottom:80px;
}
#main h2 + p:before{
	content:"";
	display:block;
	width:100%;
	padding:0 0.5em;
	height:0.5em;
	background:#fff;
	position:absolute;
	top:50%;
	left:-0.5em;
	z-index:-1;
	border-radius:1em;
}
#main h2 + p.blue:before{
	background:#BEF0FF;
}
#main h2 + p.green:before{
	background:#AFF9C0;
}
#main h2 + p.white:before{
	background:#fff;
}
#main.page h3{
	letter-spacing:0.05em;
	font-size:1.25em;
	line-height:2;
	font-weight:500;
	margin: 0 auto 75px;
	display:table;
	
}
#top-concept .text h3{
	font-weight:500;
	letter-spacing:0.1em;
	font-size:2em;
	font-weight:600;
	margin-bottom:25px;
	margin-right:0;
}
#top-concept{
	background:#fff;
	padding: 40px 0 100px;
}
#top-concept .heading{
	margin-bottom:60px;
}

#top-concept .heading h2{
	font-size:3.75em;
}
#top-concept .text{
	margin-left:100px;
}
#top-concept .text p{
	letter-spacing:0.05em;
	font-size:1.25em;
	line-height:2;
}

@media(max-width:1240px){

#top-concept .text{
	margin-left:50px;
}
}
@media(max-width:1160px){

#top-concept .text{
	margin-left:0;;
}
}
@media(max-width:860px){
#top-concept .text p br{
	display:none;
}
}


#top-works{
	background:#BEF0FF;
	padding: 0 0 60px;
}
#top-works .wrapper{
	display:flex;
	align-items:center;
}
#top-works .heading{
	position:relative;
	margin-right:160px;
}
#top-works .heading h2{
	position:absolute;
	top:75px;
	left:185px;
	font-size:3.125em;;
}
#top-works .heading p{
	position:absolute;
	top:165px;
	left:185px;
}

#top-works .text{
	padding-bottom:30px;
	padding-top:128px;
}
#top-works .text p{
	letter-spacing:0.1em;
	font-size:1.06em;
	line-height:2.1;
	
	background-image:url(../images/note-white-dot.svg),url(../images/note-white-dot.svg),url(../images/note-white.svg);
	background-size: 4px 2em,4px 2em,100% 2em;
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left,top right,top center;
	padding:1em 2em 1em 1.9em;
}

/* サービス */
#top-service{
	background:#aaffbe;
	padding: 51px 0 71px;
}
#top-service .wrapper{
	display:flex;
	align-items:flex-end;
	    padding: 0 82px;
}
#top-service .heading{
	margin-right:69px;
}
#top-service .heading h2{
	font-size:3.75em;;
}
#top-service .heading p{
}
#top-service .heading-text{
	margin-bottom:68px;
	padding-left:17px;
}
#top-service .heading img{
	width:93%;
}

#top-service .text p{
	letter-spacing:0.1em;
	font-size:1.06em;
	line-height:2.3;
	background-image:url(../images/note-white-dot.svg),url(../images/note-white-dot.svg),url(../images/note-white.svg);
	background-size: 4px 2em,4px 2em,100% 2em;
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left,top right,top center;
	padding:1em 2em 1em 1.3em;
}

@media(max-width:1240px){
	#top-works{
		padding: 45px 0 60px;
	}

#top-works .wrapper{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	flex-direction:column;
}

#top-works .heading{
	margin-left:auto;
	margin-right:auto;
}
#top-works .text{
	margin-left:auto;
	margin-right:auto;
	padding-top:0;
}
	
	#top-service{
		padding: 45px 0 60px;
	}

#top-service .wrapper{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	flex-direction:column;
	padding:0;
}

#top-service .heading{
	margin-left:auto;
	margin-right:auto;
}
	#top-service .heading-text{
	padding-left:0;
}
#top-service .text{
	margin-left:auto;
	margin-right:auto;
}

}

@media(max-width:640px){

#top-works .heading{
	margin-left:0;
}
	#top-service .heading{
	margin-left:0;
}
}

@media(max-width:480px){
}


#top-staff{
	background:#fff;
	padding: 50px 0 70px;
}
#top-staff .wrapper{
}
#top-staff .staff-top{
	display:flex;
	align-items:center;
	margin-bottom:45px;
}

#top-staff .heading{
	position:relative;
	margin-right:85px;
	margin-bottom:45px;
}
#top-staff .heading h2{
	font-size:3.125em;;
}
#top-staff .staff-top .text{
	margin-right:95px;
	margin-bottom:45px;
}
#top-staff .staff-top .text p{
	letter-spacing:0.1em;
	font-size:1.06em;
	line-height:2;
	
	background-image:url(../images/note-green-dot.svg),url(../images/note-green-dot.svg),url(../images/note-green.svg);
	background-size: 4px 2em,4px 2em,100% 2em;
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left,top right,top center;
	padding:1em 2em;
}


@media(max-width:1240px){

#top-staff .staff-top .text{
	margin-right:auto;
	margin-left:auto;
}
}
@media(max-width:1125px){
#top-staff .staff-top{
	flex-wrap:wrap;
}
#top-staff .staff-top .text{
	margin-right:auto;
	margin-left:auto;
}
}

@media(max-width:640px){

#top-staff .staff-top .text p br{
	display:none;
}
}

#top-staff .staff-bottom{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
#top-staff .staff-bottom div.staff{
	width:265px;
	margin-bottom:60px;
	padding-right:20px;
}
@media(min-width:1098px){	
div.staff:last-of-type{	
display:none;	
}	
}
#top-staff .staff-bottom div.staff img{
	width:calc(100% - 35px);
	height:auto;
	margin-bottom:15px;
}
#top-staff .staff-bottom div.staff p{
	padding: 0 45px;
	letter-spacing:0.1em;
	font-size:0.81em;
}

#top-topics{
	padding: 65px 0 65px;
}
#top-topics .heading{
	margin-right:100px;
	margin-bottom:50px;
}
#top-topics .heading h2{
	font-size:3.125em;;
}
#top-topics .topics{
	margin-right:100px;
	letter-spacing:0.1em;
}

#top-topics .topics {
	letter-spacing:0.1em;
	font-size:1.06em;
	line-height:2;
	
	background-image:url(../images/note-green-dot.svg),url(../images/note-green-dot.svg),url(../images/note-green.svg);
	background-size: 4px 2em,4px 2em,100% 2em;
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left,top right,top center;
	padding:1em 2em;
}

.topics dd p {	
margin-bottom: 2em;	
}

@media(max-width:840px){

#top-topics .heading{
	margin-right:0;
}
#top-topics .topics{
	margin-right:0;
}
}

main .button{
	text-align:center;
}
main .button a,
main .button input{
	font-size:1.18em;
	font-weight:bold;
	padding: 0.5em 5em;
	border-radius:2em;
	transition:0.3s ease;
	text-decoration:none;
	letter-spacing:0.2em;
	margin-right:-0.2em;
	min-width:50%;
	display:inline-block;
	box-sizing:border-box;
	cursor:pointer;
}
main .button.green a,
main .button.green input{
	background:#53E76C;
	color:#000;
	border: 3px solid #53E76C;
}
main .button.black a,
main .button.black input{
	background:#000;
	color:#fff;
	border: 3px solid #000;
}
main .button a:hover,
main .button input:hover{
	background:#fff;
	color:#000;
}
main .button span.ajax-loader{
	display:none;
}
@media(max-width:840px){
main .button a,
main .button input{
	font-size:1.18em;
	font-weight:bold;
	padding: 0.5em 2em;
	white-space:normal;
}
}
form table{
	width:100%;
}
form table th{
	font-weight:500;
	width:30%;
	text-align:left;
	vertical-align:top;
	letter-spacing:0.1em;
	padding-top:0.75em;
	padding-bottom:20px;
	position:relative;
}
form table  tr.required th:after{
	content:"必須";
	color:#FF4B5C;
	padding-left:1em;
	font-size:0.75em;
	font-weight:500;
	position:absolute;
	left:12em;
    top: 1.1em;
}
form table  tr.inputted th:after{
	content:"入力済";
	color:#53E76C;
	padding-left:1em;
	font-size:0.75em;
	font-weight:500;
	position:absolute;
	left:12em;
    top: 1.1em;
}
form table td{
	width:70%;
	vertical-align:top;
	letter-spacing:0.1em;
	padding-bottom:50px;
}
form table td input{
	width:100%;
	padding:1em;
	box-sizing:border-box;
	font-size:1em;
}
form table td textarea{
	width:100%;
	font-size:1em;
	padding:1em;
	box-sizing:border-box;
	font-size:1em;
	
	font-family: 'Noto Sans JP', sans-serif;
}
.form-policy{
	margin-top:75px;
	margin-bottom:90px;
}
@media(max-width:840px){

form table th,
form table td{
	display:block;
	width:100%;
}
}
.form-policy h4{
	font-weight:500;
	font-size:1em;
	margin-bottom:10px;
	letter-spacing:0.05em;
}
.form-policy h4+p{
	font-size:0.93em;
	margin-bottom:10px;
	letter-spacing:0.05em;
}
.form-policy-box{
	height:10em;
	padding:1em;
	overflow-y:scroll;
	border:1px solid #C8C8C8;
}
.form-policy-box p{
	font-size:0.875em;
	margin-left:1em;
	text-indent:-1em;
	margin-bottom:1em;
}
.form-policy-box p:last-child{
	margin-bottom:0em;
}

.company-table{
	margin:0px auto 120px;
	position:relative;
	z-index:2;
}
.company-table > div{
	padding: 25px 35px;
	position:relative;
	z-index:2;
}
.company-table::before{
	content:"";
	display:block;
	width:calc(100% - 20px);
	height:3px;
	margin: 0 auto;
	background:#AFF9C0;
	position:absolute;
	top:0;
	left:10px;
	border-radius:3px;
}
.company-table::after{
	content:"";
	display:block;
	width:calc(100% - 20px);
	height:3px;
	margin: 0 auto;
	background:#AFF9C0;
	position:absolute;
	bottom:0;
	left:10px;
	border-radius:3px;
}
.company-table > div:before{
	content:"";
	display:block;
	width:3px;
	height:calc(100% - 8px);
	margin: 0 auto;
	background:#BEF0FF;
	position:absolute;
	top:4px;
	left:0;
	border-radius:3px;
}
.company-table > div:after{
	content:"";
	display:block;
	width:3px;
	height:calc(100% - 8px);
	margin: 0 auto;
	background:#BEF0FF;
	position:absolute;
	top:4px;
	right:0;
	border-radius:3px;
}
.company-table table{
	width:100%;
}
.company-table table th{
	width:8em;
	font-weight:500;
	font-size:0.9375em;
	line-height:3;
	letter-spacing:0.1em;
}
.company-table table td{
	width:calc(100% - 8em);
	font-size:0.9375em;
	line-height:3;
	letter-spacing:0.1em;
}
.company-table table ol{
	margin-left:1em;
	line-height:3;
}
.company-table table td a{
	color:#000;
    text-decoration: underline;
}
.company-table table td a:hover{
    text-decoration: none;
}
@media(max-width:840px){

.company-table table th,
.company-table table td{
	display:block;
	width:100%;
	box-sizing:border-box;
}
.company-table table td{
	letter-spacing:0.05em;
	margin-bottom:1em;
}
.company-table table th{
	letter-spacing:0.05em;
}
}

#company-contact{
	margin-bottom:90px;
	background:#EBEBEB;
}
#company-contact .wrapper{
	display:flex;
    justify-content: space-between;
	align-items:center;
}
#company-contact .photo{
	width:51.5%
}
#company-contact .text{
width: 100%;
padding: 3.8em 0.5em 2.8em;	
text-align: center;
}
#company-contact .text p:first-child{
    font-size: 1em;
    line-height: 1.7;
    letter-spacing: 0.1em;
	margin-bottom: 1.3em;
}
#company-contact .text p:nth-child(2){
	margin:15px 0 20px;
}
#company-contact .text div.button a{
	width: 76%;
}
@media(max-width:880px){
#company-contact .wrapper{
	flex-wrap:wrap;
	text-align:center;
}
#company-contact .photo{
	width:100%;
	margin-bottom:20px;
}
#company-contact .photo img{
	max-width:640px;
	width:100%;
}
#company-contact .text{
	width:100%
}
#company-contact .text div.button a {	
font-size: 1.1em;	
width: 96%;	
}
}





.recruit-table{
	margin:0px auto 65px;
	position:relative;
	z-index:2;
}


.recruit-table table th{
	width:12em;
	font-weight:500;
	font-size:0.9375em;
	color:#969696;
	border-bottom:1px solid #969696;
	padding:1em 3px;
	letter-spacing:0.1em;
}
.recruit-table table td{
	font-size:0.9375em;
	border-bottom:1px solid #969696;
	padding:1em 3px;
    margin-left: 2em;
    display: block;
	letter-spacing:0.1em;
}
@media(max-width:840px){

.recruit-table table th,
.recruit-table table td{
	display:block;
	width:100%;
    margin-left: 0;
}
.recruit-table table th{
	margin-bottom:0;
	border-bottom:none;
}
.recruit-table table td{
	margin-bottom:1em;
}
}

.works-desc{
	font-size:1.062em;
	line-height:2.2;
	margin:10px auto 80px !important;
	letter-spacing: 0.14em;
}

#works-field{
	padding:50px 0 50px;
	background:#BEF0FF;
}
#main #works-field h3{
	text-align:left;
	color:#000;
	font-size:2em;
	display:block;
	margin-bottom:15px;
	letter-spacing:0.2em;
}
#main #works-field h4{
	font-size:1.43em;
	margin-bottom:8px;
	letter-spacing:0.05em;
}

#main #works-field p{
	font-size:1.06em;
	line-height:2;
	letter-spacing:0.05em;
}
#main #works-field p > span{
	display:inline-block;
}
#main #works-field hr{
	border:none;
	height:4px;
	width:100%;
	background-image:url(../images/note-white-dot.svg),url(../images/note-white-dot.svg),url(../images/note-white.svg);
	background-size: 4px 4px,4px 4px,auto 4px;
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left,top right,top center;
	margin-top:30px;
}

#works-client{
	padding:110px 0 45px;
}
#main #works-client h3{
	text-align:left;
	font-size:1.125em;
	display:block;
	margin-bottom:40px;
	letter-spacing:0.2em;
}
#main #works-client h3 > span{
	background:#AFF9C0;
	padding:0 0.5em 0.1em;
}
#main #works-client h3 > span span{
	font-size:0.7em;
}
#main #works-client li{
	font-size:1.43em;
	line-height:1.65;
	letter-spacing:0.05em;
}
#main #works-client h4{
	font-size:1.43em;
	margin-bottom:5px;
	letter-spacing:0.05em;
}
#works-case{
	padding:50px 0 95px;
}
#main #works-case h3{
	text-align:left;
	font-size:1.125em;
	display:block;
	margin-bottom:40px;
	letter-spacing:0.2em;
}
#main #works-case h3 > span{
	background:#AFF9C0;
	padding:0 0.5em 0.1em;
}
#main #works-case h3 > span span{
	font-size:0.7em;
}
#main #works-case h4{
	font-size:1.43em;
	margin-bottom:30px;
	letter-spacing:0.05em;
	color:#1eb8ca;
	border-bottom: 1px solid #1eb8ca;
}

#main #works-case .works-box+h4{
	margin-top:68px;
}
#main #works-case .works-box{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#main #works-case .box{
	padding:1em;
	box-sizing:border-box;
	background:#DEF7FF;
	width:320px;
	margin-bottom:20px;
}
#main #works-case .box.spacer{
	padding:0;
	height:0;
}
#main #works-case h5{
	font-weight:400;
	font-size:1.06em;
	line-height:1.52;
	    min-height: 77px;
	letter-spacing:0.03em;
}
#main #works-case h6{
	min-height: 83px;
}
#main #works-case h5 > span{
	font-weight:600;
}
#main #works-case p{
	line-height:1.42;
	font-weight:400;
	font-size:0.875em;
	display:inline-block;
	letter-spacing:0.03em;
}
#main #works-case li:before{
	content:"・";
}
#main #works-case li:first-child:before{
	content:none;
}

@media(max-width:780px){
#main #works-case .works-box{
	justify-content:center;
}
}

.bottom-arrow{
	text-align:right;
}
.bottom-arrow a{
	display:inline-block;
	background:url(../images/bottom-arrow.svg) no-repeat bottom right 1em;
	padding-right:2em;
	color:black;
	transition:0.3s ease;
}
.bottom-arrow a:hover{
	background:url(../images/bottom-arrow.svg) no-repeat bottom right 0;
	padding-right:1em;
}
