@charset "utf-8";
/* CSS Document */
/*@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese');*/
@import url('https://fonts.googleapis.com/css?family=Oswald:400,500,700');
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-display: swap;
  font-weight: 100;
  src: url("./YakuHanJP/YakuHanJP-Thin.eot");
  src: url("./YakuHanJP/YakuHanJP-Thin.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Thin.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-Light.eot");
  src: url("./YakuHanJP/YakuHanJP-Light.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Light.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-DemiLight.eot");
  src: url("./YakuHanJP/YakuHanJP-DemiLight.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-DemiLight.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-Regular.eot");
  src: url("./YakuHanJP/YakuHanJP-Regular.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Regular.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-Medium.eot");
  src: url("./YakuHanJP/YakuHanJP-Medium.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Medium.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-Bold.eot");
  src: url("./YakuHanJP/YakuHanJP-Bold.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Bold.woff") format("woff");
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("./YakuHanJP/YakuHanJP-Black.eot");
  src: url("./YakuHanJP/YakuHanJP-Black.woff2") format("woff2"),
  url("./YakuHanJP/YakuHanJP-Black.woff") format("woff");
}



  @media (min-width: 768px) {
      html {
          font-size: calc(80% + 4 * (100vw - 768px) / 400);
      }  
  }
  @media (min-width: 980px) {
      html {
          font-size: 100%;
      }
  }
.spwap {
    display: none;
}
.sp_off {
    display: block;
}

.sp_on {
    display: none;
}


bady {
    font-family: 'Oswald','Noto Sans JP', sans-serif;
    color: #333333;
}

img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media (max-width:768px){
.spwap {
        height: 100%;
        width: 100%;
        max-width: 100vw;
    } 
.sp_on {
    display: block;
}
.sp_off {
    display: none;
}

    
}

a,
a:visited,
a:hover,
a:active {
    text-decoration: none;
    color: inherit;
}

.ls-008em {
/*    -moz-font-feature-settings: "halt","palt" 1;
    -webkit-font-feature-settings: "halt","palt" 1;
    font-feature-settings: "halt","palt" 1;*/
    letter-spacing: -0.08em;
}
/*------------------------loder------------------------*/

#loader {
    background-color: rgb(250, 250, 250);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    z-index: 99998;
    overflow: hidden;
    display: none;
    justify-content: center;
    align-items: center;
}
.loadico {
    width: 6.0169%;
}
#loader img:first-of-type {
    width: 100%;
    margin-bottom: calc(20 / 1180 * 100vw)
}
#loader img {
    width: calc(34 / 1180 * 100vw);
    position: relative;
    z-index: 99999;
    display: block;
    margin: auto;
    
}
@media (max-width:768px){
.loadico {
    width: 20%;
}
#loader img:first-of-type {
    width: 100%;
    margin-bottom: calc(40 / 750 * 100vw)
}
#loader img {
    width: calc(70 / 750 * 100vw);
    
}    
}

/*------------------------header------------------------*/

header {
    width: 100%;
    height: 6.1224vw;
    max-height: 60px;
    background-color: rgba(255,228,0,1.00);
    border-bottom: 2px solid rgba(248,216,20,1.00);
    position: relative;
    font-family: 'Oswald', sans-serif;
    color: #333333;
    font-weight: 500;
    z-index: 88888;
}


header .hedLogoWap {
    width: 100%;
    max-width: 980px;
    height: 100%;
    margin: auto;
    display: flex;
    justify-content : space-between;
    align-items: center;
}
header .hedLogo {
    width: 13.6734%;
}
header .hedLogo img {
    width: auto;
}
header .menu {
    height: 100%;
    width: 100%;
}

header nav {
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    justify-content : flex-end;
    align-items: center;
}
header nav ul {
    width: 100%;
    text-align: right;
}
header nav ul li {
	display: inline-block;
	margin-left: 3.469%;
}

header ul a {
    position: relative;
    display: inline-block;
    transition: .3s;
    line-height: 1.875;
    letter-spacing: 0.1em; 
}
header ul a::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 0;
    height: 1px;
    background-color: #333333;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
header ul a:hover::after {
    width: 100%;
}

header input {
    display: none;
}

@media (max-width:768px){
header ul a::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 0;
    height: 1px;
    background-color: #333333;
    transition: none;
    -webkit-transform: none;
    transform: none;
    display: none;
}
header {
    width: 100vw;
    height: calc(100 / 750 * 100vw);
    max-height: 100px;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    border-bottom: calc(4 / 750 * 100vw) solid rgba(248,216,20,1.00);
    }
    
header .hedLogoWap {
    width: 100%;
    height: 100%;
    margin: auto;
}
header .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255,228,0,1.00);
    z-index: 9980;
}
header .menu label {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-size: 100%;
} 
header .menu nav {
    font-size: 10.666vw;
    font-weight: 400;
/*     position: relative;
   top: 50%;
    margin-top:calc(170 / 750 * -150vw);*/
    padding-bottom: 20px;
    text-align: center;
    justify-content:center;
    
}
    
header .hedLogo {
    width: calc(226 / 670 * 100%);
    display: block;
    margin-left: calc(40 / 670 * 100%);
}
header .hedLogo img {
    width: auto;
}
    
 header .menu ul {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: center;
}
header .menu ul li,
header .menu ul li a {
    transition: all 0.3s ease;
    display: none;
    margin: auto;
}
header .menu ul li a {
    display: block;
    padding: 10px 0;
    color: #3A3A3A;
}
header .menu ul li a:hover {
    /* [disabled]color: #3A3A3A; */
}
header .menu ul li:hover {
    /* [disabled]background: #ffffff; */
}
    
    
header .fx {
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
    opacity: 0;
}   
header .fx ul {
    transition: all 0.5s;
    transform: translateY(0%);
}
header #menuTogl:checked ~ .fx {
    visibility: visible;
    transition: opacity 0.5s;
    opacity: 1;
}
header #menuTogl:checked ~ .fx ul {
    opacity: 1;
}
header #menuTogl:checked ~ .fx ul li {
    display: block;
}
header #menuTogl:checked ~ .menuBtn .open {
    background-color: transparent;
    width: calc(80 / 750 * 100vw);
}
header #menuTogl:checked ~ .menuBtn .open:before {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    content: '';
    transform: rotate(45deg);
    background-color: rgba(88,88,88,1.00);
    width: calc(80 / 750 * 100vw);
    height: calc(5.3 / 750 * 100vw);
}
header #menuTogl:checked ~ .menuBtn .open:after {
    position: relative;
    z-index: 1;
    top: 0;
    right: 0;
    content: '';
    transform: rotate(-45deg);
    background-color: rgba(88,88,88,1.00);
    width: calc(80 / 750 * 100vw);
    height: calc(5.3 / 750 * 100vw);
}
header #menuTogl:not(:checked) ~ .fx ul {
    transform: translateY(-30%);
}

header #menuTogl:checked ~ .menuBtn {
    position: relative;
    top: calc(18 / 750 * 100vw);
    right: 0;
    display: block;
    width: calc(80 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    padding: 0px;
    margin-right: calc(30 / 750 * 100vw);
    cursor: pointer;
    z-index: 9999;
}
    
header .menuBtn {
    position: relative;
    top: calc(8 / 750 * 100vw);
    right: 0;
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    padding: 0px;
    margin-right: calc(40 / 750 * 100vw);
    cursor: pointer;
}
header .menuBtn:hover .open:before {
    top: calc((-5 / 750 * 100vw) + (10 / 750 * -100vw));
}
header .menuBtn:hover .open:after {
    top: calc(1px + (10 / 750 * 100vw));
}
header .open,
header .open:before,
header .open:after {
    position: relative;
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(4 / 750 * 100vw);
    border-radius: 2px;
    background-color: rgba(88,88,88,1.00);
    transition: all 0.3s ease;
}
    
header .open {
    top: calc(20 / 750 * 100vw);
    cursor: pointer;
}
header .open:before {
    top: calc((-4 / 750 * 100vw) + (10 / 750 * -100vw));
    content: '';
    transform: rotate(0deg);
}
header .open:after {
    top: calc(10 / 750 * 100vw);
    content: '';
}
    
}


/*------------------------footer------------------------*/

footer {
    width: 100%;
    height: 28.1632vw;
    max-height: 276px;
    background-color: rgba(88,88,88,1.00);
    position: relative;
    font-family: 'Oswald', sans-serif;
    color: rgba(250,250,250,1.00);
    font-weight: 500;
}
.fot {
    width: 100%;
    max-width: 980px;
    height: 100%;
    margin: auto;
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
}
.fotLogo {
    width: 15.306%;
    display: inline-block;
}
.fotInfo {
    width: 33.1632%;
    border-left: 1px solid rgba(250,250,250,1.00);
    border-collapse: collapse;
    height: calc(100% * (92 / 276));
    margin-left: 3.0612%;
    padding-left: 3.0612%;
    font-weight: 500;
    font-size: 0.813em;
    line-height: 1.693;
    text-align: left;
    transform: scaleX(1.0015);
    letter-spacing: 0.05em;
    display: inline-block;
    margin-top: calc(40 / 1180 * 100%);
    margin-bottom: calc(80 / 1180 * 100%);
}

.fot .fotInfo .fotGmap img {
    width:  calc(100% * (20 / 325));
    margin-right:  calc(100% * (9 / 325));
    vertical-align: middle;
}

.fot .fotInfo .fotGmap span {
    font-size: 0.813em;
    line-height: 1.538;
    letter-spacing: 0.05em;
    border-bottom: 1px solid rgba(250,250,250,0.00);
}
.fot .fotInfo .fotGmap:hover span {
    border-bottom: 1px solid rgba(250,250,250,1.00);
}
.fot .fotPp {
    display: block;
}
.fot .fotPp a {
    font-size: 0.813em;
    display: inline-block;
    width: auto;
    border-bottom: 1px solid rgba(250,250,250,0);
}
.fot .fotPp p:before {
    content: '｜';
    padding-right: 1em;
}
.fot .fotPp p:after {
    content: '｜';
    padding-left: 1em;
}

.fot .fotCc {
    font-size: 0.813em;
    display: block;
    margin-top: 1em;
}
.fot .fotPp a:hover {
    border-bottom: 1px solid rgba(250,250,250,1.00);
}
@media (max-width:768px){
footer {
    width: 100vw;
    height: calc(564 / 750 * 100vw);
    max-height: 564px;
    padding-top: calc(50 / 750 * 100vw);
    text-align: left;
    max-width: 768px;
}

.fotLogo {
    width: calc(245 / 750 * 100vw);
    display: block;
    margin-left: calc(50 / 750 * 100vw);
}
.fotInfo {
    width: calc(100vw - (3.0612% * 2) - 1px);
    border-left: 1px solid rgba(250,250,250,0.00);
    height: auto;
    margin-left: 3.0612%;
    padding-left: 3.0612%;
    font-size: calc(22 / 750 * 100vw);
    line-height: 1.728;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-top: calc(18 / 750 * 100vw);
    margin-bottom: calc(120 / 750 * 100vw);
}
.fot {
    width: 100%;
    max-width: 768px;
    height: 100%;
    margin: auto;
}
    
.fot .fotInfo p {
    margin-bottom: calc(50 / 750 * 100vw);
}

.fot .fotInfo .fotGmap img {
    width:  calc(100% * (40 / 750));
    margin-right:  calc(100% * (9 / 750));
    vertical-align: middle;
}
.fot .fotInfo .fotGmap span {
    font-size: calc(22 / 750 * 100vw);
    line-height: 1.728;
    letter-spacing: 0.05em;
    border-bottom: 1px solid rgba(250,250,250,1.00);
}
.fot .fotPp,.fot .fotCc {
    text-align: left;
    margin-left: calc(50 / 750 * 100vw);
}
.fot .fotPp a {
    font-size: calc(22 / 750 * 100vw);
    line-height: 0.911;
    display: inline-block;
    width: auto;
    border-bottom: 1px solid rgba(250,250,250,1);
}
.fot .fotCc {
    font-size: calc(22 / 750 * 100vw);
    display: block;
    margin-top: 1em;
}
}



/*------------------------main wap------------------------*/

@media (max-width:768px){
    .wap {
    width: 100vw;
    margin-top: calc(100 / 750 * 100vw);
    }
}

/*------------------------home------------------------*/

.wap .home01 {
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: rgba(255,228,0,1.00);

}
.wap .home01 .topLogo {
    max-width: 980px;
    text-align: center;
    margin: auto;
    font-family: 'YakuHanJP','Noto Sans JP', sans-serif;
    /*padding-bottom: calc(80 / 980 * 100%);*/
    padding-bottom: 0.01px;
}

.wap .home01 .topLogo img {
    width: calc(170 / 980 * 100%);
    margin: calc(40 / 980 * 100%) auto calc(25 / 980 * 100%) auto;
}
.wap .home01 .topLogo p {
    width: auto;
    line-height: 2;
    margin: auto auto calc(30 / 980 * 100%) auto;
    color: rgba(51,51,51,1.00);
    font-weight: 500;
}
.wap .home01 .topLogo .viewMore {
    width: calc(250 / 980 * 100%);
    height: auto;
    margin: calc(40 / 980 * 100vw) auto calc(80 / 980 * 100vw) auto;
    margin: auto;
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    background-color: rgba(88,88,88,1.00);
    border-radius: 90px;
    color: #FFFFFF;
    cursor: pointer;
    border: 2px solid rgba(88,88,88,1.00);
    border-collapse: collapse;
    position: relative;
}

.wap .home01 .topLogo .viewMore:hover {
    background-color: rgba(255,228,0,1.00);
}
.wap .home01 .topLogo .viewMore,
.wap .home01 .topLogo .viewMore::before,
.wap .home01 .topLogo .viewMore::after {
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; 
    max-width: 250px;
}

.wap .home01 .topLogo .viewMore p {
    margin: auto;
    font-size: 1em;
    line-height: 2.125;
    font-weight: 500;
    padding: 0.5em 0;    
    color: rgba(255,255,255,1.00);
    text-align: center;
    letter-spacing: 0.05em;
}
.wap .home01 .topLogo .viewMore:hover p {
    color: rgba(51,51,51,1.00);
}
.wap .home01 .topLogo .viewMore::after {
    content: "";
    position: absolute;
    right: 8.135%;
    top: calc(50% - (13 / 250 * 100%));
    width: 0.8125em;
    height: calc(13 / 950 * 100vw);
    max-height: 0.8125em;
    border-collapse: collapse;
    margin-top: -3px;
    background-image: url(../img/7.svg);
    background-position: top right;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; 
}
.wap .home01 .topLogo .viewMore:hover::after {
    background-image: url(../img/8.svg);
}


@media (max-width:768px){

.wap .home01 {
    height: 100%;

}
    
.wap .home01 .topLogo {
    max-width: calc(670 / 750 * 100vw);
    padding-bottom:  calc(120 / 750 * 100vw);
}

.wap .home01 .topLogo img {
    /*width: calc(348 / 750 * 100vw);*/
    width: calc(260 / 750 * 100vw);
    margin: calc(60 / 750 * 100vw) auto calc(57 / 750 * 100vw) auto;
}
.wap .home01 .topLogo p {
    width: auto;
    font-size: calc(30 / 750 * 100vw);
    line-height: 2;
    margin: auto auto calc(70 / 750 * 100vw) auto;
    text-align: left;
}
.wap .home01 .topLogo p br {
    display: none;
}
.wap .home01 .topLogo .viewMore {
    width: calc(500 / 750 * 100vw);
    height: auto;
    margin: auto;
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    background-color: rgba(88,88,88,1.00);
    border-radius: 90px;
    color: #FFFFFF;
    cursor: pointer;
    border: 2px solid rgba(88,88,88,1.00);
    border-collapse: collapse;
    position: relative;
}
.wap .home01 .topLogo .viewMore:hover {
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    background-color: rgba(255,228,0,1.00);
    color: rgba(51,51,51,1.00);
    border: 2px solid rgba(51,51,51,1.00);
}
.wap .home01 .topLogo .viewMore,
.wap .home01 .topLogo .viewMore::before,
.wap .home01 .topLogo .viewMore::after {
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    max-width: none;
}

.wap .home01 .topLogo .viewMore p {
    margin: auto;
    font-size: calc(32 / 750 * 100vw);
    line-height: 2.125;
    font-weight: 500;
    padding: 0.5em 0;    
}

.wap .home01 .topLogo .viewMore::after {
    content: "";
    position: absolute;
    right: calc(34 / 750 * 100vw);
    top: calc(50% - (30 / 750 * 100vw) / 4);
    width: 1.875em;
    height: calc(30 / 750 * 100vw);
    max-height: 1.875em;
    margin-top: -3px;
}

}




.wap .home02 {
    margin: auto;
    background-color: rgba(250,250,250,1.00);
}

.wap #works .home02H1 {
    max-width: 980px;
    margin: auto;
}

.wap #works h1 {
    font-family: Oswald;
    text-align: center;
    max-width: 980px;
    margin: auto;
    font-size: 200%;
    font-weight: 400;
    color: rgba(102,102,102,1.00);
    position: relative;
    padding-top: calc(80 / 980 * 100%);
    padding-bottom: calc(20 / 980 * 100%);
    z-index: 0;
    letter-spacing: 0.1em; 
}
.wap .home02 h1::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: calc(50% - (50 / 980 * 100% / 2));
    bottom: 0;
    right: 0;
    width: calc(50 / 980 * 100%);
    /*padding-bottom: calc(4 / 980 * 100%);*/
    border-bottom: 0.125em solid  #ffe400;
}

.wap .home02 .worksList {
    max-width: 980px;
    margin: auto;
}
.wap .home02 .worksList ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    align-content: space-around;
    margin-top: calc(30 / 980 * 100%);
}
.wap .home02 .worksList ul li {
    width: calc(310 / 980 * 100%);
    height: 100%;
    display: inline-block;
    /*margin-bottom: calc(40 / 980 * 100%);*/
    font-family: 'Noto Sans JP';
    color: rgba(102,102,102,1.00);
}

.wap .home02 .worksList ul li::after {
    content: '';
    display: block;
    margin-bottom: calc(40 / 310 * 100%);
}


.wap .home02 .worksList ul li figure {
    width: 100%;
    height: 100%;
    background-color: rgba(255,228,0,1.00);
    position: relative;
    z-index: 0;
}

.wap .home02 .worksList ul li figure::before {
    content: "View More";
    font-family: 'Noto Sans JP';
    color:  #333333;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    position: absolute;
    top: 46.3%;
    bottom: 0;
    left: 32.83%;
    right: 0;
    margin-left: 0;
    z-index: 0;
    height: 1.25em;
    width: 6em;
    padding-left: 1.8125em;
    background-image: url(../img/viewmoreico.svg);
    background-size: contain;
    background-repeat: no-repeat;
    
}

.wap .home02 .worksList ul li .figcaption {
    font-weight: 700;
    text-align: justify;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-top: 1em;
}
.wap .home02 .worksList ul li .category {
    font-size: 0.75em;
    font-weight: 400;
    text-align: justify;
    line-height: 1; 
    letter-spacing: 0.05em;
    margin-top: 1em;
}

.wap .home02 .worksList ul li a {
    width: 100%;
    height: 100%;
}

.wap .home02 .worksList ul li img {
    width: 100%;
    vertical-align: middle;
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    position: relative;
    z-index: 1;
}
.wap .home02 .worksList ul li:hover img {
    opacity: 0.1;
}
.wap .home02 .worksList .announce {
    width: 100%;
    display: inline-block;
    font-family: YakuHanJP , 'Noto Sans JP';
    color: rgba(51,51,51,1.00);
    font-weight: 500;
    line-height: 1.818;
    text-align: left;
    font-size: 0.688em;
    padding-bottom: calc(100 / 980 * 100%);
}

/*------------------------fade up------------------------*/
.wap .home02 .worksList ul li {
    opacity: 0;
    position: relative;
   transition: all 0.4s cubic-bezier(0.47, 0, 0.745, 0.715);
}
/*------------------------works List------------------------*/

@media (max-width:768px){



.wap .home02 {

}
.wap #works h1 {
    max-width: 750px;
    padding-top: calc(120 / 750 * 100%);
    font-size: calc(60 / 750 * 100vw);
    padding-bottom: calc(30 / 750 * 100vw);
}
.wap .home02 h1::after {
    content: "";
    left: calc(50% - (100 / 750 * 100% / 2));
    width: calc(100 / 750 * 100%);
    border-bottom: 0.125em solid  #ffe400;
}

.wap .home02 .worksList {
    max-width: 750px;

}
.wap .home02 .worksList ul {
    margin-top: calc(40 / 750 * 100%);
    justify-content: center;
    align-items: center;
}
.wap .home02 .worksList ul li {
    width: calc(670 / 750 * 100%);
    margin-bottom: calc(60 / 750 * 100%);
    display: none;
}
.wap .home02 .worksList ul li::after {
    content: '';
    display: none;
    margin-bottom: 0;
}
    
    .readMoreBtn {
      display: none;
    }
    
    
.wap .home02 .worksList ul li figure::before {
    content: "View More";
    line-height: 1.25;
    text-align: left;
    position: absolute;
    top: 46.3%;
    bottom: 0;
    left: 32.83%;
    right: 0;
    margin-left: 0;
    z-index: 0;
    height: 1.25em;
    width: 6em;
    padding-left: 1.8125em;

}

.wap .home02 .worksList ul li .figcaption {
    line-height: 1;
    letter-spacing: 0.05em;
    margin-top: calc(24 / 750 * 100vw);
    font-size:  calc(32 / 750 * 100vw);
}
.wap .home02 .worksList ul li .category {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1; 
    letter-spacing: 0.05em;
    margin-top: calc(18 / 750 * 100vw);
}

.wap .home02 .worksList ul li a {
    width: 100%;
    height: 100%;
}

.wap .home02 .worksList ul li img {
    width: 100%;
    vertical-align: bottom;
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    position: relative;
    z-index: 1;
}
.wap .home02 .worksList ul li:hover img {
    opacity: 0.1;
}
.wap .home02 .worksList .announce {
    width: calc(670 / 750 * 100vw);
    font-weight: 500;
    line-height: 1.818;
    max-width: 670px;
    margin: auto;
    font-size: calc(20 / 750 * 100vw);
    display: block;
    padding-bottom: calc(120 / 750 * 100%); 
}

/*------------------------fade up------------------------*/
.wap .home02 .worksList ul li {
    opacity: 0;
    position: relative;
   transition: all 0.4s cubic-bezier(0.47, 0, 0.745, 0.715);
}
/*------------------------works List------------------------*/
.wap .home02 .readMoreBtn {
    font-family: YakuHanJP , 'Noto Sans JP';
    width: calc(500 / 750 * 100%);
    height: calc(100 / 750 * 100vw);
    margin: auto auto calc((50 / 750 * 100vw) - 0.818em / 2) auto;
    background-color: rgba(255,255,255,1.00);
    border-radius: 90px;
    color: #FFFFFF;
    cursor: pointer;
    border: calc(4 / 750 * 100vw) solid rgba(102,102,102,1.00);
    border-collapse: collapse;
    position: relative;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.wap .home02 .readMoreBtn p {
    margin: auto;
    color: rgba(51,51,51,1.00);
    text-align: center;
    letter-spacing: 0.05em;
    font-size: calc(32 / 750 * 100vw);
    line-height: calc(46 / 750 * 100vw);
    font-weight: 500;
    padding: 0;
}
.wap .home02 .readMoreBtn p span {
    font-size: calc(46 / 750 * 100vw);
	vertical-align: text-bottom;
}
    
    }
/*------------------------breadcrumb------------------------*/
.worksBread {
    width: 100%;
    margin: auto;
    border-bottom: 1px solid #EEEEEE;
}
.worksBread .limit980 {
    width: 100%;
    margin: auto;
    max-width: 980px;
}
.worksBread .limit980 p a {
    margin-right: 1em;
}
.worksBread .limit980 p span {
    margin-left: 1em;
}

.worksBread p {
    max-width: 980px;
    margin: auto;
    color: rgba(153,153,153,1.00);
    font-size: calc(12 / 16 * 100%);
    line-height: 1;
    font-family: 'Noto Sans JP';
    font-weight: 400;
    letter-spacing: 0.05em; 
    padding-top: calc(11 / 980 * 100%);
    margin-bottom: calc(13 / 980 * 100%);
}
_:-ms-lang(x), .worksBread p {
    font-size: 0.75em;
}


.worksBread span {
    color: rgba(51,51,51,1.00)
        }

@media (max-width:768px){
.worksBread p {
    max-width: calc(670 / 750 * 100%);
    margin: auto;
    font-size: calc(22 / 750 * 100vw);
    letter-spacing: 0.05em; 
    padding-top: calc(26 / 750 * 100%);
    margin-bottom: calc(26 / 750 * 100%);
}
}

/*------------------------bak2index------------------------*/
.wap .bak2index{
    width: calc(250 / 980 * 100%);
    height: auto;
    margin: auto auto calc(80 / 980 * 100%) auto;
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    background-color: rgba(88,88,88,1.00);
    border-radius: 90px;
    color: #FFFFFF;
    cursor: pointer;
    border: 2px solid rgba(88,88,88,1.00);
    border-collapse: collapse;
    position: relative;
}
.wap .bak2index:hover {
    background-color: rgba(250,250,250,1.00);
}
.wap .bak2index,
.wap .bak2index::before,
.wap .bak2index::after {
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; 
    max-width: 250px;
}

.wap .bak2index p {
    margin: auto;
    font-size: 1em;
    line-height: 2.125;
    font-family: YakuHanJP , 'Noto Sans JP';
    font-weight: 500;
    padding: 0.5em 0;    
    color: rgba(255,255,255,1.00);
    text-align: center;
    letter-spacing: 0.05em;
}
.wap .bak2index span {
    margin: auto;
    font-size: 1em;
    line-height: 2.125;
    font-family: YakuHanJP , 'Noto Sans JP';
    font-weight: 500;
    padding: 0.5em 0;    
    color: rgba(255,255,255,1.00);
    text-align: center;
    letter-spacing: 0.05em;
}
.wap .bak2index:hover p {
    color: rgba(51,51,51,1.00);
}
.wap .bak2index:hover span {
    color: rgba(51,51,51,1.00);
}
.wap .bak2index::after {
    content: "";
    position: absolute;
    right: 8.135%;
    top: calc(50% - (13 / 250 * 100%));
    width: 0.8125em;
    height: calc(13 / 950 * 100vw);
    max-height: 0.8125em;
    border-collapse: collapse;
    margin-top: -3px;
    background-image: url(../img/7.svg);
    background-position: top right;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; 
}
.wap .bak2index:hover::after {
    background-image: url(../img/8.svg);
}


@media (max-width:768px){

    

.wap .bak2index {
    width: calc(500 / 750 * 100vw);
    height: auto;
    margin: auto auto calc(100 / 750 * 100vw) auto;
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    background-color: rgba(88,88,88,1.00);
    border-radius: 90px;
    color: #FFFFFF;
    cursor: pointer;
    border: 2px solid rgba(88,88,88,1.00);
    border-collapse: collapse;
    position: relative;
}
.wap .bak2index:hover {
    box-shadow: 2px 3px 10px 0px rgba(8, 6, 6, 0.1);
    color: rgba(51,51,51,1.00);
    border: 2px solid rgba(51,51,51,1.00);
}
.wap .bak2index,
.wap .bak2index::before,
.wap .bak2index::after {
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
    max-width: none;
}

.wap .bak2index p {
    margin: auto;
    font-size: calc(32 / 750 * 100vw);
    line-height: 2.125;
    font-weight: 500;
    padding: 0.5em 0;    
}
.wap .bak2index span {
    margin: auto;
    font-size: calc(32 / 750 * 100vw);
    line-height: 2.125;
    font-weight: 500;
    padding: 0.5em 0;    
}
.wap .bak2index::after {
    content: "";
    position: absolute;
    right: calc(34 / 750 * 100vw);
    top: calc(50% - (30 / 750 * 100vw) / 4);
    width: 1.875em;
    height: calc(30 / 750 * 100vw);
    max-height: 1.875em;
    margin-top: -3px;
}

}
