@charset "utf-8";

/**
 *
 * common: 共通
 *
 */

/****************************
 Base
****************************/
#Contents h2{
	font-size: 32px;
	line-height: 1.5;
	margin: 0 0 40px 0;
	color: #133b67;
	text-align: center;
}
#Contents h3 {
	font-size: 24px;
	line-height: 1.6;
	margin: 0 0 30px 0;
	color: #133b67;
	text-align: center;
}
#Contents h2.line{
	margin: 0 0 60px 0; 
}
#Contents .line span{
	display: inline;
	border-bottom: 3px solid #5ab9e2;
}
#Contents .bg span {
	display: inline-block;
	padding: 0.2em 1em;
	color: #fff;
	line-height: 2;
	background: #195eab;
	margin: 0 0 10px 0;
}
p{
	line-height: 2;
}
p.mini {
	font-size: 80%;
}
b,strong {
	color:#195eab;
}
b.pink {
	color:#dc3781;
}
.wrap:after{
	clear: both;
	content: "";
	display: block;
}

.neon {
	background: linear-gradient(transparent 60%, #fafcb7 100%);
}
.neon {
	background: linear-gradient(transparent 60%, #fdcde1 100%);
}
.wrap.grid {
	background: url(../images/grid-line.gif) repeat-x left top;
}
.center,p.strong {
	display: block;
	text-align: center;
	margin: 0 0 20px;
	font-size:20px;
}


div.left {
	width: 50%;
	float: left;
}
img.left {
	display: inline-block;
	float: left;
	margin: 0 40px 30px 0;
}
img.right {
	display: inline-block;
	float: right;
	margin: 0 0 30px 40px;
}
div.image img {
	width: 100%;
}
div.body.mat {
	padding: 40px;
	background: #f3f8fa;
}
#Contents h3.point {
	padding: 0 0 10px 90px;
	text-align: left;
	font-size: 32px;
	line-height: 1.5;
}
.point span.ruby {
	font-size: 18px;
	font-weight: normal;
}
.point.no1{
	background: url(../images/No1.png) no-repeat left center;
	background-position: 0 20px;
}
.point.no2{
	background: url(../images/No2.png) no-repeat left center;
	background-position: 0 20px;
}
.point.no3{
	background: url(../images/No3.png) no-repeat left center;
	background-position: 0 20px;
}
#Contents ul:after {
	content: "";
	display: block;
	clear: both;
}
.column3 {
	padding: 40px 0;
}
.column3 li {
	width:33.3%;
	float:left;
	line-height:1.7;
}
.column3 li:nth-child(3n+1) {
	padding:0 1.4% 0 0;
}
.column3 li:nth-child(3n+2) {
	padding:0 0.7%;
}
.column3 li:nth-child(3n+3) {
	padding:0 0 0 1.4%;
}

.note {
	background: url(../images/bg-grid.gif) #fff;
	padding: 40px;
	margin: 80px 0 0 0;
}
.note.gray {
	background: url(../images/bg-grid-gray.gif) #fff;
}
.note h3.bg {
	margin-top:-70px !important;
}
ol,ul {
  margin: 10px 0;
}
ol li{
	line-height: 2; 
	margin: 0 0 5px 0; 
	font-size: 15px;
	list-style:decimal ;
}
ul li{
	line-height: 2; 
	margin: 0 0 5px 0; 
	font-size: 15px;
}
.big {
	font-size: 150%;
}

/****************************
 Animation
****************************/
@keyframes navMove {
	0% {right:-280px;}
	100% {right:0px;}
} 
/****************************
 JS Sync
****************************/
body.active{
	position:fixed;
	height:100%;
	overflow:hidden;
}
#Page {
	opacity:0;
	-webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
	letter-spacing: 1px;
}
#Page.active {
	opacity:1;
}
/****************************
 Layout
****************************/
#Contents div.section-inner,
#Footer div.section-inner{
	width:100%;
	margin:0 auto;
	max-width:1260px;
	-webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
	padding:70px 40px 80px 40px;
	opacity: 0;
	transform: translate(0,50px);
    -webkit-transform: translate(0,50px);
}
#Contents div.section-inner.show,
#Footer div.section-inner.show {
	opacity: 1;
	transform: translate(0,0);
    -webkit-transform: translate(0,0);
}
#Contents div.section-inner:after,
#Footer div.section-inner:after{
	content: "";
	display: block;
	clear: both;
}
/****************************
 Header
****************************/
#Header {
	width: 100%;
	height: 80px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 15px 0 30px;
}
#HeaderInner {
	position: relative;
}
#Title{
	height:80px;
	line-height: 80px;
}
#Title img{
	vertical-align: middle;
}
#Title img:last-child {
	height: 40px;
	margin: 0 0 0 20px;
}
#GlobalNav{
	position: absolute;
	top: 0;
	right:20px;
	margin: 0 !important;
	padding: 0 !important;
}
#GlobalNav a span {
	display: block;
}
#GlobalNav a {
	text-align: center;
	color: #fff;
	text-decoration: none;
	width: 100%;
	height: 80px;
}
#GlobalNav li{
	display: inline-block;
	padding: 0;
	margin: 0 0 0 20px;
	line-height: 80px;
	position: relative;
}
#GlobalNav a:hover,
#GlobalNav li.active a {
	color: #fff;
}
#GlobalNav li:after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	bottom:0;
	left: 0;
	background-color: #fff;
	position: absolute;
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
#GlobalNav li:hover:after,
#GlobalNav li.active:after{
	width: 100%;
}

/****************************
 Keyvisual
****************************/
#Keyvisual {
	width: 100%;
	height: 760px;
	background: url(../images/kv.jpg) no-repeat bottom center #33afc7;
	background-size: cover;
	color: #fff;
}
#Keyvisual div.section-inner{
	width: 100%;
	text-align: center;
}
#Keyvisual h2 {
	font-size: 32px;
	line-height: 1.5;
}
#Keyvisual div.logo{
	position: relative;
	display: inline-block;
}
#Keyvisual h2 img {
	max-width: 420px;
	margin: 30px 0;
}
#Keyvisual h2 span {
	position: absolute;
	top: 40%;
	right: -70px;
	font-size: 12px;
}

/****************************
 Footer
****************************/
#Footer:after {
	display: block;
	clear: both;
}
#Footer div.section-inner {
	padding: 20px 40px;
}
#Footer nav {
	float: left;
}
#Footer nav li {
	display: inline-block;
	padding: 0 20px 0 0 ;
	vertical-align: middle;
}
#Footer small {
	float: right;
	line-height: 50px;
}

/*--------------------------------------------------------------------------
	Tablet
---------------------------------------------------------------------------*/

@media all and (max-width: 1024px) {

}

/*--------------------------------------------------------------------------
	Smart Phone
---------------------------------------------------------------------------*/

@media all and (max-width: 767px){
body {
	font-size:13px;
}
/****************************
 Layout
****************************/
#Contents div.section-inner,
	#Footer div.section-inner{
	padding:0;
	margin: 0 auto;
}
/****************************
 MENU
****************************/
#MenuButton {
	display:none;
	width:60px;
	height:60px;
	padding:20px 20px;
	position:absolute;
	top:20px;
	right:20px;
	z-index:999;
	cursor:pointer;
}
#Menu {
	width: 20px;
	height: 24px;
	margin: 0 auto;
	position: relative;
	cursor: pointer;
}
#Menu .bar {
	display: inline-block;
	width: 20px;
	height: 2px;
	background-color: #fff;
	position: absolute;
	left: 0;
	transition: .15s ease-in-out;
}
#bar01 {
	top: 0;
}
#bar02 {
	top: 8px;
}
#bar03 {
	top: 16px;
}
#Menu.active .bar {
	background-color: #fff;
}
#Menu.active #bar01 {
	top: 8px;
	transform: rotate(45deg);
}
#Menu.active #bar02 {
	width: 0;
}
#Menu.active #bar03 {
	top: 8px;
	transform: rotate(-45deg);
}
#Nav {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background:rgba(34,34,34,0.8);
	z-index:1000;
}
#NavInner {
	width:280px;
	height:100%;
	position:fixed;
	top:0;
	right:0;
	background:#fff;
	-webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
	box-shadow: 0px 1px 0px 1px rgba(0,0,0,0.1);
	z-index:1001;
	overflow-x: hidden;
    overflow-y: auto;
}
#NavInner.active {
	animation: navMove 0.25s alternate ease-out;
	-ms-animation: navMove 0.25s alternate ease-out;
	-webkit-animation: navMove 0.25s alternate ease-out;
	-moz-animation: navMove 0.25s alternate ease-out;
	right:0;
}	
#NavInner:before {
	content:"CLOSE　";
	display:block;
	font-size:14px;
	width:100%;
	height:70px;
	line-height:70px;
	text-align:right;
	border-bottom:1px #ddd solid;
	background:#143e6d;
	color:#fff;
}
#MenuButton {
	display: block;
	width:60px;
	height:60px;
	padding:20px 20px;
	top:5px;
	right:0;
}

/****************************
 Header
****************************/
#Header {
	height:70px;
	padding: 0 0 0 15px;
	
}
#HeaderInner {
	height:70px;
}
	#GlobalNav {
		position: static;
		padding: 0 !important;
		top: 0;
		left: 0;
		margin: 0 !important;
	}
	#GlobalNav li {
		display: block;
		width: 100%;
		margin: 0;
		line-height: 1;
		height: auto;
		border-bottom: 1px solid #ccc;
	}
	#GlobalNav li a {
		color: #195eab;
		line-height: 50px;
		text-align: left;
		height: auto;
		padding: 0 0 0 20px;
	}
	#GlobalNav a:hover {
		color: #195eab;
	}
	#GlobalNav li:hover:after,
	#GlobalNav li.active:after{
		width:0;
	}
#Title {
	padding:0;
	line-height:70px;
	vertical-align: middle;
}
#Title img:first-child {
	width:120px;
	height: auto;
}
#Title img:last-child {
	width:70px;
	height: auto;
}
/****************************
 Base
****************************/
#Contents h2{
	font-size:20px;
	margin: 0 0 20px 0;
}
#Contents h3 {
	font-size: 16px;
	margin: 0 0 20px 0;
}
#Contents h2.line{
	margin: 0 0 30px 0; 
}
#Contents .line span{
	border-bottom: 2px solid #5ab9e2;
}
#Contents .bg span {
	display: inline-block;
	line-height: 1.5;
	padding: 8px 15px;
}
.center,p.strong {
	margin: 0 0 10px;
	
}

div.left {
	width: 100%;
	float: none;
}
img.left {
	float: none;
	margin: 0 0 20px 0;
}
img.right {
	float: none;
	margin: 0 0 20px 0;
}
div.body.mat {
	padding:20px 10px;
}
#Contents h3.point {
	padding: 0 0 10px 40px;
	font-size: 20px;
}
.point span.ruby {
	font-size: 18px;
	font-weight: normal;
}
.point.no1{
	background-position: 0 8px;
	background-size: 30px;
}
.point.no2{
	background-position: 0 8px;
	background-size: 30px;
}
.point.no3{
	background-position: 0 8px;
	background-size: 30px;
}
.column3 {
	padding: 20px 0;
}
.column3 li {
	width:100%;
	float:none;
}
.column3 li:nth-child(3n+1) {
	padding:0;
}
.column3 li:nth-child(3n+2) {
	padding:0;
}
.column3 li:nth-child(3n+3) {
	padding:0;
}
.note {
	background: url(../images/bg-grid.gif) #fff;
	padding: 10px;
	margin: 80px 0 0 0;
}
.note h3.bg {
	margin-top:-70px !important;
}
ol,ul {
  margin: 10px 0;
	padding: 0 0 0 20px;
}
ol li{
	font-size: 13px;
}
ul li{
	font-size: 13px;
}
/****************************
 Keyvisual
****************************/
#Keyvisual {
	height: 500px;
}
#Keyvisual div.section-inner{
	width: 100%;
	text-align: center;
}
#Keyvisual h2 {
	font-size: 16px;
	line-height: 1.5;
}
#Keyvisual div.logo{
	position: relative;
	display: inline-block;
}
#Keyvisual h2 img {
	max-width: 200px;
	margin: 20px 0 4px 0;
}
#Keyvisual h2 span {
	position: static;
	display: block;
	margin: 0 0 20px 0;
	right: auto;
	font-size: 10px;
}
/****************************
 Layout
****************************/
#Contents div.section-inner,
#Footer div.section-inner{
	padding:40px 15px;
}
#Contents div.wrap div.section-inner {
	padding:20px 15px;
}
/****************************
 Footer
****************************/
#Footer div.section-inner {
	padding: 20px 15px;
	text-align: center;
}
#Footer nav {
	float: none;
}
	#Footer nav ul {
		padding: 0;
	}
#Footer nav li {
	display: inline-block;
	padding: 0 0 10px 0 ;
	vertical-align: middle;
}
#Footer small {
	float: none;
	font-size: 10px;
	line-height: 1.5;
}


}