@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');
/*========================================
共通
========================================*/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
ul{
    padding-left: 0;
    list-style: none;
}
ol{
    list-style: decimal;
    padding-left: 1.25em;
}
ol li+li{
    margin-top: 1em;
}
img{
    max-width: 100%;
    vertical-align: middle;
}
html{
    font-size: 62.5%;
}
body{
    background-color: #FFF;
    font-size: 1.6rem;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 500;
    line-height: 2;
    color: #521D05;
    min-width: 1280px;
}
a:link, a:visited{
    color: #521D05;
    text-decoration: none;
}
a:hover, a:active{
    color: #521D05;
    opacity: .7;
    transition: all .2s;
}

.clearfix::after{
    content: "";
    display: block;
    clear: both;
    height: 0;
}
.container{
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.4vw;
    padding-right: 2.4vw;
}

i.icon-cart{
    display: flex;
    align-items: center;
    font-style: normal;
}
i.icon-cart::before{
    content: "";
    background: url(../img/icon_cart.png) no-repeat;
    width: 18px;
    height: 18px;
    padding-right: .5em;
    display: block;
}

.sp { display:none;}

/*========================================
ヘッダー
========================================*/
#header.global{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 2.4vw;
    padding-right: 2.4vw;
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    background-color: rgba(255,255,255,.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
#header.global nav > ul{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}
#header.global nav > ul > li+li{
    margin-left: 2.4vw;
}
#header.global nav .children{
    font-size: 1.4rem;
    display: none;
    position: absolute;
    background: url(../img/bg_menu.png) no-repeat top center;
	background-size: cover;
    padding: 15px 30px;
    box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.1);
}
#header.global nav .ichigo:hover .children{
    display: block;
}
#header.global nav .children li{
    background: url(../img/bg_maru.png) no-repeat left 0 top .75em;
    padding-left: .75em;
}


/*========================================
フッター
========================================*/
.f_wrap{
    background-color: #F9F8F7;
    padding: 80px 0;
	background: url(../img/bg_index1.jpg) no-repeat top left 50% / 100% auto;
}
.f_wrap .container{
    display: flex;
    justify-content: space-between;
}
#footer.global nav{
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.f_banner{
    text-align: right;
}
#footer.global nav ul{
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 1em 0;
}
#footer.global nav ul li+li{
    margin-left: 3.6vw;
}
.f_left{
    width: 30%;
}
#footer address{
    font-style: normal;
    font-size: 1.2rem;
    margin-top: 30px;
}
.copy{
    background-color: #521D05;
    padding: 20px 0;
}
.copy ul{
    display: flex;
    justify-content: center;
}
#pagetop{
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 99;
}

/*========================================
index
========================================*/
#index_mv{
    margin-top: 116px;
    position: relative;
    width: 100%;
    height: calc(100vh - 116px);
}
.box {
	height: calc(100vh - 116px);
    width: 20%;
    position: absolute;
    top: 0;
    right: 0;
}
#lemon{
    position: absolute;
    top: 7%;
    left: -320px;
    z-index: 2;
    text-align: right;
}
#lemon2{
    position: absolute;
    top: 25%;
    left: -320px;
    z-index: 2;
    text-align: right;
}

.index_mv_slider{
    width: 80%;
}
.index_mv_slider .slider-item{
    max-height: calc(100vh - 116px);
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position:center;
}

.index_bannerarea{
    margin-top: 150px;
    margin-bottom: 150px;
    text-align: center;
}
.index_banner1 {
    padding-top: 30px;
}
.index_banner1 a{
    display: block;
    background-color: #EEF6FE;
    padding-top: 40px;
    padding-bottom: 40px;
}
.index_banner2 a{
    display: block;
    border: 1px solid #5FAAF4;
    margin-top: 30px;
}
.index_banner3 a{
    display: block;
    background-color: #d9d9001a;
    margin-top: 30px;
}

/* ごあいさつ */
.index1{
    background: url(../img/bg_index1.jpg) no-repeat top left 50% / 100% auto;
	margin-top: 150px;
}
.index1 .container{
    background: url(../img/index1_img02.png) no-repeat right 0 top 25%,
    url(../img/index1_img03.png) no-repeat left 0 bottom 15%;
	position: relative;
}
.index1 .container h2 {
    position: absolute;
	top: -78px;
}
.index1 .inner{
    text-align: center;
    padding: 100px 0;
}

.index1 .inner p+p{
    margin-top: 1em;
}

/* お知らせ */
.index2{
    display: flex;
    justify-content:space-between;
    flex-direction: row-reverse;
}
.index2 h2{
    margin-top: -30px;
}
.index2 .inner{
    font-size: 1.4rem;
    width: 640px;
    padding: 100px 0;
}
.index2 .inner ul li{
    background: url(../img/bg_maru.png) no-repeat left 0 top .75em;
    padding-left: 1em;
    border-bottom: 1px solid #E5DDDA;
    padding-bottom: .75em;
}
.index2 .inner ul li+li{
    margin-top: .75em;
}
.index2 .inner .btn{
    margin-top: 40px;
}

/* 商品紹介 */
.index3{
    background: url(../img/bg_index3.jpg) no-repeat top / 100% auto;
    padding: 10.5vw 0 0;
    text-align: center;
}
.lineup{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 40px;
}
.lineup li{
	width: 320px;
	text-align: center;
}
.lineup li:nth-child(odd) p:first-child {
    background: url(../img/bg_lineup01.png) no-repeat center top/cover;
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    line-height: 1.4; 
}
.lineup li:nth-child(even) p:first-child {
    background: url(../img/bg_lineup02.png) no-repeat center top/cover;
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    line-height: 1.4; 
}
.index3 .msg{
    border-top: 1px solid #E5DDDA;
    border-bottom: 1px solid #E5DDDA;
    padding: 60px 0;
    margin: 40px 0;
}
.index3 .banner{
    background-color: #E8F3FD;
    padding: 40px 0;
}

/* oinai coffee */
.index4{
    text-align: center;
    padding-top: 100px;
    padding-bottom: 100px;
	position: relative;
}
.index4 > p{
    margin: 2em 0;
}
.index4 h2 {
	position: absolute;
	left: 50%;
	top: 220px;
	transform: translateX(-50%);
}
.index4 .collabo {
	margin: 0 0 12em;
}

/* 店舗案内 */
.index5{
    background: linear-gradient(180deg, #FFF 0 10%,  #F9F8F7 10% 100%);
    margin-top: 100px;
}
.index5 .container{
    background: url(../img/index5_img03.png) no-repeat right 20px top 0,
    url(../img/index5_img04.png) no-repeat left 50% bottom 40px;
}
.index5 h2{
    padding-top: 30px;
}
.index5 .inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
	gap: 60px;
    padding: 80px 0;
}
.index5 .inner .btn{
    margin-top: 30px;
}
.index5 figure {
	flex-shrink: 0;
}
.shopinfo {
    margin-top: 30px;
}
.shopinfo dl{
    border-bottom: 1px solid #E5DDDA;
    padding-bottom: .75em;
    display: flex;
	align-items: baseline;
}
.shopinfo dl+dl{
    margin-top: .75em;
}
.index5 .shopinfo dt{
    background-color: #E3EDF7;
	background-image: unset;
    border-radius: 20px;
	padding-left: 0;
    width: 20%;
    text-align: center;
    height: auto;
}
.shopinfo dt{
    background: url(../img/bg_maru2.png) no-repeat left 0 top .75em;
    padding-left: 1em;
    width: 20%;
}
.shopinfo dd{
    padding-left: 2em;
    width: 80%;
}
.shopimg {
	width: 100%;
	display: flex;
	gap: 50px;
	align-items: center;
	justify-content: space-between;
	margin: 40px auto 0;
}
.shopimg img {
	width: 100%;
	height: auto;
}

.shopimg p:first-child {
	width: 60%;
	flex-shrink: 0;
}
.shopimg p:last-child {
	width: 100%;
}


/*========================================
コンテンツ
========================================*/
#other_mv{
    background: url(../img/bg_index1.jpg) no-repeat bottom / cover;
    margin-top: 116px;
}
#other_mv h2{
    display: flex;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 60px;
    font-size: 3.4rem;
    font-weight: 500;
}

/* ぱんくず */
#breadcrumb{
    display: flex;
    color: #8C6250;
    font-size: 1.2rem;
    margin-top: 20px;
}
#breadcrumb a{
    color: #8C6250;
}
#breadcrumb a::after{
    content: ">";
    display: inline-block;
    padding: 0 .75em;
}

/**/
#page-contents{
    margin-top: 60px;
    padding-bottom: 100px;
}

#page-contents > section+section{
    margin-top: 80px;
}
#page-contents > section > section{
    margin-top: 60px;
}

#page-contents .sectitle{
    margin-bottom: 40px;
}

#page-contents > section > section h4{
    margin-bottom: 20px;
}

#page-contents section p{
    margin: 1.25em 0;
}

.sectitle{
    font-size: 2.6rem;
    border-bottom: 1px solid #521D05;
    font-weight: 500;
}

.flexbox{
    display: flex;
}

ul.normal{
    list-style:disc;
    padding-left: 1.5em;
}

/*----------------------------------------
商品紹介
（デコレーションケーキ、季節商品、ギフト）
----------------------------------------*/
/* 商品紹介トップ */
#page-contents > .lineup{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 40px;
}
#page-contents > .lineup li{
    width: 320px;
}

/**/
.lineuptitle{
    border-top: #E5DDDA double;
    border-bottom: #E5DDDA double;
    padding-top: 30px;
    padding-bottom: 30px;
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 40px;
}

.note{
    background: url(../img/bg_index1.jpg) no-repeat top left 50% / 100% auto;
    padding: 40px 0;
    font-size: 1.4rem;
    margin: 40px 0 80px;
}
.note h4{
    text-align: center;
}
.note ul{
    width: 720px;    
    margin: 20px auto 0;
}
.note ul li{
    border-bottom: 1px solid #E5DDDA;
    padding-bottom: .75em;
    
}
.note ul li+li{
    margin-top: .75em;
}

.itemwrap{
    margin-top: 40px;
}

.itemdesc{
    width: 42%;
    margin-left: auto;
}
.itemdesc p{
    margin: 1em 0;
}
.itemdesc ul{
    list-style:disc;
    padding-left: 1.5em;
}

.itempic{
    padding-left: 40px;
}
.itempic p{
    text-align: right;
}



/*----------------------------------------
商品紹介
（ショートケーキ、半生菓子、クッキー等）
----------------------------------------*/
.itemlist{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 0;
    margin-top: 60px;
}
.itemlist li{
    width: 32%;
}
.itemlist::before,
.itemlist::after{
    content: "";
    width: 32%;
    display: block;
    height: 0;
}
.itemlist::before{
    order: 1;
}
.itemlist figure{
    position: relative;
}
.itemlist figure::before{
    content: "";
    display: block;
    padding-top: 66%;
}
.itemlist figure img{
    border: 0 !important;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: contain;
}
.itemlist figcaption{
    text-align: center;
    margin-top: .5em;
}

#page-contents .msg{
    border-top: 1px solid #E5DDDA;
    border-bottom: 1px solid #E5DDDA;
    padding: 60px 0;
    margin: 60px 0;
    text-align: center;
}

/*----------------------------------------
店舗案内
----------------------------------------*/
.shop_about h3{
    text-align: center;
}
.shop_about .shopinfo{
    width: 720px;
    margin: 30px auto 0;
}
.shop_about h4{
    background: url(../img/shopinfo_img02.png) no-repeat center;
    height: 156px;
    line-height: 156px;
}
.aboutname{
    margin-top: 60px;
    text-align: center;
}
.aboutpic{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.shop_access{
    background: url(../img/bg_sectitle.png) no-repeat right top;
}

.shop_access .googlemap{
    justify-content: space-between;
}

.shop_access .googlemap .text{
    width: calc(100% - 50% - 40px);
    padding-right: 40px;
}
.shop_access .googlemap .umekomi{
    width: 50%;
}
.shop_access .googlemap .umekomi iframe{
    width: 100%;
}
.shop_access .googlemap .umekomi span{
    display: block;
}

.shop_access .flow li{
    display: flex;
    gap: 150px;
    align-items: center;
}
.shop_access .flow li+li{
    margin-top: 20px;
}
.shop_access .flow figure{
    width: 300px;
}
.shop_access .flow figcaption{
    width: calc(100% - 300px - 40px);
}

/*----------------------------------------
ご利用ガイド
----------------------------------------*/
.deliveryfee{
    border-collapse: collapse;
    font-size: 1.4rem;
}
.deliveryfee th,
.deliveryfee td{
    border: 1px solid #521D05;
    text-align: left;
    padding: .75em 1.25em;
}
.deliveryfee th{
    width: 50%;
    background-color: #ECE3DF;
}

/*----------------------------------------
よくある質問
----------------------------------------*/
.faq .sectitle::before{
    content: "Q.";
    padding-right: .5em;
}
.faq .sectitle{
    display: flex;
}
.faq .flexbox{
    justify-content: space-between;
}
.faq figure{
    width: 480px;
}
.faq .flexbox .faq_a{
    width: calc(100% - 480px - 40px);
}

.faq_a::before{
    content: "A.";
    padding-right: .5em;
}
.faq_a{
    display: flex;
}
#page-contents section .faq_a p:first-of-type{
    margin-top: 0;
}
i.arrow{
	display: flex;
    align-items: center;
    font-style: normal;
}
i.arrow::before{
	content: "";
    background: url(../img/arrow.png) no-repeat top left / contain;
    width: calc(16px/2);
    height: calc(20px/2);
    padding-right: .5em;
    display: block;
}

/*----------------------------------------
お問い合わせ
----------------------------------------*/
.form_wrap{
    width: 720px;
    margin: 0 auto;
}
.required{
	display:inline-block;
	background:#E80000;
	padding:0.2em 0.8em;
	margin-left:10px;
	line-height:1;
	color: #FFF;
	font-size: 80%;
}

.formT{
	margin-bottom: .5em;
}
.formP{
	
}
.formP+.formT{
    margin-top: 40px;
}

input.short{width:5em;}

.formP input,
.formP textarea{
    width: 100%;
    padding: 1em;
}
.formP input[type="file"]{
    background-color: #F8F7F5;
}

/* 送信ボタン */
.btn_form {
	text-align:center;
}
.btn_form input[type="submit"]{
	color: #521D05;
	-webkit-appearance: none;
	padding: 1em 0;
    width: 240px;
	cursor: pointer;
	font-size:100%;
	font-size: 1.6rem;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 500;
    line-height: 2;
}
.btn_form .btn_form--submit{
	background:#FFF;
    border: 1px solid #521D05;
}
.btn_form .btn_form--submit:hover {
	background:#FFF;
	opacity:0.7;
	transition: all 0.4s;
}
/* 戻るボタン */
.btn_form .btn_form--back{
	background: #ECECEC;
    border: 1px solid #ECECEC;
    color: #787878;
}
.btn_form .btn_form--back:hover {
	background: #ECECEC;
	opacity:0.7;
	transition: all 0.4s;
}
/* 確認画面で注釈を非表示にする */
.mw_wp_form_confirm .hidden{
	display:none;
}
/* エラー */
.mw_wp_form .error {
	display: block;
	background:#FFDDDD;
    color: #D90000 !important;
	font-weight:bold;
	font-size: 93%;
	padding:0 8px;
	margin-top:8px;
}
.mw_wp_form .error:before{
	content:"⇒";
}

/* プライバシーポリシー */
.privacyul li{
    margin: 0px;
    padding: 0px;
    list-style-type:decimal;
}
.li01{
    margin: 10px 0px 40px;
}
.li01 li{
    margin: 0px 0px 20px 0px;
    padding: 0px;
    font-size: 90%;
}
.privacyul .ttl{
    font-weight: bold;
}

/*----------------------------------------
お知らせ
----------------------------------------*/
#column2wrap{
    display: flex;
    justify-content: space-between;
    padding-top: 60px;
    padding-bottom: 100px;
}
#leftcolumn{width: 22%;}
#rightcolumn{width: 72%;}

/*左カラム*/
.smenuwrap+.smenuwrap{
    margin-top: 4vw;
}
.sidetitle{
    background: url(../img/bg_maru2.png) no-repeat left 0 top .75em;
    padding-left: 1em;
    margin-bottom: .5em;
}
.sidemenu {
	list-style: none;
	padding-left: 0;
	margin: 0;
    font-size:1.4rem;
    line-height: 1.5;
}
.sidemenu .date{
    color: #8C6250;
    font-size: 1.2rem;
}
.sidemenu > li{
    border-bottom: 1px solid #E5DDDA;
    padding: .75em 0;
}

.sidemenu .children{
    margin-top: .75em;
}
.sidemenu .children li{
    border-top: 1px solid #E5DDDA;
    padding: .75em 0 .75em .5em;
}
.sidemenu .children li:last-child{
    padding-bottom: 0;
}
.sidemenu .children li a:before{
	content:"-";
    color: #E5DDDA;
}

/*右カラム*/
#archivetitle{
    font-size: 2.6rem;
    margin-bottom: 1em;
    font-weight: 700;
    border-bottom: 1px solid #521D05;
}

.archive .asset-body{
    display: flex;
    gap: 0 40px;
    border-bottom: 1px solid #EFEDEB;
    padding-bottom: 1em;
    margin-bottom: 1em;
}
.archive .asset-body .date{
    color: #8C6250;
}
.archive .asset-body .title{
    font-size: 1.6rem;
    font-weight: 500;
}
.asset-body .title a{
    color: #521D05;
    text-decoration: none;
}

.single .asset-body .title{
    font-size: 2.2rem;
    line-height: 1.5;
    padding-bottom: .5em;
    border-bottom: 1px solid #521D05;
    margin-bottom: 1.6vw;
}
.single .asset-body .date{
    color: #8C6250;
    font-size: 1.4rem;
}

.entrycontent{
}
.entrycontent p{
    margin: 1.5em 0;
}
.entrycontent hr {
	border: 0;
	height: 1px;
	background-color: #CCC;
	color: #CCC;
}
.entrycontent ul{
    list-style: disc;
    padding-left: 1.25em;
}


a.more-link{
    display: inline-block;
    border: 2px solid #003866;
    color: #003866;
    font-weight: 700;
    font-size: 1.4rem;
    padding: 0 1.5em;
}
.entrycontent img.aligncenter,
.entrycontent .aligncenter img{
    margin-left: auto;
    margin-right: auto;
}
