@charset "UTF-8";
/* CSS Document */
body {
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP';
    overflow-x: hidden!important;
}
@media only screen and (max-width:768px){
    main{
        overflow-x: hidden!important;
    }
}
header a{
	display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: right;
    padding-right: 20px;
}
header a img{
	width: 11%;
}
.topimg{
	margin-bottom: -6px;
}
.topimg-fluid{
	width: 100%;
    height:auto;
}
.topbox{
    position: relative;
    z-index:0;
}
.topbox-inner-img01{
    position: absolute;
    top:7%;
    left:0;
    width:50%;
    z-index:1;
}
.topbox-inner-img02{
    position: absolute;
    top:28%;
    left:0;
    width:50%;
    z-index:1;
}
.topbox-inner-img03{
    position: absolute;
    top:38%;
    left:0;
    width:65%;
    z-index:1;
}
.topbox-inner-img04{
    position: absolute;
    z-index:1;
    bottom:28%;
    right:6%;
    width:9%;
}
.topimg p{
	position: absolute;
	z-index:1;	
    bottom: 1%;
    right: 2%;
	font-family: 'Noto Sans JP';
	font-weight: 400;
	font-size: 11px;
}
.maintitle img{
	width: 40%;
}

.section2{
	background-image: url("../imges/backimg.jpg");
	/*background-size:100%;*/
	background-size: cover;
	background-repeat: no-repeat;
    padding-top: 100px;
    padding-bottom: 100px;
}
.backclorblue{
    background-color: #1E5199;
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 50px;
}
.wrapper02{
	width: 40%;
	padding-right: 30px;
}
.wrapper03{
	width: 40%;
}
.wrapper04{
    text-align: center;
    padding-top: 28px;
    padding-bottom: 25px;
}
.wrapper04 img{
	width: 50%;
}



.group02{
	display: flex;
    align-items: flex-end;
    justify-content: center;
}
.backcolor{
    background-color: #FFFFFF;
    width: 80%;
    margin: 0 auto;
    padding: 50px;
}
.presenttitle{
    padding-bottom: 25px;
    text-align: center;
}
.presenttitle img{
    width: 80%;
}
.Onerow {
	display: flex;
	justify-content: space-between;
	list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.Onerow * {
    box-sizing: border-box;
}
.Onerow img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
.Onerow li {
	width: calc((100% - (20px * 2)) / 3);
	background-color: #FFFFFF;
    border: 2px solid #e50012; 
    display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	padding: 0 15px 15px 15px;
}
.Onerow li + li {
	margin-left: 20px;
}
.Onerow li p {
    margin: 0;
}
.Onerow li .subHead {
    background-color: #e50012;
    text-align: center;
    padding: 10px;
    margin: 0 -15px 20px;
}
.Onerow li .subHead img {
    width: auto;
    height: 28px;
}
.Onerow li .itemImg {
	text-align: center;
	margin-bottom: 10px;
}
.Onerow li .itemNmame1 {
    margin: 0 auto 20px;
	margin-top: 9px;
}
.Onerow li .itemNmame2 {
    margin: 0 auto 20px;
}
.Onerow li .itemNmame3 {
    margin: 0 auto 20px;
	margin-top: -7px;
}
.Onerow li .linkDetail {
	margin: auto 10px 0;
}
.Onerow li .linkDetail:hover {
	opacity: 0.5;
	color: white;
}

.mright{
	margin-right: 20px;
}
.area01{
    padding-top: 10px;
	width: 100%;
    background-color: #FF0004;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
	box-sizing: border-box;
}
.area01 img{
    width: 50%;
}
.square {
    height: 90%;
    background-color: #FFFFFF;
    border: solid red;
}
.area02{
	width: 50%;
    margin: 0 auto;
    padding-top: 30px;
}
.area02 img{
	width: 100%;
}
.area03{
	width: 70%;
    margin: 0 auto;
    padding-top: 34px;
}
.area04{
	width: 80%;
    margin: 0 auto;
	padding-top: 85px;
    padding-bottom: 6px;
}
.area04:hover{
	opacity: 0.5;
	color: white;
}

.area05{
    padding-top: 10px;
    width: 100%;
    background-color: #FF0004;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
	box-sizing: border-box;
}

.area05 img{
    width: 60%;
}

.area06{
	width: 40%;
    margin: 0 auto;
    padding-top: 20px;
}
.area06 img{
    width: 120%;
}
.area07{
    width: 90%;
    margin: 0 auto;
    padding-top: 10px;
}
.area08{
    width: 80%;
    margin: 0 auto;
    padding-top: 54px;
}
.area08:hover{
	opacity: 0.5;
	color: white;
}
.area09{
    padding-top: 10px;
    width: 100%;
    background-color: #FF0004;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
	box-sizing: border-box;
}
.area09 img{
    width: 50%;
}
.area010{
	width: 50%;
    margin: 0 auto;
    padding-top: 30px;
}
.area010 img{
	width: 100%;
}
.area011{
    width: 80%;
    margin: 0 auto;
	margin-top: 18px;
}
.area012{
	width: 80%;
    margin: 0 auto;
    padding-top: 95px;
}
.area012:hover{
	opacity: 0.5;
	color: white;
}
.area013{
	width: 50%;
	margin: 0 auto;
	padding-top: 100px;
    padding-bottom: 100px;
}
.area014{
	width: 13%;
}
.area015{
	width: 15%;
	margin-top: 150px;
}
.area016{
	width: 13%;
	margin-top: 150px;
}
.text01{
    padding-top: 10px;
    font-family: 'Noto Sans JP';
    font-size: 14px;
    font-weight: 300;
    word-wrap: break-word;
}
.table01{
	margin: 0 60px;
}
.table02{
	margin: 0 60px;
}
.table03{
	margin: 0 60px;
}
table {
  text-align: left;
  border-collapse: collapse;
  margin:0 auto;
  white-space: nowrap;
  width: 100%;
}
th, td {
    border: 1px solid #333;
    border-top: none;
    border-right: none;
    border-left: none;
    padding: 20px 0 20px 0; 
    font-size: 14px;
    font-family: 'Noto Sans JP';
    font-weight: 300;
}
th{
    padding-bottom: 2px;
    font-size: 14px;
    font-weight: 500;
}

td a{
	color: rgba(0,0,0,1.00);
}

section {
    padding-top: 10px;
}
a.btn_07 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 2px solid #E50012;
    box-sizing: border-box;
    width: 200px;
    height: 60px;
    padding: 0 25px;
    color: #333;
    font-family: 'Noto Sans JP';
    font-size: 16px;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    margin:0 auto;
}
a.btn_07:hover {
  background: #E50012;
  border: 2px solid #E50012;
  color: #fff;
}
a.btn_07:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 50px;
  border-color: transparent transparent #E50012 transparent;
}
a.btn_07 span {
    position: absolute;
    bottom: 12px;
    right: 20px;
    display: inline-block;
}
a.btn_07 span:before {
    content: '';
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -8px;
}
a.btn_07 span:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #E50012;
    border-right: 2px solid #E50012;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 3px;
    margin-top: -3px;
}

.logo01{
    width: 90%;
    margin: 0 auto;
}
.logo02{
    width: 90%;
    margin: 0 auto;
}
.logo03{
    width: 90%;
    margin: 0 auto;
}
.footer{
	display: flex;
	margin-top: 100px;
    margin-left: 30px;
    margin-right: 30px;
	padding-bottom: 60px;
    overflow: hidden!important;
    background-color: transparent;
}
.grouplogo{
    flex-basis: 33.333%;
    margin-left:auto;
    margin-right:auto;
    padding:0 15px ;
}
.img-fluid{
    max-width:100%;
    height: auto;
}
.pc_2021{display: block;}
.sp_2021{display: none;}

@media only screen and (min-width:768px) and (max-width:1024px) {
.wrapper01 {
    padding-top: 30px;
}
.section1 {
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 126px;
}
.area08 {
    padding-top: 84px;
}
.area013 {
	width: 70%;
    padding-top: 90px;
    padding-bottom: 70px;
}
th, td {
    border: 1px solid #333;
    border-top: none;
    border-right: none;
    border-left: none;
    padding: 20px 0 20px 0; 
    font-size: 13px;
    font-family: 'Noto Sans JP';
    font-weight: 300;
}
th{
    padding-bottom: 2px;
    font-size: 13px;
    font-weight: 500;
}
.footer {
	display: block;
}

.logo01 {
    width: 60%;
    margin: 0 auto;
}
.logo02 {
    width: 60%;
    margin: 0 auto;
	padding-top: 40px;
}
.logo03 {
    width: 60%;
    margin: 0 auto;
	padding-top: 40px;
}
section {
	max-width:200px;
    margin:0 auto;
}
th, td {
    padding: 20px 0 20px 0;
}

a.btn_07 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #E50012;
    box-sizing: border-box;
    width: 90%;
    height: 50px;
    padding: 0 25px;
    color: #333;
    font-size: 12px;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    margin:0 auto;
}
    
}


@media screen and (max-width: 767px) { /*ウィンドウ幅が最大479pxまでの場合に適用*/

.Onerow {
		 /* flex解除で縦並びに */
		display: block;
	}
	.Onerow li {
		 /* 横幅指定も解除 */
		width: auto;
	}
	.Onerow li + li {
		/* 横の余白をなくして縦の余白に変更 */
		margin-left: 0;
		margin-top: 20px;
	}

header a{
    padding-top: 10px;
    padding-bottom: 5px;
    padding-right: 10px;   
}
header a img{
    width: 20%;
}
.topimg p {
    font-size: 10px;
}

.section1{
	padding-bottom: 71px;
	background-position: 80% 0;
}
.section2{
    background-size: cover;
	padding-top: 30px;
    padding-bottom: 30px;
}
.maintitle{
    padding-top: 30px;
    padding-left: 17px;
}
.maintitle img{
    width: 50%;
}
.group01{
    padding-top: 10px;
}
.common02{
    padding-top: 0px;
}
.wrapper01{
    padding-top: 30px;
    padding-right: 30px;
    text-align: right;
}
.section1{
    padding-bottom: 165px;
}
.group02{
    display: block;
}
.Onerow{
    display: block;
}
.mright {
    margin-bottom: 20px;
	margin-right: 0;
}
.wrapper02{
    width: 70%;
    margin: 0 auto;
	padding: 0;
}
.wrapper03{
    width: 70%;
    margin: 0 auto;
	padding-top: 5px;
}
.wrapper04{
    padding-top: 10px;
    padding-bottom: 10px;
}
.wrapper04 img{
    width: 70%;
}
.backclorblue{
    padding-top: 20px;
}
.presenttitle{
    padding-bottom: 10px;
	margin: 0 -30px;
}
.presenttitle img{
    width: 100%;
}
.backcolor{
    width: 60%;
    padding-top: 20px;
    padding-right: 50px;
    padding-left: 50px;
	padding-bottom: 20px;;
}
.area04{
    padding-top: 5px;
    padding-bottom: 6px;
}
.area08{
    padding-top: 10px;
}
.area012{
    padding-top: 5px;
}
.area013{
    width: 70%;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
}
.area014{
	margin-top: 10px;
    width: 25%;
	margin-bottom: 20px;
	padding: 9px;
}
.area015{
    width: 25%;
	margin-top: 60px;
	margin-bottom: 20px;
	padding: 9px;
}
.area016{
    width: 25%;
	margin-top: 60px;
	margin-bottom: 20px;
	padding: 9px;
}
table {
    white-space: normal;    
}
table th{
    display: none;
}
th, td {
    display: block;
    border: none;
}
tr{
    border: 1px solid #333;
    border-right: none;
    border-left: none; 
}
td{
    padding-top: 10px;
    padding-bottom: 10px;
}
a.btn_07 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #E50012;
    box-sizing: border-box;
    width: 90%;
    height: 50px;
    padding: 0 25px;
    color: #333;
    font-size: 12px;
    text-align: left;
    text-decoration: none;
    position: relative;
    transition-duration: 0.2s;
    margin:0 auto;
}
.grouplogo01 {
    margin-left: 0;
}

.logo01 {
    width: 70%;
    margin: 0 auto;
}
.logo02 {
    width: 70%;
    margin: 0 auto;
	padding-top: 30px;
}
.logo03 {
    width: 70%;
    margin: 0 auto;
	padding-top: 30px;
}
section {
	max-width:200px;
    margin:0 auto;
}
.table01{
	margin: 0 30px;
}
.table02{
	margin: 0 30px;
}
.table03{
	margin: 0 30px;
}

.footer {
	display: block;
	margin-top: 80px;
    margin-left: 15px;
    margin-right: 15px;
}
.pc_2021{display: none;}
	.sp_2021{display: block;}
	
}

#areatext01{padding-top: 30px;}
#areatext02{padding-top: 30px;}
#areatext03{padding-top: 30px;}

/*スクロールアニメーション*/
.fadeup{
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  opacity: 0;
  transform: translateY(40px);
}
.fadeup.active{
  opacity: 1;
  transform: translateY(0);
}
.fadeup.fo-active{
  opacity: 1;
  transform: translateY(0);
}
.top_in{
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  opacity: 0;
  transform: translateY(40px);
}
.top_in.active{
  opacity: 1;
  transform: translateY(0);
}
.leftin{
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  opacity: 0;
  transform: translateX(-40px);
}
.leftin.active{
  opacity: 1;
  transform: translateX(0);
}
.leftin.fo-active{
  opacity: 1;
  transform: translateX(0);
}
.rightin{
  -webkit-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  opacity: 0;
  transform: translateX(40px);
}
.rightin.active{
  opacity: 1;
  transform: translateX(0);
}
.rightin.fo-active{
  opacity: 1;
  transform: translateX(0);
}
.leftin:nth-child(2) {
  transition-delay: 0s;
}
.leftin:nth-child(3) {
  transition-delay: .3s;
}
.leftin:nth-child(4) {
  transition-delay: .6s;
}

.top_in:nth-child(2) {
  transition-delay: .3s;
}
.top_in:nth-child(3) {
  transition-delay: .6s;
}
.top_in:nth-child(4) {
  transition-delay: .9s;
}