@charset "Shift_JIS";

/* ----------------------------------------------------------------------------- */
/* -- format -- */

/* format */

body {width:100%; margin:0; padding:0; font-family: 'メイリオ', sans-serif; color:#333; -webkit-text-size-adjust: auto; }
header, nav, footer, h1, h2, h3, h4, h5, h6, br, dl, dt, dd, p, div, ul, li, img, form {margin:0; padding:0; }

header, nav, footer {display:block; }

ul, nav {list-style-type:none; }

img {width:100%; border:0px; }

a {text-decoration:none; }

a img {
	opacity: 1.0; filter: alpha(opacity=100);

	/*アニメーション指定*/

	/*Firefox向け*/
	-moz-transition-property: all;
	-moz-transition-duration:0.2s;
	-moz-transition-timing-function:ease-out;
	-moz-transition-delay:0s;

	/*Chrome、Safari向け*/
	-webkit-transition-property: all;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	-webkit-transition-delay:0s;

	/*Opera向け*/
	-o-transition-property: all;
	-o-transition-duration:0.2s;
	-o-transition-timing-function:ease-out;
	-o-transition-delay:0s;

	transition-property: all; /* アニメーションさせるCSSプロパティ */
	transition-duration:0.2s; /* アニメーションしている時間の長さ */
	transition-timing-function:ease-out; /* アニメーションの速度変化（イージング） */
	transition-delay:0s; /* アニメーションを開始するまでの時間 */
}
a:hover img {
	opacity: 0.7; filter: alpha(opacity=70);
}

img.pc {display:block; }
img.spn {display:none; }

/* contents */

div#wrapper {width:100%; margin:0 auto; padding:0; z-index:1; }

div#h_area {
	width:100%; min-width:1032px; margin:0 auto;
	background-image:url(../img/header_bg.jpg);
	background-repeat:repeat-x;
	background-position:0 0; 
}

header {width:1000px; margin:0 auto; padding:0 16px; }
footer {width:1000px; margin:0 auto; padding:0 16px; }

header div,
footer div {
	width:1000px; 
}

header div {
	margin:0 auto; padding:16px 0 6px; 
}
header div:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
header p#logo {
	width:274px; float:left; padding:10px 0 0;
	font-size:0%; line-height:0%; 
}
header div.rightside {
	width:295px; float:right; padding:0; margin:0;
}
header div.rightside:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
header ul.sns {
	width:54px; float:left; padding:41px 0 0;
}
header ul.sns li {
	width:23px; float:left;
}
header ul.sns li:last-child {
	float:right;
}
header ul.cnt {
	width:205px; float:right;
	padding:11px 14px;
	background-image:url(../img/h_contact_bg.png);
	background-repeat:no-repeat;
	background-position:0 0; 
}

div#contents {
	width:100%; min-width:1032px;
	margin:0 auto; 
	background-image:url(../img/lead_bg.jpg);
	background-repeat:repeat-x;
	background-position:0 0; 
}
div#contents.nobg {
	background:none;
}

footer div {
	margin:0 auto; padding:0 0 40px; 
	font-size:70%; line-height:100%; color:#333;
}

nav {
	display:block;
	width:1000px;
	margin:0 auto;
}
nav ul {
	display:table;
	width:1000px;
	margin:0 auto; padding:14px 0 14px; 
	font-size:90%; line-height:100%; 
}

@-moz-document url-prefix( ){
	nav ul {
		padding:12px 0 13px; 
	}
} /* for Firefox */

nav ul:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
nav ul li {
	display:table-cell;
}
nav ul li a {
	display:block; width:199px;
	margin:0; padding:4px 0; border-left:1px solid #CCC;
	font-size:96%; line-height:100%; color:#333; text-align:center;
	
	/*アニメーション指定*/

	/*Firefox向け*/
	-moz-transition-property: all;
	-moz-transition-duration:0.2s;
	-moz-transition-timing-function:ease-out;
	-moz-transition-delay:0s;

	/*Chrome、Safari向け*/
	-webkit-transition-property: all;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	-webkit-transition-delay:0s;

	/*Opera向け*/
	-o-transition-property: all;
	-o-transition-duration:0.2s;
	-o-transition-timing-function:ease-out;
	-o-transition-delay:0s;

	transition-property: all; /* アニメーションさせるCSSプロパティ */
	transition-duration:0.2s; /* アニメーションしている時間の長さ */
	transition-timing-function:ease-out; /* アニメーションの速度変化（イージング） */
	transition-delay:0s; /* アニメーションを開始するまでの時間 */
}
nav ul li a:hover {
	color:#036;
}
nav ul li.stay a {
	color:#036;
	background:none;
}

nav ul li:last-child a {
	width:198px;
	border-right:1px solid #CCC;
}

div#f_nav {
	width:1000px; margin:0 auto; padding:16px;
}
div#f_nav ul {
	width:1000px; 
}
div#f_nav ul:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
div#f_nav ul li {
	float:left;
}
div#f_nav ul li a {
	display:inline-block; 
	margin:0 16px 0 0; padding:0 16px 0 0;
	font-size:86%; line-height:100%; color:#333; text-align:center;
	border-right:1px solid #CCC;

	/*アニメーション指定*/

	/*Firefox向け*/
	-moz-transition-property: all;
	-moz-transition-duration:0.2s;
	-moz-transition-timing-function:ease-out;
	-moz-transition-delay:0s;

	/*Chrome、Safari向け*/
	-webkit-transition-property: all;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	-webkit-transition-delay:0s;

	/*Opera向け*/
	-o-transition-property: all;
	-o-transition-duration:0.2s;
	-o-transition-timing-function:ease-out;
	-o-transition-delay:0s;

	transition-property: all; /* アニメーションさせるCSSプロパティ */
	transition-duration:0.2s; /* アニメーションしている時間の長さ */
	transition-timing-function:ease-out; /* アニメーションの速度変化（イージング） */
	transition-delay:0s; /* アニメーションを開始するまでの時間 */
}
div#f_nav ul li.stay a,
div#f_nav ul li a:hover {
	color:#036;
}


div#mainimage {
	width:100%; 
	margin:0 auto; padding:0; 
}
div#mainimage:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
div#mainimage div {
	width:1000px; height:238px; margin:0 auto; padding:0 16px;
	background-repeat:no-repeat;
	background-position:right; 
}
div#mainimage div.service {
	background-image:url(../../service/img/mainimage.jpg);
}
div#mainimage div.company {
	background-image:url("../../company/img/mainimage_3.jpg");
}
div#mainimage div.faq {
	background-image:url(../../faq/img/mainimage.jpg);
}
div#mainimage div.study {
	background-image:url(../../study/img/mainimage.jpg);
}
div#mainimage div.contact {
	width:1000px; height:80px; margin:0 auto; padding:0 16px;
}
div#mainimage div.contact p {
	font-size:90%; line-height:140%; 
}
div#mainimage div.contact p span {
	color:#C00;
}
div#mainimage h1 {
	padding:102px 0 0 0;
	font-size:180%; line-height:140%; color:#036; font-weight:bold;
}
div#mainimage div.service h1 {
	padding:80px 0 0 0;
}
div#mainimage div.study h1 {
	padding:80px 0 0 0;
}
div#mainimage div.study h1 span {
	display:block;
	font-size:74.5%; color:#666;
}


div#contents h2 {
	margin:0; padding:0 0 14px;
	font-size:300%; line-height:100%; color:#036; font-weight:normal;
}
div#contents h2 span {
	letter-spacing:-20px;
}
div#contents h2.small {
	font-size:278%; line-height:120%;
}

div#contents h3 {
	margin:0; padding:0 0 24px;
	font-size:180%; line-height:100%; color:#036; font-weight:normal;
}

div#contents h4 {
	margin:0; padding:0 0 8px;
	font-size:100%; line-height:120%; 
}


div#contents p.lead {
	margin:0; padding:0 0 14px;
	font-size:100%; line-height:150%; letter-spacing:0.02em; font-weight:bold;
}

div#contents p.text {
	margin:0; padding:0 0 16px;
	font-size:86%; line-height:180%; letter-spacing:0.02em;
}


div#contents div.section {
	width:100%; min-width:1032px; padding:80px 0; border-top:1px solid #CCC;
}
div#contents.nobg div.section {
	border-top:none;
}
div#contents div.section p:last-child {
	padding:0;
}
div#contents div.s_end {
	border-bottom:1px solid #CCC;
}


div.article {
	width:1000px; padding:0 16px;
	margin:0 auto; 
}
div.article:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
div.article2 {
	width:1000px; padding:32px 16px 0;
	margin:0 auto; 
}

div.article div.left {
	width:580px; float:left; 
}
div.article div.right {
	width:384px; float:right; 
}
div.article div.right:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}

div.box3 {
	width:1000px; 
	margin:0 auto; padding:0 0 16px;
}
div.box3:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
div.box3 div.box_child {
	width:317px; float:left; 
	padding:0 24px 0 0;
}
div.box3 div:last-child {
	width:317px; float:left; 
	padding:0;
}
div.box3 div.box_child p.image {
	font-size:0; line-height:0;
	margin:0;
	padding:0;
}


div.box3 div.box_child dl {
	min-height:108px;
	padding:24px 20px;
	background-color:#F0F0F0;
}
div.box3 div.box_child dl dt {
	padding:0 0 16px;
	font-size:120%; line-height:100%; font-weight:bold;
}
div.box3 div.box_child dl dd {
	font-size:86%; line-height:180%;
}


table {
	width:100%; border-collapse:collapse; border-spacing:0px; 
	border-top:1px solid #CCC;
	margin:48px auto 0;
}
table th,
table td {
	padding:12px 16px; 
	font-size:86%; 
	line-height:160%;
	vertical-align:top;
	border-bottom:1px solid #CCC;
}
table th {
	width:146px;
	color:#666;
	text-align:left; 
	background-color:#F0F0F0; 
}
table td {
	word-break: break-all;
}
table td div.iframe-wrapper {
	width: 560px;
	margin:0; padding:8px 0 0;
}
table td .iframe {
	width: 100%;
	height: 315px;
	margin:0; padding:0;
}
table td a.tel {
	color:#333;
	cursor: text;
}

table.ct {
	width:100%; border-collapse:collapse; border-spacing:0px; 
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
	margin:48px auto 24px;
}
table.ct th,
table.ct td {
	padding:12px 16px !important; 
	font-size:90% !important; 
	line-height:160% !important;
	vertical-align:top;
	border-bottom:1px solid #CCC;
	border-right:1px solid #CCC;
}
table.ct th sup {
	color:#C00;
}
table.ct td input.line {
	margin-bottom:8px;
}
table.ct td input,
table.ct td textarea,
table.ct td select {
	box-sizing: border-box; 
	font-family: 'メイリオ', Osaka, 'MS PGothic', sans-serif;
	cursor:pointer;
}
table.ct td input[type="text"],
table.ct td input[type="tel"],
table.ct td input[type="email"],
table.ct td select,
table.ct td textarea {
	padding:4px;
	border:1px solid #CCC;
}
table.ct td label {
	font-size:80%;
	cursor:pointer;
	vertical-align:text-top;
}
/* size */
.tx_l {width:60%; }
.tx_m {width:40%; }
.tx_s {width:20%; }

input.gobtn {
	display:block;
	border:none;
	background:none;
	width:200px;
	height:40px;
	color:#FFF;
	background-color:#036;
	cursor:pointer;
	margin:0 auto;
	text-align:center;
}
div.err {
	box-sizing: border-box; 
	color:#C00;
	padding:12px 16px;
	margin:16px 0 16px;
	border:2px solid #C00;
}
div.err p {
	font-size:100%;
	line-height:100%;
	font-weight:bold;
	padding:0 0 10px;
}
div.err ul {
	font-size:80%;
	line-height:120%;
	list-style-type: disc;
	margin:0 0 0 18px;
}
div.err ul li {
	padding:0 0 8px;
}
div.err ul li:last-child {
	padding:0;
}


div.faq_box div.q_box {
	padding:16px 16px 10px;
	background-color:#F0F0F0;
	border:1px solid #ccc;
}
div.faq_box div.q_box:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}


div.faq_box div.a_box {
	margin:0 0 32px;
	padding:16px;
	border:1px solid #ccc;
	border-top:none;
}
div.faq_box div.a_box:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}


div.faq_box div.q_box p.icon,
div.faq_box div.a_box p.icon {
	width:52px; float:left;
	padding:0 16px 0 0;
}
div.faq_box div.q_box p.qtxt,
div.faq_box div.a_box p.qtxt {
	width:880px; float:left;
	font-size:100%; line-height:160%;
	margin:2px 0 0;
}
div.faq_box div.a_box p.qtxt span {
	display:block;
	font-weight:bold;
	padding:8px 0 0;
}



p.pagetop {
	width:200px;
	margin:0 auto; padding:0 0 24px;
}
p.pagetop a {
	display:block;
	margin:0; padding:16px 0;
	font-size:96%; line-height:100%; color:#FFFFFF; text-align:center;
	background-image:url(../img/nav_bg.png);
	background-repeat:repeat;
	background-position:0 0; 
	border:1px solid #333;
	border-radius:5px;
	
	/*アニメーション指定*/

	/*Firefox向け*/
	-moz-transition-property: all;
	-moz-transition-duration:0.2s;
	-moz-transition-timing-function:ease-out;
	-moz-transition-delay:0s;

	/*Chrome、Safari向け*/
	-webkit-transition-property: all;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	-webkit-transition-delay:0s;

	/*Opera向け*/
	-o-transition-property: all;
	-o-transition-duration:0.2s;
	-o-transition-timing-function:ease-out;
	-o-transition-delay:0s;

	transition-property: all; /* アニメーションさせるCSSプロパティ */
	transition-duration:0.2s; /* アニメーションしている時間の長さ */
	transition-timing-function:ease-out; /* アニメーションの速度変化（イージング） */
	transition-delay:0s; /* アニメーションを開始するまでの時間 */
}
p.pagetop a:hover {
	opacity: 0.7; filter: alpha(opacity=70);
}





p.pagetop_txt {
	text-align:right;
	margin:0 auto; padding:8px 0 16px;
}
p.pagetop_txt a {
	width:140px;
	float:right;
	display:block;
	text-align:right;
	padding:0 0 8px 14px !important;
	font-size:86% !important; 
	color:#036;
	background-image:url(../img/arrow_pt.png);
	background-repeat:no-repeat;
	background-position:0 5px;

	color:#036;
	
	/*アニメーション指定*/

	/*Firefox向け*/
	-moz-transition-property: all;
	-moz-transition-duration:0.2s;
	-moz-transition-timing-function:ease-out;
	-moz-transition-delay:0s;

	/*Chrome、Safari向け*/
	-webkit-transition-property: all;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	-webkit-transition-delay:0s;

	/*Opera向け*/
	-o-transition-property: all;
	-o-transition-duration:0.2s;
	-o-transition-timing-function:ease-out;
	-o-transition-delay:0s;

	transition-property: all; /* アニメーションさせるCSSプロパティ */
	transition-duration:0.2s; /* アニメーションしている時間の長さ */
	transition-timing-function:ease-out; /* アニメーションの速度変化（イージング） */
	transition-delay:0s; /* アニメーションを開始するまでの時間 */
}
p.pagetop_txt a:hover {
	color:#4C7094;
}



div.profile {
	margin:15px 0 0;
	padding:24px;
	background-color:#F0F0F0;
}
div.profile h4 {
	font-size:80%;
}
div.profile p {
	font-size:80%; line-height:180%;
}
div.right p {
	width:256px; float:right;
}




p.bnr {
	width:1000px;
	margin:0 auto;
	padding:80px 0 40px;
}
p.bnr2 {
	width:1000px;
	margin:0 auto;
	padding:16px 0 40px;
}





@media screen and (max-width: 640px) {


/*  spn format  */

img.pc {display:none; }
img.spn {display:block; }


/* contents */


div#h_area {
	width:100%; min-width:100%; 
	background:none;
}

header {width:100%; 
	padding:0 16px; 
	box-sizing: border-box; 
	background-image:url(../img/header_bg_spn.jpg);
	background-repeat:repeat-x;
	background-position:0 0; 
}

footer {width:100%; margin:0 auto; padding:0 16px; box-sizing: border-box; }

header div,
footer div {
	width:100%; 
}

header div {
	padding:16px 0 16px; 
	box-sizing: border-box;
}
header p#logo {
	width:52%; 
	padding:16px 0 0;
	box-sizing: border-box;
}

header div.rightside {
	width:40%; 
}
header div.rightside:after {
	content: ""; clear: both; height: 0; display: block; visibility: hidden;
}
header ul.sns {
	width:54px; float:right; padding:0;
}
header ul.sns li {
	width:23px; float:left;
}
header ul.sns li:last-child {
	float:right;
}
header ul.cnt {
	width:100%; 
	padding:4px 8px;
	box-sizing: border-box;
	background-color:#FFF;
	border-radius:4px;
}
header ul.cnt li {
	font-size:0; line-height:0;
	margin:0;
	padding:2px 0;
}

div#contents {
	width:100%; min-width:100%;
	background-image:url(../img/lead_bg.jpg);
	background-repeat:repeat-x;
	background-position:0 0; 
}

footer div {
	font-size:50%;
	padding:0 0 40px; 
}

nav {
	width:100%;
}
nav ul {
	width:100%;
	font-size:70%;
	padding:14px 0 14px; 
	box-sizing: border-box;
	border-bottom:1px solid #CCC; 
}
nav ul li {
	width:20%; box-sizing: border-box;
}
nav ul li a {
	display:block; width:100%;
	margin:0; padding:4px 0; 
}
nav ul li:first-child a {
	width:100%;
	border-left:none;
}
nav ul li:last-child a {
	width:100%;
	border-right:none;
}

div#f_nav {
	width:100%; 
	padding:16px; 
	box-sizing: border-box;
	border-top:1px solid #CCC; 
}
div#f_nav ul {
	width:100%; 
	font-size:70%;
}
div#f_nav ul li a {
	display:inline-block; 
	margin:0 10px 0 0; padding:0 10px 0 0;
}


div#mainimage {
	width:100%; 
	margin:0 auto; padding:0; 
}
div#mainimage div {
	width:100%; height:auto; 
	padding:0 16px;
	box-sizing: border-box;
	background:none !important;
}
div#mainimage h1 {
	padding:24px 0;
	font-size:160%; line-height:140%; 
}
div#mainimage h1 br {
	display:none;
}
div#mainimage div.service h1 {
	padding:24px 0;
}
div#mainimage div.study h1 {
	padding:24px 0;
}
div#mainimage div.study h1 span {
	display:block;
	font-size:74.5%; color:#666;
}


div#contents h2 {
	margin:0; padding:0 0 14px;
	font-size:200%; line-height:100%; color:#036; font-weight:normal;
}
div#contents h2 span {
	letter-spacing:-20px;
}
div#contents h2.small {
	font-size:200%; line-height:120%;
}

div#contents h3 {
	margin:0; padding:0 0 24px;
	font-size:180%; line-height:100%; color:#036; font-weight:normal;
}

div#contents h4 {
	margin:0; padding:0 0 8px;
	font-size:100%; line-height:120%; 
}


div#contents p.lead {
	margin:0; padding:0 0 14px;
	font-size:100%; line-height:150%; letter-spacing:0.02em; font-weight:bold;
}
div#contents p.lead br {
	display:none;
}

div#contents p.text {
	margin:0; padding:0 0 16px;
	font-size:86%; line-height:180%; letter-spacing:0.02em;
}


div#contents div.section {
	width:100%; min-width:100%; padding:40px 0; 
}


div.article {
	width:100%; padding:0 16px;
	box-sizing: border-box;
}
div.article2 {
	width:100%; padding:32px 16px 0;
	box-sizing: border-box;
}

div.article div.left {
	width:100%; float:none; 
	padding:0 0 16px;
}
div.article div.right {
	width:100%; float:none; 
}

div.box3 {
	width:100%; 
	padding:0 0 16px;
}

div.box3 div.box_child {
	width:100%; float:none; 
	padding:0;
}
div.box3 div:last-child {
	width:100%; float:none; 
}


div.box3 div.box_child dl {
	margin-bottom:16px;
	padding:20px 16px;
	box-sizing: border-box;
}
div.box3 div.box_child dl dt {
	padding:0 0 10px;
	font-size:120%; line-height:100%; 
}
div.box3 div.box_child dl dd {
	font-size:86%; line-height:180%;
}


table {
	width:100%; border-collapse:collapse; border-spacing:0px; 
	border-top:1px solid #CCC;
	margin:24px auto 0;
}
table th,
table td {
	padding:12px 16px; 
	font-size:86%; 
	line-height:160%;
	vertical-align:top;
	border-bottom:1px solid #CCC;
}
table th {
	width:26%;
	color:#666;
	text-align:left; 
	background-color:#F0F0F0; 
}
table td {
	word-break: break-all;
}

table td .iframe-wrapper {
    width: 100% !important;
    height: auto;
  }
table td .iframe {
    width: 100%;
    height: auto;
  }



table.ct th,
table.ct td {
	display:block;
	width:100%;
	box-sizing: border-box; 
}
table.ct th {
	padding:8px 8px !important; 
	font-size:90% !important; 
	line-height:120% !important;
	vertical-align:top;
	border-bottom:none;
	border-right:1px solid #CCC;
}
.tx_l {width:80%; }
.tx_m {width:60%; }
.tx_s {width:35%; }


div.faq_box div.q_box {
	padding:16px 16px 10px;
}

div.faq_box div.a_box {
	margin:0 0 32px;
	padding:16px;
}


div.faq_box div.q_box p.icon,
div.faq_box div.a_box p.icon {
	width:52px; float:none;
	padding:0 0 6px;
}
div.faq_box div.q_box p.qtxt,
div.faq_box div.a_box p.qtxt {
	width:100%; float:none;
	font-size:100%; line-height:160%;
	margin:0;
}
div.faq_box div.a_box p.qtxt span {
	padding:8px 0 0;
}



p.pagetop {
	width:200px;
	padding:0 0 24px;
}
p.pagetop a {
	display:block;
	margin:0; padding:16px 0;
	font-size:96%; line-height:100%; color:#FFFFFF; text-align:center;
	background-image:url(../img/nav_bg.png);
	background-repeat:repeat;
	background-position:0 0; 
	border:1px solid #333;
	border-radius:5px;
	
}





p.pagetop_txt {
	text-align:right;
	padding:8px 0 16px;
}
p.pagetop_txt a {
	width:140px;
	float:right;
	display:block;
	text-align:right;
	padding:0 0 8px 14px !important;
	font-size:86% !important; 
	color:#036;
	background-image:url(../img/arrow_pt.png);
	background-repeat:no-repeat;
	background-position:0 5px;
}



div.profile {
	margin:15px 0 0;
	padding:24px;
}
div.profile h4 {
	font-size:80%;
}
div.profile p {
	font-size:80%; line-height:180%;
}
div.right p {
	width:100%; float:none;
}




p.bnr {
	width:100%;
	padding:40px 16px 40px;
	box-sizing: border-box;
}
p.bnr2 {
	width:100%;
	padding:16px 16px 40px;
	box-sizing: border-box;
}




}




