@charset "utf-8";
/* =========================================
main_img_area
============================================*/
.main_image_area{
	max-width:100%;
	max-height:590px;
	margin: 83px auto 0;
	overflow: hidden;
}
/*.main_image_area ul li{box-shadow: #000 5px 5px 6px;}
*/.main_image_area ul li img,
.main_image_area ul li a img{
	width: 100%;
	height:auto;
}
.main_image_area ul li a img:hover{opacity: 0.5;}
@media only screen and (max-width: 1199px) {
.main_image_area{
	max-width:100%;
	margin: 0 auto;
}
}
@media only screen and (max-width: 480px) {
.main_image_area{height: auto;}
}
/* =========================================
index-nav
============================================*/
.index-nav{
	width:100%;
	margin-top:0px;
	padding: 0;
	background-color: #002596;
}
anon,
nav > ul li.anon{display: none;}
.index-nav .menu{
	position: relative;
	width:1200px;
	margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.index-nav .menu > a {
/*	display: inline-block;
	vertical-align: middle;
	width: 167px;*/
  width: 100%;
  display: block;
  align-content: center;
	text-align: center;
	margin:0;
	padding: 10px 0;
	color: #fff;
	border-left: #999 1px solid;
	font-size:1.3em;
	letter-spacing: 1.2px;
	box-sizing: border-box;
}
/*.index-nav .menu > a:nth-of-type(1),
.index-nav .menu > a:nth-of-type(2) {
	padding: 18px 0;
}
.index-nav .menu > a:nth-of-type(3) {
	padding: 10px 0;
}*/
.index-nav .menu > a:last-child {
	border-right: #999 1px solid;
}
/*---固定---*/
.fix{
	position: relative;
}
.is-fixed .nv-sub{
	position: fixed;
	top: 83px;
	left:0;
	z-index: 1111;
	box-shadow: #555 1px 1px 3px;
}
.is-fixed{margin-top:4.2%;}

@media only screen and (max-width: 1199px) {
.index-nav .menu{
  max-width:100%;
  flex-flow: row wrap;
  }
.index-nav .menu > a {
	width: 24.5%;
	padding: 10px 0;
	font-size:1.2em;
	letter-spacing: normal;
}
.index-nav .menu > a:nth-of-type(1),
.index-nav .menu > a:nth-of-type(2),
.index-nav .menu > a:nth-of-type(3),
.index-nav .menu > a:nth-of-type(4){
	width: 24.5%;
	padding: 10px 0;
	border-bottom: #999 1px solid;
}
.index-nav .menu > a:last-child {
	border-right: hidden;
}
.is-fixed .nv-sub{position: static;}
.is-fixed{}

}
@media only screen and (max-width: 840px) {
.index-nav .menu > a {
	font-size:1em;
}
}


/* =========================================
共通枠
============================================*/
.bk_grad{
background: -moz-linear-gradient(top, rgba(0,0,0,0) -1%, rgba(0,0,0,0) 0%, rgba(87,87,87,0) 50%, rgba(170,170,170,0.65) 98%, rgba(172,172,172,0.65) 99%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(0,0,0,0) -1%,rgba(0,0,0,0) 0%,rgba(87,87,87,0) 50%,rgba(170,170,170,0.65) 98%,rgba(172,172,172,0.65) 99%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(0,0,0,0) -1%,rgba(0,0,0,0) 0%,rgba(87,87,87,0) 50%,rgba(170,170,170,0.65) 98%,rgba(172,172,172,0.65) 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6acacac',GradientType=0 ); /* IE6-9 */
}

.box{
	width: 100%;
	padding-top:30px;
	padding-bottom:30px;
}
.outline{
	max-width:1200px;
	height:auto;
	margin: 0 auto;
}
.heading_line{
	border-left:#009aff 10px solid;
	padding-left:10px;
	margin-bottom:10px;
}
.heading_line_gray{
	border-left: #999 8px solid;
	padding-left:5px;
	margin-bottom:5px;
}
h3{margin-bottom:15px;}
@media only screen and (max-width: 1199px) {
.outline{
	max-width:98%;
	height:auto;
	margin: 0 auto;
	overflow: hidden;
}
}
@media only screen and (max-width: 480px) {
}

/* =========================================
con1
============================================*/
.bk1{background-color:#fcee95;}
.bk2{background-color:#d4ee95;}
.bk3{background-color:#fcd395;}
.con1 .outline{
	padding: 40px 0;
}
.con1 .outline img{
  width: 100%;
  height: auto;
}
.con1 .left_area,
.con1 .right_area{
	display: inline-block;
	vertical-align:middle;
}
.con1 .left_area{
	width:61%;
}
.con1 .left_area > div{
	display: inline-block;
	vertical-align:top;
	width: 29%;
	margin-right:1%;
	padding: 10px 1.5%;
	text-align: center;
	box-shadow: #555 1px 1px 3px;
}
.con1 .left_area > h2{
	font-size:3.8em;
	letter-spacing: 2px;
	margin-bottom:5px;
	text-align:center;
}
.con1 .left_area > div h3{
	font-size:4em;
	padding:0;
	margin:0;
}
.con1 .left_area > div p{
	font-size:2em;
	letter-spacing: 1.8px;
}
.con1 .left_area > div p:last-child{
	font-size: 1.5em;
	text-align: left;
}
.con1 .right_area{
	width: 38%;
	text-align: center;
}
@media only screen and (max-width: 1199px) {
.con1 .left_area{
	width:69%;
}
.con1 .left_area > div{
	width: 28%;
}
.con1 .left_area > h2{
	font-size:2.5em;
	letter-spacing: 1.8px;
	margin-bottom:15px;
}
.con1 .left_area > div h3{
	font-size:2.5em;
	padding:0;
	margin:0;
}
.con1 .left_area > div p{
	font-size:1.7em;
	letter-spacing: 1.5px;
}
.con1 .right_area{
	width: 30%;
}

}
@media only screen and (max-width: 840px) {
.con1 .left_area,
.con1 .right_area{
	display: block;
	width: 98%;
}
.con1 .left_area > div{
	display: block;
	max-width: 50%;
	min-width:330px;
	margin:0 auto 15px;
	padding: 10px 1.5%;
}
.con1 .left_area > h2{
	font-size:2.2em;
	letter-spacing: 1.6px;
}
.con1 .left_area > div img{
	max-width:40%;
	height:auto;
}
.con1 .left_area > div p:last-child{
	font-size: 1.4em;
	text-align: center;
}
.con1 .right_area img{
	max-width: 50%;
}
}
/* =========================================
con2
============================================*/
.con2{margin-top:50px;}
.con2 .outline{padding: 40px 0;}
.con2 ul{
	width: 95%;
	margin: 0 auto 30px;
}
.con2 ul li{
	border: #555 1px solid;
	display: inline-block;
	vertical-align: top;
	padding: 40px 2%;
	text-align: center;
	width: 27.6%;
	margin-right: 2%;
	background-color: #fff;
	font-size:2em;
	line-height:1.5;
	position: relative;
}
.con2 ul li:last-child{
	margin-right: 0;
}
.con2 ul li img.mmm,
.con3 ul li img.mmm{
	position: absolute;
	top: 5px;
	left: 2%;
	max-width: 12%;
	height:auto;
}
.con2 ul li span{
	display: block;
	width:12.5em;
	text-align: left;
	margin: 0 auto;
}
.con2 ul li:nth-of-type(2) span{width:11.5em;}
.con2 ul li:nth-of-type(3) span{width:9em;}
.con2 h2{
	font-size:3.5em;
	letter-spacing: 3px;
	margin-bottom:10px;
	text-align: center;
}
.con2 p{
	font-size:2em;
	letter-spacing: 2px;
	text-align: center;
}
.con2 .line_area{
	padding:20px 2%;
	margin:80px 0 30px;
	position: relative;
	background-color:#3fa9f5;
}
.con2 .line_area div img{
	display: inline-block;
	vertical-align: bottom;
	margin-right:2%;
	max-width:10%;
	height:auto;
}
.con2 .line_area div h3{
	display: inline-block;
	vertical-align: bottom;
	font-size:2.8em;
	letter-spacing: 2px;
	color: #fff;
	padding:0;
}
.con2 .line_area div h3 span{
	font-size:1.5em;
}
.con2 .pos-booth{
	position: absolute;
	top: -80px;
	right: 5%;
	max-width:35%;
	height:auto;
}
.con2 a{
	width: 11em;
	min-width:10em;
	color: #fff;
	font-weight: bold;
	display: block;
	background-color:#ff0000;
	padding: 20px 2.5%;
	margin-left:15%;
	border-radius: 10px;
	text-shadow: #000 3px 3px 5px;
	font-size:3em;
	transition: 300ms ease-out;
}
.con2 a:hover{text-decoration: none; background-color:rgba(255,0,0,.5);}
.con2 a span.fr{
	background-color: #fff;
	margin: 0 0.25em;
	padding: 0.10em 0.25em 0;
	color: #f00;
	box-shadow: #555 1px 1px 3px;
	text-shadow: none;
}
@media only screen and (max-width: 1199px) {
.con2 ul li{
	padding: 40px 2%;
	width: 27.6%;
	margin-right: 1%;
	font-size:1.8em;
}
.con2 h2{
	font-size:2.5em;
	letter-spacing: 1.8px;
}
.con2 p{
	font-size:1.8em;
	letter-spacing: 1.6px;
}
.con2 .line_area{
	padding:15px 1.5%;
	margin:50px 0 30px;
}
.con2 .line_area div img{
	margin-right:1.5%;
	max-width:8%;
	min-width:85px;
	height:auto;
}
.con2 .line_area div h3{
	font-size:2em;
	letter-spacing: 1.5px;
}
.con2 .line_area div h3 span{
	font-size:1.5em;
}
.con2 .pos-booth{
	top: -50px;
	right: 5%;
	max-width:28%;
	min-width:260px;
	height:auto;
}
.con2 a{
	width: 11em;
	min-width:10em;
	padding: 10px 1.5%;
	margin-left:12%;
	border-radius: 5px;
	font-size:2.3em;
}
.con2 a span.fr{
	background-color: #fff;
	margin: 0 0.25em;
	padding: 0.10em 0.25em 0;
	color: #f00;
	box-shadow: #555 1px 1px 3px;
	text-shadow: none;
}
}
@media only screen and (max-width: 840px) {
.con2 ul li{
	display: block;
	padding: 40px 1.5%;
	max-width: 60%;
	min-width:300px;
	margin: 0 auto 15px;
	font-size:1.8em;
}
.con2 ul li:last-child{
	margin-right: inherit;
}
.con2 h2{
	font-size:2em;
	letter-spacing: 1.5px;
}
.con2 p{
	font-size:1.6em;
	letter-spacing: 1.4px;
}
.con2 .line_area{
	padding:13px 1%;
	margin:20px 0;
}
.con2 .line_area div img{
	margin-left: 2em;
	margin-right:1.5%;
	height:auto;
}
.con2 .line_area div h3{
	font-size:2em;
	letter-spacing: 1.5px;
}
.con2 .line_area div h3 span{
	text-align: center;
	font-size:1.3em;
}
.con2 .pos-booth{display: none;}
.con2 a{
	width: 11em;
	min-width:10em;
	padding: 10px 1.5%;
	margin:0 auto;
	border-radius: 5px;
	font-size:2.3em;
}
}
/* =========================================
con3
============================================*/
.con3{margin-top:50px;}
.con3 .outline{padding: 40px 0;}
.con3 .outline img{
  width: 100%;
  height: auto;
}
.con3 ul{
	width: 95%;
	margin: 0 auto 30px;
}
.con3 ul li{
	border: #555 1px solid;
	display: inline-block;
	vertical-align: top;
	padding: 40px 2%;
	text-align: center;
	width: 43%;
	margin-right: 2%;
	background-color: #fff;
	font-size:2em;
	line-height:1.5;
	position: relative;
}
.con3 ul li:last-child{
	margin-right: 0;
}
.con3 h2{
	font-size:3.5em;
	letter-spacing: 3px;
	margin-bottom:10px;
	text-align: center;
}
.con3 p{
	font-size:2em;
	letter-spacing: 2px;
	text-align: center;
}
.con3 .outline > div{
	display: inline-block;
	vertical-align: middle;
}
.con3 .outline > .b1,
.con3 .outline > .b3{
	width: 27%
}
.con3 .b2{
	width: 44%;
}
.con3 .b2 a{
	width: 14em;
	min-width:13em;
	color: #fff;
	font-size: 2.3em;
	font-weight: bold;
	display: block;
	padding: 13px 2.5%;
	margin: 0 auto 20px;
	border-radius: 15px;
	text-shadow: #000 3px 3px 5px;
	text-align: center;
	transition: 300ms ease-out;
}
.con3 .b2 a:hover{text-decoration: none; opacity: 0.6;}
.con3 .b2 a:nth-of-type(1){background-color: #006837;}
.con3 .b2 a:nth-of-type(2){background-color: #2e3192;}
@media only screen and (max-width: 1199px) {
.con3 ul li{
	padding: 40px 2%;
	width: 43%;
	margin-right: 1%;
	font-size:1.7em;
	line-height:1.5;
}
.con3 h2{
	font-size:2.5em;
	letter-spacing: 1.8px;
	margin-bottom:10px;
	text-align: center;
}
.con3 p{
	font-size:1.8em;
	letter-spacing: 1.6px;
	text-align: center;
}
}
@media only screen and (max-width: 840px) {
.con3 ul li{
	display: block;
	padding: 40px 1%;
	max-width: 65%;
	min-width:330px;
	margin: 0 auto 15px;
	font-size:1.8em;
}
.con3 ul li:last-child{
	margin-right: inherit;
}
.con3 h2{
	font-size:2em;
	letter-spacing: 1.5px;
}
.con3 p{
	font-size:1.6em;
	letter-spacing: 1.4px;
}

.con3 .outline > div{
	display: block;
}
.con3 .outline > .b1,
.con3 .outline > .b3{
	display: none;
}
.con3 .b2{
	width: inherit;
	max-width: 98%;
	margin: 10px auto 0;
}
.con3 .b2 a{
	min-width:13em;
	color: #fff;
	font-size: 1.8em;
	padding: 13px 2.5%;
	margin: 0 auto 20px;
	border-radius: 5px;
}
}
/* =========================================
con4
============================================*/
.con4{
	background:url(../images/bk-img.webp) 0 0 no-repeat;
	padding: 50px 0;
	margin-top:50px;
	background-color: #f2ffff;
}
.con4 .outline > div{
	width: 70%;
	margin-left: auto;
}
.con4 h2{
	font-size:3em;
	letter-spacing: 2px;
	margin-bottom:10px;
	text-align: center;
	border-bottom: #555 2px solid;
}
.con4 p{
	text-align: center;
	margin-bottom:20px;
}
.con4 .outline > div > div{
	display: inline-block;
	vertical-align: top;
	width: 30%;
	height:auto;
	background-color: #fff;
	padding: 10px 1% 5px;
	margin-bottom: 20px;
	margin-right:1%;
	border: #555 1px solid;
}
.con4 .outline > div > div:nth-of-type(3){
	margin-right:0;
}
.con4 .outline > div > div img{
	max-width: 53%;
	height:auto;
	display: block;
	margin: 0 auto;
}
.con4 .outline > div > div p{
	font-size:1.2em;
	letter-spacing: inherit;
	height: 2.5em;
}
.con4 a{
	width: 14em;
	min-width:13em;
	color: #fff;
	font-size: 2.3em;
	font-weight: bold;
	display: block;
	padding: 13px 2.5%;
	margin: 0 auto 20px;
	border-radius: 20px;
	text-shadow: #000 3px 3px 5px;
	text-align: center;
	transition: 300ms ease-out;
	background-color: #2e3192;
}
.con4 a:hover{text-decoration: none; background-color: rgba(46,49,146,.7);}

@media only screen and (max-width: 1199px) {
.con4{
	background-size: cover;
}
.con4 .outline > div{
	z-index:0;
	width: 95%;
	margin: 0 auto;
}
.con4 h2{
	font-size:2.5em;
	letter-spacing: 1.8px;
	margin-bottom:10px;
	text-align: center;
	border-bottom: #555 2px solid;
	text-shadow: #fff 1px 1px 1px;
}
.con4 p{
	font-size:1.8em;
	letter-spacing: 1.6px;
	text-align: center;
}
.con4 .outline > div > div{
	width: 29%;
	padding: 10px 1% 5px;
}
}
@media only screen and (max-width: 630px) {
.con4 .outline > div > div{
	display: block;
	width: 50%;
	height:auto;
	padding: 10px 1% 5px;
	margin: 0 auto 15px;
}
.con4 .outline > div > div:nth-of-type(3){
	margin-right: inherit;
}
.con4 a{
	width: 14em;
	min-width:13em;
	font-size: 1.8em;
	padding: 13px 2%;
	margin: 0 auto 20px;
	border-radius: 5px;
}
}


