@charset "utf-8";
/* CSS Document */

body{
  font-size: 15px;
font-family: 'Zen Kaku Gothic New', sans-serif;
}
body,p,h1,h2,h3,h4,a,ul,li{
  margin: 0;
  padding: 0;
}
h1{
  font-size: 14px;
  font-weight: 400;
}
ul,li{
  list-style: none;
}
p,a,li{
  line-height: 2;
  letter-spacing: .1em;
  vertical-align: middle;
}
img{
  vertical-align: middle;
  max-width: 100%;
}
a{
  text-decoration: none;
  color:inherit;
}

.page-top {
    position: fixed;
    bottom: 15px!important;
    font-size: 77%;
    width: 100%;
    z-index: 1;
}

.page-top a:hover {
    text-decoration: none;
}

.page-top ul {
    width: 800px;
    list-style: none;
    display: flex;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #333;
    border: 1px solid #333;
    max-width: 100%;
    background-color: rgba(255,255,255,0.8);
}

.page-top ul li.docu {
    width: 50%;
}
.page-top ul li {
    width: 50%;
    text-align: center;
    /* border-left: 1px solid #333; */
    height: 59px;
}

.page-top ul li.docu,
.page-top ul li.visit{
    border-right: 1px solid #333;
}

.page-top ul li.docu img {
width: 35px;
margin-bottom: 5px;
}
.page-top ul li.visit img{
    width: 30px;
    margin-bottom: 5px;
}
.page-top ul li.tel img{
    width: 36px;
    margin-bottom: 5px;
    margin-top: 9px;
}

.page-top ul li a{
    color: #333;
    text-decoration: none;
    display: inline-block;
    line-height: 1.2em;
    width: 100%;
}


.allwidth {
  width:90%;
  margin:0 auto;
}
.title h2 {
    font-weight: 100;
    font-size: 110px;
    letter-spacing: .08em;
    color: #111;
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    font-family: 'Zen Old Mincho', serif;
}
 
.title{
  padding-bottom: 130px;
}

a.more:hover
{
  animation: big 0.2s;
  animation-fill-mode: forwards;
}

@keyframes big 
{
  0% {transform: scale(1); }
  100% {transform: scale(1.1);}
}

a.more-b {
    display: block;
    padding: 13px;
}




/*header*/

header .be-logo{
  display: none;
}

header {
    width: 100%;
    position: fixed;
    z-index: 1;
    background-color: rgba(255,255,255);
}

header .wrap {
    display: flex;
    justify-content: space-between;
    padding: 0 25px;
    height: 80px;
    align-items: center;
}

header .wrap nav.h-nav {
    width: 60%;
    margin-left: auto;
}
header .wrap nav ul {
    display: flex;
    justify-content: space-between;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 600;
}


.el_humburger {
    width: 30px;
    height: auto;
    z-index: 10000;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    pointer-events: auto;
}

.el_humburger > span {
    display: block;
    width: 80%;
    margin: 0 auto 7px;
    height: 2px;
    background: #000;
    transition: all 0.2s ease-in-out;
}

.el_humburger > span:last-child {
  margin-bottom: 0;
}

.js_humburgerOpen {
  /*background: #000;*/
}
.js_humburgerOpen .el_humburger > span.top {
  transform: translateY(9px) rotate(-45deg);
}

.js_humburgerOpen .el_humburger > span.middle {
  opacity: 0;
}

.js_humburgerOpen .el_humburger > span.bottom {
  transform: translateY(-9px) rotate(45deg);
}

.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%;
}

.el_humburgerButton__close > span {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background: #000;
}

.el_humburgerButton__close > span.el_humburgerLineTop {
  transform: translateY(5px) rotate(-45deg);
}

.el_humburgerButton__close > span.el_humburgerLineBottom {
  transform: translateY(-6px) rotate(45deg);
}

/*ナビゲーション*/

.navigation {
  display: none;
}
.js_appear {
  position: fixed;
  top: 0;
  /* left: 0; */
  bottom: 0;
  right: 0;
  display: block;
  z-index: 9999;
  width: 30%;
}

.navigation_screen {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.96);
  z-index: 0;
  margin-top: 0px;
  padding-top: 0px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.navigation_wrapper {
  padding: 20% 10% 0;
  text-align: center;
}

.navigation_item {
    font-size: 16px;
    margin-bottom: 27px;
    border-bottom: 1px solid #302d39;
    font-weight: 300;
    padding-bottom: 5px;
    text-align: left;
}
div.navigation_item:last-child {
  margin-bottom: 37px;
}

.navigation_wrapper .contact {
    /* border: 1px solid #000; */
    margin-bottom: 25px;
    padding: 10px;
    background-color: #333;
    color: #fff;
    width: 80%;
    /* text-align: center; */
    margin-left: auto;
    margin-right: auto;
    font-weight: 300;
    margin-top: 50px;
}

.navigation_item_sns{
  display: inline-block;
}
.navigation_item > a {
  color: #000;
  text-decoration: none;
}

.js_fixed {
  /*position: fixed;*/
  width: 100%;
  height: 100%;
}


/*footer*/
footer {
    padding: 200px 40px 200px;
    background-color: #5d5d5d;
}

footer .footer-wrap {
    color: #fff;
}
footer .footer-l p{
  padding-bottom: 20px;
}

footer .footer-l p span{
  font-size: 12px;
  display: block;
}
footer .footer-r {
    width: 80%;
    text-align: right;
    min-width: 385px;
    margin-left: auto;
    margin-bottom: 120px;
}
footer .footer-r svg{
  width: 30px;
  fill: #fff;
}
.footer-wrap .a-innertext {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    max-width: 850px;
    margin-bottom: 140px;
}
.footer-wrap .a-innertext a{
  display: inline-block;
}
.footer-wrap .a-innertext img.kudo-logo{
  width: 85px;
}
.footer-wrap .a-innertext img.sudo-logo{
  width: 155px;
}
.footer-wrap .a-innertext img.taku-logo{
  width: 200px;
}
.footer-wrap .a-innertext img.citta-logo{
  width: 230px;
}
footer .footer-r ul {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
}


footer small {
    color: #fff;
    display: block;
    text-align: right;
    padding-top: 100px;
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////


@media screen and (max-width: 1024px){
div.wrapper{
  display: inline-block;
}
div.corporate_logo{
  padding:1%;
}
.el_humburger{
  right: 7px;
}
header p.top_text{
  display: none;
}
header .wrap nav.h-nav{
  width: 60%;
}
 header .flex_box {
  padding: 1%;
  position: fixed;
  background-color: #fff;
  width: 100%;
  z-index: 6;
}

header .wrapper {
  width: 100%;
  backface-visibility: hidden;
}

header .wrapper img{
  width: 100%;
}


.js_appear{
  width: 90%;
}
div.allwidth{
  width: 90%;
  padding:0 3%;
}

footer .footer-wrap{
  display: inherit;
}

footer .footer-r{
  width: 90%;
  margin: 0 auto;
}
footer div.footer_width{
  width: 90%;
}
footer .bg_black{
  display: none;
}
footer .corporate_logo{
  width: 23%;
}
div.top_catch p {
    font-size: 16px;
    line-height: 1.5em;
    letter-spacing: 5px;
}
footer .footer-l img{
  padding-top: 60px;
}
footer small{
  padding-top: 60px;
}

}


@media screen and (min-width: 1030px){
.pc_none{
  display: none;
}
}

@media screen and (max-width: 1030px){
.pc_none{
  display: initial;
}

header .wrap nav.h-nav{
  display: none;
}
.footer-wrap .a-innertext{
  display: inherit;
}
.footer-wrap .a-innertext a{
  margin-bottom: 30px;
}
}


@media screen and (max-width: 820px){
    .page-top ul{
        width: 90%;
    }
}


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

div.top_catch p,
.news_contents a{
  font-size: 14px;
}
section.works ul.works_contents p.new{
        font-size: 16px;
    }

p,a,li{
  font-size:14px;
  line-height: 1.7em;
  letter-spacing: .1em;
  vertical-align: middle;
}

.title h2 {
    font-size: 10vw;
}


header #page_header{
  display: none;
}
footer .corporate_logo{
  width: 50%;
}
footer{
  padding: 20% 10px 25%;
}
footer .footer-r{
  width: 100%;
  min-width: auto;
}
.footer-wrap .a-innertext{
  margin-bottom: 70px;
}
}



@media screen and (max-width: 520px){
    .page-top ul li.docu img{
        width: 24px;
    }
    .page-top ul li.visit img{
        width: 20px;
    }
    .page-top ul li.tel img{
        width: 29px;
    }
    .page-top ul li{
        height: 50px;
    }
    .page-top ul{
        height: 44px;
    }
    .page-top ul li.docu,
    .page-top ul li.tel, 
    .page-top ul li.visit{
        width: 50%;
    }
    section.works ul.works_contents p.new{
        padding: 6px 11px;
    }
    header .wrap{
  padding: 0 10px;
  height: 55px;
}
footer .footer-r ul{
  display: inherit;
}
footer .footer-r ul li{ 
  margin-bottom: 16px;

}
}




