*{
    margin: 0;
    padding: 0;
}

html{
    scroll-behavior: smooth;
}

img{
    vertical-align: bottom;
}

body{
    background-color: #d7ac39;
    font-size: 10px;
    color: #282728;
    font-family: "YuGothic bold";
    overflow-x: hidden;
}

a:link{
    color: #f4efe6;
    text-decoration: none;
}

a:visited{
    color: #f4efe6;
}

a:hover{
    color: #d7ac39;
    transition: .3s;
}

p{
    cursor: default;
}

/* メイン */
#main{
    position: relative;
    background-color: #f4efe6;
    border: solid 2px #282728;
    margin: 20px 20px 60px;
}

#main .katsuo{
    text-align: center;
}

h1{
    position: absolute;
    top: 40px;
    right: 10%;
}

.pickup{
    position: absolute;
    bottom: 10%;
    left: 10%;
    background-color: #d0c9bc;
    background-image: url(../img/arrow01.png);
    background-repeat: no-repeat;
    background-position: right 10px bottom 20px;
    padding: 20px 20px 70px 25px;
}

.pickup:hover{
    background-image: url(../img/arrow_hover.png);
    transition: .4s;
}

.pickup::before{
    position: absolute;
    top: -10px;
    right: -10px;
    width: 99%;
    height: 98%;
    border: 2px solid #282728;
    content: '';
}

.pickup:hover::before{
    position: absolute;
    top: 0px;
    right: 0px;
    width: 99%;
    height: 98%;
    border: 2px solid #282728;
    content: '';
    transition-property: top,right;
    transition-duration: 0.4s;
    transition-timing-function: ease;
}

.pickup h3{
    font-size: 2em;
    padding-bottom: 22px;
}

.pickup .day{
    font-size: 1.2em;
    color: #d7ac39;
}

.pickup .text{
    font-size: 1.4em;
}

/*フレックス*/
.flex{
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

/*  ニュース */
#news{
    position: relative;
    width: 540px;
}

#news h2{
    display: inline;
    position: relative;
    left: 15px;
    font-size: 2em;
    border: 2px solid #282728;
    background-color: #f4efe6;
    padding: 13px 44px;
}

#news .wrap{
    background-color: #f4efe6;
    border: solid 2px #282728;
    padding: 30px 20px 70px;
    width: 500px;
}

#news .box{
    display: flex;
    align-items: center;
    background-color: #f4efe6;
    border: solid 2px #282728;
    margin-bottom: 20px;
}

#news .day{
    text-align: center;
    width: 60px;
    border-right: solid 2px #282728;
    padding: 20px 38px 20px;
}

.year{
    font-size: 1.4em;
    border-bottom: solid 2px #282728;
}

.month{
    font-size: 3em;
    line-height: 1em;
    padding-top: 4px;
}

#news .text{
    font-size: 1.6em;
    padding-left: 20px;
}

#news .wrap .btn{
    position: absolute;
    bottom: 20px;
    right: 27px;
    font-size: 1.6em;
    text-align: center;
    background-color: #d0c9bc;
    padding: 10px 22px 10px;
}

#news .wrap .btn::before{
    position: absolute;
    top: -9px;
    right: -7px;
    width: 97%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
}

#news .wrap .btn:hover::before{
    position: absolute;
    top: 0px;
    right: 0px;
    width: 97%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
    transition-property: top,right;
    transition-duration: 0.4s;
    transition-timing-function: ease;
}

/* イベント */
#event{
    position: relative;
    width: 540px;
}

#event h2{
    display: inline;
    position: relative;
    left: 15px;
    font-size: 2em;
    border: 2px solid #282728;
    background-color: #f4efe6;
    padding: 13px 44px;
}

#event .wrap{
    background-color: #f4efe6;
    border: solid 2px #282728;
    padding: 30px 20px 70px;
    width: 500px;
}

#event .box{
    display: flex;
    align-items: center;
    background-color: #f4efe6;
    border: solid 2px #282728;
    margin-bottom: 20px;
}

#event .day{
    text-align: center;
    width: 60px;
    border-right: solid 2px #282728;
    padding: 20px 38px 20px;
}

.year{
    font-size: 1.4em;
    border-bottom: solid 2px #282728;
}

.month{
    font-size: 3em;
    line-height: 1em;
    padding-top: 4px;
}

#event .text{
    font-size: 1.6em;
    padding-left: 20px;
}

#event .wrap .btn{
    position: absolute;
    bottom: 20px;
    right: 27px;
    font-size: 1.6em;
    text-align: center;
    background-color: #d0c9bc;
    padding: 10px 22px 10px;
}

#event .wrap .btn::before{
    position: absolute;
    top: -9px;
    right: -7px;
    width: 97%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
}

#event .wrap .btn:hover::before{
    position: absolute;
    top: 0px;
    right: 0px;
    width: 97%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
    transition-property: top,right;
    transition-duration: 0.4s;
    transition-timing-function: ease;
}

/* プロフィール */
#profile{
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-top: 140px;
}

#profile .content{
    background-image: url(../img/index.png);
    background-repeat: no-repeat;
    padding: 50px 68px 52px 100px;
    margin-top: 60px;
}

#profile .title{
    font-size: 2.4em;
    padding-bottom: 54px;
}

#profile .text{
    font-size: 1.8em;
    line-height: 36px;
}

#profile .back{
    position: absolute;
    z-index: -1;
    top: 1120px;
}

#profile .back img{
    width: 100vw;
}

/* グッズ */
#goods{
    position: relative;
    margin: 200px 0px;
}

#goods h2{
    font-size: 2em;
    display: inline;
    margin-left: 14%;
}

#goods .goods{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

#goods .box{
    transition-duration: 0.5s;
}

#goods .box:hover{
    transform: scale(1.2,1.2);
    cursor: pointer;
}

#goods .box01{
    position: relative;
    top: 70px;
}

#goods .box02{
    position: relative;
    left: -20px;
}

#goods .box03{
    position: relative;
    top: 70px;
    left: -40px;
}

#goods .box04{
    position: relative;
    left: -60px;
}

#goods .btn{
    position: absolute;
    color: #282728;
    bottom: -120px;
    right: 14%;
    font-size: 1.6em;
    text-align: center;
    background-color: #d0c9bc;
    padding: 10px 22px 10px;
}

#goods .btn::before{
    position: absolute;
    top: -9px;
    right: -7px;
    width: 98%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
}

#goods .btn:hover::before{
    position: absolute;
    top: 0px;
    right: 0px;
    width: 98%;
    height: 95%;
    border: 2px solid #282728;
    content: '';
    transition-property: top,right;
    transition-duration: 0.4s;
    transition-timing-function: ease;
}

/* フッター */
#footer{
    position: relative;
    background-color: #1f2c5c;
    display: flex;
    gap: 148px;
    justify-content: center;
    padding: 85px 0 60px;
}

#footer .index_ft{
    display: flex;
    color: #f4efe6;
    gap: 50px;
    font-size: 1.8em;
    margin-bottom: 81px;
}

#footer .box1{
    display: flex;
    width: 570px;
    justify-content: space-between;
}

#footer .icon_ft{
    display: flex;
    position: relative;
    gap: 24px;
    align-items: center;
}

#footer .icon_ft .box{
    overflow: hidden;
    position: relative;
}

#footer .icon_ft .box img:nth-child(2){
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
}

#footer .icon_ft .box:hover img:nth-child(1){
    opacity: 0;
    transition: opacity .3s;
}

#footer .icon_ft .boxa:hover{
    background-image: url(../img/cart_hover_ft.png);
    background-repeat: no-repeat;
}

#footer .icon_ft .boxb:hover{
    background-image: url(../img/Twitter_hover_ft.png);
    background-repeat: no-repeat;
}

#footer .icon_ft .boxc:hover{
    background-image: url(../img/facebook_hover_ft.png);
    background-repeat: no-repeat;
}

#footer .copy{
    color: #d0c9bc;
    padding-top: 20px;
}

#footer .address{
    text-align: right;
    color: #f4efe6;
    font-size: 1.6em;
}

/* メニュー */
.menu{
    display: flex;
    position: relative;
    top: 0px;
    right: 35px;
    position: fixed;
    width: 400px;
    height: 680px;
    z-index: 99;
    background-image: url(../img/menu_in.png);
    background-repeat: no-repeat;
    background-position: top 0px, right 20px;

    animation-name: move;
    animation-duration: 1s;
    animation-timing-function: ease;
    animation-iteration-count: 1;
    animation-direction: normal;
}

@keyframes move{
    0% {
        transform: translateY(-680px);
    }
    100% {
        transform: translateX(0px);
    }
}

/* sns */
.menu .icon{
    position: relative;
    top: 430px;
    left: 40px;
}

.menu .icon div{
    padding-bottom: 10px;
}

.menu .icon .box{
    overflow: hidden;
    position: relative;
}

.menu .icon .box img:nth-child(2){
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(-50%, -50%);
}

.menu .icon .box:hover img:nth-child(1){
    opacity: 0;
    transition: opacity .3s;
}

.menu .icon .box1:hover{
    background-image: url(../img/cart_hover.png);
    background-repeat: no-repeat;
}

.menu .icon .box2:hover{
    background-image: url(../img/twitter_hover.png);
    background-repeat: no-repeat;
}

.menu .icon .box3:hover{
    background-image: url(../img/facebook_hover.png);
    background-repeat: no-repeat;
}

/* menu */

.menu .table{
    position: relative;
    top: -60px;
    left: 160px;
}

.menu .table div{
    margin-top: 40px;
}

.menu .table .box_in img{
    overflow: hidden;
    position: relative;
}

.menu .table .box_in img:nth-child(2){
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.menu .table .box_in:hover img:nth-child(1){
    opacity: 0;
    transition: opacity .3s;
}

.menu .table .box_a:hover{
    background-image: url(../img/TOP_hover.png);
    background-repeat: no-repeat;
}

.menu .table .box_b:hover{
    background-image: url(../img/News_hover.png);
    background-repeat: no-repeat;
}

.menu .table .box_c:hover{
    background-image: url(../img/Event_hover.png);
    background-repeat: no-repeat;
}

.menu .table .box_d:hover{
    background-image: url(../img/Profile_hover.png);
    background-repeat: no-repeat;
}

.menu .table .box_e:hover{
    background-image: url(../img/Goods_hover.png);
    background-repeat: no-repeat;
}

.menu .table .box_f:hover{
    background-image: url(../img/Contact_hover.png);
    background-repeat: no-repeat;
}


/* ハンバーガーメニュー */
.menu_btn {
    position: fixed;
    top: 30px;
    right: 50px;
    width: 40px;
    height: 41px;
    z-index: 100;
}

.menu_btn::before,
.menu_btn::after {
    content: "";
}

.menu_btn span,
.menu_btn::before,
.menu_btn::after {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #282728;
}

.menu_btn::before { top: 10px; transition: transform .5s; }
.menu_btn span    { top: 20px; }
.menu_btn::after  { bottom: 10px; transition: transform .5s; }

/* 開いた状態 */
.menu_btn.open span { opacity: 0; }
.menu_btn.open::before {
    transform: rotate(45deg) translate(7px, 7px);
}
.menu_btn.open::after {
    transform: rotate(-45deg) translate(7px, -7px);
}

.menu { display: none; /* 隠しておく */ }
.menu.open {
    display: block; /* openクラスがつくと表示 */
}