@charset "utf-8";

/*
Theme Name:Felica Donut&Salad
Description:静的データをWordPress化する
Author:kotonen810
*/


/* 変数の登録 */

:root{
    --base_color:#fffadf;
    --text_color:#333 ;
    --font_en: "Oswald", sans-serif;
    --font_ja:"Hina Mincho", serif;
    --color_1:#740d36;
    --color_2:#a18151 ;
    --color_3:#0d7450;
}


html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0;box-sizing:border-box;}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search][type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted}[type=reset],[type=submit],button,html [type=button]button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]img{border-style:none;vertical-align: bottom}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none;}a{text-decoration:none;}img{max-width: 100%;vertical-align: bottom;}

html{scroll-behavior: smooth;
@media (width <= 767px){
scroll-behavior: auto;
}}

body{
    background-color: var(--base_color);
    color: var(--text_color);
    font-family: sans-serif;
}


/* ヘッダー部分 */
header{
width: fit-content;
font-family: var(--font_en);
position: fixed;
left: 0;
top: 0;
background-color: var(--base_color);
z-index: 10;
padding: 60px 20px;
  >h1{
     font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
     margin-bottom: 80px;
      >a{
        color: var(--text_color);
        >span{
            display: block;
            font-size: 0.8em;
}
        }
    }
/* 1140px以下のスタイル */
@media (width <= 1140px){
width: 100%;
height: auto;
padding: 20px;
z-index: calc(infinity - 1);
box-shadow: 0 4px 4px #c8c8c8;
>h1{
    margin-bottom: 0;
    >a{
        >span{
        display: inline-block;
        margin-left: 0.4em;
            }
        }
    }
#pc-nav{
display: none;
}
}

}

/* pc用ナビゲーション */
#pc-nav{
        li{
            margin-bottom: 10px;
            >a{color: var(--text_color);
                display: block;
                padding: 10px 0;
            &:hover{text-decoration: underline;
                    text-underline-offset: 3px;
                    color: #666;}
}
            &:nth-of-type(n+6){width: 30px;
                                margin-bottom: 0;}
}

}

/* sp用ナビゲーション */

#sp-nav{
    display: none;

@media (width <= 1140px){
/* display: block; */
position: fixed;
top: 80px;
left: 0;
z-index: calc(infinity - 2);
background-color: var(--color_2);
width: 100%;
height: calc(100vh - 80px);
padding: 40px;
li{
    margin-bottom: 20px;

   >a{
    color: #fff;
    font-weight: bold;
    display: block;
    padding: 10px;
    font-size: 18px;
    border-bottom: 1px solid var(--text_color);

        }
&:nth-of-type(n+6){
width: 50px;
margin-bottom: 0;
>a{
border-bottom: none;
}
}    
}

}
}


/* ハンバーガー部分 */
#ham-btn {
display: none;
}

@media (width <= 1140px){

#ham-btn {
  width: 50px;
  height: 50px;
  border: 6px solid transparent;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.2s;
  position: fixed;
  right: 20px;
  top: 20px;
  z-index: calc(infinity);
}
#ham-btn span {
  display: block;
  width: 30px;
  height: 3px;
  background-color: #222;
  position: relative;
  transition: 0.2s;
}
#ham-btn span::before {
  display: block;
  content: "";
  width: 30px;
  height: 3px;
  background-color: #222;
  position: absolute;
  top: -10px;
  transition: 0.2s;
}
#ham-btn span::after {
  display: block;
  content: "";
  width: 30px;
  height: 3px;
  background-color: #222;
  position: absolute;
  top: 10px;
  transition: 0.2s;
}

#ham-btn.click {
  border: 4px solid #222;
}
#ham-btn.click span {
  background-color: transparent;
}
#ham-btn.click span::before {
  top: 0;
  transform: rotate(45deg);
}
#ham-btn.click span::after {
  top: 0;
  transform: rotate(-225deg);
}

}

/* メインビジュアル */
.main-visual{
    padding: 30px 30px 30px 60px;
    width: 100%;
    height:100vh;
    

    li{
    width: 100%;
    height: calc(100vh - 60px);
    >img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    }
        }

/* 1140px以下のスタイル */
@media (width <= 1140px){
padding: 60px 30px 30px;
li{
height: calc(100vh - 140px);
}
}
}

/* 共通部分のスタイル */
.page-section{
    min-height: 100vh;
    padding: 100px 20px 100px 20%;
    >h2{
    font-family: var(--font_ja);
    text-align: center;
    font-size: clamp(1.5rem, 1.313rem + 0.75vw, 1.875rem);
    color: var(--color_1);
    text-indent: -20%;
    margin-bottom: 60px;

    &::after{
            content: attr(data-en);
            display: block;
            font-family: var(--font_en);
            font-size: 0.7em;
            color: var(--color_2);
            }

    }

/* 1140px以下のスタイル */
@media (width <= 1140px){
padding: 100px 20px;
>h2{
text-indent: 0;
    }
}
}


/* おしらせ部分 */
#news-list{
    font-size: 18px;
    font-family: var(--font_ja);
    font-size: 18px;
    >dt{
        font-weight: bold;
        margin-bottom: 10px;
        }
    >dd{margin-bottom: 50px;
        >a{
        color: var(--text_color);
        &:hover{
            text-decoration: underline;
        }


}}
}

/* about部分 */
.about-text{
max-width: 600px;
margin-left: 15%;
text-align: center;
font-family: var(--font_ja);
@media (width <= 1140px){
margin-left: 0;}
>h3{
font-size: 28px;
line-height: 2.4;
margin-bottom: 50px;
opacity: 0;
transition: .4s;
translate: 0 30px;
}
.lead{
font-size: clamp(1rem, 0.875rem + 0.5vw, 1.25rem);
line-height: 2.4;
opacity: 0;
transition: .5s .4s;
translate: 0 30px;
@media (width <= 767px){
text-align: left;
.pc-on{
display: none;
}
}
}

&.scroll{
 >h3{
    opacity: 1;
    translate: 0 0 ;
}
.lead{
    opacity: 1;
    translate: 0 0 ;
}
}

/* 1140px以下のスタイル */
@media (width <= 1140px){
margin: 0 auto;
}
}






/* 商品について部分 */
.item-wrapper{
width: 80%;
display: flex;
justify-content: center;
gap: 0 40px;
margin-top: 150px;

    >.item-box:first-of-type{
    margin-top: -50px;
    }

    >.item-box:last-of-type{
    margin-top: 50px;
    }

/* 1140以下のスタイル */
@media (width <= 1140px){
width: 100%;
}
/* 767以下のスタイル */
@media (width <= 767px){
flex-direction: column;
gap: 40px 0;

margin-top: 0;

.item-box:first-of-type {
margin-top: 0;
}
.item-box:last-of-type {
margin-top: 0;
}

}

}


.item-box{
overflow: hidden;
width: 100%;
height: 100%;
aspect-ratio: 4/3;
border-radius: 20px;
}

.item-box img{
object-fit: cover;
width: 100%;
height: 100%;
transition: .3s;
}

.item-box:hover img{
transform: scale(1.1);
}

/* 店舗情報部分 */
.g-map{
width: 100%;
aspect-ratio: 2/0.75;
margin-bottom: 50px;
>iframe{
width: 100%;
height: 100%;
}
}

.access-info{
display: flex;
 >dl{
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    align-items: baseline;
    
    >dt{width: 30%;
        font-weight: bold;}
    >dd{width: 70%;}
    a{
    color: var(--text_color);
}
}
/* 767px以下のスタイル */
@media (width <= 767px) {
flex-direction: column;
gap: 50px 0;
>dl{
width: 100%;
}
}


}
/* 電話番号 */
.tel{
font-size: 22px;
    pointer-events: none;
@media (width <= 767px){
pointer-events: auto;
}
}

/* パララックス部分 */
.parallax{
width: 100%;
height: 70vh;
background: url(img/parallax.webp) no-repeat center center/cover;
background-attachment: fixed; /* iosは別途対応が必要 */

@media (width <= 960px){
background-attachment: scroll;
height: 50vh;
}

}

/* ブログ部分 */
#blog{
width: 100%;
padding: 100px 20px 160px;
position: relative;
z-index: 20;
background-color: var(--base_color);
>h2{text-indent: 0;}
}

.blog-wrapper{
width: 90%;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
gap: 40px;

}

.blog-box{
display: grid;
grid-template-rows: subgrid;
grid-row: span 4; /* 揃えたい行数 */
row-gap: 10px;
}

.blog-text{
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4; /* 指定した行数以上は省略される */
>a{color: var(--text_color);
    &:hover{text-decoration: underline;}

}
}

.blog-date{
text-align: right;
}

.blog-img{
width: 100%;
aspect-ratio: 16/9;
>img{
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;

}

}


/* トップに戻るボタン */
.to-top-btn{
display: block;
width: 50px;
position: absolute;
bottom: 40px;
right: 50px;
}



/* 多店舗へのリンク */
.link-wrapper{
display: grid;
grid-template-columns: repeat(auto-fit,minmax(120px,1fr));
gap: 1px;
position: relative;
z-index: 20;
>a{
display: block;
aspect-ratio: 4/3;
background: url(img/shop-1.webp) no-repeat center center/cover;

&:nth-of-type(2){background: url(img/shop-2.webp) no-repeat center center/cover;}
&:nth-of-type(3){background: url(img/shop-3.webp) no-repeat center center/cover;}
&:nth-of-type(4){background: url(img/shop-4.webp) no-repeat center center/cover;}
&:nth-of-type(5){background: url(img/shop-5.webp) no-repeat center center/cover;}
&:nth-of-type(6){background: url(img/shop-6.webp) no-repeat center center/cover;}
>span{
display: block;
color: #ffffff;
font-size: 26px;
font-weight: bold;
text-align: center;
background-color:#00000077;
height: 100%;
padding-top: 30%;
transition: .2s;
&:hover{background-color: #00000022;}
}
}
}

footer{
background-color: var(--text_color);
color: #fff;
text-align: center;
padding: 40px 10px;
position: relative;
z-index: 20;
border-top: 1px solid var(--base_color);
font-size: 18px;
.footer-logo{
font-family: var(--font_en);
font-size: 20px;
font-weight: bold;
}
}

/* CTAボタン */
.to-form{
position: fixed;
top: 50%;
right: 0;
translate: 0 -50%;
background-color: var(--color_3);
color: #fff;
font-weight: bold;
z-index: 30;
writing-mode: vertical-rl;
padding: 10px;
letter-spacing: 0.2em;
}

/* 入力ページのスタイル */
.form-list{
max-width: 760px;
border: 1px solid var(--text_color);
display: flex;
flex-wrap: wrap;

>dt{

width: 30%;
padding: 30px 20px;
border-right: 1px solid var(--text_color);
&:nth-of-type(n+2){border-top: 1px solid var(--text_color);}
}

>dd{
width: 70%;
background-color: #fff;
padding:30px 20px;
&:nth-of-type(n+2){
border-top: 1px solid var(--text_color);}
}
}

/* 属性を指定する */
[type="text"],[type="email"]{
border: 1px solid var(--text_color);
padding: 4px;
width: 70%;
@media (width <= 767px){
width: 85%;
}
}

[type="radio"]{
scale: 1.2;
margin-right: 14px;
accent-color: var(--text_color);
}

label{
display: block;
margin-bottom: 10px;
}

textarea{
width: 100%;
height: 160px;
border: 1px solid var(--text_color);
padding: 4px;
}

[type="submit"]{
display: block;
width: 240px;
padding:18px 0;
text-align: center;
border: 4px solid #034969;
color: #034969;
margin: 50px 0 50px 30%;
border-radius: 200px;
font-weight: bold;
transition: 0.2s;
&:hover{
background-color: #034969;
color: #fff;

}
@media (width <= 767px){
margin: 50px auto ;
}
}


#thanks{
max-width: 800px;
margin: 0 auto;
margin-left: 15%;
line-height: 1.8;

>p{margin-bottom: 0px;}
@media (width <= 767px){

margin: 0 auto;
text-align: left;
}

}



.to-top-link{
display: block;
text-align: center;
margin-left: -15%;
padding: 20px;
color: var(--color_1);
@media (width <= 767px){
margin: 0 auto;
}
}

/* 作業時だけ非表示 */
#wpadminbar{
/* display: none; */
}

/* 個別記事ページ */

.single-post .page-section{
padding: 100px 22%;
>h2{
text-indent: 0;
}
.post-box{
line-height: 1.8;
}
/* 767px以下のスタイル */
@media (width <= 767px) {
padding: 50px 20px;}
}
