@charset "utf-8";

/* MainImage
-------------------- */
#SliderBox {
    /*width: 1400px;*/
    width: 100%;
}

#SliderWrap {
    position: relative;
    min-width: 1400px;
    margin: 0 auto -20px;
    overflow: hidden;
}

.bx-wrapper {
    margin: 0 auto;
}

.bx-wrapper .bx-viewport {
    background: transparent !important;
    overflow: visible !important;
    height: 500px !important;
}

@media (max-width: 1399px) {
    #SliderWrap {
        min-width: 1200px;
    }

    .bx-wrapper .bx-viewport {
        height: 430px !important;
    }
}

@media (max-width: 1199px) {
    #SliderWrap {
        min-width: 920px;
    }

    .bx-wrapper .bx-viewport {
        height: 360px !important;
    }
}

@media (max-width: 919px) {
    #SliderWrap {
        min-width: 641px;
    }

    .bx-wrapper .bx-viewport {
        height: 300px !important;
    }
}

@media (max-width: 640px) {
    #SliderWrap {
        min-width: 480px;
    }

    .bx-wrapper .bx-viewport {
        height: 170px !important;
    }
}

@media (max-width: 479px) {
    #SliderWrap {
        min-width: 300px;
    }

    .bx-wrapper .bx-viewport {
        height: 110px !important;
    }
}

.bx-wrapper ul li:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .6);
    transition: opacity .2s;
    opacity: 1;
}

.bx-wrapper ul li.active:after {
    opacity: 0.2;
}

#SliderBox .bx-prev {
    position: absolute;
    left: 60px;
    top: 250px;
    display: block;
    width: 59px;
    height: 59px;
    background: url(../img/slider/btn_prev.png) no-repeat;
    text-indent: -9999em;
    overflow: hidden;
}

#SliderBox .bx-next {
    position: absolute;
    right: 60px;
    top: 250px;
    display: block;
    width: 59px;
    height: 59px;
    background: url(../img/slider/btn_next.png) no-repeat;
    text-indent: -9999em;
    overflow: hidden;
}

#SliderBox .bx-pager {
    text-align: center;
}

#SliderBox .bx-pager-item {
    display: inline;
    margin: 10px 0;
}

#SliderBox .bx-pager-item a.bx-pager-link {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    background: url(../img/slider/btn_pager.png) bottom no-repeat;
    text-indent: 9999em;
    overflow: hidden;
}

#SliderBox .bx-pager-item a.active {
    background: url(../img/slider/btn_pager.png) top no-repeat;
}

#MainImage {}

/* MainImage caption 2018.12.1追加 yfujii@ailes
-------------------- */
#MainImage li div.caption {
    position: relative;
}

#MainImage li div.caption p {
    color: #000000;
    /*font-weight: 500;*/
    text-shadow: 0px 0.2px 0px rgba(0, 0, 0, 0.75);
    position: absolute;
    display: inline-block;
    width: 50%;
    padding: 1em;
    background-color: rgba(255, 255, 255, .6);
    opacity: 0;
    transition: all .5s;
}

#MainImage .active div.caption p {
    opacity: 1;
}

#MainImage li p {
    top: 3em;
    right: 0;
}

#MainImage .active p {
    right: 2em;
}

div.caption p {
    font-size: 23px;
    font-size: 2.3rem;
}

@media (max-width: 1399px) {}

@media (max-width: 1199px) {
    div.caption p {
        font-size: 23px;
        font-size: 2.3rem;
    }
}

@media (max-width: 919px) {
    div.caption p {
        font-size: 22px;
        font-size: 2.2rem;
    }
}

@media (max-width: 640px) {
    div.caption p {
        font-size: 13px;
        font-size: 1.3rem;
    }
}

@media (max-width: 479px) {
    div.caption p {
        font-size: 10px;
        font-size: 1.0rem;
    }

    #MainImage li div.caption p {
        width: 70%;
    }
}

@media screen and (max-width: 640px) {
    #SliderBox {
        width: auto;
        margin: 0 auto 30px;
    }

    #SliderBox .bx-prev,
    #SliderBox .bx-next {
        display: none;
    }
}

/* Content
-------------------- */
#Page h2 {
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
    border-bottom: solid 1px #999999;
    margin: 0 0 25px;
    padding: 0 0 5px;
    position: relative;
}

#Page h2 a:hover,
#Page h2 a:active {}

#Page h2:after {
    content: " ";
    display: block;
    position: absolute;
    left: 20%;
    width: 60%;
    border-bottom: solid 3px #666666;
    bottom: -3px;
}

h3 {
    margin-bottom: 20px;
    padding-bottom: 10px;
    background: url(../img/top/bg_ttl_line.png) left bottom no-repeat;
    font-size: 20px;
    font-size: 2.0rem;
}

h2 a,
h3 a {
    color: #000 !important;
}

.wrap {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 640px) {
    .wrap {
        width: auto;
    }
}

.search_menu ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.search_menu > ul li {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    display: flex;
    list-style: none;
    margin: 0 1% 20px;
    box-sizing: border-box;
    background-color: #ffffff;
    border-radius: 3px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    position: relative;
    border: 3px solid #8e8e8e;
}

/*.search_menu > ul li:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 26%;
}*/
#About .search_menu > ul li {
    width: 23%;
}

@media screen and (max-width: 640px) {
    #About .search_menu > ul li {
        width: 48%;
    }
}

#SubContents .search_menu > ul li {
    width: 48%;
}

@media screen and (max-width: 640px) {
    #SubContents .search_menu > ul li {
        width: 98%;
    }
}

#SubContents2 .search_menu > ul li {
    width: 23%;
}

@media screen and (max-width: 640px) {
    #SubContents2 .search_menu > ul li {
        width: 48%;
    }
}

#SubContents .search_menu > ul li a:before,
#SubContents2 .search_menu > ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    font-size: 160%;
    display: block;
    position: absolute;
    top: 11%;
    right: 15px;
}

.search_menu > ul li a {
    display: block;
    padding: 20px 10px;
    width: 100%;
}

.search_menu > ul li a:hover {
    text-decoration: none;
    background-color: #999;
    color: #ffffff;
}

.search_menu > ul li a[href$='.pdf'] {
    background: transparent url(icons/icon_pdf.gif) no-repeat center right;
}

/* about */
#About {
    /*margin-bottom: 30px;*/
    padding: 30px 0;
    background: url(../img/common/bg_check.png) repeat;
}

#About .left {
    width: 650px;
}

#About .right {}

#About .more-link {
    margin: 20px 0;
}

@media screen and (max-width: 640px) {
    #About {
        margin-left: -10px;
        margin-right: -10px;
        padding: 30px 10px 10px;
    }

    #About .left {
        float: none;
        width: auto;
    }

    #About .right {
        float: none;
        text-align: center;
    }
}


/* information */
#Information {
    padding: 30px 0;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
}

.flex-item {
    width: 480px;
    padding: 20px;
    border-radius: 3px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

#News {
    margin: 0 10px 0 0;
}

#Blog {
    margin: 0 0 0 10px;
}

#Blog ul {
    overflow-y: scroll;
    overflow-x: hidden;
    height: 280px;
}

.feed li {
    margin-bottom: 5px;
    font-size: 16px;
    font-size: 1.6rem;
    border-bottom: 1px dashed #b9b9b9;
}

#News.feed li {
    margin-bottom: 20px;
}

.feed .date {
    margin-right: 20px;
    padding: 4px 10px;
    display: block;
}

.feed li a {
    text-decoration: underline;
}

.feed .title {
    display: inline;
}

@media screen and (max-width: 640px) {
    #Information {
        flex-direction: column;
    }

    .flex-item {
        width: auto;
    }

    #News,
    #Blog {
        margin: 0 10px;
    }

    #News {
        margin-bottom: 30px;
    }
}

/*SubContents*/
#SubContents,
#SubContents2 {
    padding: 30px 0;
    background: url(../img/common/bg_check.png) repeat;
}

/* works */
#Works {
    margin-bottom: 30px;
}

#Works li img.lastChild {
    display: none;
}

#Works li img.firstChild {
    display: block;
}

#Works li .eye-catch img {
    width: 300px;
    height: 240px;
}

#Works li h3 {
    margin: 10px 0;
    background: none;
    text-align: center;
}

#Works li h3 a {
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
}

#WorksWrap {
    position: relative;
    width: 930px;
    margin: 0 auto;
}

#Works .bx-prev {
    position: absolute;
    left: -30px;
    top: 100px;
    display: block;
    width: 9px;
    height: 14px;
    background: url(../img/top/btn_works_prev.png) no-repeat;
    text-indent: -9999em;
    overflow: hidden;
}

#Works .bx-next {
    position: absolute;
    right: -30px;
    top: 100px;
    display: block;
    width: 9px;
    height: 14px;
    background: url(../img/top/btn_works_next.png) no-repeat;
    text-indent: -9999em;
    overflow: hidden;
}

.bx-caption {
    text-align: center;
}

@media screen and (max-width: 640px) {
    #WorksWrap {
        width: auto;
    }

    #Works li img {
        margin: 0 auto;
    }
}

.icon-padding {
    padding-right: 10px;
}
@media print {
    #SliderWrap {
        width: 92%;
        margin: 0;
    }
    .bx-wrapper li.bx-clone {
        display: none;
    }
    .bx-wrapper li {
        width: 92%;
    }
    .bx-wrapper img {
        width: 84%;
    }
    .bx-controls {
        display: none;
    }
    .flex-item {
        width: 40%;
    }
    .search_menu ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
    }
    #About .search_menu > ul li {
        width: 20%;
    }
    #Blog ul {
        overflow-y: visible;
        overflow-x: visible;
        height: auto;
    }
    .search_menu > ul li {
        width: 40%;
    }
}