@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: auto;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
	font-family: -apple-system, "Helvetica Neue", "Helvetica", "Open Sans", "Arial", "Verdana", "Noto Sans Japanese", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", BlinkMacSystemFont, Roboto, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
    line-height: 1.8em;
	box-sizing: border-box;
	padding: 0;
	color: #000;
	font-size: 14px;
	padding-top: 69px;
}
input, select, textarea, pre {
	font-family: -apple-system, "Helvetica Neue", "Helvetica", "Open Sans", "Arial", "Verdana", "Noto Sans Japanese", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", BlinkMacSystemFont, Roboto, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
button:focus{
	outline: 0;
	background:none;
}
a{
	color: #101010;
	text-decoration: none;
}
a:hover{
	opacity:0.7;
}
img {
	vertical-align: top;
}

body time, body mark,
body em, body small {
	font-style: normal;
}
body mark {
	background: none;
}

body .sp {
	display: none;
}

@media screen and (max-width: 769px) {
	img {
		width: 100%;
	}
	body .sp {
		display: block;
	}
	body .pc {
		display: none;
	}
}


/*---------------------------------------------------------------------*/
/* header */
/*---------------------------------------------------------------------*/
header{
	width: 100%;
	min-height: 69px;
	background: #20b1d6;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}
header nav{
	margin: auto;
	height: 69px;
}
header nav .logo{
	margin: auto auto auto 0;
	line-height: 1;
	max-width: 220px;
	height: auto;
}
header nav .logo a{
	display: block;
	padding: 10px 0;
}
header .uk-navbar-nav>li>a{
	color: #fff;
	text-decoration: none;
	height: 69px;
	line-height: 1.2;
}
header .uk-navbar-nav>li>a:hover{
	color: #fff;
	text-decoration: underline;
}
#menu_btn{
	position: fixed;
	right: 10px;
	top: 20px;
}
#menu_btn span{
	color: #fff;
	cursor: pointer;
}
#offcanvas-slide ul {
	padding: 0;
}
#offcanvas-slide ul li{
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: solid 1px #fff;
}
#offcanvas-slide button.uk-icon:not(:disabled) {
    color: #fff;
}
@media screen and (max-width: 660px) {
	header nav{
		margin-left: 1rem;
	}
	header nav .logo{
		max-width: 160px;
	}
}

/*---------------------------------------------------------------------*/
/* main_v */
/*---------------------------------------------------------------------*/
#main_v{
	padding: 50px 0;
	background: url(../img/main-visual.jpg) center no-repeat;
	background-size: 100%;
	background-attachment: fixed;
	box-sizing: border-box;
}
#main_v .main_v_inner{
	box-sizing: border-box;
	background: rgba(0,0,0,0.2);
}
#main_v .main_v_inner > div{
	vertical-align: middle;
}
#main_v .main_v_inner > div > div{
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: dotted 1px #fff;
	box-sizing: border-box;
}
@media screen and (max-width: 660px) {
	#main_v{
		padding: 20px 0;
		background-position: center top;
		background-size: 120%;
	}
}

/*---------------------------------------------------------------------*/
/* contents */
/*---------------------------------------------------------------------*/
.contents {
    margin-bottom: 70px;
}
.wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.ttl_page {
    padding: 30px 0;
    margin-bottom: 30px;
    font-size: 24px;
    border-bottom: 1px solid #1d2088;
    color: #1d2088;
    text-align: center;
}
.post.page_narrow {
    padding: 0 70px;
}
.post .leadtext {
    margin-bottom: 2em;
}
.post > section {
    margin-bottom: 2em;
}
form#mailformpro {
    padding: 10px 0px;
}
.post .dl_form {
    width: 680px;
    margin: 0 auto;
}
.post .dl_form dt {
    color: #1d2088;
    font-weight: bold;
    float: left;
    clear: both;
    width: 250px;
    padding-bottom: 1.4em;
    padding-top: 0.3em;
}
.must {
    font-size: 10px;
    margin-left: 5px;
}
.post .dl_form dd {
    position: relative;
    margin-left: 250px;
    padding-bottom: 1.4em;
    line-height: 1;
}
input[type="text"], input[type="email"] {
    width: 100% !important;
    box-sizing: border-box;
    box-shadow: none;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #dddddd;
    padding: 10px 7px;
    font-size: 18px;
}
.post .dl_form dt.col1 {
    width: 100%;
    float: none;
}
.post .dl_form dd.col1 {
    width: 100%;
    margin-left: 0;
    float: none;
}
.post .dl_form .frame {
    height: 200px;
    margin-top: 10px;
    overflow-y: scroll;
    border: 1px solid #ddd;
    padding: 15px;
}
.mfp_element_textarea{
	width:430px;
	height: 180px;
	border: 1px solid #dddddd;
}
.message{
	margin: 30px auto;
	text-align: center;
	font-weight: bold;
	font-size: 36px;
}
.form_subject{
	padding-bottom: 1em;
	border-bottom: solid 1px #ccc;
	clear: both;
}
.form_subject label{
	margin: auto!important;
}
.uk-form-horizontal .uk-form-controls{
	min-height: 2em;
}
#thanks{
	height: 300px;
	font-size: 20px;
	line-height: 2em;
}
#sub_btn{
	background-color: #f26027;
}
@media screen and (max-width: 769px) {
	.wrap {
    	width: 100%;
	}
	.post.page_narrow {
		padding: 0 5%;
	}
	.post .dl_form {
		width: 100%;
	}
	.post .dl_form dt {
		float: none;
		width: auto;
		display: block;
		padding-bottom: 0;
	}
	.post .dl_form dd {
    	margin-left: 0;
		display: block;
	}
	.mfp_element_textarea{
		width: 100%;
	}
	h3.ttl_sub{
		font-size: 1.25rem;
	}
	.message{
		font-size: 1.25rem;
	}
}

/*---------------------------------------------------------------------*/
/* footer */
/*---------------------------------------------------------------------*/
footer {
	background: url(../img/footer_bg.png) bottom center no-repeat #f1f1f1;
}
footer > div {
	margin: 0 auto;
	padding: 60px 0 0 400px;
	width: 940px;
	background: url(../img/dev_img.png) 40px 50px no-repeat;
	background-size: 310px auto;
	min-height: 390px;
}
footer address {
	display: block;
	margin-top: 30px;
}
footer address span {
	font-size: 16px;
}
footer > p {
	margin: auto;
	font-size: 10px;
	color: #27339a;
	font-weight: bold;
	padding: 0 0 10px 85%;
	line-height: 1.3em;
}
.post .dl_form .agreement {
    padding: 10px;
    margin: 20px auto;
    text-align: center;
    position: relative;
}
form#mailformpro label.mfp_not_checked {
    padding: 3px;
}
div.mfp_buttons {
    clear: both;
    padding: 10px 0px;
    text-align: center;
}
.mfp_buttons p {
    width: 200px;
    margin: 0 auto;
    position: relative;
}
.mfp_buttons input[type="submit"] {
    border: 0;
    background: #1d2088;
    color: #fff;
    padding: 10px;
    width: 200px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    position: relative;
}

/* TAB･SP ---------------------------------------------------------------*/
@media screen and (max-width: 769px) {
	footer {
		background-position: bottom right;
		background: #f1f1f1;
	}
	footer > div {
		padding: 30px 15px;
		background: none;
		min-height: auto;
	}
	footer div p {
		width: 60%;
		margin: 0 auto;
	}
	footer > p {
		margin: auto;
		padding-left: 0;
		text-align: center;
		font-size: 12px;
	}
}

/*------------------------------------------------------------------------------------*/
/* pageTop */
/*------------------------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	z-index: 100;
	right: 30px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	padding-top: 20px;
	border-radius: 5px;
	background-color: rgba(0,0,0,0.4);
	text-align: center;
	font-size: 10px;
	line-height: 1em;
	cursor: pointer;
	display: none;
}
#pageTop.show{
	display: block;
}
/* TAB･SP ---------------------------------------------------------------*/
@media screen and (max-width: 769px) {
	#pageTop {
		right: 15px;
		bottom: 15px;
		padding: 20px 15px;
	}
}
