@charset "utf-8";
/* CSS Document */

/* Reset
----------------------------------------------------*/
html {overflow-y: scroll;}
body,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;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
table,th,td {font-size: 100%;line-height: 1.6;}
caption,th {text-align: left;font-weight: normal;}
object,embed {vertical-align: top;}
hr,legend {display: none;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: normal;}
img,abbr,acronym,fieldset {border: 0;}
ul,li {list-style-type: none;}
img,a img{border:none;background:transparent;vertical-align:bottom;}

/* font
----------------------------------------------------*/
body {
	font: 62.5% Meiryo, arial, clean, verdana, "ＭＳ Ｐゴシック", Osaka, sans-serif;
	color: #333;
}
html>/**/body { font-size: 10px; } /* Except IE */
* html body { /* IE6用フォント指定 */
	font: 62.5% "ＭＳ Ｐゴシック", Meiryo, arial, clean, verdana, Osaka, sans-serif;
}

/*--- default */
body {
	background: #fff;
	text-align: center;
	margin: 0 auto;
}

/* Link
----------------------------------------------------*/
a {
	color: #00F;
}
a:hover {
	text-decoration: none;
}


/* float,clear
----------------------------------------------------*/
.fleft {
	float: left;
}
.fright {
	float: right;
}
.clear {
	clear: both;
}
.cf { /* clearfix */
	zoom: 1;
}
.cf:after {
	content:'';
	display: block;
	clear: both;
}


/* text
---------------------------------------- */
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}
.txt_narrow {
	letter-spacing: -1px;
}
.txt_space {
	letter-spacing: 1px;
}
.txt_indent {
	text-indent: 1em;
}


/* wrapper
----------------------------------------------------*/
#wrapper {
	width: 920px;
	margin: 0 auto;
}


/* header
----------------------------------------------------*/
#header {
	position: relative;
	width: 920px;
	height: 78px;
	text-align: left;
}

/*  ========================= general */
#header .headTxt,
#header #logo,
#header #guideNav,
#header #globalNav,
#header #headInfo,
#header #htel,
#main_image #mainContact,
#main_image #mainRequest,
#main_image #mainDemo {
	position: absolute;
}

/*  ========================= header */
#header h1.headTxt {
	top: 0;
	left: 0;
	color: #333;
}
#header h2.headTxt {
	top: 0;
	right: 0;
	color: #333;
}
#header #logo {
	top: 10px;
	left: 0;
}
#header #guideNav {
	top: 13px;
	right: 1px;
	font-size: 12px;
}
#header #guideNav li {
	display: inline;
	padding-left: 0;
}
#header #guideNav li+li {
	display: inline;
	padding-left: 0;
	border-left: 1px solid #333;
	padding-left: 5px;
	margin-left: 5px;
}
#header #guideNav a {
	color: #333;
}
#header #globalNav {
	top: 115px;
	left: 0;
	width: 920px;
	height: 35px;
}
#header #globalNav li {
	float: left;
}
#header #headInfo {
	top: 30px;
	right: 0;
}
#header #htel {
	top: 39px;
	right: 3px;
}


/* content
---------------------------------------- */
#content {
	width: 100%;
	font-size: 140%;
	margin-top: 3px;
}
p.gotop {
	clear: both;
	text-align: right;
	font-size: 0;
}
.secttl {
	padding: 30px 0 30px 0;
}
.ttlitem {
	width: 920px;
	margin: 30px -10px 0 -10px;
}


/* nav
---------------------------------------- */
#nav {
	float: left;
	width: 200px;
	margin-bottom: 20px;
}


/* main
---------------------------------------- */
#main {
	width: 100%;
	text-align: left;
	line-height: 1.6;
}

/*  ========================= locus */
#content ol#locus {
	margin-bottom: 10px;
}
#content ol#locus li {
	display: inline;
	padding-left: 20px;
	background: url(../img/common/bg_locus.gif) no-repeat center left;
	line-height: 1;
}
#content ol#locus li.firstChild {
	padding-left: 0;
	background: none;
}


/* footer
---------------------------------------- */
#footer {
	background:url(../images/common/footer_bk.png) repeat-x 0 0;
	clear: both;
	widows: 100%;
}
#footer #assistNav {
	text-align: center;
}
#footer #assistNav li {
	display: inline;
	padding-left: 10px;
	background: url(../img/common/bg_assist.gif) no-repeat center left;
}
#footer #assistNav li.firstChild {
	padding-left: 0;
	background: none;
}
#footer #copyright {
	margin-top: 10px;
}
#footer #footer_inner {
	width: 920px;
	margin: 0 auto;
	background:url(../images/common/footer_bk.png) repeat-x 0 0;
}


/* general
----------------------------------------------------*/
#content .last {
	margin-bottom: 0;
}

/*  ========================= text */
#content p {
	margin-bottom: 1em;
}
#content .emphasis {
	color: #f00;
	font-weight: bold;
}
#content .attention {
	font-size: 12px;
	color: #F00;
}

/*  ========================= img */
#content .imgL {
	float: left;
	margin-right: 1em;
	margin-bottom: 0;
}
#content .imgLbtm {
	float: left;
	margin-right: 1em;
}
#content .imgR {
	float: right;
	margin-left: 15px;
	margin-bottom: 0;
}
#content .imgRbtm {
	float: right;
	margin-left: 1em;
}

/*  ========================= box */
.section {
	margin: 0 10px;
}
.back_g {
	background-color: #F0F0F0;
}

/*  ========================= title */
#main h3 {
	margin-top: 40px;
	margin-bottom: 20px;
}
#main h4 {
	margin-top: 30px;
	margin-bottom: 15px;
}
#main h5 {
	margin-top: 20px;
	margin-bottom: 10px;
}
#main h3.firstChild,
#main h4.firstChild,
#main h5.firstChild {
	margin-top: 0;
}

/*  ========================= table */
#main table {
	width: 660px;
	background: #ccc;
}
#main table th,
#main table td {
	padding: 5px 10px;
	text-align: left;
	vertical-align: middle;
}
#main table th {
	background: #efefef;
}
#main table td {
	background: #fff;
}

/*  ========================= defalt list */
#main p.defList,
#main .defList li,
#main .defList dt {
	padding-left: 15px;
	background: url(../img/common/icon.gif) no-repeat 0 5px;
}
#main .defList dd {
	padding-left: 15px;
}

/*  ========================= attention */
#main p.attention,
#main .attention li,
#main .attention dt {
	padding-left: 15px;
	background: url(../img/common/icon_attention.gif) no-repeat 0 5px;
}
#main .attention dd {
	padding-left: 15px;
}

/*  ========================= text Link */
#main p.txtLink {
	margin-top: 5px;
	text-align: right;
}
#main p.txtLink a {
	display: block;
	padding-left: 20px;
	background: url(../img/common/icon_arrow.gif) no-repeat left center;
	/zoom: 1;
}


/*  ========================= margin padding */
.m0 { margin-bottom: 0px !important;}
.m2 { margin-bottom:2px;}
.m5 { margin-bottom:5px;}
.m6 { margin-bottom:6px;}
.m7 { margin-bottom:7px;}
.m8 { margin-bottom:8px;}
.m10 { margin-bottom:10px;}
.m12 { margin-bottom:12px;}
.m13 { margin-bottom:13px;}
.m14 { margin-bottom:14px;}
.m15 { margin-bottom:15px;}
.m16 { margin-bottom:16px;}
.m20 { margin-bottom:20px;}
.m25 { margin-bottom:25px;}
.m30 { margin-bottom:30px;}
.m40 { margin-bottom:40px !important;}
.m50 { margin-bottom:50px;}
.m60 { margin-bottom:60px;}
.m70 { margin-bottom:70px;}
.m80 { margin-bottom:80px;}
.m90 { margin-bottom:90px;}
.m100 { margin-bottom:100px;}

.ml10 { margin-left:10px; display:inline;}
.ml15 { margin-left:15px; display:inline;}
.ml20 { margin-left:20px; display:inline;}
.ml25 { margin-left:25px; display:inline;}
.ml23 { margin-left:23px; display:inline;}
.ml28 { margin-left:28px; display:inline;}
.ml30 { margin-left:30px; display:inline;}
.ml43 { margin-left:43px; display:inline;}
.ml10_o { margin-left:10px;}
.ml20_o { margin-left:20px;}

.mr3 { margin-right:3px; display:inline;}
.mr7 { margin-right:7px; display:inline;}
.mr10 { margin-right:10px; display:inline;}
.mr15 { margin-right:15px; display:inline;}
.mr20 { margin-right:20px; display:inline;}
.mr30 { margin-right:30px; display:inline;}
.mr10_o { margin-right:10px;}
.mr20_o { margin-right:20px;}

.pt20 { padding-top:20px;}
.pt40 { padding-top:40px;}

.p20 { padding-bottom:20px;}
.p40 { padding-bottom:40px;}
.p90 { padding-bottom:90px;}

.pl10 { padding-left:10px;}
.pr10 { padding-right:10px;}

.mt4 { margin-top:4px;}
.mt5 { margin-top:5px;}
.mt6 { margin-top:6px;}
.mt8 { margin-top:8px;}
.mt10 { margin-top:10px;}
.mt20 { margin-top:20px;}
.mt28 { margin-top:28px;}
.mt30 { margin-top:30px;}




/*
----------------------------------------------------*/
#contact_btn {
	clear: both;
	padding: 40px 0 60px 0;
}



/* 01 index
----------------------------------------------------*/
#index-Page {
  background: url(../images/common/body_bk.png) repeat-x top left;
}
#index-Page #main_image {
	padding: 0;
	margin: 0;
	position: relative;
}
#main_image #mainContact {
	top: 239px;
	left: 0;
}
#main_image #mainRequest {
	top: 239px;
	left: 139px;
}
#main_image #mainDemo {
	top: 284px;
	left: 0;
}


#index-Page .section {
	padding-bottom: 20px;
}


/* 02 partner-Page
----------------------------------------------------*/
#partner-Page {
  background: url(../images/common/body_con_bk.png) repeat-x 0 0;
}
#partner-Page #main_image {
	padding: 0;
	margin: 23px 0 0 0;
}
#partner-Page .section {
	margin-bottom: 60px;
}
#partner-Page #content {
	margin-top: 18px;
}
#partner-Page #main {
	padding: 10px 0 0 0;
}
.partnerttl {
	background:url(../images/common/ttl_h3_bk.png) no-repeat 0 2px;
	padding: 0 0 6px 20px;
	font-size: 20px;
	font-weight: bold;
	margin-top: 0!important;
}
#partner-Page .partner_img {
	float: right;
	margin: 0 0 15px 15px;
}
#partner-Page table.patner_detail {
	width: 600px;
	margin: 0 0 20px 0;
	float: left;
	background: #FFF;
}
#partner-Page table.patner_detail th {
	border-bottom: 1px dotted #CCC;
	text-align: left;
	background: #FFF;
	padding: 15px 5px 0 10px;
	vertical-align: top;
	width: 15%;
	font-weight: bold;
}
#partner-Page table.patner_detail td {
	border-bottom: 1px dotted #CCC;
	padding: 15px 5px 0 10px;
}
#partner-Page .partner_text {
	clear: both;
	border: 1px solid #CCC;
	background: #E1F7FF;
	padding: 10px 10px 3px 10px;
	margin-top: 20px;
}
*:first-child+html #partner-Page .partner_text {
	padding: 5px 10px 3px 10px;
}
#partner-Page .partner_text span {
	color: #004DA0;
	font-weight: bold;
	font-size: 16px;
	line-height: 2.0em;
}





/* faq style
----------------------------------------------------*/
.faq_area {
	width: 900px;
	margin-left: 5px;
	margin-top: 20px;

}
.faqItem {
	background: url(../images/faq_head.png) no-repeat 0 0;
	padding-top: 6px;
	float: left;
	margin: 0 10px 10px 0;
}
.faqContent {
	background: url(../images/faq_cont.png) repeat-y 0 0;
}
dl.faq {
	width: 440px;
	padding-bottom: 8px;
	background: url(../images/faq_fot.png) no-repeat 0 bottom;
	padding-top: 5px;
}
dl.faq dt {
	background: url(../images/faq_q.png) no-repeat left top;
	border-bottom: 1px dotted #CCC;
	padding: 5px 5px 10px 65px;
	margin: 0 15px 5px 15px;
	min-height: 48px;
}
#content dl.faq dt p,
#content dl.faq dd p {
	margin-bottom: 0;
}
dl.faq dd {
	background: url(../images/faq_a.png) no-repeat 0 10px;
	padding: 5px 5px 10px 65px;
	margin: 10px 15px 0 15px;
}


/* demo style
----------------------------------------------------*/
#content .demoArea {
	background: url(../images/contents_bg_demo.png) no-repeat left top;
	padding: 25px 0 15px;
}



/* formPage
----------------------------------------------------*/
#contactPage {
  background: url(../images/common/body_con_bk.png) repeat-x 0 0;
}
#contactPage #main_image {
	padding: 0;
	margin: 23px 0 0 0;
}
#contactPage #content {
	margin-top: 18px;
}
#contactPage #main {
	padding: 10px 0 0 0;
}
#contactPage form input,
#contactPage form select,
#contactPage form textarea {
	margin-right: 5px;
	padding: 3px;
	border: 1px solid #ccc;
	background-color: #fff;
	vertical-align: middle;
}
#contactPage form .nonDeco {
	border: none;
	padding: 0;
	background: none;
}
#contactPage form textarea {
	font-size: 12px;
}
#contactPage table.form_content {
	width: 100%;
	margin: 0 0 20px 0;
	float: left;
	background: #FFF;
}
#contactPage table.form_content th {
	border-bottom: 1px dotted #CCC;
	text-align: left;
	background: #FFF;
	padding: 15px 5px 10px 10px;
	vertical-align: top;
	width: 25%;
	font-weight: bold;
}
#contactPage table.form_content td {
	border-bottom: 1px dotted #CCC;
}
#contactPage table.form_content td div {
	border-left: 1px solid #CCC;
	padding: 10px 0 10px 15px;
}
#contactPage table.form_address {
	background: #FFF;
	border-bottom: none;
}
#contactPage table.form_address td {
	padding: 5px 0;
	border-bottom: 1px dotted #CCC;
	border-top: none;
}
.must {
	float: left;
	width: 46px;
	height: 21px;
	overflow: hidden;
	margin: 0px 0px 0px 0px;
	background-image:url(../images/contact_must1.png);
	text-indent:-50000px;
	display:block;
	margin-right:10px;
}
.opp {
	float: left;
	width: 46px;
	height: 21px;
	overflow: hidden;
	margin: 0px 0px 0px 0px;
	background-image:url(../images/contact_must2.png);
	text-indent:-50000px;
	display:block;
	margin-right:10px;
}
#contactPage #submit input {
	width: 216px;
	height: 51px;
	border: none;
	text-indent:-50000px;
	overflow: hidden;
}
#contactPage #submit input#check {
	background: url(../images/contact_check_off.png) no-repeat left top;
}
#contactPage #submit input#check:hover {
	background: url(../images/contact_check_on.png) no-repeat left top;
}
#contactPage #submit input#send {
	background: url(../images/contact_send_off.png) no-repeat left top;
}
#contactPage #submit input#send:hover {
	background: url(../images/contact_send_on.png) no-repeat left top;
}





/* input width style
----------------------------------------------------*/
#contactPage form .input1 {
	width: 150px;
}
#contactPage form .input2 {
	width: 350px;
}
#contactPage form .input3 {
	width: 80px;
}
#contactPage form .input4 {
	width: 50px;
}


/* submit area style
----------------------------------------------------*/
#contactPage div#submit {
	margin-top: 30px;
	text-align: center;
}
#contactPage div#submit input {
	width: 150px;
	padding: 5px;
	border: solid 1px #ccc;
	background: #dfdfdf;
}


/* text style
----------------------------------------------------*/
#contactPage form p.attention {
	margin-bottom: 5px;
	padding-left: 0;
	background: none;
	color: #f00;
	text-align: right;
}
#contactPage form table em {
	margin-left: 2px;
	font-style: normal;
	font-weight: normal;
	font-size: 0.8em;
	color: #f00;
}
#contactPage p.formError {
	color: #f00;
	text-align: center;
}
#contactPage p.formMessage {
	margin: 50px 0;
	text-align: center;
}







/* privacy
----------------------------------------------------*/
.checkbox {
	text-align: center;
}
.pri {
	width: 650px;
	padding: 0 10px 0 10px !important;
	height:150px;
	overflow-y:auto;
	background:#FFF;
	border:1px solid #CCC;
}
.pri h3 {
	background: url(../images/contact_h3_bg02.jpg) no-repeat left top;
	border: 1px solid #CCC;
	font-size: 14px;
	font-weight: bold;
	padding: 9px 0 0 22px;
	margin-top: 20px !important;
	margin-bottom: 15px !important;
	height: 30px;
}
.pri div {
	margin: 0 0 10px 0;
	padding: 6px 0 4px 10px !important;
	border-left: 3px solid #FF9233 !important;
	background-color:#FEF5E4;
	font-weight: bold;
}
.pri p {
	margin: 0 0 15px 0;
}
.pri span {
	display: block;
	text-align: center;
	font-weight: bold;
}
.pri dl {
	margin: 0 0 15px 0;
}
.pri dl img {
	float: right;
	margin: 0 0 5px 5px;
}
.pri dt {
	font-weight:bold;
	color: #005FAA;
}
.pri dd {
	float:left;
	margin: 0px;
	padding: 0px;
}
.pri ul {
	margin: 0 0 15px 0;
}
.pri li {
	background-color:#F4F4F4;
	padding: 3px 5px 3px 5px;
	text-align: left;
	margin: 0 0 2px 0;
}
.pri table.prr {
	width: 635px !important;
	background-color: #FFFFFE !important;
	margin: 0 0 15px 0;
	padding: 0;
}
	.pri table.prr th {
		background-color: #F4F4F4 !important;
		color: #005FAA;
		padding: 7px 8px !important;
		margin: 0;
		font-weight: bold !important;
		line-height: 1.4em;
	}
	.pri table.prr td {
		background-color: #F4F4F4 !important;
		width: 480px;
		padding: 7px 8px !important;
		margin: 0;
		line-height: 1.4em;
	}


.caseCate {
	margin: 15px 0;
}
.caseCate dt {
	margin-right: 10px;
	float: left;
}
.caseCate dd {
	margin-right: 50px;
	font-weight: bold;
	font-size: 16px;
	float: left;
	margin-top: 5px;
}
.firstBox {
	background: #F0F0F0;
	padding: 25px;
}
.secondBox {
	background: #EEF9FF;
	padding: 25px;
}
.caseBox {
	width: 595px;
	float: left;
}
.caseBox h2 {
	margin-bottom: 15px;
}
.caseBox p {
	line-height: 1.8;
}


/* 171025追加
----------------------------------------------------*/
#main .bg-wh {
	background: #FFFFFF;
	padding:20px 0 30px 0;
}
#main .bg-gr {
	background: #F0F0F0;
	padding:20px 0 30px 0;
}
#main .section {
	padding-bottom: 20px;
	width: 920px;
	margin: 0 auto;
}

.section dl{
	display: block;
}
.section dl dt img.fright {
	margin: 0 0 0 50px;
}
.section dl dt img.fleft {
	margin: 0 50px 0 0;
}
.section dl dd{
	width: 920px;
}
.section dl dd p{
	line-height: 2.5;
	padding: 10px;
}

#ytmovie{
  display:block;
  width:100%;
  max-width:640px;
  margin:20px auto 0;
  position:relative;
  text-align:center;
}

@media screen and (max-width:640px) {
  #ytmovie{
    padding-top: 56.25%;
  }
  #ytmovie iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
  }
}

.section .box{
	margin-bottom: 30px;
	border-bottom: 1px solid #cccccc;
	height: 360px;
}
.section .box-end{
	margin-bottom: 30px;
	height: 360px;
}
.section span{
	display: block;
    margin: 20px 0 0;
    line-height: 1.6;
    color: #00a9e4;
    font-size: 24px;
    font-weight: bold;
	padding: 0 10px;
}

#contact_btn {
	text-align: center;
}


/*171114--------------------------------------*/

dl.reasonBox3 {
    padding: 20px 0;
    border-top: 1px dashed #ccc;
}
dl.reasonBox3:nth-of-type(3) {
    border-bottom: 1px dashed #ccc;
}
dl.reasonBox3 dt {
    background:#82CCF3;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    width: 280px;
    text-align: center;
	display: table-cell;
    vertical-align: middle;
}
dl.reasonBox3 dd {
 	display: table-cell;
    width: 610px;
	padding-left: 30px;
}
dl.reasonBox3 span {
    color:#25A5E2;
    font-size: 20px;
    font-weight: bold;
	margin: 0;
    margin-bottom: 10px;
    display: block;
	padding: 0;
}
dl.priceBox {
    background: #fff;
    padding: 30px 40px;
    width: 800px;
    margin: 20px auto 0;
}
dl.priceBox dt {
    float: left;
    width: 575px;
}
dl.priceBox dt span {
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: bold;
    color: #333;
}
dl.priceBox dd {
    float: right;
    width: 195px;
	vertical-align: middle;
}
dl.priceBox dt a {
    display: block;
    margin-top: 20px;
}

#globalnav {
	width: 920px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
#globalnav li a:hover {
	opacity: 0.7;
	transition: 0.3s;
}

.attend {
	margin-top: 15px;
	width: 457px;
}
.attend h3 {
	font-size: 18px;
	font-weight: bold;
	margin-top: 0 !important;
	margin-bottom: 10px !important;
}
.attend .box {
	padding: 10px;
	border: 1px solid #ccc;
	height: auto;
	background: #fff;
}
.attend .box ul {
	display: flex;
	flex-wrap: wrap;
}
.attend .box ul li {
	width: 50%;
}
.bold {
	font-weight: bold;
}
#ytmovie.price {
	width: 547px;
	text-align: left;
}
#ytmovie.price p {
	margin-top: 10px;
}
a:hover img {
	opacity: 0.7;
	transition: 0.3s;
}

/*200619追記*/
.section.tele_flex {
    display: flex;
    flex-wrap: wrap;
    width: 920px;
    justify-content: space-between;
}
.section.tele_flex div p {
    text-align: center;
    font-weight: bold;
    margin-top: 3px;
    font-size: 17px;
}
.section.tele_flex div img {
    max-width: 100%;
	margin: 0 auto;
	display: block;
}

.section.tele_flex div {
    width: 21%;
}
.section.tele_flex div:nth-child(n+5){
    margin-top: 20px;	
}
.section.cf p{
	font-size: 110%;
}