/*mvスライドショー*/
.hero {
  position: relative;
  height: 375px;
  display: grid;
  place-items: stretch;
  isolation: isolate;
}
.hero-frame{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero-stack{
  position: absolute;
  inset: 0;
}
.hero-item{
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity 1200ms ease;
  will-change: opacity;
}
.hero-item.is-active{
  opacity: 1;
}
.hero-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media screen and (min-width: 1024px) {
    .hero-item img{
        height: 100%;
        width: 100%;
        }
    .hero{
        height: 767px;
    }
    .hero-item{
        /*width: calc(1119 / 1440 * 100%);*/
        width: calc(1119 / 1920 * 100%);
        margin: 0 auto;
    }
}
 .hero-overlay{
       position: absolute;
       display: block;
       top: calc(109 / 767  * 100%);
       left: calc(150 / 1440 * 100%);
}
    .hero-overlay h1{
        font-size: 16px;
        color: #fff;
        font-family: "futura-pt", sans-serif;
        font-weight: 500;
        font-style: normal;
    }
/*mvTB*/
@media screen and (min-width: 768px) and  (max-width: 1023px) {
       .hero-overlay h1{
        font-size: 20px;
    }
}
/*mvPC*/
@media screen and (min-width: 1024px) {
    .hero-overlay{
       top: calc(109 / 767  * 100%);
       /*left: calc(230 / 1440 * 100%);*/
       left: calc(350 / 1440 * 100%);
}
    .hero-overlay h1{
        font-size: 24px;
        letter-spacing: 2px;
    }
}
/*見出し
hgroup{
    margin: 50px 0px;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-style: normal;
    text-align: left;
}
.about-ttl{
	color: #667362;
}
.work-ttl{
	color: #5A6C75;
}
@media screen and (min-width: 1024px) {
    hgroup{
    margin: 150px 0px;
}
}
@media screen and (min-width: 768px) and  (max-width: 1023px) {
    hgroup{
    margin: 80px 0px;
}
}
.heading-ttl p{
    position: relative;
    display: inline-block;
    padding: 0 13px;
    font-size: 10px;
    z-index: 2;
}
@media screen and (min-width: 768px) {
    .heading-ttl p{
    font-size: 14px;
}
}
.heading-ttl p::before,
.heading-ttl p::after{
    content:"";
    position: absolute;
    width: 10px;
    height: 1px;
    background-color: #8A9B84;
    top: 50%;
    transform: translateY(-50%);
}
.about-ttl p::before,
.about-ttl p::after{
    background-color: #8A9B84;
}
.work-ttl p::before,
.work-ttl p::after{
    background-color: #7D98A5;
}
.heading-ttl p::before{
    left: 0;
}
.heading-ttl p::after{
    right: 0;
}
.heading-ttl h2{
    font-size: 20px;
    letter-spacing: 3px;
	line-height: 1;
}
@media screen and (min-width: 768px) {
    .heading-ttl h2{
    font-size: 32px;
    letter-spacing: 4px;
}
}*/

/* ************** */
.about-ttl h2,
.work-ttl h2{
		font-family: "arno-pro-caption", serif;
		font-weight: 400;
		font-style: normal;
		letter-spacing: 1.5;
	  line-height: 1.5;
}
.hgroup-flex{
	display: flex;
	align-items: center;
	gap: 25px;
}
.heading-ttl h2{
	order: 1;
	font-size: 18px;
}
.heading-ttl p{
	order: 2;
	font-size: 10px;
}
.about-ttl{
	color: #667362;
}
.work-ttl{
	color: #5A6C75;
}
.border{
	position: relative;
	width: 170px;
	height: 1px;
	background-color: #444;
	margin-top: 8px;
}
.border::before,
.border::after{
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	background-color: #444;
	border-radius: 50%;
}
.border::before{
	left: -2px;
}
.border::after{
	right: -2px;
}
hgroup{
	margin:70px 0 50px 0px;
}
.about-border{
	background-color: #667362;
}
.works-border{
	background-color: #5A6C75;
}
.about-border::before,
.about-border::after{
	background-color: #667362;
}
.works-border::after,
.works-border::before{
	background-color: #5A6C75;
}
@media screen and (min-width: 768px) and  (max-width: 1023px) {
    hgroup{
    margin: 100px 0px 80px 0px;
}
	.heading-ttl h2{
	font-size: 24px;
}
.heading-ttl p{
	font-size: 12px;
}
	.border{
	width: 200px;
}
}
@media screen and (min-width: 1024px) {
    hgroup{
    margin: 150px 0px 80px 0px;
}
		.heading-ttl h2{
	font-size: 28px;
}
.heading-ttl p{
	font-size: 14px;
}
	.border{
	width: 225px;
}
}





/*about見出しbg*/
.fp-about{
    position: relative;
}
/******/
.fp-about::before{
    content: "";
    position: absolute;
    background: url("../images/sp-bg-about-ttl.svg");
    background-repeat: no-repeat;
    width: 123px;
    height: 111px;
    top: -50px;
    left: -50px;*/
    /*transform: translate(-15px,-25px);*/
	transform: translate(0px,0px)
    z-index: 1;
}
@media screen and (min-width: 768px) and  (max-width: 1023px) {
       .fp-about::before{
    	background: url("../images/tb-bg-about-ttl.svg");
    	width: 171px;
    	height: 154px;
    	transform: translate(-25px,-35px);
		z-index: 1;
}
}
@media screen and (min-width: 1024px) {
    .fp-about::before{
    /*background: url("../images/bg-about-ttl.svg");*/
		background: url("../images/tb-bg-about-ttl.svg");
		background-repeat: no-repeat;
    /*width: 264px;
    height: 237px;*/
		 width: 171px;
    	height: 154px;
    /*transform: translate(-60px,-80px);*/
		transform: translate(-25px,-35px);
		z-index: 1;
}
}
.heading-ttl h2{
    z-index: 2;
}
/*works見出しbg*/
.fp-works{
    position: relative;
}
/******/
.fp-works::before{
    content: "";
    position: absolute;
    background: url("../images/sp-bg-works-ttl.svg");
    background-repeat: no-repeat;
    width: 123px;
    height: 111px;
    top: -50px;
    left: -50px;
    /*transform: translate(-15px,-25px);*/
    z-index: 1;
}
@media screen and (min-width: 768px) and  (max-width: 1023px) {
       .fp-works::before{
    background: url("../images/tb-bg-works-ttl.svg");
    width: 171px;
    height: 154px;
    transform: translate(-25px,-35px);
}
}
@media screen and (min-width: 1024px) {
    .fp-works::before{
		    background: url("../images/tb-bg-works-ttl.svg");
    width: 171px;
    height: 154px;
    transform: translate(-25px,-35px);
		/*
    background: url("../images/bg-works-ttl.svg");
    width: 264px;
    height: 237px;
    transform: translate(-60px,-80px);*/
}
}
/*●名前*/
.name{
    position: relative;
    padding-left: 27px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 15px;
}
.name::before{
    content:"";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #8EB0D6;
}
@media screen and (min-width: 768px) {
    .name{
        padding-left: 33px;
        font-size: 20px;
        font-weight: 500;
    }
    .name::before{
    width: 21px;
    height: 21px;
}
}
/*自己紹介txt*/
.name-txt{
    margin-bottom: 45px;
    position: relative;
    z-index: 100;
}
/*自己紹介bg*/
@media screen and (min-width: 1024px) {
    .name-txt::before{
    content: "";
    position: absolute;
    background: url("../images/bg-blue.svg");
    background-repeat: no-repeat;
    width: 466px;
    height: 399px;
    top: 0;
    left: 0;
    transform: translate(50px,-40px);
    z-index: 1;
    pointer-events: none;
}
}
/*自己紹介リンク*/
.about-more a{
    position: relative;
    display: inline-block;
    padding-right: 70px;
    font-size: 14px;
}
.about-more{
    text-align: right;
    margin-bottom: 50px;
}
.about-more a::after{
    content:">";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #fff;
    background-color: #8EB0D6;
    display: flex;
    align-items: center;
    justify-content: center;
}
/*PC.TB about横並び*/
@media screen and (min-width: 1024px) {
    .about-flex{
        display: flex;
        gap: 50px;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    .about-txt{
        /*width: calc(542 / 1118 * 100%);*/
		width: calc(600 / 1118 * 100%);
    }
    }
/*about-img*/
.about-img img{
    margin: 0 auto;
    height: auto;
    max-width: 100%;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px) and  (max-width: 1023px) {
       .about-img img{
            margin-bottom: 50px;
}
}
.about-img{
     border-bottom: solid 1px #E0DEDE;
}
@media screen and (min-width: 1024px) {
    .about-img{
     border-bottom: none;
	 width: calc(500 / 1118 * 100%); 
}
}
/*worksbg*/
.works-items{
	position: relative;
}
@media screen and (min-width: 1024px) {
    .works-items::before{
    content: "";
    position: absolute;
    background: url("../images/bg-blue.svg");
    background-repeat: no-repeat;
    width: 466px;
    height: 399px;
    top: 50%;
    left: 0;
    transform: translate(-200px,0);
    z-index: 1;
}
    .works-items::after{
    content: "";
    position: absolute;
    background: url("../images/bg-red-works.svg");
    background-repeat: no-repeat;
    width: 500px;
    height: 471px;
    top: 10%;
    right: 0;
    transform: translate(200px,0);
    z-index: 1;
}
}
/*制作物 no-category*/
.fp-works{
    
}
@media screen and (min-width: 1024px) {
.works-items{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
 .works-item{
	width: calc(530 / 1120 * 100%);
     z-index: 100;
}
}
.works-item{
    margin: 0 auto;
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: solid 1px #E0DEDE;
	position: relative;
}
@media screen and (min-width: 1024px) {
    .works-item{
	margin-bottom: 100px;
}
}
.works-item-category{
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%,-11px);
	z-index: 1;
	/**/
	display: flex;
	flex-direction: column;
	align-items: center;
}
.works-item:nth-of-type(2n) .works-item-category{
	position: absolute;
	top: 0;
	right: 0;
	left: unset;
	transform: translate(50%,-11px);
}
.works-item-category .no{
	width: fit-content;
	font-family: "Acumin pro", sans-serif;
	font-size: 24px;
	font-weight: 300;
	letter-spacing: 4px;
	line-height: 1.5;
}
.works-item-category .no::after{
	content:"";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #3a3a3a;
	margin: 11px 0 20px;
}
.works-item-category .category{
	writing-mode: vertical-rl;
    font-family: sofia-pro-variable, sans-serif;
    font-style: normal;
    font-variation-settings: "slnt" 0, "wght" 200;
    letter-spacing: 3px;
}
.works-item-img{
	
}
@media screen and (min-width: 1024px) {
	.works-item-category{
	transform: translate(-50%,21px);
}
.works-item:nth-of-type(2n) .works-item-category{
	transform: translate(50%,21px);
}
}
/*●ttl*/
.works-item-ttl{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 11px;
    font-weight: 400;
    padding: 20px 0;
}
.works-item-ttl::before{
	content: "";
	display: block;
	width: 1em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}
.works-item-ttl.web::before{
	background-color: #7D98A5;
}
.works-item-ttl.banner::before{
	background-color: #C47E6B;
}
.works-item-ttl.flyer::before{
	background-color: #8A9B84;
}
.works-item-ttl.logo::before{
	background-color: #A0A0A0;
}
.works-item-ttl.graphic::before{
	background-color: #B8836B;
}
/*画像ホバー*/
.works-item:hover > .works-item-img,
.works-item:hover > .works-item-ttl{
	color: #828284;
}
.works-item-img{
  position: relative;
  transition: .6s;
   margin-top: 50px;
   overflow: hidden;
	transform: scale(1);
}
.works-item-img::before,
.works-item-img::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  transition: .6s;
  opacity: 0;
}
.works-item-img a::before {
  width: 100%;
  height: 100%;
}
.works-item-img a:hover::before,
.works-item-img a:hover::after {
  opacity: 1;
}
.works-item-img a:hover::after {
  letter-spacing: 0.1em;
}
.works-item-img img{
  transition: .6s;
	transform: scale(1);
}
.works-item-img:hover img{
  transform: scale(1.1);
}
/*ctabg*/
@media screen and (min-width: 1024px) {
    .cta::before{
    content: "";
    position: absolute;
    background: url("../images/bg-cta.svg");
    background-repeat: no-repeat;
    width: 250px;
    height: 251px;
    top: 0;
    left: 0;
    transform: translate(0,-70px);
    z-index: 1;
}
    .cta::after{
    content: "";
    position: absolute;
    background: url("../images/bg-blue.svg");
    background-repeat: no-repeat;
    width: 500px;
    height: 500px;
    top: 0;
    right: 0;
    transform: translate(200px,-400px);
    z-index: 1;
}
}