/* 
 * Author: Shunsuke Ogihara
 * Desc  : 全ページ共通スタイルの定義 
 */

/****************************************
メタ情報
****************************************/
@charset "utf-8";


/****************************************
共通項目
****************************************/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

ul, ol, dl {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}
a:hover {
    opacity: 0.7;
    cursor: pointer;
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    font-family:　"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN", "メイリオ", sans-serif;
}



/****************************************
ヘッダー
****************************************/
header {
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    padding-top: 20px;
}
header nav ul {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    color: #fb8b6b;
    font-size: 1.8rem;
}
header nav li {
    margin-left: 30px;
    line-height: 20px;
    padding-top: 32px;
}
header nav li a {
    display: block;
    padding-top: 40px;
}
header nav li a:first-child {
    padding-left: 5px;
    padding-right: 5px;
}
header nav li a:hover {
    background-image: url(../images/nav_hover.png);
    background-repeat: no-repeat;
    background-position: center top;
    font-weight: bold;
}

/****************************************
ハンバーガーメニュー
****************************************/
.p-hamburger-wrap {
    display: none;
}
.p-spmenu-wrap {
    display: none;
    opacity: 0;
}

/****************************************
フッター
****************************************/
footer {
    margin-top: 50px;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #eeeeee;
    border-top: 2px solid #fb8b6b;
}
footer .footer_inner {
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin: auto;
}
footer .footer_shop {
    margin-left: 50px;
    margin-top: auto;
    margin-bottom: 0;
}
footer .footer_shop p {
    margin-top: 5px;
}
footer ul {
    display: flex;
    font-size: 1.1rem;
    margin: auto 0 0 15px;
}
footer ul li {
    margin-left: 15px;
}
footer ul li a:hover {
    color: #fb8b6b;
    text-decoration: underline;
}
footer .footer_copy {
    margin-left: auto;
    margin-right: 0;
    margin-top: auto;
    margin-bottom: 0;
    font-size: 1.2rem;
    line-height: 1;
}
footer .footer_copy p:first-child {
    padding-left: 25px;
}
footer .footer_copy .buta-box img {
    width: 96px;
    margin-right: 0;
    margin-left: auto;
    vertical-align: bottom;
}


/**************************************************************************************
ここからレスポンシブ
***************************************************************************************/
@media screen and (max-width:640px) {

/****************************************
iphone用のフォント指定
****************************************/
body {
    font-family: sans-serif;
}
/****************************************
ヘッダー
****************************************/
header h1 {
    width: 50%;
}
header h1 img {
    width: 100%;
}
header .pcnav {
    display: none;
}

/****************************************
ハンバーガーメニュー
****************************************/
/*　ハンバーガーボタン */
.p-hamburger-wrap {
    display : block;
    z-index : 3;
    width : 42px;
    height: 42px;
    position: fixed;
    top   : 30px;
    right : 30px;
    cursor: pointer;
    text-align: center;
}
.p-hamburger-bar {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 4px ;
    left    : 6px;
    background-color : #fb8b6b;
}
.p-hamburger-bar_first {
    top: 15px;
}
.p-hamburger-bar_second {
    top: 25px;
}
.p-hamburger-bar_third {
    top: 35px;
}

/* ナビ開いてる時のボタン */
.is-active .p-hamburger-bar {
    background-color : #ffffff;
    transition: all 0.1s linear 0s;
}
.is-active .p-hamburger-bar_first {
    -webkit-transform : rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform: rotate(45deg);
    transform-origin: left;
    top: 14px;
    transition: all 0.1s linear 0s;
}
.is-active .p-hamburger-bar_second {
    opacity: 0;
    transition: all 0.1s linear 0s;
}
.is-active .p-hamburger-bar_third {
    -webkit-transform : rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform: rotate(-45deg);
    transform-origin: left;
    transition: all 0.1s linear 0s;
}
/* ×の周りの円 */
.is-active .p-hamburger-bar_first::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    content: '';
    width: 52px;
    height: 52px;
    margin: -29px 0 0 -29px;
    border-radius: 50%;
    border: 3px solid #ffffff;
    transition: all .5s;
}
/* メニューの中身 */
.is-active.p-spmenu-wrap {
    display: block;
    position: fixed;
    z-index : 2;
    top  : 0;
    right : 0;
    color: #ffffff;
    font-weight: bold;
    background: rgba(251,139,107,0.7);
    text-align: center;
    width: 80%;
    animation: spmenu 0.2s linear 0s;
    opacity: 1;
}
@keyframes spmenu {
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
.is-active.p-spmenu-wrap .p-spmenu-item {
    border-bottom: solid 2px #ffffff;
}
.is-active.p-spmenu-wrap .p-spmenu-item:last-of-type {
    border-bottom: none;
}
.is-active.p-spmenu-wrap .p-spmenu-link {
    display: block;
    width: 100%;
    padding: 15px 0;
} 
.is-active.p-spmenu-wrap .p-spmenu-link_first {
    padding-top: 80px;
} 

/****************************************
フッター
****************************************/
footer {
    padding-bottom: 10px;
}
footer .footer_inner {
    display: block;
}
footer .footer_inner > p {
    width: 70%;
    margin: 0 auto 0;
}
footer .footer_inner > p img {
    width: 100%;
}
footer .footer_shop {
    margin: 10px auto 10px;
    text-align: center;
}
footer ul {
    display: none;
}
footer .footer_copy {
    margin: 10px auto 10px;
    text-align: center;
}
footer .footer_copy p:first-child {
    padding-left: 0;
}
}