@charset "UTF-8";



/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

html{
	font-size: 62.5%;
}
body, button, textarea{
	font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ','Meiryo','Osaka','ＭＳ Ｐゴシック',Arial,sans-serif;
}
body{
	background-color: #F4F4F4;
	color: #333333;
}
body *{
	box-sizing: border-box;
}
body > img{
	display: block;
}
ul li{
	list-style: none;
}
a{
	color: #053764;
	text-decoration: none;
}
a:hover{
	opacity: .6;
}
input[type="text"],
textarea{
	border: 1px solid #CCCCCC;
	width: 100%;
	padding: 10px 12px;
	font-size: 1.5rem;
}
textarea{
	height: 7em;
}

/* --------------------------------------------------------------------------------------------- module */
@media screen and (max-width:768px){
	body {
	width: 100%;
}
}
@media screen and (min-width:769px){
body {
	width: 100%;
	min-width: 1340px;
}
}

.clearfix:after{
	content:".";
	display:block;
	height:0px;
	clear:both;
	visibility:hidden;
	font-size: 0.1em;
}
.clearfix{
	display:block;
}
button.search{
	background: -webkit-linear-gradient(#F0F0F0, #EEE);
	background: -moz-linear-gradient(#F0F0F0, #EEE);
	background: -ms-linear-gradient(#F0F0F0, #EEE);
	background: linear-gradient(#F0F0F0, #EEE);
	border: 1px solid #CCCCCC;
	border-radius: 4px;
	padding: 0 10px;
	height: 40px;
	font-size: 1.4rem;
	font-weight: bold;
	cursor: pointer;
	color: #0D3861;
}
button.search:before{
	margin: 0 4px 0 0;
	vertical-align: middle;
	line-height: 0;
}
label{
	position: relative;
	padding: 0 0 0 7px;
}
label input[type=checkbox]{
	opacity: 0;
}
label .image{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	background: url(/3dprinter/common/img/checkbox.png) no-repeat 0 0;
	width: 20px;
	height: 20px;
}
label input:checked + .image{
	background-position: 0 -20px;
}

/* ----------------------------------------------------------------------------------- customSelect */
.customSelect {
	background: url(/3dprinter/common/img/customSelect_bg.png) no-repeat right center;
	border: 1px solid #CCCCCC;
	padding: 10px 12px;
	width: 240px;
}
.customSelectInner {
	display: block !important;
	width: 186px !important;
	overflow: hidden;
	white-space: nowrap;
}

/* --------------------------------------------------------------------------------------------- header */
#header{
	position: relative;
	min-width: 1340px;
	height: 105px;
	line-height: 1.3;
}
#header.fixed {
  background-color: #F4F4F4;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
}
#header .inr {
  margin: 0 auto;
  position: relative;
  max-width: 1340px;
}
#header a{
	color: #333333;
}
#header .inner{
	margin: 0 auto;

	width: 1340px;
	overflow: hidden;
}
#header .logo{
	float: left;
	margin: 27px 0 0 10px;
}
#header .copy{
	float: left;
	margin: 12px 0 0 20px;
	font-size: 1.1rem;
}

#header .img_tel{
	float: left;
	padding: 12px 0 0 300px;
	font-size: 1.1rem;
}

#header .header_menu {
	position: absolute;
	top: 0;
	right: 0;
}

#header .tel{
	float: right;
	display: block;
	background: #0D3962 url(/3dprinter/common/img/icon_tel.gif) no-repeat 7px 14px;
	padding: 12px 15px 13px 30px;
	font-size: 1.7rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
}
#header ul.menu{
	float: right;
	font-size: 1.1rem;
	overflow: hidden;
}
#header ul.menu li{
	float: left;
	margin: 17px 22px 0 0;
}

#header ul.menu li:last-child{
	margin-right:0;
}

#header ul.menu li.img_tel{
	float: left;
	margin: 12px 49px 12px 0!important;
}

/* --------------------------------------------------------------------------------------------- gmenu */
#gmenu{
  position: relative;
	background: #fff;
	height: 86px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}
#gmenu .inner{
	margin: 0 auto;
	width: 1340px;
}
#gmenu .logo{
	float: left;
	margin: 31px 0 0 15px;
}
#gmenu ul.menu{
	float: right;
	text-align: center;
	overflow: hidden;
}
#gmenu ul.menu li{
	float: left;
}
#gmenu ul.menu li a{
	display: block;
	width: 220px;
	height: 86px;
}
	#gmenu ul.menu li a span{
		padding: 32px 0 0;
		display: block;
		height: 86px;
		border-left: 1px solid #eee;
	}

	#gmenu ul.menu li:last-child a span{
		border-right: 1px solid #eee;
	}


#gmenu ul.menu li a:hover,
#gmenu ul.menu li a.cur{
	border-bottom: 6px solid #D92A49;
	opacity: 1;
}

#gmenu li a.current {
	border-bottom: 6px solid #D92A49;
	opacity: 1;
}

#header .contact{
	position: absolute;
	right: 0;
	top:45px;
}



/* Fixed Navigation */
#gmenu.fixed {
  position: fixed;
  z-index: 10000;
  top: 105px;
  left: 0;
  width: 100%;
  transition: top 0.5s ease-in;
  -webkit-transition: top 0.5s ease-in;
  -moz-transition: top 0.5s ease-in;
}

/* --------------------------------------------------------------------------------------------- breadcrumb */
#breadcrumb{
	background-color: #eaeaea;
	margin: 0;
	padding: 10px 0;
	color: #666666;
	font-size: 1.2rem;
	line-height: 1.3;
}
#breadcrumb a{
	color: #666666;
}
#breadcrumb .inner{
	margin: 0 auto;
	width: 1180px;
}
#breadcrumb ol{
	list-style: none;
	overflow: hidden;
}
#breadcrumb ol li{
	float: left;
}
#breadcrumb ol li + li:before{
	content: '>';
	margin: 0 5px;
}

/* --------------------------------------------------------------------------------------------- contents */
#contents {
	margin: 0 auto;
  padding: 0;
	/*padding: 0 0 50px;*/
}
#contents:after {
	content: "";
	clear: both;
	display: block;
}
#contents .inner {
	width: 1180px;
	background: #fff;
	margin: 50px auto;
	padding: 50px 30px;
  /*padding: 30px;*/
}
#contents .inner2 {
	width: 1180px;
	background: #fff;
	margin: 40px auto;
	padding: 0;
}

#contents2 {
	background: #E5F3F7;
	margin: -20px auto 0;
	padding: 0 0 50px;
}
#contents2:after {
	content: "";
	clear: both;
	display: block;
}
#contents2 .inner {
	width: 1180px;
	background: #E5F3F7;
	margin: 40px auto 30px;
	padding: 10px 0 50px;
	overflow: none;
}

#contents3 {
	margin: 0 auto;
	padding: 0;
	border-bottom: solid 2px #eee;
	background: #fff;
}
#contents3:after {
	content: "";
	clear: both;
	display: block;
}
#contents3 .inner {
	width: 1180px;
	background: #fff;
	margin: 50px auto;
	padding: 50px 30px;
  /*padding: 30px;*/
}
#contents3 .inner2 {
	width: 1180px;
	background: #fff;
	margin: 40px auto;
	padding: 0;
}

#contents .title, #contents2 .title, #contents3 .title {
	font-size: 4.0rem;
	font-weight: normal;
	text-align: center;
	line-height: 1.6;
	color: #11395F;
	padding: 50px 0 0;
}

#contents .title2 {
  font-size: 3.8rem;
  font-weight: normal;
  text-align: center;
  line-height: 1.6;
  color: #11395F;
  padding: 0;
}

#contents .copy, #contents2 .copy, #contents3 .copy {
	margin: 10px 0 50px;
	font-size: 2.0rem;
	text-align: center;
	line-height: 1.6;
}
#contents .body {
	width: 1180px;
	background-color: #ffffff;
	margin: 30px auto;
	padding: 30px;
}

/* --------------------------------------------------------------------------------------------- visual */
#visual{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#visual .inner{
	position: relative;
	margin: 0 auto;
	width: 1180px;
	height: 450px;
}
/* 2016/12/15 追記 */
#visual .inner {
height: 706px;
}

/* --------------------------------------------------------------------------------------------- whatsnew */
#whatsnew{
  position: relative;
	background-color: #113A61;
	display: table;
	width: 100%;
	color: #ffffff;
}
#whatsnew a{
	color: #ffffff;
}
#whatsnew > *{
	display: table-cell;
	vertical-align: top;
	height: 100px;
}
#whatsnew h2{
	background-color: rgba(0,0,0,.2);
	width: 160px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: normal;
	vertical-align: middle;
}
#whatsnew ul{
	padding: 18px 20px 0;
	font-size: 1.4rem;
	line-height: 1.5;
}
#whatsnew ul li{
	display: block;
	height: 1.8em;
	overflow: hidden;
}
#whatsnew ul li a span{
	margin: 0 12px 0 0;
}
#whatsnew .more{
	width: 100px;
	font-size: 1.4rem;
}
#whatsnew .more a{
    background: url(/3dprinter/img/icon_arrow_white.png) no-repeat;
    display: block;
    padding: 42px 0 0 20px;
    width: 100px;
    height: 100px;

    background-position: 91% center;
}

/* 2016/12/15 追記 */
#whatsnew {
width: 936px;
background-color: transparent;
margin: 40px auto 0;

}
#whatsnew a {
color: #333333;
}
#whatsnew h2 {
background-color: #FFFF26;
color: #0D3962;
font-size: 1.8rem;
font-weight: 600;
}
#whatsnew ul {
background-color: #ffffff;
}
#whatsnew .more a {
background-color: #113A61;
color: #FFFFFF;
font-size: 1.6rem;
}

/* --------------------------------------------------------------------------------------------- banner */
#banner1{
	margin: 70px auto 60px;
	width: 1180px;
}
#banner2 a{
	display: block;
	position: relative;
	background: url(/3dprinter/common/img/banner02_bg.jpg) no-repeat center center;
	background-size: cover;
	min-width: 1180px;
	height: 400px;
}
#banner2 span.logo{
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -60px 0 0 -200px;
}

/* --------------------------------------------------------------------------------------------- faq */
#faq{
	margin: 55px auto 90px;
	width: 1180px;
	text-align: center;
}
#faq h2{
	font-size: 3.8rem;
	font-weight: normal;
	color: #053764;
}
#faq ul{
	margin: 50px 0 0;
}
#faq ul li{
	display: inline-block;
	width: 200px;
}
#faq ul li a span{
	display: block;
	margin: 15px 0 0;
	font-size: 1.5rem;
}

/* 2016/12/15 追記 */
#faq{
margin-bottom: 60px;
}
#faq ul li a {
background-color: #ffffff;
color: #333333;
display: block;
font-size: 1.8rem;
padding: 24px 0 25px;
}
#faq ul li a:hover {
background-color: #E6EBEF;
opacity: 1;
}
#faq ul li a span {
margin: 13px 0 0;
}

/* --------------------------------------------------------------------------------------------- appeal */
#appeal {
  background: #fff;
}
#appeal .inner {
	margin: 0 auto;
	padding: 50px 0;
	width: 1180px;
	overflow: hidden;
	text-align: center;
}
#appeal h2 {
	color: #333;
  font-size: 26px;
  font-weight: normal;
  margin: 0 0 40px;
}

/* appeal-box */
.appeal-box {
	width: 850px;
	border: solid 3px #eee;
	margin: 0 auto;
	padding: 25px 0 25px 25px;
}
.appeal-box:after {
	content: "";
	clear: both;
	display: block;
}
.appeal-box h3 {
	float: left;
	color: #333;
	font-size: 14px;
	font-weight: normal;
	margin: 12px 25px 0 0;
}
.appeal-box h3 span {
	display: block;
	background: url(/3dprinter/img/module/icon_phone.gif) no-repeat 45px -1px;
	color: #0D3962;
	font-size: 34px;
	font-weight: bold;
	margin: 0 20px 10px 0;
	padding: 0 0 0 35px;
}
.appeal-box a {
	display: block;
	margin: 0;
}

/* appeal-box2 */
.appeal-box2 {
	width: 820px;
	border: solid 1px #eee;
	margin: 0 auto;
	padding: 0;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.appeal-box2:after {
	content: "";
	clear: both;
	display: block;
}
.appeal-box2 h2 {
	background: #eee;
	color: #333 !important;
  font-size: 20px !important;
  font-weight: normal;
  margin: 0 !important;
  padding: 20px 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-topright: 5px;
}
.appeal-box2 h3 {
	float: left;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	margin: 0;
	padding: 20px 20px 30px;
	border-right: solid 1px #eee;
}
.appeal-box2 .appeal-tel {
	display: block;
	color: #0D3962;
	font-size: 34px;
	font-weight: bold;
	margin: 25px 20px 10px 0;
	padding: 0 0 0 35px;
}
.appeal-box2 .appeal-apo {
	font-size: 14px;
	font-weight: normal;
}
.appeal-box2 p {
	color: #333;
	font-size: 16px;
	font-weight: bold;
	margin: 0;
	padding: 20px 0 0;
}
.appeal-box2 a {
	display: block;
	margin: 16px 0 0;
}

/* --------------------------------------------------------------------------------------------- footer */
#footer{
	background-color: #3a456c;
	color: #ffffff;
}

#footer a{
	display: block;
	color: #ffffff;
	padding: 10px 10px 8px 10px;
}
#footer .top{
	border-bottom: 1px solid #444444;
	font-size: 1.2rem;
	letter-spacing: 0em;
}
#footer .top .inner{
	margin: 0 auto;
	width: 1000px;
}

#footer .top ul.menu{
	display: flex;
	justify-content: space-between;
}
#footer .top ul.menu li{
	float: left;
}
#footer .top ul.menu li + li{
}
#footer .top ul.menu li a{
	background: url(/media_images/cmn/ico/ico_triangle.png) no-repeat 0 center;
	color:#fff;
	text-decoration:none;
	/*font-weight: bold;*/
	-webkit-transition:  0.2s ease-in-out;
	-moz-transition:  0.2s ease-in-out;
	-o-transition:  0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#footer .top ul.menu li a:hover{
	color:#d00018;
	opacity: 100;
	text-decoration:none;
	/*font-weight: bold;*/
	-webkit-transition:  0.2s ease-in-out;
	-moz-transition:  0.2s ease-in-out;
	-o-transition:  0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}


#footer .bottom{
	margin: 0 auto;
	padding: 35px 0 35px 0;
	background: #fff;
	color: #000;
}
#footer .bottom .copyright{
	text-align: center;
	font-size: 1.2rem;
}

#footer .bottom .gLogo{
	text-align: center;
	margin-bottom: 20px!important;
}

/* --------------------------------------------------------------------------------------------- pagetop */
#pagetop {
	display: none;
	position: relative;
}
#pagetop a {
background: url(/3dprinter/common/img/icon_top.png) left top no-repeat;
bottom: 139px;
display: block;
height: 80px;
overflow: hidden;
position: fixed;
right: 20px;
text-indent: 100%;
white-space: nowrap;
width: 80px;
}

/* --------------------------------------------------------------------------------------------- module */
.module {}

/* Headlines */
.module .h1line {
  color: #0D3962;
  font-size: 42px;
  font-weight: normal;
  text-align: center;
}
.module .h2lines {
  color: #333;
  font-size: 32px;
  font-weight: normal;
  border-left: solid 6px #0E3962;
  padding: 5px 0 2px 12px;
  margin: 20px 0;
}
.module .h3lines {
  color: #333;
  font-size: 18px;
  font-weight: bold;
  border: solid 1px #ddd;
  padding: 15px 15px 10px;
  margin: 0 0 20px;
}

/* Paragraph */
.module p {
  color: #333;
  font-size: 16px;
  margin: 0 0 30px;
  line-height: 1.6em;
}

/* Image */
.module .img {
  color: #333;
  font-size: 18px;
  text-align: center;
  margin: 20px 0 50px;
}
.module img {
  width: 100%;
  margin: 0 0 20px;
}

/* Movie */
.module .movie {
  color: #333;
  font-size: 18px;
  text-align: center;
  margin: 20px 0 50px;
}
.module .movie-inner {
  cursor: pointer;
}
.module .movie-inner video {
  width: 100%;
  height: auto;
  margin: 0 0 20px;
}

/* Column */
/* 2Column */
.module .col2 {
  margin: 0 0 30px;
}
.module .col2:after {
  content: "";
  clear: both;
  display: block;
}
.module .col2 .col2-left {
  float: left;
  width: 49%;
}
.module .col2 .col2-right {
  float: right;
  width: 49%;
}

/* 3Column */
.module .col3 {
  margin: 0 0 30px;
}
.module .col3:after {
  content: "";
  clear: both;
  display: block;
}
.module .col3 .col3-left {
  float: left;
  width: 32%;
}
.module .col3 .col3-center {
  float: left;
  width: 32%;
  margin: 0 0 0 22px;
}
.module .col3 .col3-right {
  float: left;
  width: 32%;
  margin: 0 0 0 22px;
}

/* Definition List */
.module ul, .module ol {
  margin: 10px 0 40px 30px;
}
.module ul li {
  list-style-type: disc;
  color: #333;
  font-size: 18px;
  line-height: 1.6em;
  margin: 0 0 10px;
}
.module ol li {
  color: #333;
  font-size: 18px;
  line-height: 1.6em;
  margin: 0 0 10px;
}
.module ul li span, .module ol li span {
  display: block;
  font-size: 16px;
}

.module .check {
  margin: 0 0 30px;
}
.module .check dt {
  background: url(/3dprinter/img/module/icon_check.gif) no-repeat 0 0;
  color: #333;
  font-size: 18px;
  padding: 0 0 0 30px;
  margin: 0 0 15px;
}
.module .check dd {
  color: #333;
  font-size: 18px;
  line-height: 1.6em;
}

/* Special */
.module .special {
  border: solid 1px #ddd;
  margin: 25px 0 40px;
}
.module .special-box {
  padding: 15px 25px;
}
.module .special h3{
  background: #093761;
  color: #fff;
  font-size: 18px;
  margin: 0 0 30px 0;
  padding: 10px;
  text-align: center;
}

/* Table */
.module table {
  width: 100%;
  margin: 0 0 40px;
}
.module table tr {}
.module table th {
  font-size: 18px;
  border: solid 1px #ddd;
  padding: 15px;
  line-height: 1.6em;
}
.module table td {
  font-size: 16px;
  border: solid 1px #ddd;
  padding: 15px;
  line-height: 1.6em;
}

.tbl01 {}
.tbl01 tr:first-child {
  font-weight: bold;
  background: #F5F5F5;
  color: #113960;
}
.tbl01 td {
  text-align: center;
}

.tbl01_b {}
.tbl01_b tr:first-child {
  font-weight: bold;
  background: #113960;
  color: #fff;
}
.tbl01_b td {
  text-align: center;
}

.tbl02 {}
.tbl02 td:first-child {
  font-weight: bold;
  width: 200px;
  background: #F5F5F5;
  color: #113960;
  vertical-align: middle;
}
.tbl02 td {
  vertical-align: middle;
}

.tbl02_b {}
.tbl02_b td:first-child {
  font-weight: bold;
  width: 200px;
  background: #113960;
  color: #fff;
  vertical-align: middle;
}
.tbl02_b td {
  color: #333;
  vertical-align: middle;
}



/* Flow */
.module .flow {
  background: url(/3dprinter/img/module/flow.gif) no-repeat 0 center;
  font-size: 18px;
  border: solid 1px #ddd;
  line-height: 1.6;
  padding: 9px 20px 8px 30px;
  margin: 30px 0 15px;
  vertical-align: middle;
}
.module .flow span.step {
  color: #fff;
  margin: 0 50px 0 0;
}
.module .flow span {
	display: inline-block;
	vertical-align: middle;
}
.module .flow span + span {
	width: 89%;
}


/* Links */
/*InlineLinks*/
.module a {
  text-decoration: underline;
}
.module img {
  display: inline;
/*  width: auto;*/
/*  height: auto;*/
  position: relative;
  top: 2px;
  padding: 0;
  margin: 0;
}

/*InlineMarks*/
.ico_set {
  background: url(/3dprinter/img/module/ico_arrow.png) left center no-repeat;
  padding: 0 0 0 15px;
}

/*Buttons*/
.btn_mintxt {
  display: inline-block;
  background: #113960;
  color: #fff;
  padding: 15px 20px;
  margin: 30px 0px;
  font-size: 16px;
  text-decoration: none !important;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
.btn_mintxt2 {
  display: inline-block;
  background: #113960;
  color: #fff;
  padding: 15px 20px 15px 20px;
  margin: 30px 0px;
  font-size: 16px;
  text-decoration: none !important;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
.btn_mintxt2:after {
  content: "";
  display: inline-block;
  background: transparent url(/3dprinter/img/module/ico_newwin.png) left 1px no-repeat;
  height: 15px;
  width: 20px;
  margin: 0 0 0 5px;
}
.btn_mintxt3 {
  display: inline-block;
  background: #E4561C;
  color: #fff;
  padding: 15px 20px;
  margin: 30px 0px;
  font-size: 16px;
  text-decoration: none !important;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

/* NewsDate */
.module .date {
  text-align: center;
}

/* Backgrounds */
.background {
  clear: both;
  background: #fff;
}
.background2 {
  clear: both;
	background: #F4F4F4;
}
.background3 {
  clear: both;
  background: #fff;
  border-top: solid 2px #eee;
}

.background4 {
  clear: both;
  background: #F4F4F4;
}

/* Boxs */
.box {
  width: 1180px;
  padding: 50px 0;
  margin: 0 auto;
  text-align: center;
}
.box:after {
  display: block;
  content: "";
  clear: both;
}
.box2 {
  width: 1000px;
  padding: 50px 0;
  margin: 0 auto;
  text-align: center;
}
.box2:after {
  display: block;
  content: "";
  clear: both;
}

/* Visuals */
.visual {
  height: 350px;
  padding: 120px 30px 0;
}
.visual-inner {
  width: 1180px;
  margin: 0 auto;
}
.visual h1 {
  color: #fff;
  font-size: 40px;
  font-weight: normal;
  margin: 0 0 30px;
}
.visual p {
  color: #fff !important;
  font-size: 20px;
  line-height: 1.5em;
}

/* Lines */
.line {
  color: #333;
  font-size: 26px;
  font-weight: normal;
  margin: 0 0 30px;
}


/* ↓ マージン指定
================================== */
.m0 { margin: 0px !important;}
.m5 { margin: 5px !important;}
.m10{ margin: 10px !important;}
.m15{ margin: 15px !important;}
.m20{ margin: 20px !important;}
.m25{ margin: 25px !important;}
.m30{ margin: 30px !important;}
.m35{ margin: 35px !important;}
.m40{ margin: 40px !important;}
.m45{ margin: 45px !important;}
.m50{ margin: 50px !important;}

.mtn1 { margin-top: -1px !important;}
.mt0 { margin-top: 0px !important;}
.mt5 { margin-top: 5px !important;}
.mt10{ margin-top: 10px !important;}
.mt15{ margin-top: 15px !important;}
.mt20{ margin-top: 20px !important;}
.mt25{ margin-top: 25px !important;}
.mt30{ margin-top: 30px !important;}
.mt35{ margin-top: 35px !important;}
.mt40{ margin-top: 40px !important;}
.mt45{ margin-top: 45px !important;}
.mt50{ margin-top: 50px !important;}
.mt70{ margin-top: 70px !important;}

.mbn1 { margin-bottom: -1px !important;}
.mb0 { margin-bottom: 0px !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10{ margin-bottom: 10px !important;}
.mb15{ margin-bottom: 15px !important;}
.mb20{ margin-bottom: 20px !important;}
.mb25{ margin-bottom: 25px !important;}
.mb30{ margin-bottom: 30px !important;}
.mb35{ margin-bottom: 35px !important;}
.mb40{ margin-bottom: 40px !important;}
.mb45{ margin-bottom: 45px !important;}
.mb50{ margin-bottom: 50px !important;}
.mb100{ margin-bottom: 100px !important;}
.mb150{ margin-bottom: 150px !important;}

.mrn1 { margin-right: -1px !important;}
.mr0 { margin-right: 0px !important;}
.mr5 { margin-right: 5px !important;}
.mr10{ margin-right: 10px !important;}
.mr15{ margin-right: 15px !important;}
.mr20{ margin-right: 20px !important;}
.mr25{ margin-right: 25px !important;}
.mr30{ margin-right: 30px !important;}
.mr35{ margin-right: 35px !important;}
.mr40{ margin-right: 40px !important;}
.mr45{ margin-right: 45px !important;}
.mr50{ margin-right: 50px !important;}

.mln1 { margin-left: -1px !important;}
.ml0 { margin-left: 0px !important;}
.ml5 { margin-left: 5px !important;}
.ml10{ margin-left: 10px !important;}
.ml15{ margin-left: 15px !important;}
.ml20{ margin-left: 20px !important;}
.ml25{ margin-left: 25px !important;}
.ml30{ margin-left: 30px !important;}
.ml35{ margin-left: 35px !important;}
.ml40{ margin-left: 40px !important;}
.ml45{ margin-left: 45px !important;}
.ml50{ margin-left: 50px !important;}

/* ↓ 余白指定
================================== */
.p0 { padding: 0px !important;}
.p5 { padding: 5px !important;}
.p10{ padding: 10px !important;}
.p15{ padding: 15px !important;}
.p20{ padding: 20px !important;}
.p25{ padding: 25px !important;}
.p30{ padding: 30px !important;}
.p35{ padding: 35px !important;}
.p40{ padding: 40px !important;}

.pt0 { padding-top: 0px !important;}
.pt5 { padding-top: 5px !important;}
.pt10{ padding-top: 10px !important;}
.pt15{ padding-top: 15px !important;}
.pt20{ padding-top: 20px !important;}
.pt25{ padding-top: 25px !important;}
.pt30{ padding-top: 30px !important;}
.pt35{ padding-top: 35px !important;}
.pt40{ padding-top: 40px !important;}

.pb0 { padding-bottom: 0px !important;}
.pb5 { padding-bottom: 5px !important;}
.pb10{ padding-bottom: 10px !important;}
.pb15{ padding-bottom: 15px !important;}
.pb20{ padding-bottom: 20px !important;}
.pb25{ padding-bottom: 25px !important;}
.pb30{ padding-bottom: 30px !important;}
.pb35{ padding-bottom: 35px !important;}
.pb40{ padding-bottom: 40px !important;}
.pb100{ padding-bottom: 100px !important;}
.pb150{ padding-bottom: 150px !important;}

.pr0 { padding-right: 0px !important;}
.pr5 { padding-right: 5px !important;}
.pr10{ padding-right: 10px !important;}
.pr15{ padding-right: 15px !important;}
.pr20{ padding-right: 20px !important;}
.pr25{ padding-right: 25px !important;}
.pr30{ padding-right: 30px !important;}
.pr35{ padding-right: 35px !important;}
.pr40{ padding-right: 40px !important;}

.pl0 { padding-left: 0px !important;}
.pl5 { padding-left: 5px !important;}
.pl10{ padding-left: 10px !important;}
.pl15{ padding-left: 15px !important;}
.pl20{ padding-left: 20px !important;}
.pl25{ padding-left: 25px !important;}
.pl30{ padding-left: 30px !important;}
.pl35{ padding-left: 35px !important;}
.pl40{ padding-left: 40px !important;}

/* ↓ フォントサイズ
================================== */
.f12{ font-size: 12px !important; }
.f14{ font-size: 14px !important; }
.f16{ font-size: 16px !important; }
.f18{ font-size: 18px !important; }

/* ↓ フォントカラー
================================== */
.t_blue{ color:#0E3962 !important;}
.t_red { color:#D70A30 !important;}

/* ↓ テキストウエイト指定
================================== */
.tB { font-weight: bold !important;}
.tN { font-weight: normal !important;}

/* ↓ テキスト位置指定
================================== */
.tL { text-align: left !important;}
.tR { text-align: right !important;}
.tC { text-align: center !important; }

/* ↓ 縦位置指定
================================== */
.vTop { vertical-align: top !important; }
.vMdl { vertical-align: middle !important; }
.vBtm { vertical-align: bottom !important; }
.vBsl { vertical-align: baseline !important; }