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

*{margin:0;padding:0;box-sizing: border-box;}

body {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  overflow-wrap: break-word;
  word-break: normal;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color:#333;
  line-height: 1.7;
}
ol, ul {list-style: none;}
a{text-decoration: none;color:#333;}
a:hover {opacity: 0.7 ;}
html {scroll-behavior: smooth;font-size: 62.5%;scroll-padding-top: 80px;}

img{width:100%;}

/* header*/
header{
  position: fixed;
  width: 100%;
  z-index: 999999999;
}
header .header-inner {
    display: flex;
    align-items: center;
    padding: 1%;
    width: 100%;
    justify-content: space-between;
    background-color: #fff;
    margin: auto;
    box-shadow: 0 0 10px #ccc;
}
h1.site_title {
    background: url(https://liendesign.net/wp-content/themes/LieN%20WP/images/logo_bk.png) 0 0 / contain no-repeat;
    overflow: hidden;
    width: 40%;
    height: 48px;
    text-indent: 100%;
    white-space: nowrap;
    margin-left: 5%;
}
h1.site_title a {
    display: block;
    height: 100%;
}
nav {
    width: 100%;
}
nav#menu-header .menu ul,nav#menu-header ul.menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    width: calc(100% - 5%)
}

nav#menu-header .menu ul li,nav#menu-header ul.menu li {
    padding: 1% 2%
}

.menu ul li>a,ul.menu li>a {
    padding-bottom: 5px;
    position: relative
}

.menu ul li>a::before,ul.menu li>a::before {
    background: #dd5476;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: center top;
    transform: scale(0,1);
    transition: transform .3s
}

.menu ul li>a:hover::before,ul.menu li>a:hover::before {
    transform-origin: center top;
    transform: scale(1,1)
}

header .drawer {
    position: absolute;
    top: 10px;
    right: 8px;
    background-color: #dc889d;
    border-radius: 5px;
    padding: 1%
}

  .pc {
    display:block!important
}
  .sp {
    display: none!important
}
@media screen and (max-width: 599px) {
    .pc {
        display:none!important
    }

    .sp {
        display: block!important
    }

    body {
        font-size: 3vw!important
    }

    .header-inner {
        position: fixed;
        top: 0;
        opacity: .95;
        justify-content: left!important;
        z-index: 10;
        padding: 2%!important
    }

    h1.site_title {
        width: 50%!important;
        height: 45px!important;
        margin-left: 0
    }

    header nav {
        display: none!important
    }

    header nav.drawer-content {
        display: block!important;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 60px;
        left: 100%;
        z-index: 99;
        background: #fff;
        transition: .5s;
        opacity: .98;
        text-align: left
    }

    .drawer-hidden {
        display: none
    }

    .drawer-open {
        display: flex;
        height: 30px;
        width: 30px;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 100;
        cursor: pointer
    }

    .drawer-open span,.drawer-open span:after,.drawer-open span:before {
        content: '';
        display: block;
        height: 1px;
        width: 20px;
        border-radius: 3px;
        background: #fff;
        transition: .5s;
        position: absolute
    }

    .drawer-open span:before {
        bottom: 8px
    }

    .drawer-open span:after {
        top: 8px
    }

    #drawer-check:checked~.drawer-open span {
        background: rgba(255,255,255,0)
    }

    #drawer-check:checked~.drawer-open span::before {
        bottom: 0;
        transform: rotate(45deg)
    }

    #drawer-check:checked~.drawer-open span::after {
        top: 0;
        transform: rotate(-45deg)
    }

    #drawer-check:checked~.drawer-content {
        left: 0
    }
}

header nav.drawer-content div ul {
    padding: 2% 0
}

header nav.drawer-content div ul li.menu-item,header nav.drawer-content div ul li.page_item {
    padding: 5%;
    border-bottom: 1px dotted #dc889d
}

header nav.drawer-content div ul li>a {
    display: inline-block;
    width: 90%;
    font-size: 3.5vw
}

header nav.drawer-content div ul li.menu-item:before,header nav.drawer-content div ul li.page_item:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 2%
}

header nav.drawer-content div ul li.menu-item:before {
    content: "\f0da"
}

header nav.drawer-content div ul li.page-item-2:before {
    content: "\f015"
}

header nav.drawer-content div ul li.page-item-133:before {
    content: "\f302"
}

header nav.drawer-content div ul li.page-item-11:before {
    content: "\f2bb"
}

header nav.drawer-content div ul li.page-item-77:before {
    content: "\f0e8"
}

header nav.drawer-content div ul li.page-item-186:before {
    content: "\f1d8"
}

.drawer-content ul.drawer-list li.drawer-item {
    padding: 3% 5%;
    border: 1px dotted #ccc
}

.drawer-content ul.drawer-list li.drawer-item a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 1%
}

/* //Header */
/* 共通 */
.mgn_b2{margin-bottom:2rem;}
.mgn_b5{margin-bottom:5rem;}

/* Main */
main{
  padding-top: 10rem;
}
.content-wrapper{
  max-width: 800px;
  margin: auto;
}
.content-wrapper h2{
  font-size: 2.0rem;
}
.content-wrapper h3{
  font-size: 1.6rem;
}
.content-wrapper h4 {
  position: relative;
  padding: 8px 16px;
  outline: 1px solid #333;
  font-family: 'Noto Serif JP', serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  display: block;
  box-sizing: border-box;
  max-width: 600px;
  text-align: center; 
  margin: 2rem 0;
  /*margin-inline: auto;*/
}
.content-wrapper h4::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  background: #eee9e6;
  z-index:-999;
}
ul.performance{
  list-style-type: square;
  padding: 0 3rem;
}
.portfolioArea{
  background-color: #f9f9f9;
  padding: 2rem;
  margin-top: 2rem;
}
.portfolioArea h3 ,.about h3{
  margin: 3rem auto;
  text-align: center;
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 4);
  padding: .75rem;
  text-align: center;
}
.scroll-infinity__item>img {
  /*width: 100%;*/
  max-height: 350px;
  max-width: 100%;

}
.scroll-infinity__item2 {
  width: calc(100vw / 4);
  padding: .1rem;
}

.scroll-infinity__item2>img {
  width: 80%;
}

.portfolioArea h4 {
  position: relative;
  padding: 8px 16px;
  font-family: 'Noto Serif JP', serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  display: block;
  box-sizing: border-box;
  max-width: 350px;
  text-align: center;
  margin: 24px;
  margin-inline: auto;
}

.portfolioArea h4::before, .portfolioArea h4::after {
  content:'';
  position: absolute;
  width: 30px;
  height: 30px;
}

.portfolioArea h4::before {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  top:0;
  left: 0;
}

.portfolioArea h4::after {
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  bottom:0;
  right: 0;
}

.portfolioArea h4 span:before, .portfolioArea h4 span:after {
  content:'';
  position: absolute;
  width: 46px;
  height: 46px;
  rotate: 45deg;
}

.portfolioArea h4 span:before {
  border-left: solid 1px #333;
  top:2px;
  left: 2px;
}

.portfolioArea h4 span:after {
  border-right: solid 1px #333;
  bottom:2px;
  right: 2px;
}

/* ボタン */
.button a {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  border: 1px solid #333;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 280px;
  text-align: center; 
  padding: 16px 64px;
  margin: 7rem 0;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  z-index:999;
  transition: all 0.3s;
}

.button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 1px;
  background: #333;
  transition: all 0.3s ease;
}
.button a:hover{
  background: #ccc;
  color: #fff;
}
.button a:hover::after {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}

@keyframes OutIn-Line {
    0% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50.1% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }

    100% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

/* //ボタン */
.about {
  max-width: 600px;
  margin: auto;
}
.about dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: stretch;
    margin-bottom: 5%;
}
.about dt {
    width: 16%;
    padding: 2%;
    border-bottom: 1px dotted #ccc;
    font-weight: 700;
}
.about dd {
    width: 84%;
    padding: 2%;
    border-bottom: 1px dotted #ccc;
}

@media screen and (max-width: 599px) {
  .content-wrapper{
    padding: 2rem;
  }
}


.bggray {
    background-color: #f2f2f2;
}
.contactLnk {
    text-align: center;
    padding: 5%
}

.contactLnk h2::after {
    content: '';
    width: 110px;
    height: 1px;
    display: inline-block;
    background-color: #dd5476;
    position: absolute;
    bottom: -5px;
    left: calc(50% - 55px)
}

.contact_inner {
    background-color: #fff;
    padding: 5%;
    box-shadow: 0 0 10px #ccc;
    max-width: 650px;
    margin: auto
}
.contact_inner h2{
    position: relative;
    margin-bottom: 2rem;
}

.contact_inner a {
    position: relative;
    border: 1px solid #555;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #333;
    outline: 0;
    transition: .2s linear;
    margin: 5% 0 0
}

.contact_inner a:hover {
    background: #333;
    color: #fff
}

.contact_inner a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -26px;
    width: 40px;
    height: 1px;
    background: #333;
    transition: .2s linear
}

.contact_inner a::after {
    content: "";
    position: absolute;
    top: 12px;
    right: -23px;
    width: 1px;
    height: 8px;
    background: #333;
    transform: skewX(45deg);
    transition: .2s linear
}

.contact_inner a:hover::before {
    right: -30px
}

.contact_inner a:hover::after {
    right: -25px
}

/* footer */
footer{
    background-color: #f9f9f9;
    padding: 5rem;
}
.footer-inner{
    max-width: 800px;
    margin: auto;
}
footer nav ul{
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.related-links{
  margin: 2rem;
}
.relation{
  font-size: 1.5rem;
}
.related-links h4{
  font-size: 1.2rem;
}

.copyright {
    background-color: #dc889d;
    text-align: center;
    color: #fff;
    padding: 1rem;
}