@charset "utf-8";

/* オープニング */
#opening {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
  
    display: flex;
    justify-content: center;
    align-items: center;
  
    z-index: 99999;
  }
  .focus-in{
    z-index: 9999999;
	-webkit-animation: text-focus-in 1.2s cubic-bezier(0.470, 0.000, 0.745, 0.715) 0.3s both;
	        animation: text-focus-in 1.2s cubic-bezier(0.470, 0.000, 0.745, 0.715) 0.3s both;
}
 /* * ----------------------------------------
 * animation text-focus-in
 * ---------------------------------------- */
 @-webkit-keyframes text-focus-in {
    0% {
      -webkit-filter: blur(12px);
              filter: blur(12px);
      opacity: 0;
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
      opacity: 1;
    }
  }
  @keyframes text-focus-in {
    0% {
      -webkit-filter: blur(12px);
              filter: blur(12px);
      opacity: 0;
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
      opacity: 1;
    }
  }
  /* セクション移動　スルッと */
  html{
    scroll-behavior: smooth;
  }

.inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

@media screen and (min-width:769px){
    .hidden_pc{
    display: none;
    }    
}

@media screen and (max-width:1024px){  
    .inner{
        max-width: 768px;
        padding: 0 20px;
    }
        
} 

@media screen and (min-width:1025px){  
    .inner{
        max-width: 1024px;
        padding: 0 20px;
    }
    
}
@media screen and (max-width:1240px){
    .medal_flyer_2::after{
    top: -45% !important;
    left: -12% !important;
    }
}

#top header{
    position: fixed;
    z-index: 1000;
    display: flex;
    width: 100%;
    background: rgba(255,255,255,0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
}
#menu{
    display: flex;
    justify-content: space-between;
    font-family: "ZCOOL XiaoWei", sans-serif;

    height: 100px;
    z-index: 10000;
    align-items: center;

}
    /* FVスクロール後、遅れてヘッダー背景表示する*/
    .view_hidden{
        transform: translateY(0px);
    }

#top header a{
    color: #545656;
    letter-spacing: .2rem;
}
#logo{
    font-size: 30px;
}
#header_nav{
    display: flex;
    justify-content: end;
}
#top header nav li{
    font-size: 24px;
    margin-left: 15%;
}

/* ここからFV */
#fv{
    /* width: 100vw; */
    height: 100vh;
    background-image: url(../images/fv_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    /* margin-top: -68.5px; */
    position: relative;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
}
.flex{
    display: flex;
}
#fv h1 span{
    display: block;
    text-align: center;
}
#fv h1{
    font-size: 73px;
    color: #1b2425;
    font-family: "ZCOOL XiaoWei", sans-serif;
    font-weight: normal;
    letter-spacing: .2em;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-73px);
    white-space: nowrap;
}
#fv h1 span{
    font-size: 28px;
    color: #1b2425;
    margin-top: 30px;
}
#scroll{
    font-size: 14px;
    writing-mode: vertical-rl;
    right: 5%;
    bottom: -100px;
}
#scroll::after{
    content: "";
    display: block;
    width: .8px;
    height: 227px;
    background-color: #1b2425;
    animation: scroll 3s infinite;
}
/* 線のアニメーション */
@keyframes scroll {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    51% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
}  

/* ここからABOUTセクション */
#about{
    margin: 100px auto;
}
#top h2{
    font-size: 72px;
    padding: 150px 0;
    font-family: "Bentham", serif;
    font-weight: 100;
    color: #1b2425;
    text-align: center;
}
#about_left{
    width: 50%;
}
#about_right{
    width: 50%;
}
#about_left img{
    width: 50%;
    height: auto;
    margin: auto auto;
    transform: translateY(13%);
}
#about_right{
    font-family: "Noto Serif JP", serif;
    font-weight: normal;
    letter-spacing: .2em;
}
#about_right p:nth-child(1){
    font-size: 25px;
    font-weight: 500;
    letter-spacing: .1em;
}
#about_right p:nth-child(2){
    color: #d5d2d2;
    font-size: 17px;
    text-indent: .2em;
    font-family: "Bentham", serif;
    margin-top: 5px;
    letter-spacing: 0;
}
#insta{
    fill: #a1a1a3;
    width: 30px;
    margin-top: 80px;
}
#about_right p:nth-child(3){
    font-size: 16px;
    margin: 38px 0;
    font-weight: 500;
}
#about_right p:nth-child(4){
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
}
#about>a{
    font-size: 26px;
    font-family: "Bentham", serif;
    border: 1px solid  #1b2425;
    color: #1b2425;
    font-weight: normal;
    width: fit-content;
    padding: 10px 50px;
    display: block;
    margin-left: auto;
    margin-top: 120px;
    margin-bottom: 110px;
}

/* ここからWORKセクション */
#works{
    background-image: url(../images/work_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
}
h2 span{
    font-size: 24px;
    font-family: "Noto Serif JP", serif;
    font-weight: normal;
    display: block;
}
#works_cardsarea{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;

}
.card{
    background-color: #fff;
    box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
    padding: 2%;

    display: flex;
    flex-direction: column;
    align-items: center;
    /* height: 460px; */
    justify-content: center;
  
}
.card_big{
    /* height: 500px; */
}

#works_cardsarea .pad50{
    padding: 50px;
}
#works_cardsarea .wid90 img{
    width: 90%;
}
#works_cardsarea img{
    width: 100%;
    margin: 0 auto;
}
#works_cardsarea li:nth-of-type(1) img{
    width: 95%;
}
#works_cardsarea li a{
    transition: .3s;
}
#works_cardsarea li a:nth-of-type(1):hover{
    opacity: 1;
}

#works_cardsarea li a:nth-of-type(1) img{
    transition: .4s;
}
#works_cardsarea li a:nth-of-type(1) img:hover{
    scale: 1.1;
  }
#works_cardsarea li a:nth-of-type(2){
    width: 30%;
    display: block;
    margin-left: auto;
  }
#works_cardsarea li a:nth-of-type(2):hover{
    opacity: .3;
  }


#works_cardsarea li .flyer_card a img{
    width: 44%
}

.card_title{
    font-family: "Noto Serif JP", serif;
    margin-top: 30px;

    align-self: baseline;
}
.card_title p:nth-child(1){
    font-size: 15px;
    color: #1b2425;
    border: 1px solid #a1a1a3;
    padding: 0px 10px;
    width: fit-content;
}
.card_title h3{
    font-size: clamp(16px,2vw,24px);
    color: #1b2425;
    font-weight: 600;
    margin: 5px 0;
}
.card_title h3::before{
    content: "";
    display: inline-block;
    width: 4px;
    height: 24px;
    transform: translateY(3px);
    margin-right: 3px;
    background-color: #1b2425;
}

.card_title p:nth-child(3){
    font-size: 13px;
    font-weight: bold;
    color: #a1a1a3;
}
.card_more{
    font-size: 16px;
    font-family: "Bentham", serif;
    color: #1b2425;
    text-align: center;
    border-bottom: .8px solid #545656;
}
.card_more::before{
    content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-right: .8px solid #545656;
  transform: rotate(-45deg);
  position: absolute;
  bottom: -34%;
  right: 02%;
}
/* メダル　（SP用にも設定あり） */
.medal_lp::after {
    content: "";
    background-image: url(../images/medal_lp@1.5x.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: -21px;
    left: -3%;
    z-index: 5;
    width: clamp(70px, 8vw, 160px);
    height: clamp(110px,8vw,310px);

}
.medal_flyer::after {
    content: "";
    background-image: url(../images/medal_flyer@1.5x.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: -21px;
    left: -3%;
    z-index: 5;
    width: clamp(70px, 8vw, 160px);
    height: clamp(110px,8vw,310px);
}



/* ここからCONTACTセクション */
#contact h2{
    margin: 100px 0 0;
}
#contact>p{
    font-size: 16px;
    font-weight: 400;
    color: #1b2425;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    line-height: 2.5;
}
#contact_button{
    display: block;
    background-color: #f2546e;
    color: #fff;
    width: 41%;
    padding: 1.17vw 9%;
    text-align: center;
    margin: 40px auto 4.97vw;
}
#contact_button::before{
    content: "";
    display: block;
    border: 1px solid #FFF;
    position: absolute;
    top: 6px;
    right: 6px;
    bottom: 6px;
    left: 6px;

}

#contact_button p{
    font-size: 55px;
    font-family: "ZCOOL XiaoWei", sans-serif;
    letter-spacing: .2em;
}
#contact_button span{
    margin-top: 5px;
    font-size: 16px;
    display: block;
}

/* gotop */

#gotop{
    position: fixed;
    bottom: 5%;
    right: 2%;
    border-radius: 50%;
    border: .8px solid #1b2425;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    z-index: 5;
    width: 88px;
    height: 88px;

    opacity: 0;      /* 初期は透明に */
    pointer-events: none; /* クリックも無効 */
    transition: opacity .3s;
}
#gotop.show{
    opacity: 1;
    pointer-events: auto;
}
#gotop span{
    display: block;
    width: 10px;
    height: 10px;
    border-left: 1px solid #1b2425;
    border-top: 1px solid #1b2425;
    transform: translate(0,29%) rotate(45deg);
    transition: .3s;
}
#gotop span:hover{
    transform: translate(0,0) rotate(45deg);
}



/* ここからFOOTER */
    footer p{
        font-size: 12px;
        text-align: center;
        padding-bottom: 2.48vw;
        padding-top: 60px;
    }




/* JSフェードインふわ出しのCSS */

    /* 初期状態：透明＆少し下にずらす */
    .fadein {
        opacity: 0;
        transform: translateY(30px); /* 下に30pxずらす */
        transition: opacity 1.2s ease-out, transform 1.5s ease-out;
    }

    /* スクロールで表示 */
    .fadein.show {
        opacity: 1;
        transform: translateY(0);
    }



/* ここからWORK下層ページ ///////////////////////////////////////////////////*/
/* WORK　各詳細ページCSS */

    #work_page1 main{
        /* padding-top: 100px; */
        margin-top: 100px;
        background-image: url(../images/work_bg.jpg);
        background-repeat: no-repeat;
        background-size: cover;
    }
    #work_page1 header{
        background: rgba(255,255,255,0.3);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        height: 100px;
        position: fixed;
        left: 0;
        width: 100%;
        top: 0;
        z-index: 500;
        letter-spacing: .2rem;
    }
    #work_page1 header>div{
        display: flex;
        justify-content: space-between;
        font-family: "ZCOOL XiaoWei", sans-serif;
        height: 100px;
        align-items: center;
    }
    #work_page1 header nav{
        display: flex;
    }
    #work_page1 header nav li{
        font-size: 24px;
        margin-left: 102px;
    }
    .letter_space{
        letter-spacing: .2rem;
    }
    /* メダル */
    .medal_lp_2::before {
        content: "";
        background-image: url(../images/medal_lp@1.5x.webp);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        top: -41%;
        left: -3%;
        z-index: 5;
        width: 17%;
        height: 100%;
    
    }
    .medal_flyer_2::after {
        content: "";
        background-image: url(../images/medal_flyer@1.5x.webp);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        top: -46%;
        left: -9%;
        z-index: 5;
        width: 17%;
        height: 100%;
    }

    
    .link{
        display: block;
        width: fit-content;
        margin: 0 auto;
        border-bottom: .5px solid #1b2425;
        margin-top: 2%;
        font-size: clamp(13px,2vw,18px);
    }
    #work_area1 #h1{
        font-size: 26px;
        color: #1b2425;
        font-weight: 600;
        margin: 73px 0 35px;
    }
    #work_area1 .card_title{
        width: 75%;
        margin: 30px auto 0;
        border-bottom: .8px solid #1b2425;
    }
    #work_area1 .card_title p:nth-child(1){
        font-size: 16px;
    }
    #work_area1 .card_title h1{
        font-size: 25px;
        margin: 10px 0;
    }
    #work_area1 .card_title h1::before{
        content: "";
        display: inline-block;
        width: 4px;
        height: 25px;
        transform: translateY(3px);
        margin-right: 3px;
        background-color: #1b2425;
    }

    #work_area1 .card_title p:nth-child(3){
        font-size: 16px;
        padding-bottom: 20px;
    }
    .work_img{
        width: 80%;
        margin: 185px auto 2%;
    }
    #work_url{
        font-size: clamp(11px,2vw,16px);
        text-align: center;
    }
    /* 大きすぎる写真調整 */
    #work_area1 .burger_img{
        max-width: 50%;
    }

    #work_area1 .gift_img{
        max-width: 60%;
    }
    #work_area1.wine_img{
        max-width: 548px;
    }

    #work_area1.kids_img{
        max-width: 523px;
    }
    #work_page1 dl{
        display: grid;
        grid-template-columns: 30% 1fr;
        font-size: 14px;
        width: 75%;
        margin: 0px auto;
        letter-spacing: .1em;
        overflow: hidden;
    }
    #work_description dl dt h2{
        font-size: 15px;
        font-weight: bold;
    }
    /* ddはみ出防止テキスト折り返し */
    #work_page1 dl dd{
        word-break: break-all;
    }
    #work_page1 dl dt,#work_page1 dl dd{
        display: flex;
        align-items: center;
    }
    #work_page1 dl dt,
    #work_page1 dl dd{
        border-bottom: .8px solid #ddd;
        padding: 40px 0;
    }
    .br br{
        margin: 8px 0;
    }
    #work_description dd:last-of-type{
        letter-spacing: 0;
    }
    #work_description dd:last-of-type a{
        text-decoration: underline;
    }
    /* gotop */
    #gotop{
        position: fixed;
        bottom: 5%;
        right: 2%;
        border-radius: 50%;
        border: .8px solid #1b2425;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #FFF;
        z-index: 5;
        width: 88px;
        height: 88px;
    }
    #gotop span{
        display: block;
        width: 10px;
        height: 10px;
        border-left: 1px solid #1b2425;
        border-top: 1px solid #1b2425;
        transform: translate(0,29%) rotate(45deg);
        transition: .3s;
    }
    #gotop span:hover{
        transform: translate(0,0) rotate(45deg);
    }

    /* フッター */
    #work_page1 .footer_inner{
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
    }
    #work_page1 footer{
        background-image: url(../images/work_bg.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        padding-top: 100px;
    }
    #work_page1 nav ul{
        display: flex;
        justify-content: space-between;
    }
    #work_page1 footer nav{
        width: 60%;
    }
    #work_page1 footer nav li{
        width: 20%;
        border-bottom: .8px solid #1b2425;
        text-align: center;
    }
    #work_page1 footer nav ul a{
        color: #1b2425;
        display: block;
        padding: 10px 0;
    }

    #work_page1 footer nav li:nth-child(1) a::after{
        content: "";
        display: inline-block;
        position: absolute;
        bottom: -5%;
        border-left: .8px solid #1b2425;
        transform: rotate(45deg);
        left: 3%;
        height: 15px;
    }
    #work_page1 footer nav li:nth-child(2) a::after{
        content: "";
        display: inline-block;
        position: absolute;
        bottom: -5%;
        border-left: .8px solid #1b2425;
        transform: rotate(-45deg);
        right: 3%;
        height: 15px;
    }

    /* 最初と最後のページ　PREVボタン・NEXTボタン削除 */
    #work_page1 #prev_button a{
        display: none;
    }
    #work_page1 #prev_button{
   opacity: 0;
    }    
    #work_page1 #next_button a{
        display: none;
    }
        #topback{
        display: flex;
        justify-content: center;
        margin-top: 20px;
    }
    #topback a{
        border-bottom: .8px solid #1b2425;
        display: block;
        width: 20%;
        text-align: center;
        padding: 10px 0;
        white-space: nowrap;
    }
    /* #topback::after{
        content: "";
        display: inline-block;
        position: absolute;
        bottom: -5%;
        border-left: .8px solid #1b2425;
        transform: rotate(-45deg);
        right: 0.45%;
        height: 15px;
    } */
    #copy{
        margin-top: 50px;
        font-size:10px ;
    }




