@charset "UTF-8";

/* --------------------------------------------------
 Block
-------------------------------------------------- */
/* Common Block --------------- */
.commBlc{
max-width:1200px;
padding:0 2%;
margin:0 auto;
position:relative;
}

.boxComm{
padding-top:7%;
padding-bottom:7%;
}

.minBoxComm{
padding-top:4%;
padding-bottom:4%;
}

/* bnrContact --------------- */
.bnrContact{
padding:4% 0;
}

.bnrContact .ttl{
text-align:center;
margin-bottom:7%;
position:relative;
}

.bnrContact .ttl:after{
content:"";
background-color:#485085;
width:100%;
height:1px;
margin:auto 0;
position:absolute;
top:0;
bottom:0;
left:0;
z-index:-1;
}

.bnrContact .ttl .txt01{
background-color:#485085;
color:#fff;
letter-spacing:0.1em;
border-radius:999px;
padding:0 4%;
display:inline-block;
}

.bnrContact .tblBlc{
width:100%;
border:1px solid #485085;
display:table;
box-sizing:border-box;
}

.bnrContact .tblBlc .tblCell{
display:table-cell;
vertical-align:middle;
padding:1% 2%;
box-sizing:border-box;
}

.bnrContact .tblBlc .txtBlc{
width:65%;
}

.bnrContact .tblBlc .txtBlc > h2{
font-size:200%;
color:#485085;
}

.bnrContact .tblBlc .txtBlc > p{
font-size:120%;
font-style:italic;
color:#485085;
}

.bnrContact .tblBlc .telBlc{
background-color:#485085;
width:35%;
text-align:center;
}

.bnrContact .tblBlc .telBlc > p a{
font-size:200%;
color:#fff;
text-decoration:none;
}

/* overviewBlc --------------- */
.overviewBlc{
border:1px solid #485085;
margin-bottom:7%;
}

.overviewBlc .subj{
text-align:center;
margin-top:-30px;
}

.overviewBlc .subj .txt01{
background-color:#fff;
color:#485085;
font-size:140%;
padding:0 4%;
display:inline-block;
}

.overviewBlc .imgBlc{
background-repeat:no-repeat;
background-position:center center;
background-size:cover;
border-top:1px solid #485085;
border-bottom:1px solid #485085;
padding-top:26%;
}

.overviewBlc .inner{
color:#485085;
padding:4%;
}

.overviewBlc .inner .btn{
text-align:center;
margin-top:4%;
}

.overviewBlc .inner .btn a{
color:#485085;
border:1px solid #485085;
text-decoration:none;
padding:3px 4%;
display:inline-block;
transition:all 200ms ease-in-out;
}

.overviewBlc .inner .btn a:hover{
background-color:#485085;
color:#fff;
}

/* fullImgBlc --------------- */
.fullImgBlc{
background-repeat:no-repeat;
background-position:center center;
background-size:cover;
padding-top:31%;
}

/* hexagonStyle01 --------------- */
.hexagonStyle01 {
position:relative;
width:140px; 
height:80.83px;
background-color:#485085;
margin:40.41px 0 40.41px -70px;
}

.hexagonStyle01:before,
.hexagonStyle01:after{
content:"";
position:absolute;
width:0;
border-left:70px solid transparent;
border-right:70px solid transparent;
}

.hexagonStyle01:before{
bottom:100%;
border-bottom:40.41px solid #485085;
}

.hexagonStyle01:after{
top:100%;
width:0;
border-top:40.41px solid #485085;
}

.hexagonStyle01 .txt{
font-size:280%;
line-height:1.8;
color:#fff;
width:100%;
height:100%;
text-align:center;
display:table;
position:relative;
z-index:3;
}

.hexagonStyle01 .txt .txtMid{
display:table-cell;
vertical-align:middle;
}

/* hexagonStyle02 --------------- */
.hexagonStyle02{
position:relative;
width:150px; 
height:86.60px;
background-color:#ffffff;
margin:43.30px 0;
border-left:solid 1px #485085;
border-right:solid 1px #485085;
}

.hexagonStyle02:before,
.hexagonStyle02:after{
content:"";
position:absolute;
z-index:1;
width:106.07px;
height:106.07px;
-webkit-transform:scaleY(0.5774) rotate(-45deg);
-ms-transform:scaleY(0.5774) rotate(-45deg);
transform:scaleY(0.5774) rotate(-45deg);
background-color:inherit;
left:20.9670px;
}

.hexagonStyle02:before{
top:-53.0330px;
border-top:solid 1.4142px #485085;
border-right:solid 1.4142px #485085;
}

.hexagonStyle02:after{
bottom:-53.0330px;
border-bottom:solid 1.4142px #485085;
border-left:solid 1.4142px #485085;
}

.hexagonStyle02 .txt{
line-height:1.8;
color:#485085;
width:100%;
height:100%;
text-align:center;
display:table;
position:relative;
z-index:3;
}

.hexagonStyle02 .txt .txtMid{
display:table-cell;
vertical-align:middle;
}

/* hexagonStyle03 --------------- */
.hexagonStyle03{
position:relative;
width:150px; 
height:96.60px;
background-color:#ffffff;
margin:43.30px 0;
border-left:solid 1px #485085;
border-right:solid 1px #485085;
-webkit-transform:rotate(90deg);
-ms-transform:rotate(90deg);
transform:rotate(90deg);
display:inline-block;
}

.hexagonStyle03:nth-of-type(even){
-ms-transform:rotate(90deg) translate(90px, 0);
-webkit-transform:rotate(90deg) translate(90px, 0);
transform:rotate(90deg) translate(90px, 0);
}

.hexagonStyle03:before,
.hexagonStyle03:after{
content:"";
position:absolute;
z-index:1;
width:106.07px;
height:106.07px;
-webkit-transform:scaleY(0.5774) rotate(-45deg);
-ms-transform:scaleY(0.5774) rotate(-45deg);
transform:scaleY(0.5774) rotate(-45deg);
background-color:inherit;
left:20.9670px;
}

.hexagonStyle03:before{
top:-53.0330px;
border-top:solid 1.4142px #485085;
border-right:solid 1.4142px #485085;
}

.hexagonStyle03:after{
bottom:-53.0330px;
border-bottom:solid 1.4142px #485085;
border-left:solid 1.4142px #485085;
}

.hexagonStyle03 .txt{
line-height:1.8;
color:#485085;
width:100%;
height:100%;
text-align:center;
display:table;
position:relative;
z-index:3;
-webkit-transform:rotate(-90deg);
-ms-transform:rotate(-90deg);
transform:rotate(-90deg);
}

.hexagonStyle03 .txt .txtMid{
display:table-cell;
vertical-align:middle;
}

/* blcStyle01 --------------- */
.blcStyle01{
border:1px solid #485085;
margin-top:7%;
margin-bottom:7%;
}

.blcStyle01 dt{
margin-top:-30px;
text-align:center;
}

.blcStyle01 dt .txt01{
background-color:#fff;
color:#485085;
font-size:140%;
padding:0 2%;
display:inline-block;
}

.blcStyle01 dd{
color:#485085;
padding:4% 12%;
}

/* blcStyle02 --------------- */
.blcStyle02{
text-align:center;
margin-bottom:4%;
}

.blcStyle02:last-of-type{
margin-bottom:0;
}

.blcStyle02 dt{
margin-bottom:4%;
}

.blcStyle02 dt .ttl{
background-color:#485085;
color:#fff;
width:100%;
max-width:370px;
border-radius:999px;
padding:2px 2%;
display:inline-block;
box-sizing:border-box;
}

/* accordionStyle01 --------------- */
.accordionStyle01{
margin-bottom:2px;
}

.accordionStyle01 .accordTtl{
background-color:#485085;
cursor:pointer;
padding:12px 90px 12px 50px;
position:relative;
z-index:19;
}

.accordionStyle01 .accordTtl.ttlOnly{
cursor:auto;
}

.accordionStyle01 .accordTtl .txt{
font-size:140%;
color:#fff;
}

.accordionStyle01 .accordTtl .more{
bottom:0;
position:absolute;
right:0;
top:0;
width:70px;
}

.accordionStyle01 .accordTtl .more:before{
content:"";
background-color:#fff;
width:14px;
height:2px;
margin:auto;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
transition:all 200ms ease-in-out;
-webkit-transform:rotate(90deg);
-ms-transform:rotate(90deg);
transform:rotate(90deg);
}

.accordionStyle01 .accordTtl.onclick .more:before{
-webkit-transform:rotate(0deg);
-ms-transform:rotate(0deg);
transform:rotate(0deg);
}

.accordionStyle01 .accordTtl .more:after{
content:"";
background-color:#fff;
width:14px;
height:2px;
margin:auto;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
}

.accordionStyle01 .accordContent{
border-left:1px solid #485085;
border-right:1px solid #485085;
border-bottom:1px solid #485085;
margin-bottom:60px;
position:relative;
}

.accordionStyle01 .accordContent .txtBlc{
padding:40px 30px 60px;
}

.accordionStyle01 .accordContent .btnClose{
background-color:#485085;
color:#fff;
border:1px solid #485085;
bottom:-22px;
box-sizing:border-box;
cursor:pointer;
display:block;
padding:4px 60px;
position:absolute;
right:10px;
text-decoration:none;
z-index:2;
}

@media screen and (max-width: 1000px) {
/* bnrContact --------------- */
.bnrContact .tblBlc{
display:block;
}

.bnrContact .tblBlc .tblCell{
display:block;
}

.bnrContact .tblBlc .txtBlc{
width:100%;
}

.bnrContact .tblBlc .telBlc{
width:100%;
}

/* hexagonStyle03 --------------- */
.hexagonStyle03{
margin-left:25px;
margin-right:25px;
}

.hexagonStyle03:nth-of-type(even){
-webkit-transform:rotate(90deg);
-ms-transform:rotate(90deg);
transform:rotate(90deg);
}

/* accordionStyle01 --------------- */
.accordionStyle01 .accordTtl .txt{
font-size:120%;
}

.accordionStyle01 .accordContent .txtBlc{
padding:4% 4% 7%;
}
}

@media screen and (max-width: 767px) {
/* bnrContact --------------- */
.bnrContact .tblBlc .txtBlc > h2{
font-size:140%;
}

.bnrContact .tblBlc .txtBlc > p{
font-size:100%;
}

.bnrContact .tblBlc .telBlc > p a{
font-size:140%;
}

/* overviewBlc --------------- */
.overviewBlc .subj{
margin-top:-16px;
}

.overviewBlc .subj .txt01{
font-size:120%;
}

.overviewBlc .imgBlc{
padding-top:40%;
}

/* fullImgBlc --------------- */
.fullImgBlc{
padding-top:50%;
}

/* hexagonStyle02 --------------- */
.hexagonStyle02{
width:120px; 
height:69.28px;
margin:34.64px 0;
}

.hexagonStyle02:before,
.hexagonStyle02:after{
width:84.85px;
height:84.85px;
left:16.5736px;
}

.hexagonStyle02:before{
top:-42.4264px;
}

.hexagonStyle02:after{
bottom:-42.4264px;
}

/* blcStyle01 --------------- */
.blcStyle01 dt{
margin-top:-15px;
}

.blcStyle01 dt .txt01{
font-size:120%;
}

/* accordionStyle01 --------------- */
.accordionStyle01 .accordTtl{
padding:2% 60px 2% 4%;
}

.accordionStyle01 .accordTtl .more{
width:55px;
}
}

@media screen and (max-width: 480px) {
/* hexagonStyle02 --------------- */
.hexagonStyle02{
width:90px; 
height:51.96px;
margin:25.98px 0;
}

.hexagonStyle02:before,
.hexagonStyle02:after{
width:63.64px;
height:63.64px;
left:12.1802px;
}

.hexagonStyle02:before{
top:-31.8198px;
}

.hexagonStyle02:after{
bottom:-31.8198px;
}

/* hexagonStyle03 --------------- */
.hexagonStyle03{
width:100px; 
height:57.74px;
margin-top:28.87px;
margin-bottom:28.87px;
margin-left:15px;
margin-right:15px;
}

.hexagonStyle03:before,
.hexagonStyle03:after{
width:70.71px;
height:70.71px;
left:13.6447px;
}

.hexagonStyle03:before{
top:-35.3553px;
}

.hexagonStyle03:after{
bottom:-35.3553px;
}

/* accordionStyle01 --------------- */
.accordionStyle01 .accordTtl{
padding:4% 60px 4% 4%;
}
}


/* --------------------------------------------------
 Title
-------------------------------------------------- */
/* pageTtl ------------------*/
.pageTtl{
padding:4% 2%;
text-align:center;
}

.pageTtl .ttl{
font-size:160%;
color:#485085;
position:relative;
}

.pageTtl .ttl .txt01{
letter-spacing:0.1em;
display:block;
opacity:0;
margin-right:10%;
transition:all 1s ease-in-out;
}

.loadComplete .pageTtl .ttl .txt01{
margin-right:0;
opacity:1;
}

.pageTtl .ttl .txt01 .line{
padding:0 4px;
display:inline-block;
border-bottom:1px solid #485085;
}

.pageTtl .ttl .txt02{
font-size:75%;
letter-spacing:0.2em;
display:block;
opacity:0;
margin-left:10%;
transition:all 1s ease-in-out;
}

.loadComplete .pageTtl .ttl .txt02{
margin-left:0;
opacity:1;
}

/* ttlStyle01 ------------------*/
.ttlStyle01{
font-size:140%;
color:#485085;
text-align:center;
border-bottom:1px solid #485085;
padding-bottom:10px;
margin-bottom:4%;
}

/* ttlStyle02 ------------------*/
.ttlStyle02{
background-color:#485085;
color:#fff;
font-size:140%;
width:320px;
padding-left:7%;
text-transform:uppercase;
position:relative;
z-index:3;
box-sizing:border-box;
}

.ttlStyle02:after{
border-bottom:29px solid transparent;
border-right:10px solid #fff;
border-top:29px solid transparent;
bottom:0;
content:"";
height:0;
margin:0 auto;
position:absolute;
right:0;
top:0;
width:0;
}

.ttlStyle02 .txt01:after{
content:"";
width:0;
height:0;
border-style:solid;
border-width:0 22px 18px 0;
border-color:transparent #9a9fc2 transparent transparent;
position:absolute;
top:calc(100%);
left:0;
}

@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 767px) {
/* pageTtl ------------------*/
.pageTtl{
padding-top:9%;
padding-bottom:9%;
}

.pageTtl .ttl{
font-size:140%;
}

/* ttlStyle01 ------------------*/
.ttlStyle01{
font-size:120%;
}

/* ttlStyle02 ------------------*/
.ttlStyle02{
width:260px;
font-size:120%;
padding-top:5px;
padding-bottom:5px;
}

.ttlStyle02:after{
border-bottom:21px solid transparent;
border-top:21px solid transparent;
}

.ttlStyle02 .txt01:after{
border-width:0 9px 7px 0;
}
}

@media screen and (max-width: 480px) {
}


/* --------------------------------------------------
 Table
-------------------------------------------------- */
/* Common Table --------------- */
.tblComm{
border-top:1px dotted #fff;
}

.tblComm th,
.tblComm td{
padding:7px 15px;
box-sizing:border-box;
border:1px solid #fff;
}

.tblComm th{
background-color:#485085;
color:#fff;
width:20%;
vertical-align:middle;
}

.tblComm th[align="center"],
.tblComm td[align="center"]{
text-align:center;
}

.tblComm th[align="right"],
.tblComm td[align="right"]{
text-align:right;
}

.tblRespon{
overflow-x:auto;
}

.tblRespon .tblComm{
min-width:600px;
}

.noteTbl{
color:red;
text-align:center;
margin:2% 0;
display:none;
}

/* Form Table --------------- */
.tblForm th{
background-color:#fff;
width:25%;
padding:2%;
text-align:left;
}

.tblForm td{
padding:2%;
text-align:left;
}

.tblForm th,
.tblForm td{
border-bottom:1px dotted #ccc;
}

/* tblRespon --------------- */
.tblRespon{
overflow-x:auto;
}

.noteTblRespon{
font-size:80%;
color:red;
margin:2% 0;
text-align:center;
display:none;
}

@media screen and (max-width: 767px) {
/* Common Table --------------- */
.tblComm th,
.tblComm td{
font-size:90%;
}

.tblComm th{
width:30%;
}

.tblComm.singleRow th,
.tblForm.singleRow th{
display:block;
font-weight:bold;
padding-bottom:0;
}

.tblComm.singleRow td,
.tblForm.singleRow td{
display:block;
}

.noteTbl{
display:block;
}

/* Form Table --------------- */
.tblForm th{
width:auto;
}

/* tblRespon --------------- */
.noteTblRespon{
display:none;
}
}

@media screen and (max-width: 650px) {
/* tblRespon --------------- */
.noteTblRespon{
display:block;
}
}

@media screen and (max-width: 480px) {
}


/* --------------------------------------------------
 List
-------------------------------------------------- */
/* Common List --------------- */
.listComm li{
float:left;
}

/* cateList --------------- */
.cateList{
text-align:center;
letter-spacing:-0.4em;
}

.cateList li{
letter-spacing:normal;
vertical-align:top;
margin-bottom:4%;
display:inline-block;
}

.cateList.col2 li{
width:50%;
}

.cateList.col3 li{
width:33.33%;
}

.cateList.col4 li{
width:25%;
}

.cateList li a{
text-decoration:none;
}

.cateList li .imgBlc{
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
transition:all 200ms ease-in-out;
}

.cateList.col2 li .imgBlc{
padding-top:60%;
}

.cateList.col3 li .imgBlc{
padding-top:78%;
}

.cateList.col4 li .imgBlc{
padding-top:78%;
}

.cateList li:hover .imgBlc{
opacity:0.7;
}

.cateList li .ttl{
font-size:140%;
color:#485085;
}

@media screen and (max-width: 1000px) {
}

@media screen and (max-width: 767px) {
/* cateList --------------- */
.cateList li .ttl{
font-size:120%;
}

.cateList.col3 li{
width:50%;
}
}

@media screen and (max-width: 640px) {
/* cateList --------------- */
.cateList.col4 li{
width:50%;
}
}

@media screen and (max-width: 480px) {
/* cateList --------------- */
.cateList li .ttl{
font-size:100%;
}
}


/* --------------------------------------------------
 Button
-------------------------------------------------- */
/* btnStyle01 --------------- */
.btnStyle01{
text-align:center;
margin-bottom:7%;
position:relative;
}

.btnStyle01:after{
content:"";
background-color:#485085;
width:100%;
height:1px;
margin:auto 0;
position:absolute;
top:0;
bottom:0;
left:0;
z-index:-1;
}

.btnStyle01 a{
background-color:#485085;
color:#fff;
letter-spacing:0.1em;
text-decoration:none;
border-radius:999px;
padding:5px 4%;
display:inline-block;
}

@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
 Text
-------------------------------------------------- */
.txtCenter{
text-align:center;
}

.txtUnderline{
text-decoration:underline;
}

.txtBig{
font-size:115%;
}

.txtSmall{
font-size:85%;
}

.txtWeight{
font-weight:bold;
}

.txtInlineBlc{
text-align:left;
display:inline-block;
}

.txtBlack{
color:#000;
}

.txtRed{
color:#e60000;
}

.txtOrange{
color:#f5a17f;
}

@media screen and (max-width: 767px) {
.txtForSp{
text-align:left !important;
}

.txtForSp br{
display:none !important;
}

span.txtForSp{
display:inline-block;
}
}

@media screen and (max-width: 480px) {
}


/* --------------------------------------------------
 Other Classes
-------------------------------------------------- */
/* Clear fix --------------- */
.clearFix:after{
content:"";
clear:both;
display:block;
}

/* Clear --------------- */
.clear{
clear:both;
}

/* Hide --------------- */
.hidden{
opacity:0;
}

.visible{
opacity:1;
}

.disnon{
display:none;
}

/* imgDeco --------------- */
.imgDeco{
border:1px solid #cdcdcd;
padding:1px;
box-sizing:border-box;
}

/* imgCircle --------------- */
.imgCircle{
border-radius:100%;
}

/* imgZoomEffect --------------- */
.imgZoom{
overflow:hidden;
}

.imgZoom img{
-ms-transform:translateZ(0px);
-webkit-transform:translateZ(0px);
transform:translateZ(0px);
transition:all 200ms ease-in-out 0s;
}

.imgZoom img:hover{
-ms-transform:scale(1.05);
-webkit-transform:scale(1.05);
transform:scale(1.05);
}

/* PDF icon --------------- */
.icnPdf{
vertical-align:bottom;
margin:0px 3%;
}

@media screen and (max-width: 1200px) {
/* Hide --------------- */
.post.hidden{
opacity:1;
}
}

@media screen and (max-width: 767px) {
/* Popup --------------- */
.popup{
display:block;
position:relative;
}
}