@charset "utf-8";
/* CSS Document */
.mainMenu {
    z-index: 10000;
}

/*PC*/
@media print, screen and (min-width: 769px) {

#contents { position: relative; }
#contents::before { position: fixed!important; left: -150px; width: 600px; height: 600px; background: url(../images/index/bg01.jpg); background-size: contain; background-repeat: no-repeat; z-index: -1; top: 0; content: ""; display: block; }
#contents::after { position: fixed!important; right: -150px; width: 600px; height: 600px; background: url(../images/index/bg01.jpg); background-size: contain; background-repeat: no-repeat; z-index: -1; bottom: 0px; content: ""; display: block; }

/* com
--------------------------------------------*/
.main_box { margin-bottom: 80px; }
.main_tit { font-size: 3.2rem; text-align: left; font-weight: 400; color: #028ce4; line-height: 2em; }
.main_txt { text-align: left; line-height: 2em; font-size: 1.6rem; margin-top: 30px; }

#hedImg {
width: 100%;
min-width: 1200px;
margin: auto;
position: relative;
margin-top: 180px;
}

.hed_subtit { font-size: 18px; font-weight: bold; text-align: left; margin-top: 30px; }
.hed_bg_txt { font-weight: 900; font-size: 200px; color: rgba(2,140,228,0.1); position: absolute; right: -30px; bottom: -150px; }

.hed_tit h2 {
/*background-color: #fff;*/
display: inline-block;
text-align: left;
}

.hed_tit h2 span.en{
/*text-align: left;*/
font-size: 60px;
color: #028ce4;
font-weight: 900;
line-height: 1.5;
letter-spacing: 0.12em;
display: block;
}

.hed_tit h2 span.jp {
display: block;
line-height: 1.8em;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.1em;
}

.imgbox { width: calc(100% - 120px); margin: 0 auto 80px; }
.imgbox_img { width: 100%; margin: 0 auto; }
.imgbox_img img { width: 100%; height: auto; }

.com_subtit { font-size: 2.4rem; font-weight: 400; text-align: center; position: relative; margin-bottom: 80px; }
.com_subtit::after { position: absolute; content: ""; width: 0px; height: 2px; border-radius: 1px; border-left: 15px solid rgba(2,140,228,1); border-right: 15px solid rgba(228,2,46,1); left: 0; right: 0; margin: auto; bottom: -30px; display: block; }
.com_subtit span.en { font-size: 2.2rem; font-weight: bold; display: block; color: #028ce4; margin-bottom: 15px; }
.com_subsubtit { font-size: 2rem; font-weight: 400; text-align: left; line-height: 2em; color: #028ce4; text-align: center; margin-bottom: 15px; }
.com_txt { text-align: center; }

/*---------------*/
/*-------------------------------*/
.smList {
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.smList li {
-ms-flex-preferred-size: 30%;
flex-basis: 30%;
}

.smList li:nth-child(n+4) {
margin-top: 6%;
}

.smList li h3 {
margin-bottom: 20px;
padding-left: 25px;
font-size: 1.8rem;
letter-spacing: .1em;
line-height: 1.875;
position: relative;
font-weight: 500;
transition-property: background;
}

.smList li h3:before {
content: "";
display: block;
position: absolute;
top: 50%;
left: 0;
margin-top: -6px;
margin-right: 0px;
width: 8px;
height: 8px;
border-top: 2px solid #028ce4;
border-right: 2px solid #028ce4;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.smList li a {
color: #303030;
}

.smList li a:hover {
color: #028ce4;
}

.smList li p {
padding-left: 50px;
position: relative;
margin-bottom: 10px;
letter-spacing: .2em;
line-height: 1.875;
}

.smList li p:last-child {
margin-bottom: 0px;
}

.smList li p:before {
width: 14px;
height: 1px;
display: block;
content: '';
position: absolute;
top: 13px;
left: 25px;
background-color: #028ce4;
}


.sitemap {}

.sitemap p { text-align: center; padding: 50px 0 100px; font-size: 1.6em;}
.sitemap p a { position: relative;}
.sitemap p a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; width: 30px; height: 2px; background: #e24b6b; margin: auto;}

.sitemap ul { display: flex; flex-wrap: wrap; text-align: center; list-style: none;}
.sitemap ul > li { width: calc( 100% / 3 ); padding: 40px 0; border-right: dotted 2px #f7c9cb; box-sizing: border-box; margin: 0 0 20px;}
.sitemap ul > li:nth-child(3n+3) { border-right: none;}
.sitemap ul > li > a { font-size: 1.4em; position: relative;}
.sitemap ul > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; width: 30px; height: 2px; background: #e24b6b; margin: auto;}
.sitemap ul > li > a + ul { display: block; margin: 40px auto auto;}
.sitemap ul > li > a + ul > li { width: 100%; padding: 0; border-right: none; box-sizing: border-box; margin: 0;}
.sitemap ul > li > a + ul > li > a { font-size: 1.0em; position: inherit; color: #666;}
.sitemap ul > li > a + ul > li > a::after { content: ""; position: inherit;}



/*---------*/
.nf404Wrap {
background-color: #ebf3f5;
padding: 50px;
margin-bottom: 80px;
}
.nf404Wrap h4 {
text-align: center;
font-size: 3rem;
line-height: 1;
margin-bottom: 20px;
}
.nf404Wrap p {
text-align: center;
}

}




/*----------------------------------------------------*/




/*sp*/
@media only screen and (max-width: 768px) {
#contents { position: relative; }
#contents::before { position: fixed; left: -100px; width: 400px; height: 400px; background: url(../images/index/bg01.jpg); background-size: contain; background-repeat: no-repeat; z-index: -1; top: 0; content: ""; display: block; }
#contents::after { position: fixed; right: -100px; width: 400px; height: 400px; background: url(../images/index/bg01.jpg); background-size: contain; background-repeat: no-repeat; z-index: -1; bottom: 0px; content: ""; display: block; }

/* com
--------------------------------------------*/
.main_box { margin-bottom: 50px; }
.main_tit { font-size: 2.4rem; text-align: left; font-weight: 400; color: #028ce4; line-height: 2em; }
.main_txt { text-align: left; line-height: 2em; font-size: 1.4rem; margin-top: 30px; }

#hedImg {
width: 100%;
margin: auto;
position: relative;
}

.hed_subtit { font-size: 18px; font-weight: bold; text-align: left; margin-top: 30px; }
.hed_bg_txt { font-weight: 900; font-size: 70px; color: rgba(2,140,228,0.1); position: absolute; right: -10px; bottom: -50px; }

.hed_tit h2 {
/*background-color: #fff;*/
display: inline-block;
text-align: left;
}

.hed_tit h2 span.en{
/*text-align: left;*/
font-size: 30px;
color: #028ce4;
font-weight: 900;
line-height: 1.5;
letter-spacing: 0.12em;
display: block;
}

.hed_tit h2 span.jp {
display: block;
line-height: 1.8em;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.1em;
}

.imgbox { width: calc(100% - 30px); margin: 0 auto 80px; }
.imgbox_img { width: 100%; margin: 0 auto; }
.imgbox_img img { width: 100%; height: auto; }

.com_subtit { font-size: 2rem; font-weight: 400; text-align: center; position: relative; margin-bottom: 50px; }
.com_subtit::after { position: absolute; content: ""; width: 0px; height: 2px; border-radius: 1px; border-left: 15px solid rgba(2,140,228,1); border-right: 15px solid rgba(228,2,46,1); left: 0; right: 0; margin: auto; bottom: -15px; display: block; }
.com_subsubtit { font-size: 1.6rem; font-weight: 400; text-align: left; line-height: 1.8em; color: #028ce4; text-align: center; margin-bottom: 15px; }
.com_subtit span.en { font-size: 1.8rem; font-weight: bold; display: block; color: #028ce4; margin-bottom: 15px; }
.com_txt { text-align: center; }

/*---------------*/
.smList {
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}

.smList li {
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
margin-bottom: 40px;
}

.smList li:last-child {
margin-bottom: 0;
}

.smList li h3 {
margin-bottom: 20px;
padding-left: 25px;
font-size: 1.8rem;
letter-spacing: .1em;
line-height: 1.875;
position: relative;
font-weight: 500;
transition-property: background;
}

.smList li h3:before {
content: "";
display: block;
position: absolute;
top: 50%;
left: 0;
margin-top: -6px;
margin-right: 0px;
width: 8px;
height: 8px;
border-top: 2px solid #028ce4;
border-right: 2px solid #028ce4;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.smList li a {
color: #303030;
}

.smList li a:hover {
color: #028ce4;
}

.smList li p {
padding-left: 50px;
position: relative;
margin-bottom: 10px;
letter-spacing: .2em;
line-height: 1.875;
}

.smList li p:last-child {
margin-bottom: 0px;
}

.smList li p:before {
width: 14px;
height: 1px;
display: block;
content: '';
position: absolute;
top: 13px;
left: 25px;
background-color: #028ce4;
}


.sitemap {}

.sitemap p { text-align: center; padding: 50px 0 100px; font-size: 1.8em;}
.sitemap p a { position: relative;}
.sitemap p a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; width: 30px; height: 2px; background: #e24b6b; margin: auto;}

.sitemap ul { display: block; /*flex-wrap: wrap;*/ text-align: center; list-style: none;}
.sitemap ul > li { width: 100%; padding: 40px 0; border-top: dotted 2px #f7c9cb; box-sizing: border-box; margin: 0 0 20px;}
.sitemap ul > li:nth-child(3n+3) { border-right: none;}
.sitemap ul > li > a { font-size: 1.6em; position: relative;}
.sitemap ul > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; width: 30px; height: 2px; background: #e24b6b; margin: auto;}
.sitemap ul > li > a + ul { display: block; margin: 40px auto auto;}
.sitemap ul > li > a + ul > li { width: 100%; padding: 0; border-top: none; box-sizing: border-box; margin: 0;}
.sitemap ul > li > a + ul > li > a { font-size: 1.2em; position: inherit; color: #666;}
.sitemap ul > li > a + ul > li > a::after { content: ""; position: inherit;}


/*---------*/
.nf404Wrap {
background-color: #ebf3f5;
padding: 20px;
margin-bottom: 80px;
}
.nf404Wrap h4 {
text-align: center;
font-size: 2rem;
line-height: 1.5;
margin-bottom: 20px;
}
.nf404Wrap p {

}


}
