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

/*div{border: 1px solid #aaaaaa;}*/

body{
    /*background-color: #fffef8;*/
    background-color: #dddcd9;
}

/***************************************
全体のフォント設定
***************************************/
/* 日本語・英語　本文 */
p{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 14px;
    color: #191919;
}

/* 英語見出し */
.h_en{
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #191919;
}

/* 日本語見出し */
.h_jp{
    font-family: "Kaisei Decol", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    color: #191919;
}

/* 全体のリンク設定 */
a:link { 
    text-decoration: none; color: #191919; 
}    /* 未訪問のリンク */

a:visited { 
    text-decoration: none; 
    color: #191919; 
} /* 訪問済みのリンク */

a:hover { 
    color: #dc5592; 
    transition: color 0.4s ease; 
}    /* ホバー時 */

a:active { 
    color: #ed9a2f; 
} /* クリック（アクティブ）時 */

li{
    list-style-type: none;
}

/**************** 
PC / SP　表示切替 
*****************/
.pc_show {
    display: block;
}

.sp_show {
    display: none;
}

/***************************************
フッター
***************************************/
footer {
    width: 100%;
    height: 60px;
    background-color: #ed9a2f;
}

.footer_inner img {
    display: block;
    margin: 0 auto;
    padding-top: 25px;
}

/***************************************
BACK TO PAGE TOP - BUTTON
***************************************/
div.page_top_container button.page_top {
    position: fixed;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 80px;
    right: 20px;
    bottom: -160px;
    color: #fff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    border: 0;
    background: rgba(220, 85, 146, 0.6); 
    transition: .2s;
    letter-spacing: 3px;
    font-weight: bold;
    border-radius: 100px 100px 0 0;
}

div.page_top_container button.page_top i{
    position: absolute;
    font-size: 30px;
    color: #FFF;
    top: 15px;
    font-weight: 300;
    transition: transform .3s ease; 
}

div.page_top_container button.page_top p{
    margin: 0;
    font-size: 15px;
    bottom: 13px;
    position: absolute;
    color: #fff;

    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 14px;
}

div.page_top_container button.is_active {
    opacity: 1;
    visibility: visible;
}

div.page_top_container button.is_active {
    bottom: 0px;
}

/***************************************
ヘッダー グローバルナビ
***************************************/
/* ヘッダーのメッセージ */
.header .header_container {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: var(--header-height);
    z-index: 10000;
}

.scrolled {
    opacity: 0.7;
}

.header .header_container .header_message_box {
    width: 100%;
    height: 30px;
    background-color: #4471d8;
    display: flex;
    align-items: center;
    /* message_loop */
    overflow: hidden;
    white-space: nowrap;
}

/* message_loop */
.message_loop {
    display: flex;
    width: max-content;
    animation: message-scroll 18s linear infinite;/* 速度調整 */
}

.header_container .header_message_box p {
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 14px;
    margin: 0;
    padding-right: 5rem; /* 文と文の間隔 */
}

/* 横に流すアニメーション */
@keyframes message-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* グローバルナビ */
.header_nav_container {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background-color: #fff;
    box-shadow: 0px 4px 3px rgba(105, 105, 105, 0.3);
}

.header_home {
    padding-left: 20px;
}

.header .header_container .header_nav_box {
    width: 100%;
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header .header_container .header_nav_box .header_nav {
    width: 100%;
}

.header .header_container .header_nav_box .header_nav ul{
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 100px;
}

.header .header_container .header_nav_box .header_nav ul .triangle {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    letter-spacing: 0.1em;
    display: inline-block;
    padding-left: 35px;
    position: relative;
    transition: border-top-color 0.4s ease;
}

.header .header_container .header_nav_box .header_nav ul .triangle::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 17px solid #191919;
    position: absolute;
    top: 5px;
    left: 0;
    transition: border-top-color 0.4s ease;
}

/* hover時 */
.header .header_container .header_nav_box .header_nav ul li:hover::before {
    border-top-color: #dc5592;
}

/***************************************
ヘッダー キービジュアル
***************************************/
:root {
    --header-height: 100px;
}
.header .key_visual {
    max-width: 100%;
    min-height: 100vh;            
    margin-top: var(--header-height); /* header 高さ分下げる */ 
    background-image: url(../img/kv.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

/***************************************
WEBデザイン01　PICK UP
***************************************/

.web_section01 .web_section_container .web_section_inner {
    width: 100%;
    padding: 180px 0 130px 0;
}

.web_section_inner .heading_box {
    max-width: 1280px;
    border-bottom: 2px solid #191919;
    margin: 0 auto 80px auto;
}

.web_section_inner .heading_box .h_en {
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 48px;
    color: #191919;
    padding-top: 0px;
}

.pickup_container {
    max-width: 1280px;
    margin: 0 auto 80px auto;
    display: flex;
    flex-direction: row;
}

.pickup_container .pickup_inner {
    display: flex;
    gap: 130px;
}

.pickup_container .pickup_inner .number {
    position: relative;
}

.pickup_container .pickup_inner .number a img:hover {
    transition: 0.4s ease;
    filter: brightness(0.7);
}

.pickup_container .pickup_inner .number p {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.01em;
    line-height: 1;
    color: #191919;
    font-size: 16px;
    position: relative;
    z-index: 500;
    top: 13px;
    left: 0;
}

.pickup_container .pickup_inner .number p span{
    letter-spacing: 0.1em;
    line-height: 1;
    font-size: 48px;
}

.pickup_container .pickup_inner .number img {
    display: block;
    box-shadow: -3px 3px 3px 5px rgba(170, 170, 170, 0.4);
}

.pickup_container .pickup_inner .text_box {
    padding-top: 55px;
}

.pickup_container .pickup_inner .text_box .h_jp {
    font-size: 18px;
    margin-bottom: 10px;
}

.pickup_container .pickup_inner .text_box .h_en {
    font-size: 30px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}

.pickup_container .pickup_inner .text_box .role {
    font-size: 12px;
    margin-bottom: 40px;
    color: #696969;
}

.pickup_container .pickup_inner .text_box .introduce {
    font-size: 14px;
    margin-bottom: 50px;
}

.pickup_inner_reverse {
    flex-direction: row-reverse;
}

.pickup_container .pickup_inner .text_box .btn_box {
    text-align: right;
}

.pickup_container .pickup_inner .text_box .btn_box a p {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1;
    font-size: 16px;
    position: relative;
    padding-left: 195px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
}

.pickup_container .pickup_inner .text_box .btn_box a p::before {
    content:"";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 10px;
    left: 0;
    transition: background-color 0.4s ease;
}

.pickup_container .pickup_inner .text_box .btn_box a p::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 6px;
    left: 142px;
    transition: border-color 0.4s ease;
}

.pickup_container .pickup_inner .text_box .btn_box a p:hover {
    color: #dc5592;
    transition: color 0.4s ease; 
}

.pickup_container .pickup_inner .text_box .btn_box a p:hover::before {
    background-color: #dc5592;
    transition: background-color 0.4s ease;
}

.pickup_container .pickup_inner .text_box .btn_box a p:hover::after {
    border-color: #dc5592;
    transition: border-color 0.4s ease;
}

/***************************************
WEBデザイン02　トップページデザイン
***************************************/
.web_section02 .web_section_container {
    width: 100%;
    display: flex;
    gap: 40px;
    justify-content: center;
    background-color: #f1b2ce;
    padding: 120px 0 130px 0;
}

.web_section02 .web_section_container .web_section_inner {
    max-width: 600px;
    height: auto;
    background-color: #fff;
    /*border-radius: 20px;*/
    padding: 60px 50px 70px 50px;
}

.web_section02 .web_section_container .web_section_inner .web_section_box img {
    display: block;
    margin: 0 auto 60px auto;
    box-shadow: -3px 3px 3px 5px rgba(170, 170, 170, 0.3);
}

.web_section02 .web_section_container .web_section_inner .web_section_box img:hover {
    transition: 0.4s ease;
    filter: brightness(0.7);
}

.web_section02 .web_section_container .web_section_inner .web_section_box .h_jp {
    font-size: 16px;
}

.web_section02 .web_section_container .web_section_inner .web_section_box .h_en {
    font-size: 30px;
    margin-bottom: 20px;
}

.web_section02 .web_section_container .web_section_inner .web_section_box .role {
    font-size: 12px;
    color: #696969;
    margin-bottom: 50px;
}

.web_section02 .web_section_container .web_section_inner .web_section_box .btn_box {
    text-align: right;
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1;
    font-size: 16px;
    position: relative;
    padding-left: 195px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p::before {
    content:"";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 10px;
    left: 0;
    transition: background-color 0.4s ease;
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 6px;
    left: 142px;
    transition: border-color 0.4s ease;
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p:hover {
    color: #dc5592;
    transition: color 0.4s ease; 
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p:hover::before {
    background-color: #dc5592;
    transition: background-color 0.4s ease;
}

.web_section02 .web_section_container .web_section_inner .web_section_box a p:hover::after {
    border-color: #dc5592;
    transition: border-color 0.4s ease;
}

/***************************************
グラフィックデザイン
***************************************/
.graphic_section {
    /*padding: 630px 0 0 0;*/
    /*background-color: #f889bb;*/
    background-color: #fffef8;
}

.graphic_section .graphic_container{
    width: 100%;
    padding: 120px 0 130px 0;
}

.graphic_section .graphic_container .graphic_inner .heading_box {
    max-width: 1280px;
    border-bottom: 2px solid #191919;
    margin: 0 auto;
}

.graphic_section .graphic_container .graphic_inner .heading_box .h_en {
    text-align: center;
    font-size: 48px;
    letter-spacing: 0.1em;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery {
    max-width: 1280px;
    padding: 80px 0 130px 0x; 
    margin: 80px auto 0 auto;
    background-color: #fffef8;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul {    
    display: grid;
    grid-template-columns: repeat(3, 360px);
    gap: 60px;
    justify-content: center; /* グリッド全体を中央へ */
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li {
    width: 360px;
    height: auto;
    background-color: #fff;
    border: 1px solid #dc5592;
    /*border-radius: 20px;*/
    padding: 30px 20px 50px 20px;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div img {
    margin-bottom: 20px;
    transition: filter 0.4s ease;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a:hover div img {
    filter: brightness(0.8);
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .h_jp {
    font-family: "Kaisei Decol", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 16px;
    margin-bottom: 5px;
    transition: color 0.4s ease;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .h_en {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.2;
    font-size: 24px;
    margin-bottom: 10px;
    transition: color 0.4s ease;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .role {
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 12px;
    color: #696969;
    transition: color 0.4s ease;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a:hover div .h_jp {
    color:#dc5592;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a:hover div .h_en {
    color:#dc5592;
}

.graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a:hover div .role {
    color:#dc5592;
}

/***************************************
メッセージ
***************************************/
.message {
    width: 100vw;
    background-image: url(../img/message_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.message .message_container .message_inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 90px 40px 110px 40px;
    gap: 70px;
}

.message .message_container .message_inner .message_left {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.message .message_container .message_inner .message_left img {
    display: block;
}

/***************************************
下層共通　　背景色　/ パンくずリスト
***************************************/
/* 下層ページの背景色 */
body.lower_body_bg {
    background-color: #d0dcf8;
}

/* パンくずリスト */
.header .breadcrumb_nav {
    padding-top: 120px;
}

.header .breadcrumb_nav ul {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    gap: 18px;
    padding: 30px 40px 30px 40px;
}

.header .breadcrumb_nav ul .breadcrumb_li {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #dc5592;
    font-size: 18px;
}

.header .breadcrumb_nav ul .icon:hover {
    transition: 0.4s ease;
    filter: brightness(0.4);
}

/***************************************
下層ページ　About me 
***************************************/
.aboutme_section .about_container .about_inner .heading_box .h_en {
    font-size: 72px;
    text-align: center;
}

/* 屋根 */
.roof_container {
    width: 100%;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.roof_container .pc_show {
    max-width: 1200px;
    margin: 0 auto;
}

/* 家　白いエリア */
.house_inner {
    max-width: 1100px;
    background-color: #fff;
    margin: 0 auto 0 auto;
    padding: 130px 50px 0 50px;
}

/* 自己紹介 */
.house_inner .intro_container {
    display: flex;
    justify-content: space-evenly;
    gap: 95px;
    margin-bottom: 90px;
}

.house_inner .intro_container .intro_right {
    padding-top: 50px
}

.house_inner .intro_container .intro_right img {
    display: block;
    margin-bottom: 30px;
}

/* 階段01 */
.house_inner .steps01_container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 135px;
    padding-left: 80px;
}

/* Background Story*/
.bg_story_container {
    margin-bottom: 135px;
}

.bg_story_container .heading_box {
    max-width: 1000px;
    border-bottom: 2px solid #191919;
    margin: 0 auto 80px auto;
}

.bg_story_container .heading_box .about_h_en {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #191919;
    font-size: 36px;
    text-align: start;
}

.bg_story_container .box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}

.bg_story_container .box_reverse {
    display: flex;
    flex-direction: row-reverse;
}

.bg_story_container .box .text_box{
    max-width: 620px;
    padding: 70px 120px 0 0;
}

.bg_story_container .box_reverse .text_box{
    max-width: 620px;
    padding: 70px 0 0 120px;
}

.bg_story_container .box  .text_box .h_en {
    font-size: 14px;
}

.bg_story_container .box  .text_box .h_jp {
    font-size: 30px;
    margin-bottom: 30px;
}

/* 階段02 */
.steps02_container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 135px;
    padding-right: 100px;
}

/* Design Policy & Values */
.policy_values_container .heading_box {
    max-width: 1000px;
    border-bottom: 2px solid #191919;
    margin: 0 auto 80px auto;
}

.policy_values_container .heading_box .about_h_en {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #191919;
    font-size: 36px;
    text-align: center;
}

.policy_values_container .box {
    display: flex;
    margin-bottom: 100px;
    display: flex;
    flex-direction: row;
    gap: 100px;
}

.policy_values_container .box_reverse {
    display: flex;
    flex-direction: row-reverse;
}

.policy_values_container .box .text_box {
    max-width: 550px;
    padding-top: 60px;
}

.policy_values_container .box .text_box  .h_en {
    font-size: 14px;
}

.policy_values_container .box .text_box  .h_jp {
    font-size: 30px;
    margin-bottom: 30px;
}

/* Skills */
.skills_container {
    margin-bottom: 135px;
}

.skills_container .heading_box {
    max-width: 1000px;
    border-bottom: 2px solid #191919;
    margin: 0 auto 80px auto;
}

.skills_container .heading_box .about_h_en{
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #191919;
    font-size: 36px;
    text-align: start;
}

.skills_container .box {
    padding: 0 100px;
    margin-bottom: 130px;
}

/* メッセージ */
.thankyou_message {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: max-height 0.5s ease, opacity 0.4s ease, transform 0.4s ease;

    background-color: #d0dcf8;
    border-radius: 20px;
    position: relative;
}

.thankyou_message.is-active {
    max-height: 400px;
    opacity: 1;
    transform: translateY(0);
}

.thankyou_message .top {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 700;
}

.thankyou_message .bottom {
    position: absolute;
    bottom: 5px;
    left: 5px;
    z-index: 700;
}

.thankyou_message p {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.7;
    color: #191919;
    font-size: 30px;
    text-align: center;

    position: relative;
    z-index: 800;

    padding: 100px 50px;
}

/* 鍵＋ドア */
.key_door_container {
    text-align: center;
    margin-top: 60px;
    position: relative;
}

.key_door_container .key {
    display: block;
    max-width: 226px;
    margin: 0 auto;
    padding: 50px 0 30px;

    cursor: pointer;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    bottom: 420px;

    transform: translateX(-50%);
    transition: transform 0.2s ease;
    opacity: 1;
}

.key_door_container .key:hover {
    transform: translateX(-50%) rotate(-10deg) scale(1.05);
}

/***************************************
下層ページ　ChairShop
***************************************/
.lower_works_section .lower_works_container .lower_works_inner .heading_box .h_en {
    font-size: 72px;
    text-align: center;
    margin-bottom: 100px;
}

.lower_works_inner .heading_box {
    background-image: url(../img/lower_works_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;/* 中央の丸い突起のため */

    position: relative;
    left: 50%;
    transform: translateX(-50%);

    padding: 0 40px 80px 40px;
}

.lower_works_inner .heading_box .work_img01 {
    display: block;
    width: fit-content;
    margin: 0 auto 130px auto;
}

.lower_works_show {
    background-color: #fff;
    display: flex;
    align-items: flex-start;

    justify-content: space-between;
    padding: 10px 90px 180px 90px;
}

.lower_works_show .text_box {
    max-width: 550px;
    position: sticky;
    top: 150px;/* stickyとセット：表示するtopからの距離 */
}

.lower_works_show .text_box .h_jp {
    font-size: 16px;
}

.lower_works_show .text_box .h_en {
    font-size: 30px;
    margin-bottom: 30px
}

.lower_works_show .text_box .role {
    font-size: 14px;
    color: #696969;
    margin-bottom: 60px;
}

.lower_works_show .text_box .intention01 {
    font-size: 14px;
    margin-bottom: 20px;
}

.lower_works_show .text_box .intention02 {
    font-size: 14px;
    line-height: 2.2;
}

.lower_works_show .text_box .intention02 span {
    border: 1px solid #000;
    color: #191919;
    letter-spacing: 0.1em;
    padding: 1px 3px;
}

/* Backボタン */
.back_btn_box {
    background-color: #fff;
    padding-bottom: 180px;
    display: flex;
    justify-content: center;
}

.back_btn_box a p {
    font-family: "Yeseva One", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1;
    font-size: 24px;
    position: relative;
    padding-left: 195px;
}

.back_btn_box a p::before {
    content:"";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 10px;
    left: 0;
    transition: background-color 0.4s ease;
}

.back_btn_box a p::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(-135deg);
    position: absolute;
    top: 7px;
    left: 0px;
    transition: border-color 0.4s ease;
}

.back_btn_box a p:hover {
    color: #dc5592;
    transition: color 0.4s ease; 
}

.back_btn_box a p:hover::before {
    background-color: #dc5592;
    transition: background-color 0.4s ease;
}

.back_btn_box a p:hover::after {
    border-color: #dc5592;
    transition: border-color 0.4s ease;
}

#back_here {
  scroll-margin-top: 200px; /* ヘッダーの高さ+100くらい */
}

/***************************************
下層ページ　Curry Shop
***************************************/
.lower_works_inner .heading_box .work_img02 {
    display: block;
    width: fit-content;
    margin: 0 auto 130px auto;
}

                    /******************************************************************************
                    以下【SPレイアウト】
                    ******************************************************************************/
                    @media screen and (max-width: 750px) {

                        /**************** 
                        PC / SP　表示切替 
                        *****************/
                        .pc_show {
                            display: none;
                        }

                        .sp_show {
                            display: block;
                        }
                    /******************************************************************************
                    【　SP　】フッター
                    ******************************************************************************/
                    footer {
                        width: 100%;
                        height: 60px;
                        background-color: #ed9a2f;
                    }

                    .footer_inner img {
                        width: 50%;
                        display: block;
                        margin-left: 0;
                        padding: 25px 0 0 4%;
                    }

                    /******************************************************************************
                    【　SP　】BACK TO PAGE TOP - BUTTON
                    ******************************************************************************/
                    div.page_top_container button.page_top {
                        position: fixed;
                        z-index: 10000;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 160px;
                        height: 80px;
                        right: 4%;
                        bottom: -160px;
                        color: #fff;
                        cursor: pointer;
                        opacity: 0;
                        visibility: hidden;
                        border: 0;
                        background: rgba(220, 85, 146, 0.6); 
                        transition: .2s;
                        letter-spacing: 3px;
                        font-weight: bold;
                        border-radius: 100px 100px 0 0;
                    }

                    div.page_top_container button.page_top i{
                        position: absolute;
                        font-size: 30px;
                        color: #FFF;
                        top: 15px;
                        font-weight: 300;
                        transition: transform .3s ease; 
                    }

                    div.page_top_container button.page_top p{
                        margin: 0;
                        font-size: 15px;
                        bottom: 13px;
                        position: absolute;
                        color: #fff;

                        font-family: "Jost", sans-serif;
                        font-optical-sizing: auto;
                        font-weight: 500;
                        font-style: normal;
                        letter-spacing: 0.1em;
                        line-height: 1.4;
                        font-size: 14px;
                    }

                    div.page_top_container button.is_active {
                        opacity: 1;
                        visibility: visible;
                    }

                    div.page_top_container button.is_active {
                        bottom: 0px;
                    }

                    /******************************************************************************
                    【　SP　】 ヘッダー グローバルナビ
                    ******************************************************************************/
                    /* ヘッダーのメッセージ */
                    .header .header_container {
                        width: 100%;
                        height: auto;
                        position: fixed;
                        height: var(--header-height);
                        z-index: 5000 !important;
                    }

                    .header .header_container .header_message_box {
                        height: 20px;
                    }

                    .header_container .header_message_box p {
                        font-size: 11px;
                    }

                    /* グローバルナビ */
                    .header_nav_container{
                        width: 100%;
                        height: 50px;
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        padding: 0 2%;
                        position: relative;
                    }

                    /* HOME ボタン */
                    .header_home {
                        padding-left: 0;
                    }

                    .header_home a img {
                        width: 70%;
                        padding-left: 0;
                    }

                    .header_nav_box {   
                        width: 100%;
                        height: 100%;
                        transition: right 0.4s ease;
                        /* スライドインのアニメーション */
                        padding: 0;
                        box-sizing: border-box;
                        position: fixed;
                        top: 0;
                        right: -100%;/* 初期状態では画面の外に隠れている */
                        bottom: 0;
                        z-index: 10000;
                    }

                    .header_nav_box.open {
                        right: 0;
                    }
                    
                    /* ハンバーガーのスタイル */
                    .hamburger {
                        position: fixed;
                        top: 30px;
                        right: 2%;
                        width: 30px;
                        cursor: pointer;
                        z-index: 20000;
                    }

                    .hamburger span {
                        display: block;
                        height: 3px;
                        width: 100%;
                        background-color: #191919;
                        margin: 5px 0;
                        transition: 0.4s;
                    }

                    /* バツ印に変化するスタイル */
                    .hamburger.active span:nth-child(1) {
                        transform: rotate(45deg) translate(5px, 5px)
                    } 

                    .hamburger.active span:nth-child(2) {
                        opacity: 0;
                    }

                    .hamburger.active span:nth-child(3) {
                        transform: rotate(-45deg) translate(6px, -6px);
                    }

                    /* メニューリストのスタイル */
                    .header .header_container .header_nav_box .header_nav {
                        width: 300px;
                        height: 100vh;
                        background-color: #b6caf7;
                        position: absolute;
                        right: 0;
                        top: 0;
                        padding: 60px 8% 100% 8%; 
                    }

                    .header .header_container .header_nav_box .header_nav ul{
                        width: 100%;
                        height: 100%;
                        display: flex;
                        flex-direction: column;
                        gap: 25px;
                        padding: 120px 8% 20px 8%;
                    }

                    .header .header_container .header_nav_box .header_nav ul .triangle {
                        width: 100%;
                        font-family: "Yeseva One", serif;
                        font-weight: 400;
                        font-style: normal;
                        font-size: 18px;
                        letter-spacing: 0.1em;
                        display: inline-block;
                        padding: 0 0 5px 0;
                        position: relative;
                        transition: border-top-color 0.4s ease;
                        border-bottom: 1px solid #191919;
                    }

                    .header .header_container .header_nav_box .header_nav ul .triangle::before {
                        display: none;
                    }

                    /******************************************************************************
                    【　SP　】ヘッダー キービジュアル
                    ******************************************************************************/
                    :root {
                        --header-height: 70px;
                    }
                    
                    .header .key_visual {
                        width: 100%;
                        margin-top: var(--header-height);
                        background-image: none;
                        margin-bottom: 0;
                        padding: 0;
                        display: block;
                    }

                    .header .key_visual img {
                        width: 100%;
                        height: auto; /* 画像の縦横比を維持 */
                        display: block;
                        margin: 0;
                        padding: 0;
                    }

                    .header .key_visual .sp_show {
                        width: 100%;
                    }

                    /******************************************************************************
                    【　SP　】WEBデザイン01　PICK UP
                    ******************************************************************************/
                    .web_section01 {
                        padding-top: 80px;
                    }

                    .web_section01 .web_section_container .web_section_inner {
                        padding: 0 4% 30px 4%;
                    }

                    .web_section_inner .heading_box {
                        margin-bottom: 40px;
                    }

                    .web_section_inner .heading_box .h_en {
                        font-size: 36px;
                        padding-top: 30px;
                        margin-bottom: 20px;
                    }

                    .pickup_container {
                        width: 100%;
                        height: auto;
                        margin: 0 auto 30px auto;
                        display: flex;
                        flex-direction: column;
                        padding: 20px 0 30px 0; 
                    }

                    .pickup_container .pickup_inner {
                        display: flex;
                        flex-direction: column;
                        padding-top: 0;
                        gap: 30px;
                    }

                    .pickup_container .pickup_inner .number {
                        position: relative;
                    }

                    .pickup_container .pickup_inner .number a img {
                        width: 100%;
                    }

                    .pickup_container .pickup_inner .number p {
                        font-size: 13px;
                        position: relative;
                        z-index: 500;
                        top: 13px;
                        left: 0;
                        text-align: center;
                    }

                    .pickup_container .pickup_inner .number p span{
                        letter-spacing: 0.1em;
                        line-height: 1.2;
                        font-size: 36px;
                    }

                    .pickup_container .pickup_inner .text_box {
                        padding-top: 20px;
                    }

                    .pickup_container .pickup_inner .text_box .h_jp {
                        font-size: 14px;
                        margin-bottom: 5px;
                        text-align: center;
                    }

                    .pickup_container .pickup_inner .text_box .h_en {
                        font-size: 24px;
                        letter-spacing: 0.1em;
                        margin-bottom: 8px;
                        text-align: center;
                    }

                    .pickup_container .pickup_inner .text_box .role {
                        font-size: 10px;
                        margin-bottom: 30px;
                        color: #696969;
                        text-align: center;
                    }

                    .pickup_container .pickup_inner .text_box .introduce {
                        font-size: 14px;
                        margin-bottom: 50px;
                    }

                    .pickup_inner_reverse {
                        flex-direction: row-reverse;
                    }

                    .pickup_container .pickup_inner .text_box .btn_box {
                        text-align: center;
                    }

                    .pickup_container .pickup_inner .text_box .btn_box a p {
                        font-family: "Yeseva One", serif;
                        font-weight: 400;
                        font-style: normal;
                        letter-spacing: 0.1em;
                        line-height: 1;
                        font-size: 16px;
                        position: relative;
                        padding-left: 80px;
                        display: inline-flex;
                        align-items: center;
                        gap: 16px;
                    }

                    .pickup_container .pickup_inner .text_box .btn_box a p::before {
                        content:"";
                        width: 60px;
                        height: 1px;
                        background-color: #191919;
                        position: absolute;
                        top: 10px;
                        /*left: 0;*/
                        transition: background-color 0.4s ease;
                    }

                    .pickup_container .pickup_inner .text_box .btn_box a p::after {
                        content: "";
                        width: 7px;
                        height: 7px;
                        border-top: 1px solid #191919;
                        border-right: 1px solid #191919;
                        transform: rotate(45deg);
                        position: absolute;
                        top: 6px;
                        left: 52px;
                        transition: border-color 0.4s ease;
                    }


                    /******************************************************************************
                    【　SP　】WEBデザイン02　トップページデザイン
                    ******************************************************************************/
                    .web_section02 .web_section_container {
                        width: 100%;
                        display: flex;
                        flex-direction: column;
                        gap: 30px;
                        justify-content: center;

                        /*position: absolute;
                        top: 3220px;
                        left: 50%;
                        transform: translateX(-50%);*/
                        padding: 60px 4% 80px 4%;
                        z-index: 600;
                    }

                    .web_section02 .web_section_container .web_section_inner {
                        width: 100%;
                        height: auto;
                        background-color: #fff;
                        padding: 8% 8% 40px 8%;
                        margin-bottom: 30px;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box img {
                        width: 100%;
                        display: block;
                        margin: 0 auto 30px auto;
                        box-shadow: -3px 3px 3px 5px rgba(170, 170, 170, 0.3);
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box .h_jp {
                        font-size: 14px;
                        text-align: center;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box .h_en {
                        font-size: 24px;
                        margin-bottom: 5px;
                        text-align: center;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box .role {
                        font-size: 10px;
                        color: #696969;
                        margin-bottom: 40px;
                        text-align: center;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box .btn_box {
                        text-align: center;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box a p {
                        font-family: "Yeseva One", serif;
                        font-weight: 400;
                        font-style: normal;
                        letter-spacing: 0.1em;
                        line-height: 1;
                        font-size: 16px;
                        position: relative;
                        padding-left: 80px;
                        display: inline-flex;
                        align-items: center;
                        gap: 16px;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box a p::before {
                        content:"";
                        width: 60px;
                        height: 1px;
                        background-color: #191919;
                        position: absolute;
                        top: 10px;
                        left: 0;
                        transition: background-color 0.4s ease;
                    }

                    .web_section02 .web_section_container .web_section_inner .web_section_box a p::after {
                        content: "";
                        width: 7px;
                        height: 7px;
                        border-top: 1px solid #191919;
                        border-right: 1px solid #191919;
                        transform: rotate(45deg);
                        position: absolute;
                        top: 6px;
                        left: 52px;
                        transition: border-color 0.4s ease;
                    }

                    /******************************************************************************
                    【　SP　】グラフィックデザイン
                    ******************************************************************************/
                    .graphic_section {
                        background-color: #fffef8;
                    }

                    .graphic_section .graphic_container{
                        width: 100%;
                        padding: 60px 0 20px 0;
                    }

                    .graphic_section .graphic_container .graphic_inner .heading_box {
                        width: 94%;
                        margin: 0 auto;
                    }

                    .graphic_section .graphic_container .graphic_inner .heading_box .h_en {
                        font-size: 36px;
                        margin-top: 0;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery {
                        width: 100%;
                        padding: 40px 0 60px 0; 
                        margin: 0 auto;
                        background-color: #fffef8;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul {
                        width: 100%;
                        margin: 0 auto;
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: center;;
                        gap: 10px;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li {
                        width: calc(50% - 15px);
                        height: auto;
                        background-color: #fff;
                        border: 1px solid #dc5592;
                        padding: 3% 3% 25px 3%;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div img {
                        width: 100%;
                        margin-bottom: 15px;
                        transition: filter 0.4s ease;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a:hover div img {
                        filter: brightness(0.8);
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .h_jp {
                        font-size: 12px;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .h_en {
                        font-size: 18px;
                        margin-bottom: 5px;
                    }

                    .graphic_section .graphic_container .graphic_inner .graphic_gallery ul li a div .role {
                        font-size: 10px;
                        font-family: "Noto Sans JP", sans-serif;
                    }

                    /******************************************************************************
                    【　SP　】メッセージ
                    ******************************************************************************/
                    .message {
                        width: 100%;
                        background-image: url(../img/message_bg.png);
                        background-position: center;
                        background-repeat: repeat;
                        background-size: contain;
                    }

                    .message .message_container .message_inner {
                        width: 100%;
                        margin: 0 auto;
                        display: flex;
                        flex-direction: column;
                        justify-content: flex-start;
                        padding: 40px 4% 50px 4%;
                        gap: 30px;
                    }

                    .message .message_container .message_inner .message_left {
                        display: flex;
                        flex-direction: column;
                        gap: 15px;
                    }

                    .message .message_container .message_inner .message_left img {
                        display: block;
                        width: 100%;
                    }

                    .message .message_container .message_inner .message_right img {
                        display: block;
                        width: 100%;
                    }

                    /******************************************************************************
                    【　SP　】下層共通　　パンくずリスト
                    ******************************************************************************/
                    /* パンくずリスト */
                    .header .breadcrumb_nav {
                        padding-top: 70px;
                    }

                    .header .breadcrumb_nav ul {
                        padding: 20px 3% 20px 3%;
                    }

                    .header .breadcrumb_nav ul .breadcrumb_li {
                        font-family: "Yeseva One", serif;
                        font-weight: 400;
                        font-style: normal;
                        letter-spacing: 0.08em;
                        line-height: 1.7;
                        color: #dc5592;
                        font-size: 18px;
                    }

                    .header .breadcrumb_nav ul .icon:hover {
                        transition: 0.4s ease;
                        filter: brightness(0.4);
                    }

                    /******************************************************************************
                    【　SP　】下層ページ　About me 
                    ******************************************************************************/
                    .aboutme_section .about_container .about_inner .heading_box .h_en {
                        font-size: 36px;
                        text-align: center;
                    }

                    /* 屋根 */
                    .roof_container {
                        width: 100%;
                        padding: 0 2%;
                    }

                    .roof_container .sp_show {
                        width: 100%;
                    }

                    /* 家の白いエリア */
                    .house_inner {
                        width: 92%;
                        padding: 50px 3% 0 3%;
                    }

                    /* 自己紹介 */
                    .house_inner .intro_container {
                        width: 100%;
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: space-evenly;
                        gap: 0;
                        margin-bottom: 50px;
                    }

                    .house_inner .intro_container .intro_left {
                        margin: 0 auto;
                    }

                    .house_inner .intro_container .intro_left img {
                        width: 90%;
                        display: block;
                        margin: 0 auto;
                    }

                    .house_inner .intro_container .intro_right {
                        margin: 0 auto;
                        padding-top: 30px
                    }

                    .house_inner .intro_container .intro_right img {
                        width: 60%;
                        display: block;
                        margin: 0 auto 30px auto;
                    }

                    /* 階段01 */
                    .house_inner .steps01_container {
                        width: 100%;
                        display: flex;
                        flex-direction: row;
                        align-items: flex-end;
                        justify-content: space-between;
                        margin-bottom: 0;
                        padding: 0 3%;
                    }

                    .house_inner .steps01_container .steps01 {
                        width: 100%;
                        margin-bottom: 50px;
                    }

                    /* Background Story*/
                    .bg_story_container {
                        margin-bottom: 0;
                    }

                    .bg_story_container .heading_box {
                        width: 100%;
                        margin: 0 auto 40px auto;
                    }

                    .bg_story_container .heading_box .about_h_en {
                        line-height: 1.2;
                        font-size: 28px;
                        padding-bottom: 6px;
                    }

                    .bg_story_container .box {
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        align-items: center;
                        margin-bottom: 10px;
                    }

                    .bg_story_container .box_reverse {
                        display: flex;
                        flex-direction: column;
                    }

                    .bg_story_container .box .img_box {
                        width: 80%;
                        display: flex;
                        justify-content: center;
                    }

                    .bg_story_container .box .img_box img {
                        width: 80%;
                    }

                    .bg_story_container .box .text_box{
                        width: 100%;
                        padding: 30px 0;
                    }

                    .bg_story_container .box_reverse .text_box{
                        width: 100%;
                        padding: 30px 0;
                    }

                    .bg_story_container .box .text_box .h_en {
                        font-size: 12px;
                        line-height: 1.2;
                        margin-bottom: 5px;
                        text-align: center;
                    }

                    .bg_story_container .box .text_box .h_jp {
                        font-size: 22px;
                        letter-spacing: 0.01em;
                        line-height: 1.2;
                        margin-bottom: 20px;
                        text-align: center;
                    }

                    /* 階段02 */
                    .steps02_container {
                        display: flex;
                        flex-direction: row;
                        align-items: flex-end;
                        justify-content: space-between;
                        margin-bottom: 0;
                        padding: 0;
                    }

                    .steps02_container .steps02 {
                        width: 100%;
                        margin-bottom: 50px;
                    }

                    /* Design Policy & Values */
                    .policy_values_container .heading_box {
                        width: 100%;
                        margin: 0 auto 40px auto;
                    }

                    .policy_values_container .heading_box .about_h_en {
                        font-size: 28px;
                        line-height: 1.2;
                        padding-bottom: 6px;
                    }

                    .policy_values_container .box {
                        display: flex;
                        margin-bottom: 50px;
                        display: flex;
                        flex-direction: column;
                        gap: 0px;
                    }

                    .policy_values_container .box .img_box {
                        width: 80%;
                        margin: 0 auto;
                    }

                    .policy_values_container .box .img_box img {
                        width: 100%;
                    }

                    .policy_values_container .box_reverse {
                        display: flex;
                        flex-direction: column;
                    }

                    .policy_values_container .box_reverse .img_box img {
                        width: 100%;
                    }

                    .policy_values_container .box .text_box {
                        width: 100%;
                        padding-top: 30px;
                    }

                    .policy_values_container .box .text_box  .h_en {
                        font-size: 12px;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 5px;
                    }

                    .policy_values_container .box .text_box  .h_jp {
                        font-size: 22px;
                        letter-spacing: 0.01em;
                        line-height: 1.2;
                        margin-bottom: 20px;
                        text-align: center;
                    }

                    /* Skills */
                    .skills_container {
                        margin-bottom: 70px;
                    }

                    .skills_container .heading_box {
                        width: 100%;
                        margin: 0 auto 40px auto;
                    }

                    .skills_container .heading_box .about_h_en{
                        font-size: 28px;
                        line-height: 1.2;
                        margin-bottom: 6px;
                    }

                    .skills_container .box {
                        width: 100%;
                        padding: 0 4%;
                        margin-bottom: 60px;
                    }

                    .skills_container .box .sp_show {
                        width: 100%;
                        display: block;
                        margin: 0 auto;
                    }

                    /* メッセージ */
                    .thankyou_message {
                        border-radius: 10px;
                    }

                    .thankyou_message p {
                        font-size: 18px;
                        padding: 50px 5%;
                    }

                    .thankyou_message .top {
                        width: 20%;
                    }

                    .thankyou_message .bottom {
                        width: 30%;
                    }

                    /* 鍵＋ドア */
                    .key_door_container {
                        width: 100%;
                    }

                    .key_door_container .door {
                        width: 100%;
                    }

                    .key_door_container .key {
                        width: 12%;
                        padding: 20px 0;
                    }

                    /******************************************************************************
                    【　SP　】下層ページ　ChairShop
                    ******************************************************************************/
                    .lower_works_section .lower_works_container .lower_works_inner .heading_box .h_en {
                        font-size: 36px;
                        text-align: center;
                        line-height: 1.2;
                        padding-top: 60px;
                        margin-bottom: 50px;
                    }

                    .lower_works_inner .heading_box {
                        padding: 0 4% 50px 4%;
                    }

                    .lower_works_inner .heading_box .work_img01 {
                        display: block;
                        width: 100%;
                        margin: 0 auto;
                    }

                    .lower_works_show {
                        width: 100%;
                        display: flex;
                        flex-direction: column;
                        padding: 10px 4% 80px 4%;
                    }

                    .lower_works_show .text_box {
                        width: 100%;
                        position: static;
                        padding: 0 4%;
                    }

                    .lower_works_show .text_box .h_jp {
                        font-size: 16px;
                        text-align: center;
                    }

                    .lower_works_show .text_box .h_en {
                        font-size: 30px;
                        margin-bottom: 20px;
                        text-align: center;
                    }

                    .lower_works_show .text_box .role {
                        font-size: 12px;
                        margin-bottom: 40px;
                        text-align: center;
                    }

                    .lower_works_show .text_box .intention01 {
                        font-size: 14px;
                        margin-bottom: 40px;
                    }

                    .lower_works_show .text_box .intention02 {
                        font-size: 14px;
                        line-height: 2.2;
                        margin-bottom: 40px;
                    }

                    .lower_works_show img {
                        width: 100%;
                    }

                    /* Backボタン */
                    .back_btn_box {
                        width: auto;
                        background-color: #fff;
                        padding-bottom: 80px;
                        display: flex;
                        justify-content: center;
                    }

                    .back_btn_box a p {
                        font-family: "Yeseva One", serif;
                        font-weight: 400;
                        font-style: normal;
                        letter-spacing: 0.1em;
                        line-height: 1;
                        font-size: 16px;
                        position: relative;
                        padding-left: 100px;
                        display: inline-block;
                        align-items: center;
                        gap: 16px;
                    }

                    .back_btn_box a p::before {
                        content:"";
                        width: 60px;
                        height: 1px;
                        background-color: #191919;
                        position: absolute;
                        top: 10px;
                        left: 0;
                        transition: background-color 0.4s ease;
                    }

                    .back_btn_box a p::after {
                        content: "";
                        width: 7px;
                        height: 7px;
                        border-top: 1px solid #191919;
                        border-right: 1px solid #191919;
                        transform: rotate(-135deg);
                        position: absolute;
                        top: 7px;
                        left: 0px;
                        transition: border-color 0.4s ease;
                    }

                    #back_here {
                    scroll-margin-top: 500px; /* ヘッダーの高さ+100くらい */
                    }

                    /******************************************************************************
                    【　SP　】下層ページ　Curry Shop
                    ******************************************************************************/
                    .lower_works_inner .heading_box .work_img02 {
                        display: block;
                        width: 100%;
                        margin: 0 auto;
                    }
                    
                    .lower_works_inner .heading_box .work_img02 {
                        display: block;
                        width: 100%;
                        margin: 0 auto 130px auto;
                    }
                }