@charset "utf-8";

@font-face {
  font-family: "Fleur De Leah";
  src: url('font/FleurDeLeah-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

/*============================================*/
/* 基本設定 */
/*============================================*/
body * {
    box-sizing : border-box;
    margin:0; 
    padding:0;
    font-family: 'Meiryo UI',YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}

.mamapan article{
    background:url(img/background_w.gif);
    background-color: #9b7d38;
    background-blend-mode:hard-light;
    z-index: -1;
}

.wrapper{
    width:1200px;
    background-color: rgba(255, 255, 255, 0.7);
    margin:0 auto;
    padding:0;
    font-size:1rem;
    font-weight:400;
    color:#5a4e47;
    line-height:2rem;
    position:relative;
    text-align: center; 
    z-index:10;
}

.background-frame {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity:0.7;          
}

.l-footer, .c-footer-recommend, .c-header-tertiary, .c-breadcrumbs{
    position: relative;
    z-index: 10;
    background-color:#fff;
}

@media (max-width: 767px){
    .wrapper{
        width:100%;
        left:0;
        background-color: rgba(255, 255, 255, 0);
    }

    .mamapan article {
        background-size:70%;
    }

    .background-frame{
        display:none;
    }
}


/*======================================
---------------レイアウト---------------
======================================*/

.mamapan ul{
    list-style: none;
}

/*10pxアキのグリッドレイアウトにする*/
.grd_gp10 {
    display: grid;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    grid-template-columns: repeat(auto-fit);
}
/*20pxアキのグリッドレイアウトにする*/
.grd_gp20 {
    display: grid;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: repeat(auto-fit);
}
.subgrd{
    display: grid;
    grid-template-rows: subgrid;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-row: span 8;
}
/*均等2分割*/
.grd_col_2fr{
    grid-template-columns: 1fr 1fr;  
}
.grd_col_2fr_r{
    grid-template-columns: 1fr 1fr;  
    grid-template-areas:
    "areaA areaB";
}
/*均等3分割*/
.grd_col_3fr{
    grid-template-columns: repeat(3, 1fr); 
}
/*均等4分割*/
.grd_col_4fr{
    grid-template-columns: repeat(4, 1fr);  
}

/*3:2の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/

.grd_col_2_4 {
    grid-template-columns: 2fr 4fr;
}
.grd_col_3_2 {
    grid-template-columns: 3fr 2fr;
}
.grd_col_6_1_1 {
    grid-template-columns: 6fr 1fr 1fr;
}

.grd_col_6_2 {
    grid-template-columns: 6fr 2fr;
}
.grd_col_5_3_r {
    grid-template-columns: 5fr 3fr;
    grid-template-areas:
    "areaA areaB";
}
/*2:3の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/
.grd_col_2_3 {
    grid-template-columns: 2fr 3fr;
}
.grd_col_2_4 {
    grid-template-columns: 2fr 4fr;
}
/*3:2の2分割レイアウト（スマホ表示にしたとき、右の要素を上に表示）※直下のdivにgrd_itm1,grd_itm2などでエリア指定を行う*/
.grd_col_3_2_r {
    grid-template-columns: 3fr 2fr;
    grid-template-areas:
    "areaA areaB";
}
/*2:3の2分割レイアウト（スマホ表示にしたとき、右の要素を上に表示）※直下のdivにgrd_itm1,grd_itm2などでエリア指定を行う*/
.grd_col_2_3_r {
    grid-template-columns: 2fr 3fr;
    grid-template-areas:
    "areaA areaB";
}
.grd_itm1{
    grid-area:areaA;
}
.grd_itm2{
    grid-area:areaB;
}


@media (max-width: 767px){
    /*スマホ表示の際、分割せず縦並び*/
    .grd_sp1fr{
        grid-template-columns: 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }
    /*スマホ表示の際、均等2分割横並び*/
    .grd_sp2fr{
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }
    .grd_sp3fr{
        grid-template-columns: 1fr 1fr 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }

    /*スマホ表示の際、右の要素を上に表示*/
    .grd_col_3_2_r, .grd_col_2_3_r, .grd_col_2fr_r, .grd_col_5_3_r {
    grid-template-areas:
    "areaB"
    "areaA";
    }
    .grd_gp20 {
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }
}

/*==================導入====================*/

section#main_headline{
    margin:0 0 50px 0;
}

section#main_headline h1{
    display:none;
}

h2#page_sbttl{
    font-size: clamp(1.7rem, 1.591rem + 0.55vw, 2rem); 
    line-height: 3.4rem;   
    margin:50px auto 30px auto;
    letter-spacing:0.1cap ;
}

h2#page_sbttl span{
    display:block;
    font-family: "Fleur De Leah";
    font-size: clamp(2.6rem, 2.455rem + 0.73vw, 3rem);
    color:#b89748;
    letter-spacing:normal ;
}

p.lead{
    font-size: clamp(1rem, 0.927rem + 0.36vw, 1.2rem);
    letter-spacing:0.1cap ;
}

@media (max-width: 767px){

    section#main_headline{
        background-color: rgba(255,255,255,0.7);
        margin-bottom:300px;
    }
    h2#page_sbttl,p.lead{
        padding:0 10px;
    }
    
}

/*==================ページ内リンク====================*/

nav.nvlnk{
    margin:30px auto 80px auto;
    padding:0 15px;
}

summary {
    display:inline-block;
    font-family: "Fleur De Leah";
    color:#b89748;
    font-size: clamp(1.9rem, 1.864rem + 0.18vw, 2rem); 
    margin-bottom:20px;
}

summary span{
    color:#b02a2a;
    font-size: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);  
    display: block;  
}

summary:hover{
    cursor: pointer;
}

details{
    display:block;
    margin-bottom:1rem;
    position:relative;
}

summary::marker {
    content: "";
}

summary::-webkit-details-marker {
    display: none;
}

details.menu .menu_content {
        -webkit-animation: fadeIn 0.5s ease;
                animation: fadeIn 0.5s ease;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0; 
        transform: translateY(-10px); 
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0; 
        transform: translateY(-10px); 
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

details[open] summary{
    opacity:0.6;
}

details li{
    display:inline-block;
    margin:0 0.7rem 0.7rem 0;
}

details li:nth-child(6){
    margin-right:0;
}

details li a{
    position: relative;
    display: block;
    width: 100%;
    height: 60px;
    text-align: center;
    overflow-wrap: anywhere;
    background: linear-gradient(135deg, #6c3094, #cc2020, #eca441);
    border-radius: 30px;
    padding:2px;
}

details li a:before{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(135deg, #6c3094, #cc2020, #eca441);
    border-radius: 30px; 
    opacity: 0;
    -webkit-filter: blur(8px);
            filter: blur(8px);
}

details li a span{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #b02a2a;
    font-size: clamp(1rem, 0.964rem + 0.18vw, 1.1rem); 
    font-weight:600;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 30px;
    padding:0 1.5rem;
}

@media (any-hover: hover) {
    details li a:hover{
        text-decoration: none;
    }
    
    details li a::before {
        transition: opacity 0.2s;
    }

    details li a:hover::before {
        opacity: 1;
    }
}

@media (max-width: 767px){

    details{
        margin:0 auto 30px auto;
    }
    details li{
        display:block;
        margin-bottom:0.7rem;
    }
}

/*==================コンテンツ====================*/

section.xmas_recipe{
    background-color: rgb(237, 229, 209);
    padding:0 0 80px 0;
}

.mamapan h3{
    font-family: "Fleur De Leah";
    color:#9b7d38;
    text-shadow: 1px 1px 0px #fff;
    font-size: clamp(2.4rem, 2.182rem + 1.09vw, 3rem);
    line-height:2.8rem;
    background-image: url('img/recipe_ttl.webp');
    background-size: contain;
    background-position:bottom;
    background-repeat: no-repeat;
    background-position: center;
    padding:100px 0 70px 0;
    margin-bottom:50px;
}

.mamapan h3 span{
    color:#b02a2a;
    font-size: clamp(1rem, 0.891rem + 0.55vw, 1.3rem);  
    display: block;  
}

.info{
    font-size: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);
    text-align: left;
    line-height:1.5rem;
    letter-spacing: 0.1cap;
}

section.xmas_item{
    background-color: rgb(237, 211, 209);
    padding:0 0 30px 0;
}

section.feature {
    background-color: #fff;
    padding: 50px 0;
}

div.social_1{
    background: linear-gradient(0deg, rgb(243, 243, 243), rgb(255, 255, 255));
    /* background-color: rgb(243, 243, 243);; */
    height:50px
}

section.social_2{
    background-color: rgb(243, 243, 243);
    padding:50px 0;
}

h4.hddng {          
    margin-bottom:20px;
    position:relative;
}

h4.hddng:before{
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    width: 100%;
    height: 1px;
    background: #b89748;
    left:0;
}

h4.hddng span{
    position: relative;
    font-family: "Fleur De Leah";
    font-size: clamp(1.7rem, 1.591rem + 0.55vw, 2rem);     
    display:inline-block;
    padding: 0 1em;
    line-height:2.2rem
}

.xmas_recipe h4.hddng span{
    background: rgb(237, 229, 209);
}

.xmas_item h4.hddng span{
    background: rgb(237, 211, 209);
}

.feature h4.hddng span{
    background:#fff ;
}

@media (max-width: 767px){
    .mamapan h3{
        background-size: 120%;
        padding:80px 0 50px 0; 
        margin-bottom:20px; 
    }
}

@media (max-width: 919px){

    section.xmas_recipe,section.xmas_item{
        margin-bottom:200px;
    }

}


/*==================ボタン====================*/

a.btns {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    position: relative;
    box-sizing: border-box;
    padding: 0 25px 0 40px;
    color: #fff;
    font-size: clamp(1rem, 0.964rem + 0.18vw, 1.1rem); 
    letter-spacing: 0.1rem;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    transition-duration: 0.3s;
    margin-bottom:10px;
}
a.btns:before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 25px;
    margin-top: -6px;
}

a.btns:hover {
    background: #fff;
}
a.btn_c01{
    background: #b02a2a;
    border: 1px solid #b02a2a;
} 
a.btn_c01:hover{
    color: #b02a2a;
    border: 1px solid #b02a2a;
}
a.btn_c01:hover:before{
    border-top: 2px solid #b02a2a;
    border-right: 2px solid #b02a2a;
}

/*==================新着レシピ====================*/

.coming_soon{
    width:100%;
    height:300px;
    background-color: #b02a2a;
    display:table;
    border-radius: 10px;
}

.coming_soon p{
    color:#fff;
    font-family: "Fleur De Leah";
    font-size: clamp(2.4rem, 2.182rem + 1.09vw, 3rem);
    line-height:2rem;
    display:table-cell;
    vertical-align: middle;
}

.coming_soon p span{
    display:block;
    font-family: "Fleur De Leah";
    font-size: clamp(1rem, 0.891rem + 0.55vw, 1.3rem); 
}

@media (max-width: 767px){
    .coming_soon{
        width:94%;
        margin:0 auto;
    }
}

/*==================レシピ====================*/

.card{
    background-color:#fff;
    padding:15px;
    box-shadow:2px 2px 4px #b4b4b4;
}
.card img{
    border-radius: 10px;
}

.card h5{
    font-size: clamp(1rem, 0.964rem + 0.18vw, 1.1rem);
    margin-bottom:10px;
    font-weight:600;
}
.card h5 span{
    font-size: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);
    font-weight: 500;
}
.mamapan a:hover{
    text-decoration: none;
    opacity: 0.7;
}

@media (max-width: 767px){
    .card{
        padding:10px;
    }
}

/* 動画タイトル */
h5.vd_ttl{
    background-color: #b02a2a;
    font-size: clamp(1.1rem, 1.027rem + 0.36vw, 1.3rem);
    font-weight: bold;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 10px;
    padding: 5px 20px;
}

/* ワンポイントアドバイス */
.onepoint{
    position: relative;
    border: solid 1px #2a3263;
    padding: 15px 20px;
    margin-top: 20px;
    background-color: #fff;
}

.onepoint h5{
    position: absolute;
    top: -15px;
    left: 10px;
    margin: 0px;
    background-color: #2a3263;
    padding: 5px 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);
    font-weight: normal;
    color: #fff;
}

.onepoint p{
    font-size: clamp(0.9rem, 0.864rem + 0.18vw, 1rem);
    padding: 0px;
    margin: 10px 0px 0px 0px;
}

@media screen and (max-width: 767px) {

    .onepoint{
        padding: 10px 15px;
    }

    .onepoint h5{
        padding: 5px 15px;
    }

}

/*============================================*/
/*SNS */
/*============================================*/

.sns_frm{
    width:60%;
    margin:0 auto;
    text-align: center;
    grid-template-columns: 4fr 3fr 3fr 3fr;
}

.sns_frm div:first-child{
    text-align: left;
    height:-webkit-min-content;
    height:-moz-min-content;
    height:min-content;
    border-right: solid 1px #333;
}

.sns_frm img{
    width:40%;
}

.sns_frm h5{
    font-family: serif;
    font-size: clamp(1.1rem, 0.955rem + 0.73vw, 1.5rem);
    font-weight: bold;
    margin: 20px 0px;
    text-align: center; 
}

.sns_frm h6{
    font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
    font-size: 0.8rem;
    font-weight: normal;
    margin-bottom: 20px;
    line-height:1.1rem
}

.sns_frm a{
    color:#333;
}

@media screen and (max-width: 767px) {

    .sns_frm{
        width:70%;
        height:-webkit-min-content;
        height:-moz-min-content;
        height:min-content;
    }

    .sns_frm img{
        width:70%;
    }

    .sns_frm h5{
        margin:8px;
    }

    .sns_frm h6{
        display:none;
        height:0;
    }
}


/*============================================*/
/* PCスマホ表示 */
/*============================================*/

@media only screen and (max-width : 320px) {
    .pc_h{
        display:none;
    }
    .smp_h{
        display:inline;
    }
}
@media only screen and (min-width : 320px) {
    .pc_h{
        display:none;
    }
    .smp_h{
        display:inline;
    }
}
@media only screen and (min-width : 992px) {
    .pc_h{
        display:inline;
    }
    .smp_h{
        display:none;
    }
}
@media only screen and (min-width : 1200px) {
    .pc_h{
        display:inline;
    }
    .smp_h{
        display:none;
    }
}

/*==================調整用====================*/

.tbl{
    display:table;
}

.tabl_cell{
    display:table-cell;
    vertical-align: middle;
}

.pad50{
    padding:50px;
}

.txt-center{
    text-align: center;
}

.round_img{
    border-radius: 50%;
}

.row_bottom10{
    margin-bottom:10px;
}

.row_bottom20{
    margin-bottom:20px;
}

.row_bottom30{
    margin-bottom:30px;
}

.row_bottom50{
    margin-bottom:50px;
}

.row_bottom80{
    margin-bottom:80px;
}

@media (max-width: 767px){
    .pad50{
        padding:30px 0;
        }
}
