@charset "utf-8";

/* Body
------------------------------ */
body {
	box-shadow: none;
	color: #222222;
	font-family: メイリオ, Meiryo, '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro W3', 'Hiragino Kaku Gothic Pro','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 21pt;
	letter-spacing: 0.08em;
	-webkit-text-size-adjust: 100%!important;
	top: 0!important;
}

a:link{
	color: #222222;
	text-decoration: none;
}
a:visited {
	color: #222222;
}
a:active {
	color: #222222;
}
a:hover {
	color: #1A9F8C;
}
a{
	transition: .3s;
}

.text_link {
	display: inline-block;
	text-decoration: none;
	color: #1A9F8C;
	text-indent: 0;
}
/* reset default css */
.text_link:after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 2px solid #1A9F8C;
	margin: -6px auto 0;
	border-radius: 1px;
}
.text_link:hover{
	text-decoration: none;
}
.text_link:hover:after {
	width: 100%;
}

.emphasis{
	font-weight: 700;
	color: #e62528;
}
.caution{
	position: relative;
	display: block;
	font-size: 14px;
	padding-left: 1em!important;
	text-indent: -1em;
	line-height: 18pt;
}
.caution:before{
	content: "※";
}

/* layout
------------------------------ */
.wrapper{
	position: relative;
	display: block;
	clear: both;
	float: none;
	width: 1064px;
	margin: 0 auto;
	padding: 0 8px;
}

/* Common
------------------------------ */
.clear{
	clear: both;
	float: none;
	height: 0;
}
.fl_l{
	position: relative;
	display: block;
	float: left;
}
.fl_r{
	position: relative;
	display: block;
	float: right;
}
.btn a{
	position: relative;
	display: block;
	width: 512px;
	height: 40px;
	color: #222;
	font-size: 18px;
	font-weight: 600;
	line-height: 30px;
	background: #fff;
	margin: 0 auto;
	padding: 16px 0 0;
	border: 4px solid #1261A0;
	text-align: center;
}
.btn a:after{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../images/arrow_b.png) no-repeat bottom center;
	-webkit-background-size: contain;
	background-size: contain;
	margin-left: 8px;
	vertical-align: middle;
	margin-top: -4px;
	transition: .3s;
}
.btn a:hover{
	color: #FFF;
	background: #1261A0;
}
.btn a:hover:after{
	background-image: url(../images/arrow_w.png);
	transition: .3s;
}
.orange a{
	width: 256px;
	height: 36px;
	color: #FFF;
	font-size: 20px;
	line-height: 24px;
	padding-left: 26px;
	letter-spacing: .1em;
	border-radius: 12px;
	border-color: #F7893E;
	background: #F7893E;
}
.orange a:before{
	content: "";
	position: absolute;
	display: block;
	width: 24px;
	height: 18px;
	background: url(../images/mail_icon.png) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 17px;
	bottom: 0;
	margin: auto 0;
}
.orange a:after{
	display: none;
}
.orange a:hover{
	background: #F7893E;
	opacity: .7;
}
.btn_list{
	position: relative;
	display: inline-block;
	text-align: center;
	letter-spacing: -.4em;
}
.btn_list li{
	position: relative;
	display: inline-block;
	letter-spacing: 0.08em;
	margin-right: 23px;
}
.btn_list li:last-child{
	margin-right: 0;
}

/* contents_list */
.contents_list{
	position: relative;
	display: inline-block;
	letter-spacing: -.4em;
}
.contents_list li{
	position: relative;
	display: inline-block;
	width: 520px;
	height: 294px;
	letter-spacing: 0.08em;
	margin-right: 24px;
	margin-bottom: 24px;
}
.contents_list li:nth-child(2n){
	margin-right: 0;
}
.three_column li{
	width: 338px;
	height: 192px;
	margin-right: 24px;
	margin-right: 24px;
}
.three_column li:nth-child(2n){
	margin-right: 23px;
}
.three_column li:nth-child(3n){
	margin-right: 0;
}
.contents_list li a{
	position: relative;
	display: block;
	width: 100%;
	height: 294px;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
}
.three_column li a{
	height: 192px;
}
.contents_list li a:hover{
	opacity: .7;
}
.contents_list li a span{
	position: absolute;
	display: block;
	width: 100%;
	height: 64px;
	color: #FFF;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	line-height: 68px;
	letter-spacing: 0.15em;
	background: rgba(0,0,0,.7);
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}

/* Header
------------------------------ */
#header{
	position: relative;
	display: block;
	width: 100%;
	height: 160px;
	letter-spacing: 0.04em;
	margin: 0 auto;
	z-index: 100;
}
#header:before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 32px;
	background: #1A9F8C;
}
#header_logo a{
	position: relative;
	display: block;
	/*width: 234px;*/
	width: 265px;
	height: 37px;
	/*height: 52px;*/
	margin-top: 42px;
	text-indent: -9999px;
	background: url(../images/header_logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	/*margin-top: 74px;*/
	margin-top: 79px;
}
#header_logo a:hover{
	opacity: 0.7;
}
#lead{
	position: absolute;
	display: block;
	color: #FFF;
	font-size: 12px;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.08em;
}
#header .tel_number{
	position: absolute;
	display: block;
	color: #FFF;
	font-size: 18px;
	font-weight: 600;
	line-height: 36px;
	padding-left: 20px;
	background: url(../images/tel_icon.png) no-repeat left center;
	-webkit-background-size: 16px;
	background-size: 16px;
	right: 0;
}

/* gnav */
#gnav{
	position: absolute;
	display: block;
	top: 88px;
	right: 0;
}
#gnav ul li{
	position: relative;
	display: inline-block;
	width: auto;
}
#gnav ul li:after,
#gnav ul li:first-child:before{
	content: ' ｜ ';
}
#gnav ul li:last-child:after{
	display: none;
}
#gnav ul li a{
	display: inline-block;
	color: #000;
	font-size: 16px;
	line-height: 1em;
	margin: 0 7px 8px;
	text-decoration: none;
}
#gnav ul li:nth-child(4) a{
	margin-bottom: 20px;
}
#gnav ul li a:hover{
	color: #1A8880;
	text-decoration: none;
}

/* 子メニュー */
#gnav ul li .sub_menu:before{
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	border: solid transparent;
	height: 0;
	width: 0;
	pointer-events: none;
	border-bottom-color: #1A9F8C;
	border-width: 6px;
	margin: 0 auto;
}
#gnav ul li .sub_menu{
	position: absolute;
	display: none;
	width: 235px;
	height: auto;
	margin: 0 auto;
	top: 42px;
	left: -32px;
	z-index: 10;
	box-shadow: 0 2px 2px rgba(0,0,0,.4);
}
#gnav ul li .sub_menu li{
	position: relative;
	display: block;
	width: 235px;
	height: 44px;
	text-align: center;
	padding: 0;
}
#gnav ul li .sub_menu li:after,
#gnav ul li .sub_menu li:before{
	display: none;
}
#gnav ul li .sub_menu li a{
	width: 235px;
	height: 44px;
	color: #FFF;
	font-size: 16px;
	background: #1A9F8C;
	margin: 0;
	padding: 16px 0 0;
	box-sizing: border-box;
}
#gnav ul li .sub_menu li:first-child a{
	border-bottom: 1px solid rgba(255,255,255,.5);
}
#gnav ul li .sub_menu li a:hover{
	background: #1A8880;
}


/* top page
------------------------------ */
/* bxslider */
.bxslider li,.bx-viewport{
	height: 500px!important;
	overflow: hidden;
}
.bxslider li{
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
}
.bxslider li:before{
	content: "";
	position: absolute;
	display: block;
	width: 1021px;
	height: 500px;
	background: url(../images/slider_before.png) no-repeat center right;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.bxslider li:first-child{
	background-image: url(../images/slider1.jpg);
}
.bxslider li:nth-child(2){
	background-image: url(../images/slider2.jpg);
}
.bxslider li:nth-child(3){
	background-image: url(../images/slider3.jpg);
}
.bxslider li:nth-child(4){
	background-image: url(../images/slider4.jpg);
}

#top_main_contents h2{
	color: #777;
	font-size: 18px;
	text-align: center;
	line-height: 22pt;
	letter-spacing: 0.08em;
	font-weight: 500;
	margin-bottom: 28px;
}
#top_main_contents h2 span{
	position: relative;
	display: block;
	color: #222;
	font-size: 40px;
	font-family: Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
				 Meiryo, メイリオ, sans-serif;
	font-weight: 600;
	line-height: 40pt;
	letter-spacing: 0.02em;
}

/* top_about */
#top_about{
	padding-top: 76px;
}
#top_about p{
	text-align: center;
	margin-bottom: 50px;
}
#top_about ul li:first-child a{
	background-image: url(../images/top_about1.jpg);
}
#top_about ul li:nth-child(2) a{
	background-image: url(../images/top_about2.jpg);
}
#top_about ul li:nth-child(3) a{
	background-image: url(../images/top_about3.jpg);
}
#top_about ul li:nth-child(4) a{
	background-image: url(../images/top_about4.jpg);
}

/* top_recruit */
#top_recruit{
	position: relative;
	display: block;
	margin-top: 36px;
	padding: 40px 0;
	background: #1A9F8C;
}
#top_recruit .recruit_bnr a{
	position: relative;
	display: block;
	width: 1064px;
	height: 206px;
	text-indent: -9999px;
	background: url(../images/recruit_bnr.jpg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin: 0 auto;
}
#top_recruit .recruit_bnr a:hover{
	opacity: .7;
}

/* top_services */
#top_services{
	background: #E2F3ED;
	padding: 70px 0;
}
#top_services p:nth-child(2){
	text-align: center;
	margin-bottom: 50px;
}
#top_services .contents_list li:first-child a{
	background-image: url(../images/top_services1.jpg);
}
#top_services .contents_list li:nth-child(2) a{
	background-image: url(../images/top_services2.jpg);
}
#top_services .contents_list li:nth-child(3) a{
	background-image: url(../images/top_services3.jpg);
}
#top_services .map{
	position: relative;
	display: inline-block;
	width: 528px;
	height: 300px;
	text-align: left;
}
#top_services .map img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_services p:nth-child(5){
	position: relative;
	display: inline-block;
	width: 526px;
	top: -110px;
}
#top_services .btn_list{
	margin-top: 36px;
}

/* top_news */
#top_news{
	padding: 70px 0;
}
#top_news dl dt{
	position: relative;
	display: block;
	float: left;
	margin-right: 20px;
	margin-bottom: 18px;
}
#top_news dl dd{
	border-bottom: 1px dashed #777;
	margin-bottom: 18px;
}
.ggmap{
	position: relative;
	padding-bottom: 492px;
	height: 0;
	overflow: hidden;
}
.ggmap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%!important;
	height: 100%!important;
}

/* 共通css
------------------------------ */
/* main contents */
.main_title{
	position: relative;
	display: block;
	width: 100%;
	height: 300px;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: contain;
	background-size: contain;
	background-color: #1A9F8C;
}
.main_title .wrapper{
	height: 300px;
	text-align: center;
}
.main_title h1{
	position: absolute;
	display: inline-block;
	width: 173px;
	height: 300px;
	font-size: 28px;
	text-align: center;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	background: rgba(255,255,255,.8);
	top: 0;
	left: 28px;
	bottom: 0;
	margin: auto 0;
}
.main_title h1 span{
	position:absolute;
	top:50%;
	left:50%;
	display:inline;
	transform:translate(-50%, -50%);
	white-space: nowrap;
}
.main_title h1 .en{
	position: static;
	color: #1A9F8C;
	font-size: 15px;
	font-weight: 400;
	writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	margin-top: 10px;
	top: auto;
	left: auto;
	transform: none;
}
.main_contents h2{
	position: relative;
	display: block;
	font-size: 40px;
	font-weight: 500;
	text-align: center;
	line-height: 40pt;
	letter-spacing: 0.08em;
	margin-bottom: 28px;
}
.main_contents h2 .en{
	position: relative;
	display: block;
	color: #777;
	font-size: 15px;
	font-weight: 500;
	line-height: 22pt;
	letter-spacing: 0.05em;
}
.main_contents h3{
	color: #1A9F8C;
	font-size: 20px;
	letter-spacing: 0.1em;
}
.main_contents section{
	padding-top: 80px;
}
.main_contents section:first-of-type{
	padding-top: 0;
}
.main_contents .blue_box{
	color: #FFF;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	line-height: 43px;
	letter-spacing: .1em;
	margin: 94px auto 55px;
	padding-top: 4px;
	background: #12619F;
}

/* bread_crumb */
.bread_crumb{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	font-size: 14px;
	padding: 32px 0 48px;
	text-align: right;
}
.bread_crumb li{
	position: relative;
	display: inline-block;
}
.bread_crumb li:after{
	content: " > ";
	letter-spacing: .5em;
}
.bread_crumb li:last-child:after{
	display: none;
}
.bread_crumb li a{
	color: #1A9F8C;
	text-decoration: underline;
}
.bread_crumb li a:hover{
	text-decoration: none;
}

/* table */
.main_contents table{
	width: 100%;
	border-top: 1px solid #1261A0;
	border-right: 1px solid #1261A0;
}
.main_contents table tr:after{
	content: "";
	position: absolute;
	display: block;
	width: 1064px;
	height: 1px;
	background: linear-gradient(90deg,#FFF 0%,#FFF 245px,#1261A0 245px,#1261A0 100%);
	left: 0;
	right: 0;
	margin: 68px auto 0;
}
.main_contents table tr:last-child:after{
	background: #1261A0;
}
.main_contents table tr th{
	width: 225px;
	color: #FFF;
	font-size: 20px;
	text-align: left;
	padding: 22px 0 18px 20px;
	background: #1261A0;
}
.main_contents table tr td{
	padding: 22px 0 18px 20px;
}

/* philosophy
------------------------------ */
#philosophy .main_title{
	background-image: url(../images/philosophy_h1.jpg);
}
#philosophy h2:first-of-type{
	margin-bottom: 60px;
}
#philosophy .pict{
	width: 300px;
	height: 220px;
	margin-left: 30px;
}
#philosophy .pict img,
#philosophy .b_box img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#philosophy h2:nth-of-type(2){
	margin-top: 90px;
}
#philosophy .b_box{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	background: #EBF1F6;
	margin-bottom: 100px;
}
#philosophy .b_box li{
	padding: 58px 40px;
	border-bottom: 1px dashed #777;
}
#philosophy .b_box li:last-child{
	border-bottom: 0;
}
#philosophy .b_box .fl_l{
	width: 300px;
	height: 176px;
	margin-right: 32px;
}
#philosophy .b_box li h3{
	color: #1261A0;
	font-size: 18px;
	line-height: 1em;
	margin-top: 12px;
	margin-bottom: 20px;
}
#philosophy .contact_box h2{
	margin: 0;
}
#philosophy .bnr_list{
	text-align: center;
	letter-spacing: -.4em;
}
#philosophy .bnr_list li{
	position: relative;
	display: inline-block;
	letter-spacing: .08em;
}
#philosophy .bnr_list li a{
	position: relative;
	display: block;
	width: 320px;
	height: 145px;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-right: 52px;
}
#philosophy .bnr_list li:first-child a{
	background-image: url(../images/philosophy_bnr1.jpg);
}
#philosophy .bnr_list li:nth-child(2) a{
	background-image: url(../images/philosophy_bnr2.jpg);
}
#philosophy .bnr_list li:nth-child(3) a{
	background-image: url(../images/philosophy_bnr3.jpg);
	margin-right: 0;
}
#philosophy .bnr_list li a:hover{
	opacity: .7;
}

/* works
------------------------------ */
#works .main_title{
	background-image: url(../images/works_h1.jpg);
}
#works .blue_box{
	color: #FFF;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
	letter-spacing: .2em;
	padding-left: 12px;
}
#works .pict{
	width: 335px;
	height: 215px;
	margin-left: 30px;
}
#works .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.works_list{
	position: relative;
	display: block;
	border-top: 1px dashed #777;
	margin-top: 65px;
}
.works_list li{
	position: relative;
	display: block;
	margin-top: 52px;
	margin-bottom: 37px;
	padding-bottom: 34px;
	border-bottom: 1px dashed #777;
}
#works .works_list li .pict{
	width: 420px;
	height: 265px;
	margin-right: 28px;
}
.works_list li h4{
	color: #1261A0;
	font-size: 18px;
	line-height: 1em;
	letter-spacing: .2em;
	margin-bottom: 24px;
	padding-top: 6px;
}
#works section .pict_list{
	letter-spacing: -.4em;
	margin: 10px auto 50px;
}
#works section .pict_list li{
	position: relative;
	display: inline-block;
	width: 49%;
	vertical-align: top;
	letter-spacing: normal;
	margin-right: 2%;
}
#works section .pict_list li:nth-child(2n){
	margin-right: 0;
}
#works section .pict_list li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#works section .pict_list li span{
	position: relative;
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	margin-top: 10px;
}

/* company
------------------------------ */
#company .main_title{
	background-image: url(../images/company_h1.jpg);
}
#greeting h2{
	margin-bottom: 60px;
}
#greeting .pict{
	width: 318px;
	height: auto;
	margin-left: 44px;
}
#greeting .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#greeting p span{
	position: relative;
	display: block;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: 0.08em;
	margin-top: 18px;
	text-align: right;
}
#greeting p span span{
	position: static;
	display: inline;
	font-size: 22px;
}
#profile .pict_list{
	position: relative;
	display: inline-block;
	margin-top: 50px;
}
#profile .pict_list li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#profile p{
	position: relative;
	display: inline-block;
	width: 338px;
	vertical-align: top;
	margin-top: 130px;
	letter-spacing: .06em;
}
#awards p{
	text-align: center;
	margin-bottom: 40px;
}
#awards ul,
#profile .pict_list{
	letter-spacing: -.4em;
}
#awards ul li,
#profile .pict_list li{
	position: relative;
	display: inline-block;
	width: 345px;
	height: auto;
	margin-right: 14.5px;
	letter-spacing: .08em;
}
#awards ul li:last-child{
	margin-right: 0;
}
#awards ul li .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 6px;
}
#ggmap{
	padding-top: 80px;
	text-align: center;
}
#ggmap p{
	margin-bottom: 26px;
}

/* recruit
------------------------------ */
#recruit .main_title{
	background-image: url(../images/recruit_h1.jpg);
}
#message h2{
	margin-bottom: 60px;
}
#message .pict{
	width: 374px;
	height: 230px;
	margin-left: 20px;
}
#message .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#recruit .merit_list li{
	letter-spacing: .08em;
	margin-bottom: 36px;
	padding-bottom: 38px;
	border-bottom: 1px dashed #777;
}
#recruit .merit_list li .pict{
	width: 340px;
	height: 240px;
	margin-left: 0;
	margin-right: 27px;
}
#recruit .merit_list li h3{
	color: #222;
	line-height: 25pt;
	margin-bottom: 10px;
}
#recruit .merit_list li h3 span{
	position: relative;
	display: block;
	font-size: 14px;
	color: #12619F;
}
#voice ul{
	text-align: center;
	letter-spacing: -.4em;
}
#voice ul li{
	position: relative;
	display: inline-block;
	width: 384px;
	height: auto;
	letter-spacing: .08em;
	margin-right: 72px;
	margin-bottom: 66px;
}
#voice ul li:nth-child(2n),
#voice ul li:last-child{
	margin-right: 0;
}
#voice ul li a{
	position: relative;
	display: block;
	width: 100%;
	height: 345px;
}
#voice ul li a:hover{
	opacity: .7;
}
#voice ul li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#voice ul li p{
	position: absolute;
	display: block;
	width: 100%;
	height: 64px;
	color: #FFF;
	line-height: 20pt;
	background: rgba(19,97,153,.9);
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	padding-top: 16px;
}
#voice ul li p span{
	position: relative;
	display: block;
	font-size: 20px;
	font-weight: 600;
}
#personality .g_box{
	margin-bottom: 40px;
	padding: 40px 28px;
	background: #EEF7F7;
}
#personality h3{
	line-height: 1em;
	padding-left: 1.5em;
	text-indent: -1.5em;
	margin-top: 40px;
	margin-bottom: 24px;
}
#personality h3:before{
	content: "● ";
}
#personality .orange a{
	width: 308px;
	height: 33px;
	font-size: 26px;
	letter-spacing: .2em;
	padding-left: 40px;
	border-radius: 24px;
}
#personality .orange a:before{
	width: 23px;
	height: 23px;
	background-image: url(../images/arrow_w.png);
	left: 52px;
	margin-top: 14px;
}
#entry_form{
	padding-top: 126px;
}
#entry_form p{
	text-align: center;
	margin-bottom: 60px;
}
#mailformpro table{
	border-top: 0;
	border-bottom: 1px solid #1261A0;
}
#mailformpro table tr:after{
	margin: auto;
}
#mailformpro table tr:first-child:after{
	background: #1261A0;
}
#mailformpro table tr:last-child:after{
	background: linear-gradient(90deg,#FFF 0%,#FFF 308px,#1261A0 308px,#1261A0 100%);
}
#entry_form table tr:after{
	background: linear-gradient(90deg,#FFF 0%,#FFF 308px,#1261A0 308px,#1261A0 100%);
}
#mailformpro tr th{
	vertical-align: middle;
	line-height: 22pt;
	padding: 22px 0 15px 20px;
}
#entry_form #mailformpro tr th{
	width: 288px;
}
#mailformpro .must{
	position: absolute;
	font-size: 14px;
	font-weight: 500;
	width: 50px;
	height: 19px;
	top: auto;
	bottom: auto;
	left: 200px;
	padding-top: 7px;
	margin: 0;
}
#entry_form #mailformpro .must{
	left: 250px;
}
#mailformpro tr td{
	padding: 14px 0 9px 20px;
}
#mailformpro tr:nth-child(9) td span,
#mailformpro tr:nth-child(7) td span{
	position: relative;
	display: block;
	margin-top: 20px;
}
#mailformpro tr:nth-child(7) td span{
	display: inline-block;
	margin-top: 0;
}
#mailformpro tr td ol{
	letter-spacing: -.4em;
	padding: 3px 0 4px;
}
#mailformpro tr td ol li{
	position: relative;
	display: inline-block;
	height: 38px;
	margin-right: 17px;
	letter-spacing: .08em;
}
#mailformpro tr td ol li label{
	margin: 0;
	padding: 5px 22px 3px;
	background: #E3E5E4;
	border: 1px solid #A8A8A8;
	border-radius: 14px;
	cursor: pointer;
}
#mailformpro tr td ol li label input[type="radio"]{
	position: relative;
	margin: 0;
	width: 20px;
	height: 20px;
	top: 0;
	cursor: pointer;
}
#mailformpro input[type="text"],
#mailformpro input[type="email"],#mailformpro input[type="tel"]{
	width: 480px;
	height: 38px;
	font-size: 16px;
}
#mailformpro table tr:nth-child(6) td input[type="text"]{
	width: 154px;
}
#mailformpro input.postal_code{
	width: 262px;
	margin-bottom: 10px;
}
#mailformpro select{
	font-size: 16px;
}
#mailformpro textarea{
	width: 694px!important;
	height: 214px;
	font-size: 16px;
}
#privacy_policy{
	position: relative;
	display: block;
	height: 242px;
	border: 1px solid #1261A0;
	margin: 33px auto 45px;
}
#content-1{
	position: relative;
	display: block;
	width: 1054px;
	height: 210px;
	margin: 0 auto;
}
#content-1 .mCSB_scrollTools{
	height: 200px!important;
	margin: auto 0;
}
#content-1 .mCSB_inside > .mCSB_container{
	margin-right: 0!important;
}
#content-1 .mCSB_scrollTools .mCSB_draggerRail{
	width: 8px!important;
	background-color: rgba(0,0,0,0)!important;
}
#content-1 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
	width: 8px!important;
	background-color: #1261A0!important;
}
#content-1 h3{
	font-size: 20px;
	font-weight: 600;
	color: #1261A0;
	margin: 0 0 20px;
	padding: 36px 0 0 36px;
	background: none;
}
#content-1 p{
	text-align: left;
	padding: 0 36px 10px;
	margin-bottom: 0;
}
.check_text{
	position: relative;
	display: block;
	font-size: 20px;
	text-align: center;
	margin-bottom: 20px!important;
}
.check_text label{
	cursor: pointer;
}
.check_text label input[type="checkbox"]{
	position: relative;
	width: 25px;
	height: 25px;
	margin: 0;
	top: -2px;
}
#mailformpro .submit{
	position: relative;
	display: block;
	width: 365px;
	height: 57px;
	color: #FFF;
	font-size: 26px;
	font-family: メイリオ, Meiryo,'游ゴシック体', 'Yu Gothic', YuGothic,
				 'ヒラギノ角ゴシック Pro W3', 'Hiragino Kaku Gothic Pro',
				 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	background: #FF8000 url(../images/arrow_w.png);
	background-repeat: no-repeat no-repeat;
	background-position: left 55px center;
	-webkit-background-size: 23px;
	background-size: 23px;
	line-height: 20px;
	letter-spacing: .2em;
	border-radius: 25px;
	padding-top: 6px;
	padding-left: 40px;
	cursor: pointer;
	transition: .3s;
	margin: 0 auto 130px;
	box-shadow: none;
	border: 0;
	overflow: hidden;
	cursor: pointer;
}
#mailformpro .submit:hover{
	opacity: .7;
}
#mailformpro .submit[disabled]{
	opacity: .8;
	cursor: default;
}
#mailformpro .submit[disabled]:hover{
	opacity: 0.8;
	cursor: default;
 }

/* voice
------------------------------ */
#senior_voice .main_title{
	background-image: url(../images/voice_h1.jpg);
}
.voice_box .blue_box{
	margin-bottom: 40px;
}
.voice_box .pict{
	width: 400px;
	height: auto;
	margin-left: 40px;
}
.voice_box .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.voice_box .pict ul{
	position: relative;
	display: block;
	width: 388px;
	height: auto;
	letter-spacing: -.4em;
	padding: 24px 6px;
	background: #EBF1F6;
}
.voice_box .pict ul li{
	position: relative;
	display: block;
	font-size: 18px;
	letter-spacing: .08em;
	border-bottom: 1px dashed #777;
	margin-bottom: 11px;
	padding-bottom: 2px;
}
.voice_box .pict ul li:first-child,
.voice_box .pict ul li:nth-child(2){
	display: inline-block;
	padding-right: 26px;
}
.voice_box .pict ul li:first-child{
	width: 193px;
	font-size: 20px;
	font-weight: 600;
	margin-right: 45px;
}
.voice_box .pict ul li:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
}
.voice_box h3{
	color: #12619F;
	line-height: 1em;
	margin-bottom: 24px;
}
.voice_box h3:nth-of-type(2){
	margin-top: 50px;
}
.voice_box .pict ul li span{
	color: #12619F;
	font-size: 14px;
	font-weight: 500;
	margin-right: 50px;
}
.voice_box .pict ul li:nth-child(2) span,
.voice_box .pict ul li:nth-child(4) span{
	margin-right: 20px;
}
#senior_voice .box_list{
	display: flex;
	justify-content: space-between;
	margin: 120px 0 130px;
}
#senior_voice .box_list li{
	position: relative;
	display: inline-block;
	width: 309px;
	height: 164px;
	letter-spacing: .08em;
	border: 3px solid #1A9F8C;
}
#senior_voice .box_list li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#senior_voice .box_list li a:after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 166px;
	background: #1A9F8C;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	opacity: 0;
	transition: .3s;
}
#senior_voice .box_list li a:hover{
	color: #222;
}
#senior_voice .box_list li a:hover:after{
	opacity: .66;
	transition: .3s;
}
#senior_voice .box_list li p{
	position: relative;
	display: block;
	color: #FFF;
	font-size: 20px;
	text-align: center;
	background: #1A9F8C;
	line-height: 74px;
	padding-left: 74px;
}
#senior_voice .box_list li p:before{
	content: "";
	position: absolute;
	display: block;
	width: 56px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 70px;
	bottom: 0;
	margin: auto 0;
}
#senior_voice .box_list li:first-child p:before{
	background-image: url(../images/human_icon.png);
}
#senior_voice .box_list li:nth-child(2) p:before{
	background-image: url(../images/note_icon.png);
}
#senior_voice .box_list li:nth-child(3) p:before{
	background-image: url(../images/mail_icon2.png);
}
#senior_voice .box_list li span{
	position: relative;
	display: block;
	line-height: 18pt;
	letter-spacing: .06em;
	padding: 22px 10px;
}
#senior_voice .box_list li span:after{
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	height: 15px;
	background: url(../images/arrow_o.png) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	right: 50px;
	bottom: 27px;
}
#senior_voice .box_list li:first-child span:after{
	right: 84px;
}
#senior_voice .box_list li:nth-child(2) span:after{
	right: 66px;
}

/* requirements
------------------------------ */
#requirements .main_title{
	background-image: url(../images/requirements_h1.jpg);
}
#requirements .main_text{
	text-align: center;
	margin-top: 60px;
	margin-bottom: 70px;
}
#requirements table{
	border-top: 0;
	border-color: #1A9F8C;
	border-bottom: 1px solid #1A9F8C;
}
#requirements table tr:after{
	background: linear-gradient(90deg,#FFF 0%,#FFF 270px,#1A9F8C 270px,#1A9F8C 100%);
	margin: auto;
}
#requirements table tr:first-child:after{
	background: #1A9F8C;
}
#requirements table tr th{
	width: 250px;
	font-size: 16px;
	font-weight: 500;
	vertical-align: middle;
	background: #1A9F8C;
}
#requirements table tr td{
	padding-right: 20px;
}

/* contact
------------------------------ */
#contact .main_title{
	background-image: url(../images/contact_h1.jpg);
}
#contact p.main_text{
	letter-spacing: .05em;
}
#contact .blue_box{
	margin-top: 50px;
	margin-bottom: 26px;
	text-align: left;
	padding-left: 12px;
}
#contact .blue_box:first-of-type{
	margin-top: 43px;
}
#contact .tel_box .fl_r{
	width: 284px;
	height: 162px;
	margin-right: 46px;
}
#contact .tel_box .fl_r img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#contact .tel_box .column_box{
	width: 628px;
	height: 114px;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	background: #EEF7F7;
	margin-left: 46px;
	padding: 24px 0;
}
#contact .tel_box .column_box .tel_number{
	margin-top: 0;
	padding-top: 10px;
	padding-left: 40px;
	background: url(../images/tel_icon2.png) no-repeat left 126px bottom 2px;
	-webkit-background-size: 37px;
	background-size: 37px;
}
#contact .tel_box .column_box .business_hour{
	font-weight: 500;
	margin-top: 8px;
}

#contact .caution{
	margin-bottom: 60px;
}
#contact #mailformpro table tr th{
	width: 285px;
}
#contact #mailformpro table tr:after{
	background: linear-gradient(90deg,#FFF 0%,#FFF 305px,#1261A0 305px,#1261A0 100%);
}
#contact #mailformpro table tr:first-child:after{
	background: #1261A0;
}
#contact #mailformpro .must{
	left: 250px;
}
#contact #mailformpro textarea{
	width: 698px!important;
}
#contact #mailformpro h3{
	color: #222;
	margin-top: 46px;
	margin-bottom: 20px;
}
#contact #mailformpro tr:nth-child(7) td span{
	display: block;
	margin-top: 20px;
}
#contact #mailformpro h3:before{
	content: "■";
	color: #1A9F8C;
	font-size: 23px;
}
#contact #privacy_policy{
	margin-top: 60px;
}
#contact #privacy_policy h3{
	color: #1261A0;
	margin-top: 0;
}
#contact #privacy_policy h3:before{
	display: none;
}

/* thanks
------------------------------ */
#thanks{
	text-align: center;
}
#thanks h2{
	margin-bottom: 60px;
}
#thanks .tel_box{
	margin: 40px auto;
}
#thanks .btn a{
	margin-bottom: 130px;
}

/* contact_box */
.contact_box{
	width: 1064px;
	border: 1px solid #1A9F8C;
	box-sizing: border-box;
	padding: 0;
	margin: 130px auto 180px;
}
.contact_box .title_box{
	color: #FFF;
	font-size: 26px;
	text-align: center;
	line-height: 68px;
	letter-spacing: .15em;
	background: #1A9F8C;
	margin: 0;
}
.contact_box .fl_l{
	padding: 32px 22px 30px;
	border-right: 1px solid #1A9F8C;
}
.contact_box .logo{
	position: relative;
	display: block;
	width: 234px;
	/*height: 52px;*/
	height: 36px;
	text-indent: -9999px;
	background: url(../images/header_logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-bottom: 26px;
}
.contact_box .fl_r{
	position: relative;
	letter-spacing: -.4em;
}
.contact_box .fl_r li{
	position: relative;
	display: inline-block;
	letter-spacing: .08em;
}
.contact_box .fl_r li:first-child{
	margin-top: 38px;
	margin-right: 20px;
}
.contact_box .fl_r li:nth-child(2){
	top: -27px;
	margin-right: 23px;
}
.contact_box .fl_r li h3{
	font-size: 20px;
	color: #000;
}
.contact_box .fl_r li h3:before{
	content: "■";
	color: #1A9F8C;
	font-size: 23px;
}
.contact_box .tel_number,
.tel_box .tel_number{
	color: #F7893E;
	font-size: 40px;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: .06em;
	margin-top: 10px;
}
.contact_box .tel_number span{
	font-size: 20px;
	color: #222;
}
.contact_box .orange a{
	margin-top: 10px;
}

/* footer
------------------------------ */
footer{
	position: relative;
	display: block;
	width: 100%;
	height: 324px;
	color: #FFF;
	line-height: 18pt;
	padding: 36px 0 0;
	background: url(../images/footer_bg.jpg) no-repeat 0 0;
	-webkit-background-size: cover;
	background-size: cover;
}
footer .fl_l{
	margin-right: 98px;
}
#footer_logo a{
	position: relative;
	display: block;
	/*width: 234px;*/
	width: 303px;
	height: 52px;
	text-indent: -9999px;
	background: url(../images/footer_logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-bottom: 45px;
}
#footer_logo a:hover{
	opacity: .7;
}
.footer_menu{
	width: 576px;
	margin-left: 430px;
	margin-bottom: 80px;
}
.footer_menu li{
	position: relative;
	display: inline-block;
	line-height: 22pt;
}
.footer_menu li:after{
	content: "｜";
}
.footer_menu li a{
	color: #FFF;
	text-decoration: underline;
}
.footer_menu li a:hover{
	text-decoration: none;
}
#footer .btn_list li a{
	width: 312px;
	height: 48px;
	line-height: 38px;
	box-shadow: 0 0 0 4px #fff;
}

#copyright{
	position: relative;
	display: block;
	width: 100%;
	font-size: 12px;
	line-height: 1em;
	color: #222;
	text-align: center;
	margin-top: 66px;
	padding: 20px 0 16px;
	background: #FFF;
}
.pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	z-index: 100000!important;
}
.pagetop a{
	display: block;
	width: 52px;
	height: 35px;
	border-radius: 50%;
	background: #fff;
	text-align: center;
	font-weight: bold;
	color: #1261A0;
	font-size: 30px;
	padding-top: 17px;
	border: 4px solid #1261A0;
}
.pagetop.show{
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.pagetop a:hover{
	color: #FFF;
	background: #1261A0;
}
