@charset "UTF-8";

/* --共通項目 -- */
/* -------------------------------- */
html {
    font-size: 100%;
    scroll-behavior: smooth;
}
body {
    color: #111;
    background-color: #fff;
    font-family: "游明朝体", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "ヒラギノ明朝 Pro", "MS P明朝", "MS P明朝", serif;
    font-weight: normal;
    font-size: 1rem;
    line-height: 1.958;
    font-feature-settings: "palt";
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: #111;
}
.container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 10%;
}
.content-mb {
    margin-bottom: 8.333rem;
}
@media screen and (max-width: 1024px) {
    .container {
        padding: 0 4%;
    }
    .content-mb {
        margin-bottom: 5rem;
    }
  }


/* -- TOP -- */
/* -------------------------------- */


/* -- header -- */
#header {
    width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: #E49FCA;
    height: 5rem;
}
#header .inner {
    display: flex;
    justify-content: space-between;
    line-height: 5rem;
}
.header-nav ul {
    display: flex;
    justify-content: space-between;
}
.header-logo {
    width: 17.125rem;
}
.header-nav li {
    margin-left: 3.75rem;
    font-size: 1.25rem;
    font-weight: bold;
}
.header-nav li:first-child {
    margin-left: 0;
}
.header-nav li:hover {
    transition: transform .6s ease;
    transform: scale(1.1);
}
.header-nav a:hover {
    opacity: 0.5;
    overflow: hidden;
}
.header-toggle {
    display: none;
}

@media screen and (max-width: 768px) {
    #header {
        height: 4.375rem;
        padding: 0;
    }
    .header-logo {
        width: 10rem;
    }
    #header.none {
        opacity: 0;
    }
    .header-nav {
        position: absolute;
        top: -3000%;
        right: 0;
        width: 100vw;
        height: 100vh;
        padding: 10.5rem 0 6rem 0;
        background: #ffffff;
        box-sizing: border-box;
        z-index: 9000;
        opacity: 0;    
        transition: all 0.6s;
        text-align: center;
    }
    .header-nav ul {
        display: block;
        height: auto;
    }
    .header-nav li {
        margin: 0 0 30px 0;
        font-size: 1.25rem;
    }
    #header .inner {
        line-height: 4.375rem;
    }
    .header-nav.active {
        opacity: 0.9;
        top: 0;
    }
    .header-toggle {
        display: block;
        position: absolute;
        background-color: #E49FCA;
        right: 1.5rem;
        top: 0.8rem;
        width: 3rem;
        height: 3rem;
        border-radius: 0.313rem;
        z-index: 10000;
    }
    .header-toggle span{
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2rem;
        height: 0.125rem;
        background: #fff;
        margin-left: -1rem;
        transition: all .4s;
    }
    .header-toggle span:nth-of-type(1) {
        top: 0.938rem; 
    }
    .header-toggle span:nth-of-type(2) {
        top: 1.438rem;
    }
    .header-toggle span:nth-of-type(3) {
        top: 1.938rem;
    }
    .header-toggle.active span:nth-of-type(1) {
        top: 1.125rem;
        left: 60%;
        transform: translateY(6px) rotate(-45deg);
        width: 50%;
    }
    .header-toggle.active span:nth-of-type(2) {
        opacity: 0;
    }
    .header-toggle.active span:nth-of-type(3){
        top: 1.875rem;
        left: 60%;
        transform: translateY(-6px) rotate(45deg);
        width: 50%;
    }
}



/* -- mainvisual -- */
.background-img {
    background-size: cover;
    height: calc(100vh - 5rem);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.background-container {
    position: relative;
    width: 80vw;
    aspect-ratio: 16 / 9;
}
.maincircle {
    /* 水彩 */
    background-image: url(../img/index/suisai.jpg);
    background-size: cover;
    background-blend-mode: soft-light;
}
.circle {
    /* 水彩 */
    background-image: url(../img/index/suisai.jpg);
    background-size: cover;
    background-blend-mode: color-burn;
}
.circle-container {
    height: auto;
}
.maincircle {
    background-color: #E49FCA;
    border-radius: 30% 70% 60% 40% / 30% 40% 60% 70%;
    width: 38%;
    height: 70%;
    object-fit: cover;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.circle-left-top {
    background-color: #F2F282;
    border-radius: 30% 70% 60% 40% / 30% 40% 60% 70%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 5%;
    left: 15%;
}
.circle-left-center {
    background-color: #85DC8B;
    border-radius: 57% 100% 100% 38% / 73% 61% 100% 54%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.circle-left-bottom {
    background-color: #70D3DA;
    border-radius: 76% 77% 76% 87% / 62% 82% 63% 54%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 65%;
    left: 18%;
}
.circle-right-top {
    background-color: #EEC678;
    border-radius: 63% 100% 76% 87% / 74% 44% 100% 44%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 5%;
    right: 15%;
}
.circle-right-center {
    background-color: #E37373;
    border-radius: 69% 57% 45% 89% / 46% 56% 80% 54%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.circle-right-bottom {
    background-color: #AC97D8;
    border-radius: 81% 77% 76% 93% / 65% 64% 100% 100%;
    width: 13%;
    height: 30%;
    position: absolute;
    top: 65%;
    right: 18%;
}
.mainvisual-txt {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
}
.mainvisual-txt h2 img {
    width: 43rem;
}
.mainvisual-txt p {
    font-size: 2rem;
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .mainvisual-txt h2 img {
        width: 80%;
    }
}


/* -- section共通 -- */
#contents-area {
    text-align: center;
    overflow: hidden;
}
.sec-title {
    font-size: 4.167rem;
    font-weight: bold;
    margin-bottom: 4.167rem;
}

@media screen and (max-width: 1024px) {
    .sec-title {
        font-size: 2.083rem;
        margin-bottom: 1.875rem;
    }
}


/* -- about -- */
#about {
    background-color: #E49FCA;
    padding: 10rem 10% 6rem;
}
.about-inner {
    background-color: #fff;
    border-radius: 1.875rem;
    padding: 4.167rem 0;
}
.profile-flex {
    display: flex;
    height: 26.438rem;
    justify-content: center;
}
.prof-flex-left {
    width: 35%;
    margin-right: 1rem;
}
.prof-flex-right {
    width: 40%;
    padding-top: 2.5rem;
    text-align: justify;
}
#about img {
    width: 17rem;
    height: 17rem;
}
.sec-btn {
    text-align: right;
    margin-top: 4.167rem;
}
.button {
    background-color: #E49FCA;
    color: #fff;
    border-radius: 9999px;
    display: inline-block;
    padding: 0.5rem 5.5rem;
    position: relative;
    font-size: 1.25rem;
}
.button:hover {
    background-color: #fff;
    border: solid 0.188rem #E49FCA;
    color: #111;
    transition: transform .6s ease;
}
.curved {
    position: relative;
    background: #E49FCA;
    border-bottom-left-radius: 1000px 200px;
    border-bottom-right-radius: 1000px 200px;
    height: 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
}

@media screen and (max-width: 1024px) {
    #about {
        padding: 5rem 10% 6rem;
    }
    .about-inner {
        padding: 4.167rem 10%;
    }
    .profile-flex {
        flex-direction: column;
        height: auto;
    }
    .prof-flex-left {
        width: 100%;
        margin-right: 0;
        margin-bottom: 3.333rem;
    }
    .prof-flex-right {
        width: 100%;
        padding-top: 0;
    }
    .sec-btn {
        text-align: center;
        margin-top: 2rem;
        margin-bottom: 3.333rem;
    }
}
@media screen and (max-width: 768px) {
    #about {
    padding: 5rem 0 6rem;
    margin-bottom: 5rem;
    }
    #about img {
        width: 12rem;
        height: 12rem;
    }
    .about-inner {
        font-size: 0.7rem;
        border-radius: 0;
    }
    .curved {
    display: none;
    }
}


/* -- works -- */
.works-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.works-list {
    padding: 0 6%;
}
.works-listitem {
    display: block;
    margin-bottom: 5rem;
}
.works-listitem:hover {
    opacity: 0.5;
    transition: transform .6s ease;
}
.works-listitem img {
    width: 30vw;
}
.works-listitem-title {
    font-size: 1.25rem;
    margin-top: 0.833rem;
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .works-list {
        flex-direction: column;
    }
    .works-list {
        padding: 0;
    }
    .works-listitem img {
        width: 80vw;
    }
    .works-listitem-title {
        font-size: 1.25rem;
        margin-top: 1.875rem;
        font-weight: bold;
    }
}

/* -- skill -- */
.skill-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}
.skill-listitem {
    width: 4vw;
    margin-right: 5.5rem;
}
.skill-listitem:last-child {
    margin-right: 0;
}
.skill-listitem-img {
    margin-bottom: 0.833rem;
}
.skill-listitem-img img {
    margin-bottom: 0.833rem;
}
.skill-listitem p {
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .skill-listitem {
        width: 15%;
        margin: 0 1.5rem 1.5rem;
    }
    .skill-listitem:last-child {
        margin: 0 1.5rem;
    }
}

/* -- contact -- */
.contact-text {
    margin-bottom: 0.417rem;
    letter-spacing: 0.2rem;
}
.contact-btn {
    background-color: #E49FCA;
    border-radius: 9999px;
    width: 50px;
    height: 50px;
    display: inline-block;
    padding: 0.5rem 0.8rem 0.8rem;
    margin-top: 1.042rem;
    transition: .5s;
    transform: rotateZ(0deg);
}
.contact-btn:hover {
    transform: rotateZ(360deg);
}

/* -- footer -- */
#footer {
    font-size: 0.75rem;
    background-color: #E49FCA;
    padding: 4.167rem;
    text-align: center;
}

/* -- pagetop -- */
.pagetop-text {
    display: block;
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 1.0rem;
    opacity: 0.8;
}
.pagetop-text a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 6.25rem;
    padding: 0.313rem 0;
    text-align: center;
    display: block;
    border-radius: 0.313rem;
}






/* -- ABOUT -- */
/* -------------------------------- */

/* -- about -- */
.about {
    padding: 5% 10% 0;
    font-weight: normal;
}
.about .prof-flex-left {
    margin-right: 4.167rem;
}
.about .prof-flex-right {
    padding-top: 2.083rem;
}
.prof-flex-right h4 {
    font-size: 1.458rem;
    margin-bottom: 2.083rem;
}
@media screen and (max-width: 1024px) {
    .about .prof-flex-left {
        margin-right: 0;
    }
    .about .prof-flex-right {
        padding-top: 0;
    }
    .prof-flex-right h4 {
        margin-bottom: 0.833rem;
    }
}

/* -- strength -- */
.strength-items {
    display: flex;
    justify-content: space-between;
}
.strength-item {
    width: 30%;
}
.strength-item-title {
    font-size: 1.458rem;
    font-weight: bold;
    border: 1px solid #111;
    border-radius: 50%;
    width: 18.75rem;
    height: 18.75rem;
    line-height: 18.75rem;
    margin: 0 auto;
}
.strength-item-text {
    margin-top: 2.917rem;
}
@media screen and (max-width: 1024px) {
    .strength-items {
        flex-direction: column;
    }
    .strength-item {
        width: 80%;
        margin: 0 auto;
    }
    .strength-item-title {
        font-size: 1.25rem;
        width: 12.5rem;
        height: 12.5rem;
        line-height: 12.5rem;
    }
    .strength-item-text {
        margin-top: 1.25rem;
        margin-bottom: 3.125rem;
    }
}








/* --WORKS -- */
/* -------------------------------- */

/* -- work -- */
.works-space {
    padding: 5% 10%;
}
.works-title {
    font-size: 4.167rem;
}
.works-url {
    font-size: 1.25rem;
    margin-bottom: 6.25rem;
}
.works-info {
    margin-bottom: 3.333rem;
    display: flex;
    flex-wrap: wrap;
}
.works-head {
    width: 20%;
    font-size: 1.167rem;
    font-weight: bold;
    margin-bottom: 2.083rem;
}
.works-body {
    width: 80%;
    margin-bottom: 2.083rem;
}
.works-img {
    display: flex;
    justify-content: space-between;
    gap: 3.333rem;
}
.works-pc-img {
    width: 70%;
}
.works-sp-img {
    width: 30%;
}
@media screen and (max-width: 1024px) {
    .works-title {
        font-size: 2.083rem;
    }
    .works-url {
        font-size: 1.25rem;
        margin-bottom: 6.25rem;
    }
    .works-info {
        margin-bottom: 3.333rem;
        display: flex;
        flex-wrap: wrap;
    }
    .works-head {
        width: 100%;
        font-size: 1.167rem;
        font-weight: bold;
        margin-bottom: 0rem;
    }
    .works-body {
        width: 100%;
        margin-bottom: 2.083rem;
    }
    .works-img {
        display: flex;
        justify-content: space-between;
        gap: 3.333rem;
    }
    .works-pc-img {
        width: 70%;
    }
    .works-sp-img {
        width: 30%;
    }
}


