
html {
    width: 100%;
    scroll-behavior: smooth;
}

body {
    color: #484848;
    background-color: #FFFFFF;
    font-weight: normal;
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
}

p {
    font-size: 16px;
    line-height: 2.4;
    letter-spacing: 0.02em;
}

main {
    overflow-x: hidden;
}

a {
    text-decoration: none;
}

h1 {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 56px;
}

h2 {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 3.333vw;
    line-height: 1.15;
    text-align: center;

    margin-top: 12.5vw;
    margin-bottom: 5.208vw;
}

h3 {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 40px;
    line-height: 1.15;

    margin-bottom: 2.813vw;
}

h4 {
    font-family: "Yu Gothic",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.6;
    margin: auto;
    text-align: center;
}

.h4 {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
}

h5 {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 0.833vw;
}

h6 {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;

    margin-bottom: 0.833vw;
}

.h7 {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    /* ボックスの高さと同一、または32px */
    text-align: center;
}

section {
    margin: auto;
    margin-bottom: 5.208vw;
}

.mgn_both {
    margin-left: 16px;
    margin-right: 16px;
}

.mgn_left {
    margin-left: 16px;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.flexbox {
    display: flex;
    flex-wrap: wrap;
}

.flexbox_center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/*globalmenu*/

#nav_PC.site-header {
    justify-content: flex-end;

    position: fixed;
    top: 0px;


    width: 100%;
    z-index: 9999;

    transition: .5s;
}

#nav_PC.site-header.hide {
    transform: translateY(-100%);
}

#logo_PC {
    position: fixed;
    top: 1.458vw;
    left: 5vw;
    width: 9.635vw;
    height: auto;
    -webkit-filter: drop-shadow(0px 3px 10px rgba(255, 255, 255, 0.8));
    /* SafariなどのWebkitブラウザ用 */
    filter: drop-shadow(0px 10px 26px rgba(255, 255, 255, 0.8));
}

#nav_PC ul.flexbox {
    margin-right: 5vw;

    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 1.146vw;
    line-height: 1;
    /*font-size: 20px;
    line-height: 21px;*/

    margin-bottom: 0.625vw;
    /*margin-bottom: 12px;*/
}

#nav_PC li.flexbox {
    align-items: flex-end;
    justify-content: center;

    height: 7.292vw;
    margin-right: 5px;

    border-radius: 12px;
    color: #b3aaa1;
}

#nav_PC li.flexbox:hover {
    color: #484848;
    transition-duration: .5s;

}

#nav_PC li:last-child {
    background: url("../image/contact_button_big.jpg") no-repeat right top/auto;
    background-size: contain;
    border-radius: 0 0 20% 20%;

    width: 9.84vw;
    height: 7.08vw;
    /*width: 189px; height: 136px;*/
    padding-bottom: 1vw;
    margin-left: 2vw;
}

#nav_PC li.index.flexbox {
    height: 7.292vw;
}

#nav_PC li.index:last-child {
    background: url("../image/contact_button_big.jpg") no-repeat right top/auto;
    padding-bottom: 2vw;
}

#nav_PC .js-header {
    border-radius: 50px;
    padding: .7vw 3.2vw;
}

#nav_PC .headerColorScroll {
    background: rgba(255, 255, 255, 0.8);
}

/*--------globalmenu*/

/*globalmenu_mobaile*/
#logo_Mo {
    display: none;
}

#nav_Mo {
    display: none;
}

/*--------globalmenu_mobaile*/

/*footer*/
footer {
    background-color: #484848;
    text-align: center;
    padding: 16px 8px 12px 8px;
}

footer ul {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.2;
    /* ボックスの高さと同一 */
    text-align: center;

    color: #FFFFFF;

    display: flex;
    align-items: center;
    justify-content: center;
}

footer ul li {
    padding: 24px 16px;
}

footer ul a {
    position: relative;
}

footer ul a::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #FFFFFF;
    border-radius: 50%;
    position: absolute;
    top: 42%;
    left: -15px;
    transform: translateY(-50%);
    opacity: 0;
}

footer ul a:hover::before {
    opacity: 1;
    transition: .5s;
}

footer img {
    margin: 16px auto;
}

footer p {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.6;

    color: #FFFFFF;
}

#license_line {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 16px
}

#license_line div {
    width: 100%;
    height: 1px;
    border-top: 1px solid #FFFFFF;
}

#license_line p {
    margin: 0 0.417vw;
}

/*--------footer*/
/*index*/
.mv {
    width: 100vw;
    margin: 58px auto 100px auto;
    /*margin: 58px auto 100px auto;*/
    position: relative;
}

#mv_back {
    width: 67.448vw;
    height: 48.698vw;
    background-image: url("../image/top/main_visual_img_backPC.jpg");
    background-size: contain;
    position: relative;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-radius: 1.458vw;
}

#mv_img {
    width: 67.448vw;
    height: 48.698vw;
    background-image: url("../image/top/main_visual_imgPC.png");
    background-size: contain;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#HelloMynameis {
    width: 29.583vw;
    height: 9.219vw;
    position: absolute;
    left: calc(50% - 29.948vw/2 - 28.021vw);
    top: 11.042vw;

}

#HarukaYamamoto {
    width: 82.552vw;
    height: 22.865vw;
    position: absolute;
    left: calc(50% - 82.135vw/2 - 2.917vw);
    top: 5.625vw;
}

#mv_text {
    position: absolute;
    left: calc(50% - 26.875vw/2 - 26.901vw);
    top: 29.688vw;

    color: rgba(0, 0, 0, 0.25);

    text-align: center;
}

#mv_text h2 {
    margin: 0;
}

#mv_text p {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 1.16;
    /*font-size: 24px;
    line-height:28px*/

    color: rgba(0, 0, 0, 0.5);
}

.mv #scroll {
    position: absolute;
    left: calc(50% - 10vw/2 - 32.682vw);
    top: 46.406vw;

    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 1.16;
        /*font-size: 24px;
    line-height:28px*/
}

/*-----------index_main_visual*/

/*index_works*/
#works {
    margin: 0 auto 100px auto;
    max-width: 76.667vw;
}

#works_title {
    margin: auto;
    text-align: center;
    margin-bottom: 2.396vw;
}

#works_title h3 {
    margin-bottom: 1.667vw;
}

#works_title p.flexbox {
    justify-content: center;
}

#works_list {
    justify-content: center;
    gap: 2.5vw 3.333vw;
}

.works_contents {
    width: 31.25vw;
}

.works_contents p {
    font-size:12px;
    line-height: 1.4;
}

.img_frame {
    display: inline-block;
    overflow: hidden;
    margin-bottom: 16px;
}

.img_frame img {
    transition: transform 0.3s ease-out;
}

.img_frame img:hover {
    transform: scale(1.1, 1.1);
}

/*-------index_works*/
/*index_aboutme*/

#aboutme {
    padding: 0 0.781vw;
    margin: 0 13%;
    margin-bottom: 5.208vw;
    min-width: 19.531vw;
    max-width: 73.594vw;
}

#aboutme_1 h3 {
    line-height: normal;
}

#aboutme_1 img {
    width: 27.813vw;
}

#aboutme_2 {
    max-width: 36.927vw;
    margin-left: auto;
    margin-right: 0;
}

#aboutme_2_birth {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #484848;
}

#viewmore {
    width: fit-content;
    text-align: center;
    margin-top: 15px;
    margin-left: auto;
    margin-right: 0;
}

#viewmore_line {
    font-family: 'Aboreto';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 1;

    padding: 0.625vw 0;

    position: relative;
}

#viewmore_line::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 1px solid #484848;

    animation: border_anim 3s linear infinite;
}

@keyframes border_anim {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }

    50% {
        transform: scale(1);
        transform-origin: left;
    }

    50.1% {
        transform: scale(1);
        transform-origin: right;
    }

    100% {
        transform: scale(0);
        transform-origin: right;
    }
}

#viewmore img {
    margin: 16px auto;
}

/*--------index_aboutme*/

/*index_contact*/
#contact {
    max-width: 1629px;
    margin: 0 8%;
    padding: 0 15px;
    margin-bottom: 100px;
    text-align: center;
}

#back_to_top_index {
    text-align: left;
    transition: .5s ease;
}

#back_to_top_index:hover {
    transform: translateY(-20px);
}

#contact h3 {
    border-top: 1px solid #484848;
    padding-top: 24px;
    margin-top: 24px;
    margin-bottom: 24px;
}

#contact a {
    font-size: 48px;
    margin-bottom: 24px;
}

#contact p {
    font-size: 24px;
    margin-top: 24px;
}

/*--------index_contact*/
/*-------index*/

/*aboutme*/
.mv.aboutme {
    margin-top: 8.854vw;
    /*margin-top: 170px;*/
}

#history {
    max-width: 57.484vw;

    margin: 0 21% 100px 21%;
    display: flex;
    justify-content: center;

    font-weight: 400;
    font-size: 1.146vw;
    line-height: 1.6;
    /*font-size: 22px;
    line-height: 35px;*/
}

#history h4 {
    text-align: left;
    margin-bottom: 1.25vw;
}

#history table th,
td {
    padding: 0 0.833vw 0.208vw 0;
    font-weight: 400;
}

#history img {
    width: 18.802vw;
    height: 16.875vw;
    margin: auto 0 0 auto;
}

#skill {
    width: fit-content;
    margin: auto;
    margin-bottom: 5.208vw;
    font-family: 'Segoe UI';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    /*line-height: 27px;*/
}

#skill h4 {
    display: inline-block;
    text-align: left;
    margin-bottom: 24px;
}

#skill .flexbox {
    justify-content: space-between;
    flex-wrap: nowrap;
}

#skill .flexbox .bold_20px {
    font-weight: 700;
    text-align: center;
}

#designskill.flexbox {
    margin-right: 24px;
}

p#cording {
    text-align: center;
}

#parsonality {
    max-width: 1280px;
    margin: 0 auto 100px auto;
}

#parsonality .flexbox {
    margin-bottom: 72px;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.parsonality_title {
    margin-left: 0;
    margin-top: 42px;
    margin-bottom: 42px;

    font-weight: 400;
    font-size: 22px;
    line-height: 1.6;
}

.parsonality_detail {
    /*min-width: 500px;*/
    margin-left: 24px;
}

#parsonality1.flexbox {
    justify-content: space-between;
}

#parsonality1 img {
    aspect-ratio: 577/428;
    height: fit-content;
}

#parsonality1 .parsonality_wrap {
    margin: 0;
    margin-left: 62px;
}

#parsonality2 .parsonality_wrap {
    margin: 0;
    margin-right: 62px;
}

#parsonality2 .parsonality_detail {
    margin-bottom: 42px;
}

#reason {
    max-width: 1520px;
    margin: 0 auto 100px auto;
}

#reason h4{
    margin-bottom: 42px;
}

#reason_english {
    text-align: center;

    font-size: 24px;
    line-height: 1.6;
    padding-left: 160px;
    margin-bottom: 48px;
}

#reason .flexbox {
    max-width: 77.604vw;
    /*max-width: 1490px;*/
    margin: auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.292vw;

    /*gap: 44px;*/
}

.reason_box {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 275px;
    height: 344px;
    margin: auto;

    border: 6px solid rgba(72, 72, 72, 0.75);
}

.reason_box p {
    font-size: 20px;
    writing-mode: vertical-rl;
}

/*-------aboutme*/

/*back_to_top*/
#back_to_top {
    width: fit-content;
    margin: auto;
    margin-bottom: 64px;
    transition: .5s ease;
}

#back_to_top:hover {
    transform: translateY(-20px);
}

/*----------back_to_top*/

/*to_works*/
#to_works {
    padding: 0;
    margin: auto;
    margin-bottom: 100px;
}

#to_works h3 {
    text-align: center;
}

#to_works ul {
    width: 100vw;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    padding: 0px;
    row-gap: 32px;
}

#to_works li {
    width: 33.3%;
}

#to_works .img_frame {
    margin-bottom: 0;
}

#to_works ul img {
    transition: transform 0.3s ease-out;
}

#to_works ul img:hover {
    height: auto;
    transform: scale(1.1, 1.1);
}

#to_works h6 {
    margin-left: 16px;
}

/*-----------to_warks*/
/*works*/
.bold_h4 {
    font-weight: 700;
}

.bold_32px {
    font-weight: 600;
    font-size: 24px;
    line-height: 1.8;
    letter-spacing: 0.08em;    
    text-align: center;
}

/*works_keyvisual*/
#kv {
    margin: 7% 14% 100px 14%;
    width: fit-content;
}

#kv h6 {
    width: fit-content;
    padding: 0 52px;
    margin-bottom: 16px;

    color: #FFFFFF;
    background: #484848;
    border-radius: 1000px;

    text-align: center;
}

#time {
    display: flex;
    flex-wrap: wrap;
}

#time p {
    line-height: 1;
}

#mgn_time {
    margin-right: 42px;
}

#kv_image {
    position: relative;

    width: 71.354vw;
    height: 29.792vw;

    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    bottom: 0px;
    background-image: url("../image/apparel1/appare1lPC_fv.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 1.458vw;

    margin: 32px auto;
}

/*---------works_kv*/

/*works_purpose*/
#purpose {
    width: fit-content;
}

#purpose p.flexbox {
    text-align: center;
}

/*--------works_ourpose*/

/*works_main*/
#main {
    max-width: 1409px;
    margin: 0 14%;
    margin-bottom: 5.208vw;
    justify-content: space-between;
}

#main #pc_design {
    width: 43%;
    height: fit-content;
    border-radius: 5px;
}

/*works_design*/
#design {
    width: 46%;
}

#design_1 {
    font-weight: 500;
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: -0.02em;
    margin: 0 auto 64px auto;
}

#design_2 {
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 2.6;
    /* または262% */
    margin-bottom: 64px;
}

.bold_16px {
    font-weight: 700;
    font-size: 16px;
    line-height: 2.6;
    /* または262% */
}

#design_3 {
    margin-bottom: 128px;
}

#design_3 p{
    font-weight: 600;
    font-size: 14px;
    line-height: 1.6;
}

#design_3_detail {
    margin: 16px;
}

/*works_detail*/
#detail {
    max-width: 655px;
    padding: 2.708vw 0 1.875vw 0;
    margin-bottom: 6.667vw;

    border-width: 1px 0px;
    border-style: solid;
    border-color: #484848;
}

#detail h5 {
    font-size: 18px;
    margin-bottom: 0;
}

#detail p {
    line-height: 1.6;

    margin-bottom: 24px;
    justify-content: center;
    align-items: center;
}

/*works_info*/
#info_1 {
    max-width: 655px;
    margin-bottom: 52px;
    text-align: center;
}
#info_1 p{
    font-size: 12px;
    line-height: 2;
}

#info_1 .flexbox {
    justify-content: center;
    padding: 0px;
    gap: 30px 20px;

    max-width: 470px;

    margin: auto;
    margin-top: 26px;
}

.info_1_detail {    
    box-sizing: border-box;

    width: 200px;
    height: 239px;

    border: 1px solid #484848;
    border-radius: 28px;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#info_2_detail {
    width: 100%;
    overflow: hidden;
    overflow-x: scroll;
    padding: 8px 0;
}

#info_2_detail img {
    max-inline-size: inherit;
}

#info_2_detail::-webkit-scrollbar {
    background: #E2DCDB;
    width: 5px;
    height: 5px;
    border-radius: 20px;
}

#info_2_detail::-webkit-scrollbar-thumb {
    background-color: #747170;
    border-radius: 20px;
}

.cursor {
    margin: -37px 0 0 -37px;
    transition: transform .3s, opacity .3s, visibility .3s;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    z-index: 10;
}

.cursor.is-active {
    opacity: 1;
    visibility: visible;
}

/*works_mobile*/
#mobile {
    margin-top: 36px;
    height: 784px;
    overflow: hidden;
    overflow-y: scroll;
    border-radius: 5px;
    padding: 0 8px;
}

#mobile::-webkit-scrollbar {
    background: #E2DCDB;
    width: 5px;
    border-radius: 20px;
}

#mobile::-webkit-scrollbar-thumb {
    background-color: #747170;
    border-radius: 20px;
}



/*---------works_main*/


/*apparel2*/
#kv_image.apparel2 {
    background-image: url("../image/apparel2/apparel2PC_fv.jpg");
    height: 38.75vw;
}

/*--------apparel2*/
/*audio*/
#kv_image.audio {
    background-image: url("../image/audio/audioPC_fv.jpg");
}

/*------audio*/

/*english*/
#english #kv_image {
    background-image: url("../image/english/englishPC_fv.jpg");
}


#info_1 #title.flexbox_center {
    margin: 0 auto 42px auto;
    width: 376px;
    height: 124px;

    border: 1px solid #484848;
    border-radius: 28px;
}

#info_1 #title p:first-child {
    line-height: 2;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.12em;
}

#english .detail_wrap {
    margin-bottom: 42px;
    text-align: center;
}

#english .detail_wrap p {
    margin-bottom: 16px;
}

#allow_school,
#allow_student {
    display: inline-block;
    position: relative;
    padding: 12px;
}

#english #allow_school p,
#english #allow_student p {
    margin-bottom: 0;
}

#allow_school::before {
    content: url("../image/allow_left_Mo.png");
    position: absolute;
    top: 0;
    left: -30px;
}

#allow_school::after {
    content: url("../image/allow_right_Mo.png");
    position: absolute;
    top: 0;
    right: -30px;
}

#allow_student::before {
    content: url("../image/allow_left_Mo.png");
    position: absolute;
    top: 0;
    left: -40px;
}

#allow_student::after {
    content: url("../image/allow_right_Mo.png");
    position: absolute;
    top: 0;
    right: -40px;
}

/*------english*/
/*seikei*/

#kv_image.seikei {
    background-image: url("../image/seikei/seikeiPC_fv.jpg");
}

h1.banner {
    font-family: "Yu Gothic",
        "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    line-height: 1.7;
    /* ボックスの高さと同一 */
}

#main.banner {
    max-width: 1412px;
    margin: auto;
}

#main.banner table {
    width: 71.354vw;
    margin: auto;
}

.banner table {
    table-layout: fixed;
}

.banner h4 {
    margin: 0;
}

.banner .bold_32px {
    text-align: left;
}

.banner tr {
    margin-bottom: 100px;
}

.banner th {
    font-weight: 500;
    width: 362px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.banner td {
    width: 54.688vw;
    padding-right: 0;
    padding-bottom: 5.208vw;
}

.banner #design_3 {
    margin-bottom: 0;
}

.banner li {
    list-style: inside;
    text-indent: -1em;
    padding-left: 1em;
}

#size {
    list-style: none;
}

/*------seikei*/
/*yoga*/

#kv_image.yoga {
    background-image: url("../image/yoga/yogaPC_fv.jpg");
    background-repeat: no-repeat;
}

/*------yoga*/
/*-----works*/

/*textanimetions*/
@keyframes showTextFromBottom {
    0% {
        transform: translateY(100%);
    }

    100% {
        transform: translateY(0px);
    }
}

.anime-up.displayed span {
    animation: showText 1s backwards;
    display: inline-block;
}

.anime-up.displayed>span {
    overflow: hidden;
}

.anime-up.displayed>span>span {
    animation: showTextFromBottom 0.3s backwards;
}

/*-----------text animetions*/


/*vivus_svg_animation*/
#base path {
    fill: url(#_名称未設定グラデーション);
    fill-opacity: .2;
}

#mask path {
    fill: none;
    stroke: #3fff45;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 20px;
}

/*---------vivus_svg_animation*/


/*blurから戻る*/
/*---------blurから戻る*/

/*cssanimation_fadein*/