@charset "utf-8";

h1{
    text-align: center;
    margin:0;
    padding: 0;
    height: 68px;
}

.opa{
    opacity: 0
}
.none {
    display: none !important
}

.wrap {
    width: 100%;
    position: relative
}
.header,
.header_inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.header {
    height: 68px;
    z-index: 100;
    background-color: #ffffff;
    position: fixed;
}
.header_inner {
    height: 100%
}
.header_button {
    width: 130px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0
}
.header_button_inner {
    display: block;
    width: 40px;
    height: 28px;
    margin: -13px 0 0 -20px;
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    transition-duration: 0.25s
}
.header_button_inner div {
    width: 100%;
    height: 4px;
    position: absolute;
    left: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-duration: 0.5s
}
.header_button_inner div span span,
.header_button_inner div > span {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(141, 141, 141, 1);
    top: 0
}
.header_button_inner div > span {
    left: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-duration: 0.25s
}

.header_button_inner div span span {
    left: -100%
}
.header_button_inner>div:nth-child(1) {
    top: 0
}
.header_button_inner>div:nth-child(2) {
    top: 50%;
    margin: -2px 0 0
}
.header_button_inner>div:nth-child(3) {
    top: 100%;
    margin: -4px 0 0
}
.header_on .header_button_inner>div:nth-child(2) {
    opacity: 0
}
.header_on .header_button_inner div > span {
    background: rgba(255, 255, 255, 0)
}
.header_on .header_button_inner {
    width: 38px;
    height: 38px;
    margin: -19px 0 0 -19px
}
@media(max-width:640px) {
    .header {
        height: 80px
    }
    .header_button {
        width: 40px;
        height: 20px;
        margin: -10px 0 0;
        top: 50%;
        right: 8%
    }
}
.menu {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: fixed;
    overflow: hidden;
    z-index: 75;
}
.menu_bg {
    z-index: 25;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    height: 100%;
    overflow: hidden
}
.menu_inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.9)
}
.menu_bg_on {
    z-index: 27;
    opacity: 1;
    transform: scale(1)
}
.menu_bg_off {
    z-index: 26
}
.menu_bg_on div {
    transform: rotate(0) scale(1)
}
.menu_block {
    width: 100%;
    height: 100%;
    margin: 68px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 30;
    border-top: solid 1px #ccc;
    overflow: hidden;
}
.menu_block ul{
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.menu_block ul li{
    width: 50%;
    height: 32%;
    float: left;
    box-sizing: border-box;
    border-bottom: solid 1px #ccc;
    border-right: solid 1px #ccc;
}
.menu_block ul li:nth-child(2n){
    border-right: none;   
}
.menu_block ul li a{
    width: 100%;
    height: 100%;
    line-height: 16;
    text-align: center;
    display: block;
    text-decoration: none;
    color: #8D8D8D;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1px;
    font-family: 'Questrial', sans-serif;
}
.wrap_off .contents_detail,
.wrap_off .home_loader {
    opacity: 1
}
.contents,
.contents_inner,
.contents_main,
.contents_main_inner {
    width: 100%
}
.contents_detail {
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.home_logo p span {
    color: rgba(255, 255, 255, 1);
    font-weight: 700;
/*    font-family: 'Questrial', sans-serif;*/
    font-family: HelveticaNeue,'Questrial', sans-serif;
}
#home .contents_main_inner {
    height: 100%
}
.home_slide {
    width: 100%;
    height: 100%;
    position: relative
}
.home_slide_inner {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden
}
.home_slide_block,
.home_slide_img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}
.home_slide_img div {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center
}
.home_slide_block0 .home_slide_img div {
    background-image: url('/pc/img/home_img0.jpg')
}
.home_slide_block1 .home_slide_img div {
    background-image: url('/pc/img/home_img1.jpg')
}
.home_slide_block2 .home_slide_img div {
    background-image: url('/pc/img/home_img2.jpg')
}
.slide_first .home_slide_block1,
.slide_first .home_slide_block2 {
    display: none
}
.slide_on {
    z-index: 10
}
.slide_off {
    z-index: 9
}
.home_loader,
.home_logo {
    bottom: 10%;
    position: absolute;
    z-index: 15
}
.home_logo {
    width: 100%;
    margin: -36px 0 0;
    left: 0;
    text-align: center
}
.home_logo p {
    font-size: 0;
    white-space: nowrap
}
.home_logo p span {
    font-size: 60px;
    letter-spacing: 1px
}
.home_loader {
    width: 140px;
    height: 140px;
    margin: -205px 0 0 315px;
    left: 50%
}
@media(min-width:769px) and(max-width:1024px) {
    .home_loader {
        margin: -205px 0 0 300px
    }
}


.area_company,
.area_about,
.area_archives,
.area_work,
.area_director,
.area_contact,
.area_access{
    text-align: center;
    font-size: 12px;
    color: #333;
}
.area_company .company_info,
.area_about .about_info,
.area_archives .archives_info,
.area_work .work_info,
.area_director .director_info,
.area_contact .contact_info,
.area_access .access_info{
    position: relative;
    padding: 38px 0;
}
.area_company .company_info h2,
.area_archives .archives_info h2,
.area_about .about_info h2,
.area_work .work_info h2,
.area_director .director_info h2,
.area_contact .contact_info h2,
.area_access .access_info h2{
    font-weight: bold;
    padding-bottom: 10px;
    font-family: 'Questrial', sans-serif;
}
.area_company .company_info ul li,
.area_about .about_info ul li,
.area_archives .archives_info ul li,
.area_work .work_info ul li,
.area_director .director_info ul li,
.area_contact .contact_info ul li,
.area_access .access_info ul li{
    padding-bottom: 2px;
    line-height: 1.8em;
}
.area_company .company_info ul li span,
.area_about .about_info ul li span,
.area_archives .archives_info ul li span,
.area_work .work_info ul li span,
.area_director .director_info ul li span,
.area_contact .contact_info ul li span,
.area_access .access_info ul li span{
    color: #AAAAAA;
}
.area_contact .contact_info ul li a{
    text-decoration: none;
    color: #AAAAAA;
    border: solid 1px #AAAAAA;
    display: inline-block;
    font-family: 'Questrial', sans-serif;
}
.area_contact .contact_info ul li a:hover{
    color: #000;
    border: solid 1px #000;
    display: inline-block;
}

.area_access .access_info ul li a{
    text-decoration: none;
    color: #AAAAAA;
}
.area_access .access_info ul li a:hover{
    color: #000;
}

.pt320{
    padding-top: 320px !important;
}
.pt650{
    padding-top: 650px !important;
}
.pt400{
    padding-top: 400px !important;
}
.pt250{
    padding-top: 250px !important;
}
.pt70{
    padding-top: 70px !important;
}
.mb10{
    margin-bottom: 10px !important;
}
.mb20{
    margin-bottom: 20px !important;
}
.mb24{
    margin-bottom: 24px !important;
}
.mb30{
    margin-bottom: 30px !important;
}
.clbk{
    color: #333;
}

.area_company .company_info:before,
.area_about .about_info:before,
.area_archives .archives_info:before,
.area_work .work_info:before,
.area_director .director_info:before,
.area_contact .contact_info:before{
    content:'';
    position: absolute;
    width: 20px;
    height: 1px;
    top: 0;
/*    margin: 0 auto;*/
    left: 0;
    right: 0;
    margin: auto;
    background-color: #ccc;
}
.area_company .company_info:after,
.area_about .about_info:after,
.area_archives .archives_info:after,
.area_work .work_info:after,
.area_director .director_info:after,
.area_contact .contact_info:after{
    content:'';
    position: absolute;
    width: 20px;
    height: 1px;
    top: 99%;
/*    margin: 0 auto;*/
    left: 0;
    right: 0;
    margin: auto;
    background-color: #ccc;
}
footer{
    text-align: center;
    color: #AAAAAA;
    font-size: 12px;
    padding: 16px 0;
    font-family: 'Questrial', sans-serif;
}


/* common */
.wrap_on .contents {
    animation: wrap_on5 1s ease-in-out forwards
}
@keyframes wrap_on5 {
    0% {
        transform: translateY(44px)
    }
    100% {
        transform: translateY(0)
    }
}
.wrap_on .contents_detail {
    animation: wrap_on8 1s ease-in-out 1s forwards
}
@keyframes wrap_on8 {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
.wrap_off .contents{
    animation: wrap_off2 0.75s ease-in-out forwards
}
@keyframes wrap_off2 {
    0% {
        transform: translateY(0)
    }
    100% {
        transform: translateY(-44px)
    }
}
.header_on .header_button_inner>div:nth-child(1) {
    animation: header_on0 0.5s linear forwards
}
@keyframes header_on0 {
    0% {
        top: 0;
        margin: 0;
        transform: rotate(0)
    }
    50% {
        top: 50%;
        margin: -2px 0 0;
        transform: rotate(0)
    }
    100% {
        top: 50%;
        margin: -4px 0 0;
        transform: rotate(39deg)
    }
}
.header_on .header_button_inner>div:nth-child(3) {
    animation: header_on1 0.5s linear forwards
}
@keyframes header_on1 {
    0% {
        top: 100%;
        transform: rotate(0)
    }
    50% {
        top: 50%;
        transform: rotate(0)
    }
    100% {
        top: 50%;
        transform: rotate(-39deg)
    }
}
.header_on .header_button_inner>div:nth-child(1) span span {
    animation: header_on2 0.25s linear forwards
}
@keyframes header_on2 {
    0% {
        left: -100%
    }
    100% {
        left: 0
    }
}
.header_on .header_button_inner>div:nth-child(3) span span {
    animation: header_on3 0.25s linear forwards
}
@keyframes header_on3 {
    0% {
        left: 100%
    }
    100% {
        left: 0
    }
}

.header_off .header_button_inner>div:nth-child(3) {
    animation: header_off1 0.5s linear forwards
}
@keyframes header_off1 {
    0% {
        top: 50%;
        transform: rotate(-39deg)
    }
    50% {
        top: 50%;
        transform: rotate(0)
    }
    100% {
        top: 100%;
        transform: rotate(0)
    }
}

.header_off .header_button_inner>div:nth-child(3) span span {
    animation: header_off3 0.25s linear 0.25s forwards
}
@keyframes header_off3 {
    0,
    50% {
        left: 0
    }
    100% {
        left: 100%
    }
}
.menu_on,
.menu_on .menu_block {
    animation: menu_on0 0.5s ease-in-out forwards
}
@keyframes menu_on0 {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
.menu_on .menu_bg {
    animation: menu_on2 1s ease-in-out forwards
}
@keyframes menu_on2 {
    0% {
        transform: rotate(-1.5deg) scale(1.15)
    }
    100% {
        transform: rotate(0) scale(1)
    }
}
.menu_on .menu_bg .menu_bg_img {
    animation: menu_on3 1s ease-in-out forwards
}
@keyframes menu_on3 {
    0% {
        transform: scale(1.05, 1)
    }
    100% {
        transform: scale(1)
    }
}
.menu_off,
.menu_off .menu_block {
    animation: menu_off0 0.5s ease-in-out forwards
}
@keyframes menu_off0 {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}
.slide_on .home_slide_img {
    animation: slide_on0 2.5s ease-in-out forwards
}
.slide_first .slide_on .home_slide_img {
    animation: slide_on0 1.5s ease-in-out forwards
}
@keyframes slide_on0 {
    0% {
        opacity: 0;
        transform: scale(1.1, 1);
        filter:brightness(200%)
    }
    100% {
        opacity: 1;
        transform: scale(1, 1);
        filter:brightness(100%)
    }
}
.slide_off .home_slide_img div,
.slide_on .home_slide_img div {
    animation: slide_on1 10s linear forwards
}
@keyframes slide_on1 {
    0% {
        transform: scale(1.15)
    }
    100% {
        transform: scale(1)
    }
}
.slide_on a div > span {
    animation: slide_on3 1s ease-in-out 2.5s forwards
}
@keyframes slide_on3 {
    0,
    100% {
        left: 0;
        opacity: 1
    }
    49% {
        left: 100%;
        opacity: 0
    }
    50% {
        left: -100%;
        opacity: 0
    }
}













@charset "utf-8";

/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 10px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
  margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
  margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}


/*========= レイアウトのためのCSS ===============*/



h2,p {
    text-align:center;
    padding:20px;
}

ul{
  margin:0;
  padding: 0;
  list-style: none;
}

a{
  color: #333;
}

a:hover,
a:active{
  text-decoration: none;
}

