@charset "utf-8";

@media screen and (min-width: 768px) {
    /* =======================================
    共通
    ======================================= */
    body {
    	width: 100%;
    	margin: 0 auto;
    	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    	font-size: 16px;
    	color: #6e5044;
    	text-align: center;
    }

    @font-face{
        font-family: 'folk-m';
        src: url(../fonts/A-OTF-FolkPro-Medium_0.otf) format('opentype'),
             url(../fonts/A-OTF-FolkPro-Medium_0.ttf) format('truetype'),
             url(../fonts/A-OTF-FolkPro-Medium_0.woff) format('woff');
    }

    .folk-m{
        font-family: 'folk-m' , sans-serif;
    }

    @font-face{
        font-family: 'folk-b';
        src: url(../fonts/A-OTF-FolkPro-Bold_0.otf) format('opentype'),
              url(../fonts/A-OTF-FolkPro-Bold_0.ttf) format('truetype'),
              url(../fonts/A-OTF-FolkPro-Bold_0.woff) format('woff');
    }

    .folk-b{
        font-family: 'folk-b' , sans-serif;
    }

    .yu-go{
        font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    }

    .meiryo{
        font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    }


    .inbox{
        width: 1080px;
        margin:0 auto;
    }

    .pc-none{
        display: none;
    }

    a{
        color: #6e5044;
    }

    a[href^="tel:"] {
        pointer-events: none;
    }

    a::before,
    a::after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }

    a,
    a::before,
    a::after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }

    a:hover {
        filter:alpha(opacity=60);
        opacity: 0.6;
    }

    .cmn_dl dt,
    .cmn_dl dd{
        display: table-cell;
        vertical-align:middle;
        box-sizing: border-box;
        text-align: left;
    }

    .cmn_dl dl{
        border-bottom: 1px dashed #bcac9f;
    }

    .cmn_dl dl:last-child{
        border-bottom:none;
    }

    .cmn_dl dt{
        background: #dfd2be;
        padding:10px;
        width: 180px;
    }

    .cmn_dl dd{
        padding:10px;
        background: #fff;
        width: 440px;
    }

    .cmn_img{
        display: block;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }

    .cmn_img img{
        position: absolute;
        width: auto;
        height: auto;
        top: 50%;
        left: 50%;
        min-height: 100%;
        min-width: 100%;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
    }

    @supports ( object-fit: cover ) {
        .cmn_img img {
            position: static;
            height: 100%;
            width: 100%;
            left: 0;
            -o-object-fit: cover;
            object-fit: cover;
            top: 0;
            -ms-transform: none;
            -moz-transform: none;
            -webkit-transform: none;
            transform: none;
        }
    }

    .wrapper{
        min-width: 1280px;
        position: relative;
    }

    /*header
    --------------------------------------------*/
    .header{
        position: absolute;
        width: 100%;
        margin:0 auto;
        left: 0;
        right: 0;
        top: 0;
        background: rgba(255,255,255,0.5);
        z-index: 100;
    }

    .header h1{
        text-align: left;
        font-size: 10px;
        color: #cdb48c;
        background: #f2efea;
    }

    .header h1 span{
        width: 1080px;
        margin:0 auto;
        display: block;
    }

    .h_cont{
        position: relative;
        padding: 5px 0;
    }

    .h_logo{
        float: left;
    }

    .head_r{
        width: 305px;
        float: right;
        margin-right: 100px;
        text-align: left;
    }

    .h_info{
        padding-top: 15px;
    }

    .h_shop-info dl,
    .h_shop-info dt,
    .h_shop-info dd{
        display: inline-block;
        vertical-align: middle;
        box-sizing: border-box;
        font-size: 12px;
    }

    .h_shop-info dl:first-child{
        margin-right: 5px;
    }

    .h_shop-info dt:after{
        content: ' : ';
    }

    .h_btn{
        position: absolute;
        top: -15px;
        right: 0;
    }

    /*----------------headerfixed----------------*/
    .h_fixed{
        position: fixed;
        width: 100%;
        margin:0 auto;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 1000;
    }

    .fixed_ttl{
        text-align: left;
        font-size: 10px;
        color: #cdb48c;
        background: #f2efea;
    }

    .fixed_ttl span{
        width: 1080px;
        margin:0 auto;
        display: block;
    }

    .fixed_r{
        width: 445px;
        float: right;
        text-align: left;
        margin-right: 70px;
        padding-top: 5px;
    }

    .fixed_tel,
    .fixed_info,
    .fixed_info dt,
    .fixed_info dd{
        display: inline-block;
        vertical-align: middle;
        box-sizing: border-box;
        font-size: 12px;
    }

    .fixed_info dt:after{
        content: ' : ';
    }

    .fixed_tel{
        margin-right: 10px;
    }

    .nav{
        background: #fce4d2;
        padding: 10px 0;
    }

    .nav li{
        display: inline-block;
        vertical-align: middle;
        box-sizing: border-box;
        font-size: 15px;
        background: url(../img/navi_line.png) right center no-repeat;
    }

    .nav li:last-child{
        background: none;
    }

    .nav li a{
        padding: 0 40px 0 15px;
        display: block;
        color: #6e5044;
    }

    /*メインビジュアル
    --------------------------------------------*/
    .mainv{
        background:url(../img/mv_bg.jpg) center no-repeat;
        height: 800px;
        position: relative;
    }

    .mv_txt{
        position: absolute;
        top: 49%;
        left: 40%;
        transform: translate(-50%, -50%);
    }

    .reserve{
        position: fixed;
        right: 40px;
        bottom: 10%;
        z-index: 100;
        /*20201217*/
        /*display: none;*/
    }

    /*section01
    --------------------------------------------*/
    .sec01{
        background: url(../img/sec01_bg02.png) center no-repeat;
        padding:45px 0 85px 0;
    }

    .sec01_cont{
        background: url(../img/cake01.png) left top no-repeat,
                    url(../img/cake02.png) right top no-repeat;
        background-position: 0 0 , 100% 20%;
    }

    .sec01_ttl{
        width: 785px;
        margin:0 auto;
        padding: 25px 0 115px 0;
        border-bottom: 1px dashed #cdb48c;
        background: url(../img/illust01.png) no-repeat;
        background-position: 50% 75%;
        margin-bottom: 25px;
    }

    .sec01_head{
        margin-bottom: 105px;
    }

    .sec01_head p{
        line-height: 30px;
        margin-bottom: 30px;
    }

    .movie{
        width: 800px;
        margin:0 auto;
        position: relative;
    }

    .movie h4{
        position: absolute;
        left: 0;
        top: -58px;
    }

    .movie video{
        width: 100%;
        height: 450px;
    }

    /*section02
    --------------------------------------------*/
    .sec02{
        background: url(../img/sec02_bg.jpg) bottom no-repeat;
        padding: 70px 0 80px 0;
    }

    .sec02 h3{
        font-size: 42px;
        overflow: hidden;
        text-align: center;
        background: url(../img/illust02.png) no-repeat;
        background-position: 35% 20%;
        padding: 15px 0;
        margin-bottom: 20px;
    }

    .sec02 h3 span {
        display: inline-block;
        padding: 0 0.5em;
        position: relative;
    }

    .sec02 h3 span:before,
    .sec02 h3 span:after {
        border-top: 1px dashed #6e5044;
        content: "";
        position: absolute;
        top: 50%;
        width: 99em;
    }

    .sec02 h3 span:before {
        right: 150%;
    }

    .sec02 h3 span:after {
        left: 100%;
    }

    .sec02_list li{
        width: 530px;
        float: left;
        background: #fff;
        border-radius: 10px;
        padding: 30px 10px 20px 10px;
        box-sizing: border-box;
        position: relative;
        margin-bottom: 60px;
    }

    .sec02_list li:nth-child(even){
        float: right;
    }

    .sec02_list li:nth-last-child(-n+2){
        margin-bottom: 0;
    }

    .sec02_list h4{
        position: absolute;
        width: 270px;
        margin:0 auto;
        padding: 10px 0;
        top: -25px;
        left: 0;
        right: 0;
    }

    .sec02_list li:first-child h4,
    .sec02_list li:nth-child(4) h4{
        background: url(../img/ttl_icon01.png) no-repeat,
                    url(../img/ribbon01.png) center no-repeat;
        background-position: 30% 50% , 50% 50%;
    }

    .sec02_list li:nth-child(2) h4,
    .sec02_list li:nth-child(5) h4{
        background: url(../img/ttl_icon01.png) no-repeat,
                    url(../img/ribbon02.png) center no-repeat;
        background-position: 30% 50% , 50% 50%;
    }

    .sec02_list li:nth-child(3) h4,
    .sec02_list li:last-child h4{
        background: url(../img/ttl_icon01.png) no-repeat,
                    url(../img/ribbon03.png) center no-repeat;
        background-position: 30% 50% , 50% 50%;
    }

    .sec02_img{
        float: left;
    }

    .sec02_txt{
        width: 270px;
        float: right;
        font-size: 14px;
        line-height: 22px;
        text-align: left;
        padding: 15px 0;
    }

    /*section03
    --------------------------------------------*/
    .sec03{
        background: url(../img/cake03.png) no-repeat,
                    url(../img/cake04.png) no-repeat,
                    url(../img/illust03.png) no-repeat,
                    url(../img/sec03_bg.png) center;
        background-position: calc(50% - 600px) 330px,
                             calc(50% - 650px) 850px,
                             calc(50% + 550px) 700px,
                             50% 50%;
        padding: 120px 0;
    }

    .sec03_links-box{
        width: 980px;
        margin:0 auto;
        background: rgba(242,239,234,0.6);
        padding: 15px;
        box-sizing: border-box;
        position: relative;
        margin-bottom: 70px;
    }

    .sec03_links-box h3{
        position: absolute;
        top: -20px;
        left: 0;
        right: 0;
    }

    .sec03_links{
        background: #fff;
        padding: 10px 0;
    }

    .sec03_links li{
        float: left;
        width: 315px;
        border-right: 1px dashed #6e5044;
        font-size: 18px;
    }

    .sec03_links li:nth-child(2){
        text-align: left;
    }

    .sec03_links li:last-child{
        border-right: none;
    }

    .sec03_links li a{
        display: block;
        padding: 30px 10px 30px 30px;
        color: #6e5044;
    }

    .sec03_links li:first-child a{
        background: url(../img/arr02.png) no-repeat;
        background-position: 13% 50%;
    }

    .sec03_links li:nth-child(2) a{
        background: url(../img/arr02.png) no-repeat;
        background-position: 14% 50%;
        padding: 16px 10px 16px 80px;
    }

    .sec03_links li:last-child a{
        background: url(../img/arr02.png) no-repeat;
        background-position: 6% 50%;
    }

    .sec03_ttl{
        font-size: 30px;
        background: url(../img/border01.png) left center no-repeat,
                    url(../img/border02.png) right center no-repeat;
        margin-bottom: 80px;
    }

    .birthday_cake{
        margin-bottom: 125px;
    }

    .birthday_list li{
        width: 330px;
        height: 310px;
        float: left;
        background: url(../img/bd_bg01.png) center;
        border-radius: 10px;
        padding: 35px 15px 15px 15px;
        box-sizing: border-box;
        position: relative;
        margin-right: 45px;
        margin-bottom: 75px;
    }

    .birthday_list li:nth-child(even){
        background:url(../img/bd_bg02.png) center;
    }

    .birthday_list li:nth-child(3n){
        margin-right: 0;
    }

    .birthday_list li:nth-last-child(-n+3){
        margin-bottom: 0;
    }

    .birthday_list li::before{
        position: absolute;
        content: '';
        height:53px;
        width:140px;
        margin: 0 auto;
        background: url(../img/circle01.png) no-repeat;
        left: 0;
        right: 0;
        top: -35px;
    }

    .birthday_list li:nth-child(even)::before{
        position: absolute;
        content: '';
        height:53px;
        width:140px;
        margin: 0 auto;
        background: url(../img/circle02.png) no-repeat;
        left: 0;
        right: 0;
        top: -35px;
    }

    .birthday_list li:nth-child(5)::after{
        background:url(../img/cake05.png) no-repeat;
        position: absolute;
        content: '';
        width: 181px;
        height: 172px;
        bottom: -20px;
        right: -15px;
    }

    .birthday_list li:nth-child(8)::after{
        background: url(../img/cake11.png) no-repeat;
        position: absolute;
        content: '';
        width: 192px;
        height: 229px;
        right: -25px;
        bottom: -85px;
    }

    .birthday_list>ul>li>dl>dt{
        font-size: 24px;
        padding-bottom: 10px;
        border-bottom:1px dashed #6e5044;
        margin-bottom: 10px;
    }

    .birthday_list>ul>li>dl>dd{
        font-size: 14px;
    }

    /*.birthday_list>ul>li>dl>dd p{
        margin-bottom: 15px;
    }*/

    .menu_tbl{
        width: 100%;
        font-size: 14px;
        line-height: 22px;
        position: absolute;
        bottom: 15px;
        left: 15px;
    }

    .menu_tbl th{
        background:#dccfb9;
        text-align: center;
        padding: 5px 11px;
        width: 110px;
        box-sizing: border-box;
    }

    .menu_tbl table thead tr th:first-child{
        width: 65px;
        background: none;
    }

    .menu_tbl tr td:first-child{
        background: #fff;
        text-align: left;
    }

    .menu_tbl td{
        text-align: center;
        vertical-align: middle;
    }

    .menu_tbl td span{
        display: block;
        font-size: 12px;
    }

    .menu_dl{
        position: absolute;
        bottom: 15px;
        left: 15px;
    }

    .menu_dl dt,
    .menu_dl dd{
        display: table-cell;
        vertical-align: middle;
        box-sizing: border-box;
    }

    .menu_dl dt{
        width: 65px;
        background: #fff;
    }

    .menu_dl dd{
        padding-left: 5px;
    }

    .illustdeco_cake{
        margin-bottom: 230px;
    }

    .illustdeco_cont{
        position: relative;
    }

    /*.illustdeco_cont::before{
        background: url(../img/cake07.png) no-repeat;
        position: absolute;
        content: '';
        width: 366px;
        height: 397px;
        right: 0;
        top: -70px;
    }*/

    /*.illustdeco_cont::after{
        background: url(../img/cake06.png) no-repeat;
        position: absolute;
        content: '';
        width: 346px;
        height: 380px;
        top: 45px;
        right: 325px;
    }*/

    .illustdeco_txt{
        width: 520px;
        margin-right: auto;
        background: url(../img/bd_bg02.png) center;
        border-radius: 10px;
        padding:30px;
        box-sizing: border-box;
        text-align: left;
    }

    .illustdeco_txt p{
        margin-bottom: 25px;
    }

    .made_cake{
        margin-bottom: 205px;
    }

    .made_cont{
        position: relative;
    }

    .made_cont::before{
        background: url(../img/cake09.png) no-repeat;
        position: absolute;
        content: '';
        width: 441px;
        height: 389px;
        left: 0;
        top: -70px;
    }

    .made_cont::after{
        background: url(../img/cake08.png) no-repeat;
        position: absolute;
        content: '';
        width: 293px;
        height: 300px;
        top: 85px;
        left: 360px;
    }

    .made_txt{
        width: 560px;
        margin-left: auto;
        background: url(../img/bd_bg02.png) center;
        border-radius: 10px;
        padding:30px;
        box-sizing: border-box;
        text-align: left;
    }

    .made_txt p{
        margin-bottom: 25px;
    }

    /*section04
    --------------------------------------------*/
    .sec04{
        background: url(../img/sec04_bg.jpg) center;
        padding: 50px 0 65px 0;
    }

    .insta-wrap{
        width: 100%;
        display: block;
        background: rgba(255,255,255,.7);
        border: 10px solid #eea44c;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
    }

    .insta-wrap:before{
        position: absolute;
        content: '';
        background: url(../img/insta_left.png) no-repeat;
        width: 220px;
        height: 133px;
        left: 120px;
        bottom: 10px;
        z-index: 1;
    }

    .insta-wrap:after{
        position: absolute;
        content: '';
        background: url(../img/insta_right.png) no-repeat;
        width: 192px;
        height: 164px;
        right: 125px;
        bottom: 15px;
        z-index: 1;
    }

    .insta-inner{
        padding: 75px 0;
    }

    .insta-inner span{
        position: relative;
    }

    .insta-inner span:before,
    .insta-inner span:after{
        position: absolute;
        content: '';
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
        z-index: 10;
    }

    .insta-inner span:before{
        background: url(../img/insta_icon.png) no-repeat;
        width: 35px;
        height: 35px;
        left: -55px;
    }

    .insta-inner span:after{
        background: url(../img/insta_arr.png) no-repeat;
        width: 34px;
        height: 34px;
        right: -50px;
    }

    /*section05
    --------------------------------------------*/
    .sec05{
        background: url(../img/sec05_bg.png) center;
        padding: 75px 0 80px 0;
    }

    .faq h3{
        font-size: 42px;
        letter-spacing: 1px;
        background: url(../img/ttl_icon02.png) no-repeat,
                    url(../img/ttl_icon02.png) no-repeat;
        background-position: 35% 50% , 65% 50%;
        margin-bottom: 35px;
    }

    .faq_list li{
        background: #fff;
        padding: 5px;
        border-radius: 10px;
        text-align: left;
        margin-bottom: 45px;
    }

    .faq_list li:last-child{
        margin-bottom: 0;
    }

    .faq_cont{
        border:1px dashed #cdb48c;
        border-radius: 10px;
        padding: 0 10px;
    }

    .question{
        padding: 15px 15px 15px 40px;
        font-weight: bold;
        font-size: 18px;
        background: url(../img/question.png) left center no-repeat;
        border-bottom: 1px solid #f8ede6;
    }

    .answer{
        padding: 15px 15px 15px 40px;
        font-size: 14px;
        position: relative;
    }

    .answer:before{
        content: 'A.';
        position: absolute;
        left: 10px;
        top: 5px;
        color:#e37b00;
        font-size: 18px;
        font-family: 'folk-m';
    }

    .faq_dl{
        margin-top: 30px;
    }

    .faq_dl dl{
        margin-bottom: 5px;
    }

    .faq_dl dl:last-child{
        margin-bottom: 0;
    }

    .faq_dl dt,
    .faq_dl dd{
        display: table-cell;
        vertical-align: middle;
        box-sizing: border-box;
    }

    .faq_dl dt{
        width: 115px;
        background: #f2efea;
        padding: 5px;
    }

    .faq_dl dd{
        padding-left: 15px;
    }

    /*section06
    --------------------------------------------*/
    .sec06{
        background: url(../img/sec06_bg.png) center;
        padding-top:70px;
    }

    .info_cont h3{
        font-size: 42px;
        letter-spacing: 1px;
        background: url(../img/ttl_icon02.png) no-repeat,
                    url(../img/ttl_icon02.png) no-repeat;
        background-position: 35% 50% , 65% 50%;
        margin-bottom: 35px;
    }

    .info_head{
        width: 840px;
        margin:0 auto;
        padding: 5px;
        border-radius: 10px;
        background: url(../img/shape.png) center;
        margin-bottom: 35px;
    }

    .info_headinner{
        border:1px dashed #dfd2be;
        border-radius: 10px;
        padding: 25px 0 15px 0;
    }

    .info_headtxt{
        padding-bottom: 25px;
        background: url(../img/arr01.png) center bottom no-repeat;
        margin-bottom: 15px;
    }

    .info_btn {
        width: 260px;
        margin:0 auto;
        text-align: right;
    }

    .info_btn a{
        background: url(../img/btn_bg.png) no-repeat,
                    #fce4d2;
        background-position: -15% 100%;
        padding:3px;
        border-radius: 6px;
        display: block;
        position: relative;
    }

    .info_btn a::before{
        background: url(../img/cake10.png) no-repeat;
        position: absolute;
        content: '';
        width: 62px;
        height: 58px;
        top: -10px;
        left: 10px;
        z-index: 100;
    }

    .info_btn a span{
        border:1px dashed #fff;
        border-radius: 10px;
        padding: 10px;
        display: block;
    }

    .info_cont{
        margin-bottom: 60px;
    }

    .info{
        width: 620px;
        float: left;
        font-size: 14px;
    }

    .info dl dd a{
        color: #6e5044;
    }

    .store_img{
        float: right;
    }

    .map{
        height: 400px;
    }

    /*footer
    --------------------------------------------*/
    .pagetop {
    	color: #FFF;
    	position: fixed;
    	bottom: 5%;
    	right: 3%;
    	z-index:999;
    }

    .footer{
        background: #dfd2be;
    }

    .ft_box{
        position: relative;
        padding-bottom: 20px;
    }

    .ft_cont{
        width: 490px;
        margin-right: auto;
        text-align: left;
    }

    .ft_logo,
    .ft_info,
    .ft_dl dl,
    .ft_dl dt,
    .ft_dl dd{
        display: inline-block;
        vertical-align: middle;
        box-sizing: border-box;
    }

    .ft_info{
        margin-left: 10px;
    }

    .ft_tel{
        margin-bottom: 10px;
    }

    .ft_dl{
        font-size: 12px;
    }

    .ft_dl dl:first-child{
        margin-right: 10px;
    }

    .ft_dl dt:after{
        content: ':';
        padding: 0 3px;
    }

    .ft_contact{
        position: absolute;
        right: 0;
        top: 0;
    }

    .copyright{
        background: #f2efea;
        font-size: 10px;
        padding:5px 0;
    }

    .copyright a{
        color: #6e5044;
    }
}

.christmas_red{
  color: red;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: 1.5rem;
}
