/* CSS Document */
/* layout */

/*=================================
    media screen
===================================*/
@media screen and (min-width: 769px) {

.pn{
    display: none !important;
}
.sdb{
    display:none;
}
#closebtn{
    display: none;
}

.subimg.history{
    padding-top:180px;
}



#topCatch article{
    display: inline-block;
    text-align: center;
    margin: auto;
    width: 447px;
    padding-top: 80px;
}#topCatch article h2{
    padding-right: 50px;
}#topCatch article p{
    padding-top: 70px;
    padding-right: 50px;
}
/* tablet only */


}
@media screen and (min-width: 1600px) {
.mainimg {
    background: url(../images/common/bg_kousya.png) 75% 170px no-repeat;
}
}

@media screen and (min-width: 1240px) {
#topCatch {
  position: relative;  background:url(../images/common/img_catch_sky.png) center top no-repeat;
    height: 1100px;
}
.topCatchPeople {
    position: absolute;
  z-index: 100;
    top:0;
    left: 0;
    width: 100%; background:url(../images/common/img_catch_people.png) center bottom no-repeat;
    height: 1100px;
animation-duration: 5s;
}
#topCatch article {
    margin-top: 70px;
}
}

@media screen and (max-width: 1240px) {
.sub.fixed{
    left:0px;
    padding-right: 0px;
}
.sub.fixed .gnav{
    padding-left: 0px;
}
.mainimg li{
    display: none;
}

.mainimg li.all{
    display: block;
    top:0;
}
.mainimg li.all img{
    width: 100%;
}

.mainimg li.all{
    padding-top:-20%;
}
#topCatch {
    background:url(../images/common/img_catch.png) center bottom no-repeat;
    background-size:100% auto;
    height: 1000px;
}
}

/*-------------------------*/
/* 1200以下*/
/*-------------------------*/

@media screen and (max-width: 1000px) {


}

/*-------------------------*/
/* 1024以下*/
/*-------------------------*/

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

.mainimg li.all{
    padding-top:10%;
}


/* 1024以下 ここまで*/
}

/*-------------------------*/
/* 900以下*/
/*-------------------------*/


@media screen and (max-width: 900px) {



.mainimg li.all{
    padding-top:20%;
}

/* 900以下 ここまで*/
}


/*-------------------------*/
/* TAB SP共通レイアウト 768px*/
/*-------------------------*/
@media screen and (max-width: 768px) {

.pn{
    display:block;
}
.sn{
    display:none;
}

.all{
    display: none !important;
}
.mainimg li.pn{
    display: block;
}.mainimg li.pn img{
margin-top: 260px;
}

.imgright,.imgleft{
    float: none;
}
.pogoSlider{
    display: none;
}

.slide .pn img{
    width: 100%;
    height: auto;
}

.switch{
    width: 100%;
    height: auto;
}

/*header -------------------------*/

body {
    background:url(../images/common/bg_leaf.png) left -280px repeat-y;
    background-size: 750px auto;
}


/*
    LAYOUT
*/

header article{
    width: 100%;
    height: 100%;
}
header .logo {
    margin-right:20px;
    z-index: 80;
}
header .gnav {
    float: none;
    width: 100%;
    margin: 0;
    clear: both;
    text-align: center;
}
header .gnav ul{
    margin: auto;
    display: inline-block;
}

header.sub .logo{
    position: static;
    margin: auto;
    float: none;
}
header.sub.fixed .logo {
    display: none;
}


.gnav > ul > li > a{
    font-size:20px;
    padding:0px 15px;
}
.gnav{
    text-align: center;
}
.gnav ul{
    padding-top:430px;

}

.sub .gnav{
    display: none;
}
.bread_crumb_list{
    display: none;
}



/* footer */

#footer {
    width: 100%;
}

#footer nav{
    text-align: center;
    width: 100%;
    overflow: hidden;
}

#footer nav ul{
    margin: auto;
    display: inline-block;
}

#footer nav .sn{
    display: none !important;
}

#footer nav ul li{
    border: none;
    float: right;
    background:url(../images/common/line_dot.png) left top repeat-y;
}
#footer nav ul li a{
    display: block;
    text-align: left;
    font-size: 16px;
    border: none;
}
#footer nav ul li:last-child a {
    border-right: none;
}

#footer nav ul li img{
    width:22px;
}


/* nav */

nav#menu{
    background:url(../images/common/bg_leaf.png) 200px -250px no-repeat #fff;
    background-size:500px auto;
    padding-bottom:30px;
    position: fixed;
    border-top:10px solid #a22041;
    top:0px;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 90;
}
nav#menu p{
    padding:30px 0 20px;
}
nav#menu a{
    display: block;
}
nav#menu p img{
    width: 140px;
    margin-top:5px;
    height: auto;
}

nav#menu ul{
    margin: auto;
    display: inline-block;
}
nav#menu ul li{
    float: right;
    background:url(../images/common/line_dot.png) left top repeat-y;
}
nav#menu ul li img{
    width:22px;
}
nav#menu ul a{
    padding:8px 20px;
}

#menubtn a{
    display:block;
    width:70px;
    height:70px;
    text-align:center;
    cursor:pointer;
    background:url(../images/common/menu.png) left top no-repeat;
    background-size: 70px 70px;
    z-index: 100;
    }
#menu{
    display:none;
    position: fixed;
    }
#menubtn a.active{
    background:url(../images/common/btn_close.png) left top no-repeat;
    background-size: 70px 70px;
 }

/*ボタンなど -------------------------*/

.contactbtn{
    display: none;
}
.mm-opened .contactbtn{
    display: none;
}

#menubtn{
    position: fixed;
    left:0px;
    top:0px;
    z-index: 110;
}
#entrybtn{
    position: fixed;
    right:65px;
    top:15px;
    z-index: 110;
}
.mm-panels > .mm-panel.mm-hasnavbar{
    margin-top:80px;
}
.mm-menu{
    text-align:left;
    z-index: 200;
}
.mm-menu.mm-offcanvas {
    z-index: 101 !important;
}
#closebtn{
    display: none;
    position: fixed;
    left:0px;
    top:0px;
    z-index: 110;
}
.mm-opened #closebtn{
    display: block;
}
.mm-opened #menubtn{
    display: none;
}
.mm-opened #totop{
    display: none;
}
/*container -------------------------*/

.container{
    width: 100%;
    box-sizing: border-box;
}
.container > article {
    width: 100%;
    margin: auto;
}
/*mainimg -------------------------*/

.mainimg {
    height: 1040px;
    background-position: center 110% ;
}

.mainimg ul.inview{
    top:280px;
}
.mainimg p {
    padding-top: 40px;
}
.mainimg p {
    width: 60%;
    max-width: 240px;
}
.mainimg p img{
    width: 100%;
}

.mainimg li img{
    width: 100%;
}

.mainimg li:first-child {
    top:0px;
    left: -12%;
    width: 44%;
}
.mainimg li:nth-child(2) {
    top:80%;
    left: 72%;
    width: 32%;

}
.mainimg li:nth-child(3) {
    top:70%;
    left: 35%;
    width: 24%;
}
.mainimg li:nth-child(4) {
    top:60%;
    left: 51%;
    width: 25%;
}
.mainimg li:nth-child(5) {
    top:20%;
    left: 28%;
    width: 25%;
}
.mainimg li:nth-child(6) {
    top:0%;
    left:75%;
    width: 25%;
}

.subimg .event h2{
    width:100%;
}
.subimg .event h2 img{
    width: 100%;
    margin: auto;
}
.subimg img{
    width:100%;
}



/*topsettings -------------------------*/


#topics {
    width: 100%;
    margin: auto;
    background: rgba(255,255,255,0.6);
    overflow: hidden;
    margin-bottom: 0px;
    padding: 10px 20px;
    box-sizing: border-box;
}
#topics h2{
    float: none;
    text-align: center;
}
#topics dl dt{
    float: none;width: 100%;text-align: left;
}
#topics dl dt span{
    width: auto;
}
#topics dl dd{
    float: none;width: 100%;text-align: left;
}

#topNews time {
    width: auto;
    margin-right:20px;
}

#topNews {
    width: 100%;
    margin: auto;
    overflow: hidden;
    margin-bottom: 0px;
    padding: 10px 20px;
    box-sizing: border-box;
}
#topNews h2{
    float: none;
    text-align: center;
    font-size: 21px;
}
#topNews dl dt{
    float: none;width: 100%;text-align: left;
}
#topNews dl dt span{
    width: auto;
}
#topNews dl dd{
    float: none;width: 100%;text-align: left;
}

#topbnr1 {
    width: 100%;
    padding:20px 20px;
    box-sizing: border-box;
}
#topbnr1 img{
    width: 100%;
    height: auto;
    max-width: 320px;
}
#topbnr1 ul{
    display: block;
}
#topbnr1 ul li{
    margin-bottom:15px;
}
#topbnr2 ul{
    display: block;
    padding:0px 20px;
}
#topbnr2 ul li img{
    width: 100%;
}
#topbnr2 ul li:first-child{
    margin-bottom:15px;
}
#topGroup h2{
    background: none;
    height: auto;
    width: auto;
}
#topGroup article{
    padding-top:0;
    height: auto;
}
#topGroup ul{
    display:-webkit-box;
    display: -moz-flex;
    display:-ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#topGroup li{
    position: static;
    width: 50%;
    padding-top:15px;
}
#topGroup li:nth-child(3){
    width:100%;
}

#topGroup div{
    text-align: center;
}
#topGroup li div {
    padding-top: 1%  !important;;
    float: none;
    text-align: center !important;
}
#topGroup h3{
    text-align: center !important;
    font-size:13px;
}
#topGroup h3 span{
    font-size:13px;
}
#topGroup h2 span{
    padding-top:0;
}
#topGroup figure{
    float: none !important;
    text-align: center;
    margin-bottom:5px;
}
#topGroup figure img{
    width:140px;
}

#topGroup .col3 {
    width: 94%;
    margin: auto;
}
#topGroup .col3 li{
    width: 50%;
    margin: auto;
}
#topGroup .col2 {
    width: 94%;
    margin: auto;
}
#topGroup .col2 li {
    width: 50%;
}
.fukushikai{
    width:90%;
    border: 1px dotted #a22041;
    padding:10px;
    margin: 25px auto;
}
.fukushikai > p{
    font-size:18px;
    color: #a22041;
}




#topCatch{
    background:url(../images/top/img_catch_sp.png) center bottom no-repeat;
    background-size:100% auto;
    position: relative;
  position:relative;
  width:100%;
  height:1100px;
    margin-top: 30px;
}

#topCatch article {
    padding-top: 80px;

}

#topCatch h2{
    float: none;
    margin: auto;
}#topCatch h2 img{
    width:80px;
}
#topCatch p{
    float: none;
    margin-right: 0px;
    margin-top: 50px;
}



/*table -------------------------*/

.defTable01 {
    margin:1%;
    width: 98%;
}
.defTable01 th{
    width: 25%;
}

    .defTable01 th,
    .defTable01 td{

    }



/* -------------------------*/
/* sub */
/* -------------------------*/

.subimg{
    height: auto;
    padding-top: 240px;
    padding-bottom:20px;
}
.subimg.greeting{
    background:url(../images/greeting/bg_greeting_sp.png) center top no-repeat;
    background-size:100%;
}
.subimg.event{
    background:url(../images/event/bg_event_sp.png) center top no-repeat;
    background-size:100%;
}
.subimg.resource{
    background:url(../images/resource/bg_resource_sp.png) center top no-repeat;
    background-size:100%;
}
.subimg.spirit{
    background:url(../images/spirit/bg_spirit_sp.png) center top no-repeat;
    background-size:100%;
}

#content-sub .container > article{
    padding-left:5%;
    padding-right:5%;
    box-sizing: border-box;
    width: 100%;
}

#content-sub .container h3{
    font-size:26px;
    letter-spacing: 2px;
    margin-bottom:20px;
}

    #content-sub .container figure{
    margin-left:0;
    margin-right:0;
}
#content-sub .container figure img{
    width:100%;
    height: auto;
}
#company01 p,#company02 p{
    font-size:13px !important;
}
#content-sub #topStaff ul li{
    width: 46%;
}


#content-sub .resource-body h4 {
    font-size: 24px;
}

.profile {
    width: 100%;
    float: none;
    text-align: center;
}

.profile .vol {
    font-size: 18px;
    font-weight: bold;
    padding: 0px 15px;
    margin: auto;
    text-align: center;
    margin-top:20px;
}
.profile p{
    text-align: left;
}
#content-sub .resource-body h4 {
    font-size: 24px;
}

.list-human{
    text-align: center;
}
.list-human li{
    margin: 0 auto 20px;
}
.list-human dd span{
    display: inline-block;
    margin-right:10px;
}


.articlebody .flex.col3 li{
    width: 48%;

}



/* TAB SP共通レイアウト ここまで*/
}


/*-------------------------*/
/* TBレイアウト 760px*/
/*-------------------------*/
@media  screen and (min-width: 481px) and (max-width: 768px) {


/* header
-------------------------*/



/* TABレイアウトここまで */
}


@media screen and (max-width: 660px) {

#topCatch{
  height:1000px;
}

    #content-sub .container figure{
width: 100%;
}
    .articlebody .flex.col3 li{
    width: 100%;

}

}


/*-------------------------*/
/* SPレイアウト 480px*/
/*-------------------------*/
@media screen and (max-width: 480px) {


.gnav ul{
  padding-top:300px;
}

#topCatch{
  height:900px;
}


#topCatch p img{
  width: 130px;
}
    #topNews .cat span {
    width: 100px;
    margin-right:10px;
}

/* SPレイアウトここまで */
}


