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

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

/* PC版等倍サイズ
alt="ロゴ"
alt="赤い花" width="278" height="334" 
alt="Theater Via Digre" width="570" height="352"
alt="ChairShop" width="459" height="278"
alt="エレガントなワインポスター" width="320" height="225"
alt="手紙" width="168" height="130"
*/

/* 英文
.jost-<uniquifier> {
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-weight: <weight>;
font-style: normal;
}
*/

/*　PICKUPの飾り文字
.bentham-regular {
font-family: "Bentham", serif;
font-weight: 400;
font-style: normal;
}
*/

/* 日本語
.noto-sans-jp-<uniquifier> {
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: <weight>;
font-style: normal;
}
*/

img{max-width: 100%;height:auto;}

body{
    background-color: #f8f1f0;
    overflow-x: hidden;
}

div.heading_box h2{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 36px;
    color: rgba(20, 117, 188, 0.6);
}

h3.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 16px;
    color: #191919;
}

h3.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 24px;
    color: #191919;
}

p{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 14px;
    color: #191919;  
}

span.role{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 12px;
    color: #6b7274;
}

a{
    text-decoration: none;
    color: #191919;
}

a.btn{
    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;
}

a:visited{color: #191919;}
a:hover{color: #aaa;}

br.sp_visible{
    display: none;
}


/***************************************
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(238, 139, 134, 0.8);
    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 div.header_container{
    width: 100%;
    height: 80px;
    background-color: rgba(248, 241, 240, 0.4);
    padding: 5px 90px 5px 90px;
    position: fixed;
    z-index: 1000;
}

header div.header_container div.header_inner{
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

header div.header_container nav ul{
    height: 70px;
    display: flex;
    gap: 60px;
    align-items: center;
    list-style-type: none; 
    
    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: 16px;
}

header div.header_container nav ul li:hover a{
    transition: color 0.4s ease;
    color: #aaa;
}

/*header div.header_container nav ul li.contact a{
    display: inline-block;
    background-color: #dc6e68;
    color: #fff;
    padding: 5px 13px;
}

header div.header_container nav ul li.contact a:hover{
    background-color: #8f2823;
    color: #aaa;
}*/

header div.key_container{
    padding-top: 80px;
}

header div.key_container div.key_background_area{
    width: 1000px;
    height: 450px;
    background: #c8e2e7; 
    margin: 0 auto;
    position: relative;
    z-index: 100;
}

header div.key_container div.key_background_area h2.heading_top{
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 36px;
    color: #8f2823;
    position: absolute;
    z-index: 500;
    top: 180px;
    left: 50%;
    transform: translateX(-50%);

    white-space: nowrap;
    overflow: hidden;
    opacity: 0; /* 初期は透明 */
    animation: typing_jp 2.5s steps(40, end) 0.3s forwards; /* 文字分のステップ */
}

header div.key_container div.key_background_area h2.heading_bottom{
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.2;
    font-size: 90px;
    color: #8f2823;
    position: absolute;
    z-index: 500; 
    top: 240px;
    left: 50%;
    transform: translateX(-50%);

    white-space: nowrap;
    overflow: hidden;
    opacity: 0; /* 初期は透明 */
    animation: typing_en 4s steps(35, end) 2s forwards; /* 一行目終了後に開始 */
} 

/* タイピングアニメーション | 下層共通設定にしているので、文字数はどのページの文字数も収まる数値にする */
@keyframes typing_jp {
    from { width: 0; opacity: 1; }
    to   { width: 40ch; opacity: 1; }
}

@keyframes typing_en {
    from { width: 0; opacity: 1; }
    to   { width: 35ch; opacity: 1; }
}
/* タイピングアニメーション END */

header div.key_container div.key_flowers{
    width: 80%;
    margin: 0 auto;
    display: flex;
    gap: 700px;
    justify-content: space-between;
    position: absolute;
    top: 300px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}

header div.key_container div.key_flowers img{
    display: block;    
}

/***************************************
KEY VISUAL - FLOWERS ANIMATION 
***************************************/
div.key_flowers img {
    opacity: 0;
    transform: scale(0.9) rotate(-5deg);
}

/* ふわっと表示 ＋ 軽く揺れる */
@keyframes flowerIn {
    0% {
    opacity: 0;
    transform: scale(0.6) rotate(-10deg);   /* 小さく → ふわっと感UP */
    }
    40% {
    opacity: 1;
    transform: scale(1.15) rotate(4deg);    /* ふくらむ量を増やす */
    }
    70% {
    transform: scale(0.95) rotate(-2deg);   /* 少し収縮して柔らかく */
    }
    100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);       /* 安定 */
    }
}

/***************************************
SLIDE IN - 共通JS
***************************************/
/* ふわっとスライドイン共通 */
.slidein {
    opacity: 0;
    transition: 0.8s cubic-bezier(0.75, 0, 0.25, 1);
}

/* 上から */
.slide_top {
    transform: translateY(-50px);
}

/* 左から */
.slide_left {
    transform: translateX(-50px);
}

/* 下から ←★今回追加 */
.slide_bottom {
    transform: translateY(50px);
}

/* 表示時（共通） */
.slidein.show {
    opacity: 1;
    transform: translate(0, 0);
}

/***************************************
BUTTON BELOW THE HEADER
***************************************/
main.top_page div.menu_btn_container{
    max-width: 1000px;
    margin: 130px auto;
}

main.top_page div.menu_btn_container ul{
    display: flex;
    list-style-type: none;
    display: flex;
    justify-content: space-evenly;
    gap: 60px;
}

main.top_page div.menu_btn_container ul li{
    width: 230px;
    height: 230px;
    background: #ced9db;
    border-radius: 100%;
    display: flex;
    list-style-type: none;
    display: flex;
    justify-content: center;
    align-items: center;

    border: none;
    cursor: pointer;
    box-shadow: 0 4px 0 #9dbbc0;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

main.top_page div.menu_btn_container ul li a{
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 30px;
    color: #8f2823;
    /*padding: 100px;*/
}

main.top_page div.menu_btn_container ul li a span{
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-size: 17px;
    color: #8f2823;
}

main.top_page div.menu_btn_container ul li:hover{
    background-color: #86a4aa;
    transition: background-color 0.4s ease;
}

main.top_page div.menu_btn_container ul li:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #9dbbc0;
}

main.top_page div.menu_btn_container ul li:hover a,
main.top_page div.menu_btn_container ul li:hover a span{
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.6s ease;
}

/***************************************
TOP - PC : WEB DESIGN
***************************************/
main.top_page div.web_container{
    max-width: 1280px;
    padding-bottom: 150px;
    padding: 0 90px;
    margin: 0 auto;
}

main.top_page div.web_container div.heading_box{
    display: flex;
    justify-content: space-between;
    margin-bottom: 130px;
}

main.top_page div.web_container div.heading_box h2{
    position: relative;
    padding-left: 170px;/* 余白を確保（線の長さと文字とのあいだの余白分） */
}

main.top_page div.web_container div.heading_box h2::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0; /* h2の左端に配置 */
    transform: translateY(-50%);
    width: 150px;/* 線の長さ */
    height: 1px;/* 線の太さ */
    background-color: #191919;
}

/*** PICKUP 01 ***/
main.top_page div.web_container div.work_box01{
    display: flex;
    justify-content: space-between;
    gap: 100px;
    margin-bottom: 130px;
}

main.top_page div.web_container div.work_box01 div.work_img_box{
    max-width: 575px;
    position: relative;
    z-index: 50;
}

main.top_page div.web_container div.work_box01 div.work_img_box a img{
    transition: filter 0.4s ease;
    filter: brightness(1); /* 100% */
}

main.top_page div.web_container div.work_box01 div.work_img_box:hover a img{
    filter: brightness(0.6); /* 80% */
}

main.top_page div.web_container div.work_box01 div.work_img_box p{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 88px;
    letter-spacing: 0.06em;
    line-height: 0.6;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box01 div.work_img_box p span{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.01em;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box01 div.work_img_box a img{
    max-width: 575px;
    display: block;
}

main.top_page div.web_container div.work_box01 div.work_text_box{
    max-width: 450px;
    margin-top: 140px;
}

main.top_page div.web_container div.work_box01 div.work_text_box h3.heading_jp{
    margin-bottom: 20px;
}

main.top_page div.web_container div.work_box01 div.work_text_box h3.heading_en{
    margin-bottom: 40px;
}

main.top_page div.web_container div.work_box01 div.work_text_box span.role.role{
    display: block;
    margin-bottom: 70px;
}

main.top_page div.web_container div.work_box01 div.work_text_box p.explain{
    margin-bottom: 60px;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn{
    display: inline-block;
    padding-left: 190px;
    position: relative;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 12px;
    left: 0;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 8px;
    left: 142px;
    transition: border-color 0.4s ease;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn:hover{
    color: #aaa;
    transition: 0.4s ease;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn:hover::before{
    background-color: #aaa;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box01 div.work_text_box a.btn:hover::after{
    border-color: #aaa;
    transition: border-color 0.4s ease;
}


/*** PICKUP 02 ***/
main.top_page div.web_container div.work_box02{
    display: flex;
    gap: 100px;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 130px;
}

main.top_page div.web_container div.work_box02 div.work_img_box{
    max-width: 575px;
    position: relative;
    z-index: 50;
}

main.top_page div.web_container div.work_box02 div.work_img_box a img{
    transition: filter 0.4s ease;
    filter: brightness(1); /* 100% */
}

main.top_page div.web_container div.work_box02 div.work_img_box:hover a img{
    filter: brightness(0.6); /* 80% */
}

main.top_page div.web_container div.work_box02 div.work_img_box p{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 88px;
    letter-spacing: 0.06em;
    line-height: 0.6;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box02 div.work_img_box p span{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.01em;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box02 div.work_img_box img{
    max-width: 575px;
    display: block;
}

main.top_page div.web_container div.work_box02 div.work_text_box{
    max-width: 450px;
    margin-top: 140px;
}

main.top_page div.web_container div.work_box02 div.work_text_box h3.heading_jp{
    margin-bottom: 20px;
}

main.top_page div.web_container div.work_box02 div.work_text_box h3.heading_en{
    margin-bottom: 40px;
}

main.top_page div.web_container div.work_box02 div.work_text_box span.role.role{
    display: block;
    margin-bottom: 70px;
}

main.top_page div.web_container div.work_box02 div.work_text_box p.explain{
    margin-bottom: 60px;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn{
    display: inline-block;
    padding-left: 190px;
    position: relative;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 12px;
    left: 0;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 8px;
    left: 142px;
    transition: border-color 0.4s ease;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn:hover{
    color: #aaa;
    transition: 0.4s ease;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn:hover::before{
    background-color: #aaa;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box02 div.work_text_box a.btn:hover::after{
    border-color: #aaa;
    transition: border-color 0.4s ease;
}

/*** PICKUP 03 ***/
main.top_page div.web_container div.work_box03{
    display: flex;
    gap: 100px;
    justify-content: space-between;
    margin-bottom: 130px;
}

main.top_page div.web_container div.work_box03 div.work_img_box{
    max-width: 575px;
    position: relative;
    z-index: 50;
}

main.top_page div.web_container div.work_box03 div.work_img_box a img{
    transition: filter 0.4s ease;
    filter: brightness(1); /* 100% */
}

main.top_page div.web_container div.work_box03 div.work_img_box:hover a img{
    filter: brightness(0.6); /* 80% */
}

main.top_page div.web_container div.work_box03 div.work_img_box p{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 88px;
    letter-spacing: 0.06em;
    line-height: 0.6;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box03 div.work_img_box p span{
    font-family: "Bentham", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.01em;
    position: relative;
    z-index: 60;
}

main.top_page div.web_container div.work_box03 div.work_img_box img{
    max-width: 575px;
    display: block;
}

main.top_page div.web_container div.work_box03 div.work_text_box{
    max-width: 450px;
    margin-top: 140px;
}

main.top_page div.web_container div.work_box03 div.work_text_box h3.heading_jp{
    margin-bottom: 20px;
}

main.top_page div.web_container div.work_box03 div.work_text_box h3.heading_en{
    margin-bottom: 40px;
}

main.top_page div.web_container div.work_box03 div.work_text_box span.role.role{
    display: block;
    margin-bottom: 70px;
}

main.top_page div.web_container div.work_box03 div.work_text_box p.explain{
    margin-bottom: 60px;
}


main.top_page div.web_container div.work_box03 div.work_text_box a.btn{
    display: inline-block;
    padding-left: 190px;
    position: relative;
}

main.top_page div.web_container div.work_box03 div.work_text_box a.btn::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 12px;
    left: 0;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box03 div.work_text_box a.btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 8px;
    left: 142px;
    transition: border-color 0.4s ease;
}

main.top_page div.web_container div.work_box03 div.work_text_box a.btn:hover{
    color: #aaa;
    transition: 0.4s ease;
}

main.top_page div.web_container div.work_box03 div.work_text_box a.btn:hover::before{
    background-color: #aaa;
    transition: background-color 0.4s ease;
}

main.top_page div.web_container div.work_box03 div.work_text_box a.btn:hover::after{
    border-color: #aaa;
    transition: border-color 0.4s ease;
}


/***************************************
TOP - PC : WEB DESIGN > TOP-PAGE-DESIGN
***************************************/
main.top_page div.web_container_02{
    background: #dae1e2;
}

main.top_page div.web_container_02 div.web_container_02_inner{
    max-width: 1280px;
    padding: 100px 140px 140px 140px;
    margin: 0 auto;
}

/*** WORK_BOX01 ***/
main.top_page div.web_container_02 div.work_box01{
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    margin-bottom: 70px;
}

main.top_page div.web_container_02 div.work_box01 div.work_img_box{
    transition: 0.4s ease;
    filter: brightness(1);/* 100% */
}

main.top_page div.web_container_02 div.work_box01 div.work_img_box:hover{
    filter: brightness(0.6);/* 80% */
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box{
    padding-top: 50px;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box h3.heading_jp{
    margin-bottom: 20px;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box h3.heading_en{
    margin-bottom: 40px;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box span.role.role{
    display: block;
    margin-bottom: 30px;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn:hover{
    transition: 0.4s ease;
    color: #aaa;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn{
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    padding-left: 190px;
    position: relative;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 12px;
    left: 0;
    transform: translateY(-50%);
    transition: background-color 0.4s ease;
}

main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 8px;
    left: 142px; 
    transition: border-color 0.4s ease;
}

/* 線の色（background） */
main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn:hover::before{
    background-color: #aaa;
}

/* 矢印の色（border） */
main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn:hover::after{
    border-color: #aaa;
}


/*** WORK_BOX02 ***/
main.top_page div.web_container_02 div.work_box02{
    display: flex;
    gap: 40px;
    margin-bottom: 70px;
}

main.top_page div.web_container_02 div.work_box02 div.work_img_box{
    transition: 0.4s ease;
    filter: brightness(1);/* 100% */
}

main.top_page div.web_container_02 div.work_box02 div.work_img_box:hover{
    filter: brightness(0.6);/* 80% */
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box{
    padding-top: 50px;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box h3.heading_jp{
    margin-bottom: 20px;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box h3.heading_en{
    margin-bottom: 40px;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box span.role.role{
    display: block;
    margin-bottom: 30px;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box a:hover{
    transition: 0.4s ease;
    color: #aaa;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn{
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    padding-left: 190px;
    position: relative;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #191919;
    position: absolute;
    top: 12px;
    left: 0;
    transform: translateY(-50%);
    transition: background-color 0.4s ease;
}

main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn::after{
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #191919;
    border-right: 1px solid #191919;
    transform: rotate(45deg);
    position: absolute;
    top: 8px;
    left: 142px; 
    transition: border-color 0.4s ease;
}

/* 線の色（background） */
main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn:hover::before{
    background-color: #aaa;
}

/* 矢印の色（border） */
main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn:hover::after{
    border-color: #aaa;
}

/***************************************
TOP - PC : GRAPHIC DESIGN
***************************************/
main.top_page div.graphic_container{
    max-width: 1280px;
    /*padding-top: 180px;*/
    padding-bottom: 130px;
    margin: 0 auto 0 auto;
}

main.top_page div.graphic_container div.heading_box{
    margin-bottom: 120px;
    position: relative;
    margin-top: 170px;
}

main.top_page div.graphic_container div.heading_box::before{
    content: "";
    width: 1px; 
    height: 150px;/* 線の長さ */
    background: #191919;
    position: absolute;
    top:-170px;
    left: 50%;
}

main.top_page div.graphic_container div.heading_box h2{
    text-align: center;
}

main.top_page div.graphic_container div.graphic_gallery ul{
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 90px;
}

main.top_page div.graphic_container div.graphic_gallery ul li{
    padding-bottom: 60px;
    filter: brightness(1);
}

main.top_page div.graphic_container div.graphic_gallery ul li div img{
    margin-bottom: 30px;
}

main.top_page div.graphic_container div.graphic_gallery ul li div h3.heading_jp{
    margin-bottom: 5px;
}

main.top_page div.graphic_container div.graphic_gallery ul li div h3.heading_en{
    margin-bottom: 15px;
}


main.top_page div.graphic_container div.graphic_gallery ul li:hover a div img{
    transition: 0.4s ease;
    filter: brightness(0.6);
}

main.top_page div.graphic_container div.graphic_gallery ul li:hover a div h3,
main.top_page div.graphic_container div.graphic_gallery ul li:hover a div span.role{
    transition: 0.4s ease;
    color: #8b8b8b;
}

/***************************************
TOP - PC : CONTACT
***************************************/
main.top_page div.contact_container{
    background: #f0e1df;
    padding-bottom: 100px;
}

main.top_page div.contact_container div.contact_inner{
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
}

main.top_page div.contact_container div.contact_inner div.heading_box{
    position: absolute;
    top: -70px;
    left: 90px;
    z-index: 200;
}

main.top_page div.contact_container div.contact_inner div.heading_box h2{
    font-size: 82px;
    position: absolute;
    top: 15px;
    left: 100px;
    z-index: 300;
}

main.top_page div.contact_container div.contact_inner p{
    text-align: center;
    font-size: 20px;
    color: #8f2823;
    padding: 120px 0 60px 0;
}

main.top_page div.contact_container div.contact_inner div.contact_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #dc6e68;
    width: 500px;
    height: 100px; 
    margin: 0 auto;
    text-align: center;

    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #b74842;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}


main.top_page div.contact_container div.contact_inner div.contact_btn a{
    display: inline-block;
    color: #fff;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.2em;
    font-size: 30px;
    position: relative;
    padding-left: 200px;
}

main.top_page div.contact_container div.contact_inner div.contact_btn a::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 20px;
    left: 0;
    transform: translateY(-50%);
}

main.top_page div.contact_container div.contact_inner div.contact_btn a::after{
    content: "";
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 14px;
    left: 135px; 
    transition: border-color 0.4s ease;
}

main.top_page div.contact_container div.contact_inner div.contact_btn:hover{
    background-color: #8f2823;
    transition: background-color 0.4s ease;
}

main.top_page div.contact_container div.contact_inner div.contact_btn:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #b74842;
}

main.top_page div.contact_container div.contact_inner div.contact_btn:hover a{
    color: #aaa;
    transition: color 0.4s ease;
}

main.top_page div.contact_container div.contact_inner div.contact_btn:hover a::before{
    background-color: #aaa;
    transition: background-color 0.4s ease;
}

main.top_page div.contact_container div.contact_inner div.contact_btn:hover a::after{
    border-color: #aaa;
    transition: border-color 0.4s ease;
}

/***************************************
TOP - PC : FOOTER
***************************************/
footer{
    background: #1475bc;
}

footer div.footer_container{
    max-width: 1280px;
    padding: 60px 0 20px 60px;
    margin: 0 auto;
}

footer div.footer_container ul.menu{
    list-style-type: none;
    padding: 0;
    margin: 0 auto 60px auto;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;/* 3列 */
    grid-auto-rows: auto;/* 高さ自動 */
    row-gap: 20px;/* 行間 */
}

footer div.footer_container ul.menu li:nth-child(1){grid-column: 1; grid-row: 1;}
footer div.footer_container ul.menu li:nth-child(2){grid-column: 1; grid-row: 2;}
footer div.footer_container ul.menu li:nth-child(3){grid-column: 1; grid-row: 3;}

footer div.footer_container ul.menu li:nth-child(4){ grid-column: 2; grid-row: 1;}

footer div.footer_container ul.menu li:nth-child(5){ grid-column: 3; grid-row: 1;}
footer div.footer_container ul.menu li:nth-child(6){ grid-column: 3; grid-row: 2;}

footer div.footer_container ul.menu li{
    position: relative;
    padding-left: 21px;
}

footer div.footer_container ul.menu li::before{
    content: "";
    width: 8px;          
    height: 3px;        
    background: #d78b88;    

    position: absolute;
    top: 14px;
    left: 0;
}

footer div.footer_container ul.menu li a{
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 14px;
}

footer div.footer_container a.copyright{
    display: block;
    text-align: center;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 14px;
}

footer div.footer_container ul.menu li a:hover{
    transition: 0.4s ease;
    color: #96c5e7;
}

footer div.footer_container a.copyright:hover{
    transition: 0.4s ease;
    color: #96c5e7;
}

/***************************************
LOWER :  COMMON
***************************************/
header div.lower_key_container{
    padding-top: 80px;
    position: relative;
    /*z-index: 100;*/
}

header div.lower_key_container div.lower_key_inner{
    max-width: 1280px;
    height: 320px; 
    background-image: url(../img/lower_kv.png);
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
    filter: brightness(1);
    position: relative;
}

/***************************************
LOWER : COMMON - KEY VISUAL - HEADING H2
***************************************/
header div.lower_key_container div.lower_key_inner h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    /*color: #362c2c;*/
    color: #8f2823;
    font-size: 48px;
    line-height: 1.4;
    margin-left: 320px;
    /*text-align: center;*/
    position: relative;
    top: 150px;
    z-index: 300;

    white-space: nowrap;
    overflow: hidden;
    opacity: 0; /* 初期は透明 */
    animation: typing_en 2.5s steps(35, end) 1.5s forwards; /* 日本語終了後に開始 */
}

header div.lower_key_container div.lower_key_inner h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    /*color: #362c2c;*/
    color: #8f2823;
    font-size: 14px;
    letter-spacing: 0.2em;
    line-height: 1.7;
    margin-left: 320px;
    position: relative;
    top: 135px;
    z-index: 300; 

    white-space: nowrap;
    overflow: hidden;
    opacity: 0; /* 初期は透明 */
    animation: typing_jp 1.5s steps(40, end) 0.3s forwards; /* 文字分のステップ */
}

/* タイピングアニメーション | 下層共通設定にしているので、文字数はどのページの文字数も収まる数値にする */
@keyframes typing_jp {
    from { width: 0; opacity: 1; }
    to   { width: 40ch; opacity: 1; }
}

@keyframes typing_en {
    from { width: 0; opacity: 1; }
    to   { width: 35ch; opacity: 1; }
}
/* タイピングアニメーション END */

header div.lower_key_container div.lower_key_inner img.key_flowers{
    width: auto;
    /*margin-top: 50px;
    margin-left: -90px;*/
    /*filter: brightness(0.9);*/
    position: absolute;
    top: 50px;
    left: 0px;
    z-index: 200;
}

header nav.pankuzu_list ol{
    max-width: 1000px;
    display: flex;
    gap: 35px;
    list-style: none;
    margin: 70px auto 20px auto;

    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
}

header nav.pankuzu_list ol li.pankuzu_border{
    position: relative;
    padding-left: 15px;
    color: #aaa;
}

header nav.pankuzu_list ol li.pankuzu_border::before{
    content:"";
    width: 10px;
    height: 1px;
    background-color: #6b7274;
    position: absolute;
    top: 12px;
    left: -15px;
}

header nav.pankuzu_list ol li.pankuzu_border a{
    color: #aaa; 
}

header nav.pankuzu_list ol li.pankuzu_border a:hover{
    color: #e8d4d2; 
}

/***************************************
LOWER : KEY VISUAL - FLOWERS ANIMATION 
***************************************/

/* ふわっと登場アニメーション（左のみ） */
@keyframes lowerFlowerIn {
    0% {
    opacity: 0;
    transform: scale(0.6) rotate(-8deg) translateX(-20px);
    }
    40% {
    opacity: 1;
    transform: scale(1.12) rotate(4deg) translateX(0);
    }
    70% {
    transform: scale(0.94) rotate(-2deg);
    }
    100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    }
}

/* 花画像にアニメーションを適用 */
div.lower_key_container div.lower_key_inner img.key_flowers {
    opacity: 0;
    animation: lowerFlowerIn 1.5s ease-out 0.2s forwards;
}

/***************************************
LOWER : CONTACT
***************************************/
main.lower div.contact_container{
    background: #f0e1df;
    padding-bottom: 100px;
}

main.lower div.contact_container div.contact_inner{
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
}

main.lower div.contact_container div.contact_inner div.heading_box{
    position: absolute;
    top: -70px;
    left: 90px;
    z-index: 200;
}

main.lower div.contact_container div.contact_inner div.heading_box h2{
    font-size: 82px;
    position: absolute;
    top: 15px;
    left: 100px;
    z-index: 300;
}

main.lower div.contact_container div.contact_inner p{
    text-align: center;
    font-size: 20px;
    color: #8f2823;
    padding: 120px 0 60px 0;
}

main.lower div.contact_container div.contact_inner div.contact_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #dc6e68;
    width: 500px;
    height: 100px; 
    margin: 0 auto;
    text-align: center;

    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #b74842;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}


main.lower div.contact_container div.contact_inner div.contact_btn a{
    display: inline-block;
    color: #fff;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.2em;
    font-size: 30px;
    position: relative;
    padding-left: 200px;
}

main.lower div.contact_container div.contact_inner div.contact_btn a::before{
    content: "";
    width: 150px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 20px;
    left: 0;
    transform: translateY(-50%);
}

main.lower div.contact_container div.contact_inner div.contact_btn a::after{
    content: "";
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 14px;
    left: 135px; 
    transition: border-color 0.4s ease;
}

main.lower div.contact_container div.contact_inner div.contact_btn:hover{
    background-color: #8f2823;
    transition: background-color 0.4s ease;
}

main.lower div.contact_container div.contact_inner div.contact_btn:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #b74842;
}

main.lower div.contact_container div.contact_inner div.contact_btn:hover a{
    color: #aaa;
    transition: color 0.4s ease;
}

main.lower div.contact_container div.contact_inner div.contact_btn:hover a::before{
    background-color: #aaa;
    transition: background-color 0.4s ease;
}

main.lower div.contact_container div.contact_inner div.contact_btn:hover a::after{
    border-color: #aaa;
    transition: border-color 0.4s ease;
}

/***************************************
LOWER : ABOUT
***************************************/
main.lower div.about_menu_btn_container{
    max-width: 1280px;
    padding-top: 100px;
    padding-bottom: 180px;
    margin: 0 auto;
}

main.lower div.about_menu_btn_container ul{ 
    list-style: none;
    display: flex;
    gap: 70px;
    justify-content: center;
    align-items: center;
}

main.lower div.about_menu_btn_container ul li{
    position: relative; 
    z-index: 2000; 
}

main.lower div.about_menu_btn_container ul li a{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 16px;
    color: #8f2823;
    display: inline-flex;
    position: relative; 
    z-index: 5000 !important;
    
    padding-left: 20px;
}

main.lower div.about_menu_btn_container ul li a::before{
    content:"";
    position: absolute;
    top: 10px;
    left: 0;
    width: 0;
    height: 0;

    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #8f2823;
}

main.lower div.about_menu_btn_container ul li:hover a{
    color:  #dc6e68;
    transition: color 0.4s ease;
}

main.lower div.about_menu_btn_container ul li:hover a::before{
    border-top-color: #dc6e68;
    transition: border-top-color 0.3s ease;
}

main.lower div.about_menu_btn_container ul li img{
    position: absolute; 
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    transition: opacity 0.4s ease;
    cursor: pointer;
}

main.lower div.about_menu_btn_container ul li:hover img{
    /*opacity: 0.7;*/
    filter: hue-rotate(90deg) brightness(0.9);
    transition: hue-rotate 0.4s ease, brightness 0.4s ease;
}


/* 事業内容 */
main.lower div.services_container div.services_inner{
    max-width: 1280px;
    padding: 0 140px 0 140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

main.lower div.services_container div.services_inner div.text_box{
    max-width: 550px;
}

main.lower div.services_container div.services_inner div.text_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    letter-spacing: 0.07em;
}

main.lower div.services_container div.services_inner div.text_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.07em;
    color: #8f2823;
    margin-bottom: 50px;
}

main.lower div.services_container div.services_inner div.text_box p{
    font-size: 16px;
}

/* 制作できるもの */
main.lower div.type_container{
    height: auto;
    background-image: url(../img/about_background.png);
    background-position: center;
    /*background-repeat: no-repeat;*/
    padding: 70px 0 90px 0;
}

main.lower div.type_container div.type_inner{
    max-width: 1280px;
    padding: 0 140px 0 140px;
    margin: 0 auto 0px auto;
}

main.lower div.type_container div.type_inner div.text_box{
    max-width: 900px;
    height: auto;
    background-color: #dae1e2;
    border-radius: 20px;
    padding: 50px 105px 60px 105px;
}

main.lower div.type_container div.type_inner div.text_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    letter-spacing: 0.07em;
    text-align: center;
}

main.lower div.type_container div.type_inner div.text_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.07em;
    color: #8f2823;
    margin-bottom: 80px;
    text-align: center;
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner{
    display: flex;
    gap: 90px;
    justify-content: center;
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right{
    width: 300px;
    background-color: #f8e9e8;
    padding: 50px 40px;
    position:relative;
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left div.heading_box,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right div.heading_box{
    margin-bottom: 40px;
    position: absolute;
    top:-40px;
    left: 50%;
    transform: translateX(-50%);
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left div.heading_box h3.heading_en,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right div.heading_box h3.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 0.07em;
    text-align: center;
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left h3.heading_jp,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right h3.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 18px;
    letter-spacing: 0.07em;
    color: #575151;
    text-align: center;
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left ul li,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right ul li{
    list-style: none;
    margin-bottom: 20px;
    position: relative;
    padding-left: 40px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 16px;    
}

main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left ul li::before,
main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right ul li::before{
    content:"";
    width: 5px;
    height: 2px;
    background-color: #575151;
    position: absolute;
    top: 12px;
    left: 25px;
}

/* 使用ツール・言語 */
main.lower div.skills_container{
    background-color: #cfdcde;
}

main.lower div.skills_container div.skills_inner{
    max-width: 1280px;
    display: flex;
    justify-content: center;
    gap: 200px;
    padding-top: 20px;
} 

main.lower div.skills_container div.skills_inner div.text_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    letter-spacing: 0.07em;
    margin-top: 50px;
}

main.lower div.skills_container div.skills_inner div.text_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.07em;
    color: #8f2823;
    margin-bottom: 60px;
}

main.lower div.skills_container div.skills_inner div.text_box ul li{
    list-style: none;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 18px;
}

main.lower div.skills_container div.skills_inner div.text_box ul li.top{
    margin-bottom: 20px;
}

/* 受け付けられない案件 */
main.lower div.decline_container{
    background-color: #e8d4d2;
}

main.lower div.decline_container div.decline_inner{
    max-width: 1280px;
    padding: 100px 0 200px 0;
    margin: 0 auto;
}

main.lower div.decline_container div.decline_inner div.text_box{
    max-width: 1000px;
    height: 620px;
    background-color: #b9d3d8;
    border-radius: 20px;
    padding: 60px 85px 70px 85px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
}

main.lower div.decline_container div.decline_inner div.text_box div.heading_box div.icon{
    width: fit-content;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 210;
}

main.lower div.decline_container div.decline_inner div.text_box div.heading_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    letter-spacing: 0.07em;
    color: #191919;
    text-align: center;
    position: relative;
    z-index: 300;
}

main.lower div.decline_container div.decline_inner div.text_box div.heading_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.07em;
    color: #8f2823;
    margin-bottom: 60px;
    text-align: center;
    position: relative;
    z-index: 300;
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner{
    width: 800px;
    height: 420px;
    background-color: #f8e9e8;
    border-radius: 20px;
    padding: 70px 130px 80px 130px;
    margin: 0 auto;
    position: absolute;
    top: 110px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 200;
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner h3{
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 18px;
    margin-bottom: 40px;
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul{
    margin: 0 auto;
    list-style: none;
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul li.mb{
    margin-bottom: 20px;
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul li{
    position: relative;
    padding-left: 30px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 16px; 
}

main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul li::before{
    content:"";
    width: 5px;
    height: 2px;
    background-color: #575151;
    position: absolute;
    top: 12px;
    left: 15px; 
}

/***************************************
LOWER : WORK01 - ChairShop
***************************************/
main.lower div.work01_container_top{
    display: flex;
    padding: 130px 90px 140px 90px;
    margin: 0 auto;
}

main.lower div.work01_container_top div.work01_inner_top{
    max-width: 1280px;
    margin: 0 auto;
}

main.lower div.work01_container_top div.work01_inner_top div.work01_text_box{
    max-width: 440px;
}

main.lower div.work01_container_top div.work01_inner_top div.work01_text_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    font-size: 14px;
    margin-bottom: 20px;
}

main.lower div.work01_container_top div.work01_inner_top div.work01_text_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.1em;
    color: #8f2823;
    margin-bottom: 40px;
}

main.lower div.work01_container_top div.work01_inner_top div.work01_text_box span.role{
    display: block;
    margin-bottom: 60px;
}

main.lower div.work01_container_top div.work01_inner_top div.work01_text_box p.top{
    margin-bottom: 40px;
}

main.lower div.work01_container_bottom{
    background-color: #dae8eb;
    padding: 70px 0 180px 0;
}

main.lower div.work01_container_bottom div.work01_img_box_long{
    width: fit-content;
    margin: 0 auto;
}

/***************************************
LOWER : WORK02 - Dhili’s Curry Shop
***************************************/
main.lower div.work02_container_top{
    display: flex;
    padding: 130px 90px 140px 90px;
    margin: 0 auto;
}

main.lower div.work02_container_top div.work02_inner_top{
    max-width: 1280px;
    margin: 0 auto;
}

main.lower div.work02_container_top div.work02_inner_top div.work02_text_box{
    max-width: 440px;
}

main.lower div.work02_container_top div.work02_inner_top div.work02_text_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: light;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin-bottom: 20px;
}

main.lower div.work02_container_top div.work02_inner_top div.work02_text_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.1em;
    color: #8f2823;
    margin-bottom: 40px;
}

main.lower div.work02_container_top div.work02_inner_top div.work02_text_box span.role{
    display: block;
    margin-bottom: 60px;
}

main.lower div.work02_container_top div.work02_inner_top div.work02_text_box p.top{
    margin-bottom: 40px;
}

main.lower div.work02_container_bottom{
    background-color: #dae8eb;
    padding: 70px 0 180px 0;
}

main.lower div.work02_container_bottom div.work02_img_box_long{
    width: fit-content;
    margin: 0 auto;
}

/***************************************
LOWER : PRIVACY AND SITE POLICY
***************************************/
main.lower div.policy_container div.policy_inner{
    max-width: 1280px;
    margin: 0 auto;
    padding: 120px 140px 180px 140px;
}

main.lower div.policy_container div.policy_inner div.heading_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    margin-bottom: 20px;
    color: #191919;
}

main.lower div.policy_container div.policy_inner div.text_box{
    margin-bottom: 50px;
}

main.lower div.policy_container div.policy_inner div.heading_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    margin-bottom: 50px;
    color: #8f2823;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box{
    margin-bottom: 50px;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box p{
    margin: 0 20px 15px 20px;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box a{
    margin: 0 20px 15px 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    border-bottom: 1px solid #191919;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box ul li{
    list-style: none;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 30px 10px 30px;
    position: relative;
    padding-left: 16px;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box ul li::before{
    content: "";
    width: 6px;
    height: 3px;
    background-color: #8b8b8b;
    position: absolute;
    top: 12px;
    left: 0;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box h3{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    margin-bottom: 15px;
    position: relative;
    padding-bottom: 8px;
    padding-left: 15px;
    border-bottom: 1px solid #aaa;
}

main.lower div.policy_container div.policy_inner div.text_box_container div.text_box h3::before{
    content:"";
    width: 3px;
    height: 33px;
    background-color: #8f2823;
    position: absolute;
    top: 4px;
    left: 0;
}

/***************************************
LOWER : CONTACT　FORM
***************************************/
main.lower div.contact_form_container div.contact_form_inner{
    max-width: 1280px;
    margin: 0 auto;
    padding: 120px 140px 180px 140px;
}

main.lower div.contact_form_container div.contact_form_inner div.heading_box h2.heading_jp{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    margin-bottom: 20px;
    color: #191919;
}

main.lower div.contact_form_container div.contact_form_inner div.heading_box h2.heading_en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    margin-bottom: 50px;
    color: #8f2823;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container{
    max-width: 700px;
    margin: 0 auto;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form{
    max-width: 700px;
    margin: 0 auto;
    display: block;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form p.lead{
    margin-bottom: 50px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item{
    margin-bottom: 40px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item label{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    display: block;
    margin-bottom: 4px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item label span{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 11px;
    color: red;
    padding-left: 10px;
    vertical-align: baseline;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item input{
    width: 60%;
    height: 23px;
    padding: 2px 0 2px 4px;
    background-color: #fff;
    border: 1px solid #6d6d6d;
    border-radius: 2px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item select{
    width: 60%;
    height: 23px;
    padding-top: 2px;
    background-color: #fff;
    border: 1px solid #6d6d6d;
    border-radius: 2px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item textarea{
    width: 100%;
    min-height: 200px; 
    padding: 4px 0 4px 4px;
    background-color: #fff;
    border: 1px solid #6d6d6d;
    border-radius: 2px;
    margin-bottom: 10px;
    display: block;    
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item div.privacy_agree{
    width: 60%;
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    padding-left: 0;
    margin-left: 0;
    text-align: start;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item div.privacy_agree #agree_privacy{
    width: 20px;
    display: block;
    border: 1px solid #6d6d6d;
    border-radius: 2px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item div.privacy_agree #agree_privacy label{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    padding-top: 4px;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form button{
    width: 30%;
    font-size: 18px;
    color: #191919;
    padding: 5px 15px;
    margin: 0 auto 120px auto;
    display: block;

    background: #e0e0e0;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #7a7a7a;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form button:hover{
    background: #989898;
    color: #fff;
    transition: background 0.4s ease, color 0.4s ease;
}

main.lower div.contact_form_container div.contact_form_inner div.form_container form button:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #7a7a7a;
}

/***************************************
LOWER : CONFIRM (詳細な子孫セレクタ省略）
***************************************/
.confirm_form_container{
    max-width: 1100px;
}

div.confirm_box{
    width: 100%;
    margin: 0 auto 40px auto;
    display: flex;
    justify-content: center;
}

div.confirm_box table{
    width: 100%
}

div.confirm_box table th{
    width: 40%; 
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #696969;
    background-color: #f5f5f5;
    padding: 10px 5px;
}

div.confirm_box table td{
    width: 60%;
    color: #4a4a4a;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #696969;
    background-color: #fff;
    padding: 10px;
}

form#back_edit button.back_btn{
    width: 30%;
    padding: 5px 15px;
    margin: 0 auto 30px auto;
    font-size: 18px;
    color: #191919;
    display: block;

    background: #e0e0e0;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #7a7a7a;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

form#back_edit button.back_btn:hover{
    background: #989898;
    color: #fff;
    transition: background 0.4s ease, color 0.4s ease;
}

form#back_edit button.back_btn:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #7a7a7a;
}

form#submit button.send_btn{
    width: 30%;
    padding: 5px 15px;
    margin: 0 auto 30px auto;
    font-size: 18px;
    color: #191919;
    display: block;

    background: #e0e0e0;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #7a7a7a;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

form#submit button.send_btn:hover{
    background: #989898;
    color: #fff;
    transition: background 0.4s ease, color 0.4s ease;
}

form#submit button.send_btn:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #7a7a7a;
}

/***************************************
LOWER : COMPLETE (詳細な子孫セレクタ省略）
***************************************/
.complete_top_padding{
    padding-top: 100px;
}

.complete_mb{
    margin-bottom: 40px;
}

.message_container{
    max-width: 500px;
    margin: 0 auto;
}

.message_container p{
    font-size: 16px;
    text-align: center !important;
}

.back_btn_02{
    width: 50%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    font-size: 18px;
    color: #191919;
    padding: 5px 15px;
    margin: 0 auto 120px auto;
    display: flex;
    justify-content: center;

    background: #e0e0e0;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 0 #7a7a7a;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.back_btn_02:hover{
    background: #989898;
    color: #fff;
    transition: background 0.4s ease, color 0.4s ease;
}

.back_btn_02:active{
    transform: translateY(3px);
    box-shadow: 0 1px 0 #7a7a7a;
}

/******************************************************************************
以下【SP】レイアウト
******************************************************************************/
@media screen and (max-width: 750px) {
        /***************************************
        SHOW ONLY SP
        ***************************************/
        br.sp_visible{
            display: block !important;
        }

        /***************************************
        BACK TO PAGE TOP - BUTTON
        ***************************************/
        div.page_top_container button.page_top {
            position: fixed;
            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(238, 139, 134, 0.8);
            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 div.header_container{
            max-width: 100%;
            width: 100%;
            height: 70px;
            padding: 0 4%;
        }

        header div.header_container div.header_inner{
            max-width: 100%;
            width: 100%;
            justify-content: space-between;
        }

        header div.header_container div.header_inner h1{
            display: block;
            max-width: 120px; 
        }

        header div.header_container nav ul{
            gap: 20px;
            font-size: 12px;
        }

        header div.key_container{
            padding: 70px 4% 0 4%;
        }

        header div.key_container div.key_background_area{
            max-width: 100%;
            width: 100%;
            height: 350px;
        }

        header div.key_container div.key_background_area h2.heading_top{
            font-size: 20px;
            position: absolute;
            z-index: 200;
            top: 130px;
            left: 50%;
            transform: translateX(-50%);
        }

        header div.key_container div.key_background_area h2.heading_bottom{
            font-size: 50px;
            position: absolute;
            z-index: 200;
            top: 57%;
            left: 50%;
            transform: translateX(-50%)translateY(-57%);
        } 

        header div.key_container div.key_flowers{
            width: 100%;
            margin: 0 auto;
            display: flex;
            gap: 0;
            justify-content: space-between;
            position: absolute;
            top: 300px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 300;
        }

        header div.key_container div.key_flowers img{
            display: block;
            width: 30%;     
        }

        nav.pankuzu_list{
            padding: 0 4%;
        }

        /***************************************
        BUTTON BELOW THE HEADER
        ***************************************/
        main.top_page div.menu_btn_container{
            max-width: 100%;
            width: 100%;
            margin: 70px auto 70px auto;
            padding: 0 4%;
        }

        main.top_page div.menu_btn_container ul{
            display: flex;
            list-style-type: none;
            justify-content: space-evenly;
            gap: 0;
        }

        main.top_page div.menu_btn_container ul li{
            width: 105px;
            height: 105px;
        }

        main.top_page div.menu_btn_container ul li a{
            font-size: 18px;
        }

        main.top_page div.menu_btn_container ul li a span{
            font-size: 12px;
        }

        /***************************************
        TOP - SP : WEB DESIGN
        ***************************************/
        main.top_page div.web_container{
            max-width: 100%;
            width: 100%;
            padding-bottom: 130px;
            padding: 0 4%;
            margin: 0 auto;
        }

        main.top_page div.web_container div.heading_box{
            width: fit-content;
            display: flex;
            justify-content: space-between;
            margin: 0 auto 60px 0;
        }

        main.top_page div.web_container div.heading_box h2{
            font-size: 24px;
            padding-left: 120px;
        }

        main.top_page div.web_container div.heading_box h2::before{
            width: 100px;
        }

        /*** PICKUP 01 ***/
        main.top_page div.web_container div.work_box01{
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 0px;
            margin-bottom: 90px;
        }

        main.top_page div.web_container div.work_box01 div.work_img_box{
            max-width: 100%;
            width: 100%;
            position: relative;
            z-index: 50;
        }

        main.top_page div.web_container div.work_box01 div.work_img_box a img{
            width: 100%;
        }

        main.top_page div.web_container div.work_box01 div.work_img_box p{
            font-size: 60px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box01 div.work_img_box p span{
            font-size: 17px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box01 div.work_img_box a img{
            max-width: 100%;
            width: 100%;
            display: block;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box{
            max-width: 100%;
            width: 100%;
            margin-top: 50px;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box h3.heading_jp{
            margin-bottom: 20px;
            text-align: center;
            font-size: 14px;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box h3.heading_en{
            margin-bottom: 25px;
            text-align: center;
            font-size: 28px;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box span.role.role{
            display: block;
            margin-bottom: 50px;
            text-align: center;
            font-size: 12px;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box p.explain{
            margin-bottom: 60px;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box a.btn{
            display: block;
            padding-left: 115px;
            position: relative;
            width: fit-content;
            margin: 0 auto;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box a.btn::before{
            content: "";
            width: 90px;
            height: 1px;
            background-color: #191919;
            position: absolute;
            top: 11px;
            left: 0;
            transition: background-color 0.4s ease;
        }

        main.top_page div.web_container div.work_box01 div.work_text_box a.btn::after{
            content: "";
            width: 15px;
            height: 15px;
            border-top: 1px solid #191919;
            border-right: 1px solid #191919;
            transform: rotate(45deg);
            position: absolute;
            top: 4px;
            left: 71px;
            transition: border-color 0.4s ease;
        }

        /*** PICKUP 02 ***/
        main.top_page div.web_container div.work_box02{
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 0px;
            margin-bottom: 90px;
        }

        main.top_page div.web_container div.work_box02 div.work_img_box{
            max-width: 100%;
            width: 100%;
            position: relative;
            z-index: 50;
        }

        main.top_page div.web_container div.work_box02 div.work_img_box a img{
            max-width: 100%;
            width: 100%;
        }

        main.top_page div.web_container div.work_box02 div.work_img_box p{
            font-size: 60px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box02 div.work_img_box p span{
            font-size: 17px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box02 div.work_img_box a img{
            max-width: 100%;
            width: 100%;
            display: block;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box{
            max-width: 100%;
            width: 100%;
            margin-top: 50px;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box h3.heading_jp{
            margin-bottom: 20px;
            text-align: center;
            font-size: 14px;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box h3.heading_en{
            margin-bottom: 25px;
            text-align: center;
            font-size: 28px;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box span.role.role{
            display: block;
            margin-bottom: 50px;
            text-align: center;
            font-size: 12px;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box p.explain{
            margin-bottom: 60px;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box a.btn{
            display: block;
            padding-left: 115px;
            position: relative;
            width: fit-content;
            margin: 0 auto;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box a.btn::before{
            content: "";
            width: 90px;
            height: 1px;
            background-color: #191919;
            position: absolute;
            top: 11px;
            left: 0;
            transition: background-color 0.4s ease;
        }

        main.top_page div.web_container div.work_box02 div.work_text_box a.btn::after{
            content: "";
            width: 15px;
            height: 15px;
            border-top: 1px solid #191919;
            border-right: 1px solid #191919;
            transform: rotate(45deg);
            position: absolute;
            top: 4px;
            left: 71px;
            transition: border-color 0.4s ease;
        }

        /*** PICKUP 03 ***/
        main.top_page div.web_container div.work_box03{
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 0px;
            margin-bottom: 120px;
        }

        main.top_page div.web_container div.work_box03 div.work_img_box{
            max-width: 100%;
            width: 100%;
            position: relative;
            z-index: 50;
        }

        main.top_page div.web_container div.work_box03 div.work_img_box a img{
            max-width: 100%;
            width: 100%;
        }

        main.top_page div.web_container div.work_box03 div.work_img_box p{
            font-size: 60px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box03 div.work_img_box p span{
            font-size: 17px;
            text-align: center;
        }

        main.top_page div.web_container div.work_box03 div.work_img_box a img{
            max-width: 100%;
            width: 100%;
            display: block;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box{
            max-width: 100%;
            width: 100%;
            margin-top: 50px;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box h3.heading_jp{
            margin-bottom: 20px;
            text-align: center;
            font-size: 14px;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box h3.heading_en{
            margin-bottom: 25px;
            text-align: center;
            font-size: 28px;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box span.role.role{
            display: block;
            margin-bottom: 50px;
            text-align: center;
            font-size: 12px;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box p.explain{
            margin-bottom: 60px;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box a.btn{
            display: block;
            padding-left: 120px;
            position: relative;
            width: fit-content;
            margin: 0 auto;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box a.btn::before{
            content: "";
            width: 90px;
            height: 1px;
            background-color: #191919;
            position: absolute;
            top: 11px;
            left: 0;
            transition: background-color 0.4s ease;
        }

        main.top_page div.web_container div.work_box03 div.work_text_box a.btn::after{
            content: "";
            width: 15px;
            height: 15px;
            border-top: 1px solid #191919;
            border-right: 1px solid #191919;
            transform: rotate(45deg);
            position: absolute;
            top: 4px;
            left: 71px;
            transition: border-color 0.4s ease;
        }

        /***************************************
        TOP - SP : WEB DESIGN > TOP-PAGE-DESIGN
        ***************************************/
        main.top_page div.web_container_02 div.web_container_02_inner{
            max-width: 100%;
            width: 100%;
            padding: 100px 4% 120px 4%;
        }

        /*** WORK_BOX01 ***/
        main.top_page div.web_container_02 div.work_box01{
            display: flex;
            flex-direction: column;
            gap: 40px;
            margin-bottom: 80px;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box{
            padding-top: 0px;
            text-align: center;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box h3.heading_jp{
            margin: 20px;
            text-align: center;
            font-size: 14px;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box h3.heading_en{
            margin-bottom: 30px;
            text-align: center;
            font-size: 28px;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box span.role.role{
            display: block;
            margin-bottom: 60px;
            text-align: center;
            font-size: 12px;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn{
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            padding-left: 120px;
            position: relative;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn::before{
            content: "";
            width: 90px;
            height: 1px;
            background-color: #191919;
            position: absolute;
            top: 12px;
            left: 0;
            transition: background-color 0.4s ease;
        }

        main.top_page div.web_container_02 div.work_box01 div.work_text_box a.btn::after{
            content: "";
            width: 15px;
            height: 15px;
            border-top: 1px solid #191919;
            border-right: 1px solid #191919;
            transform: rotate(45deg);
            position: absolute;
            top: 4px;
            left: 71px;
            transition: border-color 0.4s ease;
        }

        /*** WORK_BOX02 ***/
        main.top_page div.web_container_02 div.work_box02{
            display: flex;
            flex-direction: column;
            gap: 40px;
            margin-bottom: 80px;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box{
            padding-top: 0px;
            text-align: center;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box h3.heading_jp{
            margin: 20px;
            text-align: center;
            font-size: 14px;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box h3.heading_en{
            margin-bottom: 30px;
            text-align: center;
            font-size: 28px;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box span.role.role{
            display: block;
            margin-bottom: 60px;
            text-align: center;
            font-size: 12px;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn{
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            padding-left: 120px;
            position: relative;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn::before{
            content: "";
            width: 90px;
            height: 1px;
            background-color: #191919;
            position: absolute;
            top: 12px;
            left: 0;
            transition: background-color 0.4s ease;
        }

        main.top_page div.web_container_02 div.work_box02 div.work_text_box a.btn::after{
            content: "";
            width: 15px;
            height: 15px;
            border-top: 1px solid #191919;
            border-right: 1px solid #191919;
            transform: rotate(45deg);
            position: absolute;
            top: 4px;
            left: 71px;
            transition: border-color 0.4s ease;
        }

        /***************************************
        TOP - SP : GRAPHIC DESIGN
        ***************************************/
        main.top_page div.graphic_container{
            max-width: 100%;
            width: 100%;
            padding-bottom: 130px;
            margin: 0 auto 0 auto;
        }

        main.top_page div.graphic_container div.heading_box h2{
            text-align: center;
            font-size: 30px;
        }

        main.top_page div.graphic_container div.graphic_gallery ul{
            list-style-type: none;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin: 0 4%;

            gap: 4%;
        }

        main.top_page div.graphic_container div.graphic_gallery ul li{
            padding-bottom: 35px;
            filter: brightness(1);
            width: 46%;
        }

        main.top_page div.graphic_container div.graphic_gallery ul li div img{
            margin-bottom: 30px;
        }

        main.top_page div.graphic_container div.graphic_gallery ul li div h3.heading_jp{
            margin-bottom: 5px;
            font-size: 13px;
        }

        main.top_page div.graphic_container div.graphic_gallery ul li div h3.heading_en{
            margin-bottom: 15px;
            font-size: 16px;
        }

        main.top_page div.graphic_container div.graphic_gallery ul li div span.role{
            font-size: 11px;
        }

        /***************************************
        TOP - SP : CONTACT
        ***************************************/
        main.lower div.contact_container{
            padding-bottom: 60px;
        }

        main.top_page div.contact_container div.contact_inner{
            max-width: 100%;
            width: 100%;
            padding: 0 4%;
        }

        main.top_page div.contact_container div.contact_inner div.heading_box{
            position: absolute;
            top: -42px;
            left: 4%;
            z-index: 200;
        }

        main.top_page div.contact_container div.contact_inner div.heading_box img{
            min-width: 80px;
            max-width: 100px;
        }

        main.top_page div.contact_container div.contact_inner div.heading_box h2{
            font-size: 45px;
            position: absolute;
            top: 10px;
            left: 35px;
            z-index: 300;
        }

        main.top_page div.contact_container div.contact_inner p{
            font-size: 14px;
            padding: 70px 0 25px 0;
        }

        main.top_page div.contact_container div.contact_inner div.contact_btn{
            max-width: 100%;
            width: 100%;
            padding: 0 4%;
        }

        main.top_page div.contact_container div.contact_inner div.contact_btn a{
            display: inline-block;
            color: #fff;
            font-family: "Jost", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            letter-spacing: 0.2em;
            font-size: 30px;
            position: relative;

            padding-left: 140px;
        }

        main.top_page div.contact_container div.contact_inner div.contact_btn a::before{
            content: "";
            width: 100px;
            height: 1px;
            background-color: #fff;
            position: absolute;
            top: 20px;
            left: 0;
            transform: translateY(-50%);
        }

        main.top_page div.contact_container div.contact_inner div.contact_btn a::after{
            content: "";
            width: 12px;
            height: 12px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            transform: rotate(45deg);
            position: absolute;
            top: 14px;
            left: 85px; 
            transition: border-color 0.4s ease;
        }

        /***************************************
        TOP - SP : FOOTER
        ***************************************/
        footer div.footer_container{
            max-width: 100%;
            width: 100%;
            padding: 30px 4% 25px 4%;
        }

        footer div.footer_container ul.menu{
            list-style-type: none;
            padding: 0;
            margin: 0 auto 60px auto;

            display: grid;

            /* ★2列に変更 */
            grid-template-columns: 1fr 1fr;

            /* ★配置をエリアで指定 */
            grid-template-areas:
                "i1 i5"
                "i2 i6"
                "i3 ."
                "i4 .";
            
            row-gap: 20px;
        }

        footer div.footer_container ul.menu li:nth-child(1){ grid-area: i1; }
        footer div.footer_container ul.menu li:nth-child(2){ grid-area: i2; }
        footer div.footer_container ul.menu li:nth-child(3){ grid-area: i3; }
        footer div.footer_container ul.menu li:nth-child(4){ grid-area: i4; }
        footer div.footer_container ul.menu li:nth-child(5){ grid-area: i5; }
        footer div.footer_container ul.menu li:nth-child(6){ grid-area: i6; }

        footer div.footer_container ul.menu li{
            padding-left: 16px;
        }

        footer div.footer_container ul.menu li::before{
            content: "";
            width: 6px;          
            height: 2px;        
            background: #d78b88;    

            position: absolute;
            top: 15px;
            left: 0;
            transform: translateY(-50%);
        }

        footer div.footer_container ul.menu li a{
            font-size: 12px;
        }

        footer div.footer_container a.copyright{
            text-align: left;
            font-size: 12px;;
        }

        /***************************************
        LOWER :  COMMON
        ***************************************/
        header div.lower_key_container{
            max-width: 100%;
            width: 100%;
            padding: 70px 4% 0 4%;
            position: relative;
            z-index: 100;
        }

        header div.lower_key_container div.lower_key_inner{
            max-width: 100%;
            width: 100%;
        }

        /***************************************
        LOWER : COMMON - KEY VISUAL - HEADING H2
        ***************************************/
        header div.lower_key_container div.lower_key_inner{
            width: 100%;        
            max-width: 100%;
            height: 250px;
            margin: 0 auto;     
            text-align: center;
            position: relative;
            background-position: right;
        }

        header div.lower_key_container div.lower_key_inner h2.heading_en{
            width: 100%;         
            font-size: 30px;
            /*color: #362c2c;*/
            color: #8f2823;
            overflow-wrap: break-word;/* 強制的に折り返す */
            position: relative;
            z-index: 500;

            margin-left: 6%;   
            top: 120px;
            transform: translateY(-50%);
        }

        header div.lower_key_container div.lower_key_inner h2.heading_jp{
            width: 100%; 
            font-size: 15px;
            /*color: #362c2c;*/
            color: #8f2823;
            z-index: 500;

            margin-left: 4%;
            top: 100px;
            transform: translateY(-50%);
        }

        header div.lower_key_container div.lower_key_inner img.key_flowers{
            width: 30%;
            position: absolute;
            /*top: 150px;*/
            left: -30px;
            top: 65%;
            transform: translateY(-20%);
            /*filter: opacity(0.5);*/
            z-index: 200;
        }

        header nav.pankuzu_list ol{
            max-width: 100%;
            width: 100%;
            margin-top: 50px;
        }

        header nav.pankuzu_list ol{
            max-width: 100%;
            width: 100%;
            gap: 15px
        }

        /*header nav.pankuzu_list ol li.pankuzu_border{
            position: relative;
            padding-left: 8px;
            color: #757575; 
        }*/

        header nav.pankuzu_list ol li.pankuzu_border::before{
            content:"";
            width: 5px;
            height: 1px;
            background-color: #6b7274;
            position: absolute;
            top: 12px;
            left: -7px;
        }

        /***************************************
        LOWER : CONTACT
        ***************************************/
        main.lower div.contact_container div.contact_inner{
            max-width: 100%;
            width: 100%;
            padding: 0 4%;
        }

        main.lower div.contact_container div.contact_inner div.heading_box{
            position: absolute;
            top: -42px;
            left: 4%;
            z-index: 200;
        }

        main.lower div.contact_container div.contact_inner div.heading_box img{
            min-width: 80px;
            max-width: 100px;
        }

        main.lower div.contact_container div.contact_inner div.heading_box h2{
            font-size: 45px;
            position: absolute;
            top: 10px;
            left: 35px;
            z-index: 300;
        }

        main.lower div.contact_container div.contact_inner p{
            font-size: 14px;
            padding: 70px 0 25px 0;
        }

        main.lower div.contact_container div.contact_inner div.contact_btn{
            width: 100%;
            padding: 0 4%;
        }

        main.lower div.contact_container div.contact_inner div.contact_btn a{
            display: inline-block;
            color: #fff;
            font-family: "Jost", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            letter-spacing: 0.2em;
            font-size: 30px;
            position: relative;

            padding-left: 140px;
        }

        main.lower div.contact_container div.contact_inner div.contact_btn a::before{
            content: "";
            width: 100px;
            height: 1px;
            background-color: #fff;
            position: absolute;
            top: 20px;
            left: 0;
            transform: translateY(-50%);
        }

        main.lower div.contact_container div.contact_inner div.contact_btn a::after{
            content: "";
            width: 12px;
            height: 12px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            transform: rotate(45deg);
            position: absolute;
            top: 14px;
            left: 85px; 
            transition: border-color 0.4s ease;
        }

        /***************************************
        LOWER : ABOUT
        ***************************************/
        header div.lower_key_container div.lower_key_inner h2.about_heading_en{
            max-width: 100%;
            width: 100%;         
            font-size: 30px;
            overflow-wrap: break-word;/* 強制的に折り返す */
            position: relative;
            z-index: 500;

            margin-left: 4%;   
            top: 125px;
            transform: translateY(-50%);
        }

        header div.lower_key_container div.lower_key_inner h2.about_heading_jp{
            width: 100%; 
            font-size: 15px;
            position: relative;
            z-index: 500;

            margin-left: 4%;
            top: 90px;
            transform: translateY(-50%);
        }


        main.lower div.about_menu_btn_container{
            width: 100%;
            padding: 60px 4% 100px 4%;
            margin: 0 auto;
        }

        main.lower div.about_menu_btn_container ul{ 
            width: fit-content;
            display: flex;
            gap: 50px;
            justify-content: flex-start;
            align-items: flex-start;
            flex-direction: column;
            padding: 0 4%;
            margin: 0 auto;
        }

        main.lower div.about_menu_btn_container ul li a{
            font-size: 14px;

        }

        main.lower div.about_menu_btn_container ul li img{
            position: absolute; 
            top: -20px;
            left: 0;
            transform: translateX(-50%);
            z-index: 1000;
        }

        /* 事業内容 */
        main.lower div.services_container div.services_inner{
            width: 100%;
            padding: 0 4% 0 4%;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 50px;
        }

        main.lower div.services_container div.services_inner div.text_box{
            width: 100%;
        }

        main.lower div.services_container div.services_inner div.text_box h2.heading_en{
            text-align: center;
            font-size: 12px;
        }

        main.lower div.services_container div.services_inner div.text_box h2.heading_jp{
            text-align: center;
            margin-bottom: 24px;
        }

        main.lower div.services_container div.services_inner div.text_box p{
            font-size: 14px;
        }

        main.lower div.services_container div.services_inner div.img_box{
            width: fit-content;
            margin: 0 auto;

        }

        /* 制作できるもの */
        main.lower div.type_container{
            padding: 50px 0 70px 0;
        }

        main.lower div.type_container div.type_inner{
            width: 100%;
            padding: 0 4% 0 4%;
        }

        main.lower div.type_container div.type_inner div.text_box{
            padding: 50px 0 60px 0;
        }

        main.lower div.type_container div.type_inner div.text_box h2.heading_en{
            font-size: 12px;
        }

        main.lower div.type_container div.type_inner div.text_box h2.heading_jp{
            font-size: 24px;
        }

        main.lower div.type_container div.type_inner div.text_box div.text_box_inner{
            width: 100%;
            display: flex;
            gap: 60px;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            margin: 0 auto;
        }

        main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left ul li,
        main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right ul li{
            font-size: 14px;    
        }

        main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_left ul li::before,
        main.lower div.type_container div.type_inner div.text_box div.text_box_inner div.text_box_inner_right ul li::before{
            /*content:"";
            width: 5px;
            height: 2px;
            background-color: #575151;
            position: absolute;*/
            top: 10px;
            /*left: 25px;*/
        }

        /* 使用ツール・言語 */
        main.lower div.skills_container{
            height: 350px;
        }

        main.lower div.skills_container div.skills_inner{
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 0px;
            padding: 40px 4%;
            position: relative;
        } 

        main.lower div.skills_container div.skills_inner div.img_box img{
            width: 40%;
            filter: opacity(0.5);
        }

        main.lower div.skills_container div.skills_inner div.text_box{
            width: 100%;
            padding: 0 4%;
            position: absolute;
            top: 70px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 500px;
        }

        main.lower div.skills_container div.skills_inner div.text_box h2.heading_en{
            font-size: 12px;
            text-align: center;
        }

        main.lower div.skills_container div.skills_inner div.text_box h2.heading_jp{
            font-size: 24px;
            text-align: center;
            margin-bottom: 35px;
        }

        main.lower div.skills_container div.skills_inner div.text_box ul{
            width: fit-content;
            margin: 0 auto;
        }

        main.lower div.skills_container div.skills_inner div.text_box ul li{
            list-style: none;
            font-size: 14px;
            letter-spacing: 0.05em;
        }

        main.lower div.skills_container div.skills_inner div.text_box ul li.top{
            margin-bottom: 20px;
        }

        /* 受け付けられない案件 */
        main.lower div.decline_container div.decline_inner{
            width: 100%;
            height: 790px;
            padding: 60px 4% 60px 4%;
        }

        main.lower div.decline_container div.decline_inner div.text_box{
            width: 100%;
            height: 580px;
            padding: 40px 4% 50px 4%;
            margin: 0 auto;
            position: relative;
            z-index: 100;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.heading_box div.icon{
            width: 20%;
            position: absolute;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 210;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.heading_box h2.heading_en{
            font-size: 12px;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.heading_box h2.heading_jp{
            font-size: 24px;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner{
            width: 90%;
            height: 430px;
            padding: 70px 5% 70px 4%;
            margin: 0 auto;
            position: absolute;
            top: 75px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 200;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner h3{
            text-align: center;
            font-size: 16px;
            margin-bottom: 40px;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul{
            margin: 0 auto;
            list-style: none;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul{
            font-size: 14px;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul li{
            font-size: 14px;
        }

        main.lower div.decline_container div.decline_inner div.text_box div.text_box_inner ul li::before{
            /*content:"";
            width: 5px;
            height: 2px;
            background-color: #575151;
            position: absolute;*/
            top: 10px;
            /*left: 15px;*/
        }

        /***************************************
        LOWER : WORK01 - ChairShop
        ***************************************/
        main.lower div.work01_container_top{
            padding: 60px 4% 70px 4%;
            flex-direction: column;
            gap: 50px;
        }

        main.lower div.work01_container_top div.work01_inner_top{
            max-width: 100%;
            width: 100%;
        }

        main.lower div.work01_container_top div.work01_inner_top div.work01_text_box{
            max-width: 100%;
            width: 100%;
        }

        main.lower div.work01_container_top div.work01_inner_top div.work01_text_box h2.heading_jp{
            margin-bottom: 15px;
            font-size: 12px;
            text-align: center;
        }

        main.lower div.work01_container_top div.work01_inner_top div.work01_text_box h2.heading_en{
            margin-bottom: 15px;
            font-size: 24px;
            text-align: center;
        }

        main.lower div.work01_container_top div.work01_inner_top div.work01_text_box span.role{
            margin-bottom: 30px;
            font-size: 10px;
            text-align: center;
        }

        main.lower div.work01_container_top div.work01_inner_top div.work01_text_box p.top{
            font-size: 14px;
        }

        main.lower div.work01_container_bottom{
            padding: 50px 4% 180px 4%;
        }

        /***************************************
        LOWER : WORK02 - Dhili’s Curry Shop
        ***************************************/
        main.lower div.work02_container_top{
            padding: 60px 4% 70px 4%;
            flex-direction: column;
            gap: 50px;
        }

        main.lower div.work02_container_top div.work02_inner_top{
            max-width: 100%;
            width: 100%;
        }

        main.lower div.work02_container_top div.work02_inner_top div.work02_text_box{
            max-width: 100%;
            width: 100%;
        }

        main.lower div.work02_container_top div.work02_inner_top div.work02_text_box h2.heading_jp{
            margin-bottom: 15px;
            font-size: 12px;
            text-align: center;
        }

        main.lower div.work02_container_top div.work02_inner_top div.work02_text_box h2.heading_en{
            margin-bottom: 15px;
            font-size: 24px;
            text-align: center;
        }

        main.lower div.work02_container_top div.work02_inner_top div.work02_text_box span.role{
            margin-bottom: 30px;
            font-size: 10px;
            text-align: center;
        }

        main.lower div.work02_container_top div.work02_inner_top div.work02_text_box p.top{
            font-size: 14px;
        }

        main.lower div.work02_container_bottom{
            padding: 50px 4% 180px 4%;
        }

        /***************************************
        LOWER : PRIVACY AND SITE POLICY
        ***************************************/
        main.lower div.policy_container div.policy_inner{
            max-width: 100%;
            width: 100%;
            margin: 0 auto;
            padding: 60px 4% 120px 4%;
        }

        main.lower div.policy_container div.policy_inner div.heading_box h2.heading_jp{
            font-family: "Noto Sans JP", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            letter-spacing: 0.05em;
            font-size: 12px;
            margin-bottom: 20px;
            color: #191919;
        }

        main.lower div.policy_container div.policy_inner div.text_box{
            margin-bottom: 50px;
        }

        main.lower div.policy_container div.policy_inner div.text_box p{
            font-size: 13px;
        }

        main.lower div.policy_container div.policy_inner div.heading_box h2.heading_en{
            font-family: "Jost", sans-serif;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            font-size: 24px;
            margin-bottom: 50px;
            color: #8f2823;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box{
            margin-bottom: 50px;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box p{
            margin: 0 20px 15px 20px;
            font-size: 13px;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box a{
            margin: 0 20px 15px 20px;
            font-size: 13px;
            border-bottom: 1px solid #191919;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box ul li{
            list-style: none;
            font-size: 13px;
            line-height: 1.7;
            margin: 0 30px 10px 30px;
            position: relative;
            padding-left: 16px;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box ul li::before{
            content: "";
            width: 6px;
            height: 2px;
            background-color: #8b8b8b;
            position: absolute;
            top: 10px;
            left: 0;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box h3{
            font-size: 16px;
            margin-bottom: 15px;
            position: relative;
            padding-bottom: 5px;
            padding-left: 15px;
            border-bottom: 1px solid #aaa;
        }

        main.lower div.policy_container div.policy_inner div.text_box_container div.text_box h3::before{
            content:"";
            width: 3px;
            height: 25px;
            background-color: #8f2823;
            position: absolute;
            top: 4px;
            left: 0;
        }

        /***************************************
        LOWER : CONTACT　FORM
        ***************************************/
        main.lower div.contact_form_container div.contact_form_inner{
            max-width: 100%;
            width: 100%;
            padding: 60px 4% 120px 4%;
        }

        main.lower div.contact_form_container div.contact_form_inner div.heading_box h2.heading_jp{
            font-size: 12px;
        }

        main.lower div.contact_form_container div.contact_form_inner div.heading_box h2.heading_en{
            font-size: 24px;
        }

        main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item input{
            max-width: 80%;
            width: 80%;
            background-color: #fff;
            border: 1px solid #6d6d6d;
        }

        main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item select{
            max-width: 80%;
            width: 80%;
            background-color: #fff;
            border: 1px solid #6d6d6d;
        }

        main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item div.privacy_agree #agree_privacy{
            border: 1px solid #6d6d6d !important;
            border-radius: 2px !important;
        }

        main.lower div.contact_form_container div.contact_form_inner div.form_container form div.item div.privacy_agree{
            max-width: 100%;
            width: 100%;
        }

        main.lower div.contact_form_container div.contact_form_inner div.form_container form button{
            max-width: 70%;
            width: 70%;
            margin-bottom: 0;
            color: #191919;
        }

        /***************************************
        LOWER : CONFIRM (詳細な子孫セレクタ省略）
        ***************************************/
        .confirm_form_container{
            max-width: 100%;
            width: 100%;
            padding: 0 4%;
        }

        div.confirm_box table th{
            font-size: 12px;
        }

        form#back_edit button.back_btn{
            max-width: 70%;
            width: 70%;
            color: #191919;
        }

        form#submit button.send_btn{
            max-width: 70%;
            width: 70%;
            margin-bottom: 0;
            color: #191919;
        }

        /***************************************
        LOWER : COMPLETE (詳細な子孫セレクタ省略）
        ***************************************/
        /*main#complete{
            width: 100%;
            padding-top: 200px;
        }*/

        .message_container p{
            font-size: 14px;
            text-align: center !important;
        }

        .back_btn_02{
            max-width: 70%;
            width: 70%;
            margin-bottom: 0;
            color: #191919;
        }

}