@charset "utf-8";
html.is-fixed,
html.is-fixed body {height: 100%; overflow: hidden;}
body,input,select,textarea {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #1f2122; font-size: 30px; line-height: 1.5; letter-spacing: 0.05em;}
body {-webkit-text-size-adjust: 100%;}
	
h1,h2,h3,h4,h5,h6 {line-height: 1.5;}
h2,h3,h4,h5,h6,b,strong,dt,th {font-weight: normal;}
a {color: #3573c7;}
a:hover {opacity: 0.7;}
p {text-align: justify; text-justify: inter-ideograph;}
.pc {display: none !important;}
.sp {display: block !important;}
br.sp {display: inline-block !important;}

.en {
    font-family: 'Dancing Script', cursive;
}

#container {position: relative; overflow: hidden; width: 800px; min-width: 800px; display: block; margin: 0 auto;
	background:#fff;}


/* header */
#header {position: absolute; overflow: hidden;
	width: 800px; height: 312px; left: 50%; top: 0; z-index: 999; margin: 0 0 0 -400px;
	font-size: 20px; white-space: nowrap;
    background: #fff url("../img/share/bg-red.jpg") center 156px repeat-x;
}
#header a {color: inherit; text-decoration: none;}
#header h1 {float: left; display: inline; height: 156px; margin: 0 0 0 20px; font-size: 1em; font-weight: normal; overflow: hidden;}
#header h1 img {display: block; width: 260px; margin: 18px 0 12px;}
#header h1 span {display: block; color: #ec6e7c;}
#header ul.sub {float: right; display: inline; height: 156px; margin: 0 20px 0 0;}
#header ul.sub li {display: inline-block;}
#header ul.sub li a {display: block; width: 100px; padding: 106px 0 0;
	text-align: center;
	background: url("../img/share/header-mypage.png") center 25px no-repeat;}
#header ul.sub li.c02 a {background-image: url("../img/share/header-cart.png");}
#header ul.sub li.c04 a {background-image: url("../img/share/header-login.png");}
#header ul.sub li.c05 a {background-image: url("../img/share/header-logout.png");}

#header ul.sub li.c01.my-true,
#header ul.sub li.c02.my-false,
#header ul.sub li.c03.my-false,
#header ul.sub li.c04.my-true,
#header ul.sub li.c05.my-false {display: none;}
#header ul.nav {clear: both; display: flex;
	background: url("../img/share/nav-bg.png") top repeat-x;}
#header ul.nav li {width: 20%;
	background: url("../img/share/nav-1-sp.png") center 28px no-repeat;}
#header ul.nav li.c02 {background-image: url("../img/share/nav-2-sp.png");}
#header ul.nav li.c03 {background-image: url("../img/share/nav-3-sp.png");}
#header ul.nav li.c04 {background-image: url("../img/share/nav-4-sp.png");}
#header ul.nav li.c05 {background-image: url("../img/share/nav-5-sp.png");}
#header ul.nav li.c06 {background-image: url("../img/share/nav-6-sp.png"); background-color: rgba(52,47,36,0.3);}
#header ul.nav li a {
    display: block; height: 50px; padding: 110px 0 46px; margin: 0 10px;
	color: #fff; font-size: 1.2em; line-height: 40px; text-align: center;
}
#header ul.nav li.c01 a {font-size: 1em;}
#header ul.nav li.c05 a,
#header ul.nav li.c06 a {font-size: 1.3em;}

@media only screen and (max-width: 800px){
    #header {
        height:260px;
    }
    #header ul.nav li {
        background: url("../img/share/nav-1-sp.png") center 15px no-repeat;
        background-size:40px;
    }
    #header ul.nav li a {
        padding:70px 0 0;
        margin: 0 5px;
        line-height:20px;
    }
    #header ul.nav li.c06 {
        height:120px;
    }
}


/* footer */
#footer a { text-decoration: none;}
#footer h2 {
    margin: 100px auto 50px;
    padding:0;
}
#footer h2 a {
    display: block;
}
#footer h2 img {display: block; width:420px; margin: 0 auto;}

#footer .tel {
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center; flex-direction:column;
}
#footer .tel a {
    margin: 0 auto 10px;
    font-size: 5rem;
    color: #ec6e7c;
}

#footer .address {padding: 0.5em 0 0; font-size: 0.8em; text-align: center;}
#footer small.c {
    display: block;
    padding: 30px 0 60px;
    color: #c8a063;
    font-size: 3.6rem;
    text-align: center;
}

@media only screen and (min-width: 801px){
    #footer small.c {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 800px){
	#footer .sitenav li h3 {padding: 0.3em 0 0.2em; margin: 20px 0 0;
		color: #fff; font-size: 0.9em; text-align: center; background:#836b59;}
	#footer .sitenav li ul {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
		border-top: 2px solid #d3cab4;}
	#footer .sitenav li ul li {width: 50%; border-radius: 0;
		border-bottom: 2px solid #d3cab4;}
	#footer .sitenav li ul li a {display: block; color: inherit; font-size: 0.95em; line-height: 3; text-align: center; white-space: nowrap;}
	#footer .sitenav li ul li:nth-child(2n+1) a {border-right: 2px solid #d3cab4;}
}

#pageTop {display: block; max-width: 20%; position: fixed; right: 20px; bottom: 20px;}
#pageTop img {width: 100%;}
@media only screen and (max-width: 800px){
	#pageTop {
		display: none;
	}
}


/* floating */
.floating-banner {
	position: fixed;
	z-index: 99999;
	top: 90px;
	right: 0;
	width: 100px;
}
.is-fixed .floating-banner {
	z-index: 998;
}
.floating-banner a {
	display: block;
}
.floating-banner a + a {
	margin-top: 10px;
}

@media only screen and (max-width: 800px){
	.floating-banner {
		top: auto;
		bottom: 20px;
		width: 170px;
	}
}


/* menu */
#menu,
#header ul.nav li.menu-close {display: none;}

#menu {position: fixed; overflow-y: scroll; left: 50%; z-index: 999;
	width: 800px; height: 100%; padding: 0 0 120px; margin: 0 0 0 -400px;
	background: rgba(131,107,89,0.85); color: #fff;}
#menu a {color: inherit; text-decoration: none;}

#menu div.searchBox {padding: 20px 0 14px; margin: 0 20px 2em; background: none;
	border-top: 2px solid rgba(255,255,255,0.4); border-bottom: 2px solid rgba(255,255,255,0.4);}

#menu ul.guide {padding: 60px 20px 0;
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
#menu ul.guide li {width: calc((100% - 10px) / 2); margin: 0 0 10px;
	background: #c8a063; border-radius: 5px;}
#menu ul.guide li.c01 {width: 100%;}
#menu ul.guide li a {display: block; padding: 0;
	background: url("../img/share/menu-mypage.png") 10px center /65px auto no-repeat; border-radius: 5px;
	color: #fff; text-align: center; line-height: 2.5; white-space: nowrap;}
#menu ul.guide li.c02 a {background-image: url("../img/share/menu-login.png");}
#menu ul.guide li.c04 a {background-image: url("../img/share/menu-orders.png");}
#menu ul.guide li.c05 a {background-image: url("../img/share/menu-guide.png");}
#menu ul.guide li.c06 a {background-image: url("../img/share/menu-logout.png");}

#menu ul.guide li.c01.my-true,
#menu ul.guide li.c02.my-true,
#menu ul.guide li.c03.my-false,
#menu ul.guide li.c04.my-false,
#menu ul.guide li.c06.my-false {display: none;}

#menu div.category {padding: 0 20px;}
#menu div.category a {display: block;}
#menu div.category h3 {
    padding: 0.4em 0 0.4em 15px;
    font-size: 1em;
    border-radius:5px;
	background:#40220f;
}
#menu div.category ul {padding: 0 0 2em; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
#menu div.category ul li {width: calc((100% - 20px) / 2);}
#menu div.category ul li a { padding: 1em 0 0.1em; border-bottom: 1px dashed rgba(255,255,255,0.4); font-size: 0.9em;}
#menu div.category ul li a img {display: none;}

#menu ul.sitenav {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
	border-top: 2px solid #fff;}
#menu ul.sitenav li {width: 50%;
	border-bottom: 2px solid #fff;}
#menu ul.sitenav li a {display: block; color: inherit; font-size: 0.9em; line-height: 3; text-align: center;}
#menu ul.sitenav li:nth-child(2n+1) a {border-right: 2px solid #fff;}

@media only screen and (min-width: 801px){
    #menu {
        top:180px;
    }
}
@media only screen and (max-width: 800px){
    #menu {
        top:260px;
    }
	#menu .sitenav li h3 {padding: 0.3em 0 0.2em; margin: 20px 0 0;
		color: #fff; font-size: 0.9em; text-align: center; background: rgba(255,255,255,0.15);}
	#menu .sitenav li ul {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
		border-top: 2px solid #fff;}
	#menu .sitenav li ul li {width: 50%; border-radius: 0;
		border-bottom: 2px solid #fff;}
	#menu .sitenav li ul li a {display: block; color: inherit; font-size: 0.95em; line-height: 3; text-align: center; white-space: nowrap;}
	#menu .sitenav li ul li:nth-child(2n+1) a {border-right: 2px solid #fff;}
    #menu ul.snsBanner {
        width:90%;
        margin: 0 auto;
        display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
    }
    #menu ul.snsBanner li {
        width:48.5%;
        margin: 0 0 20px;
    }
    #menu ul.snsBanner li img {
        max-width:100%;
    }
}

#menu h2 {padding: 70px 0 52px;}
#menu h2 img {display: block; width: 228px; margin: 0 auto;}
#menu .tel {font-size: 0.8em; text-align: center;}
#menu .tel img {display: block; width: 320px; margin: 0 auto 26px;}
#menu .address {font-size: 0.8em; text-align: center;}
#menu small.c {display: block; padding: 30px 0 200px; color: #fff; font-size: 2rem; text-align: center;}

#contentsOuter {padding-top: 80px; padding-bottom: 140px;}
#sideContents {display: none;}


/* トップページ */
body.fs-body-top #contentsOuter {padding-top: 0;}

.indexIntro {background: #f5b2b2;}
.indexIntro p {padding: 12px 0; font-size:1.8rem; font-weight:900; line-height: 1; text-align:center;}
.indexIntro p img {display: inline-block; margin: 8px 2px; height: 36px;}
.indexIntro p span {display: inline-block; margin: 4px 2px; color: #fff; white-space: nowrap;}

@media only screen and (min-width:801px){
    .indexIntro.scroll-class {
        width: 100%;
        position:fixed; top:50px; left:0;
        z-index: 1000;
    }
}
@media only screen and (max-width:800px){
    #contentsTop {padding-top:260px;}
    .indexIntro.scroll-class {
        width: 100%;
        position:fixed; top:103px; left:0;
        z-index: 1000;
    }
    .indexIntro p {
        padding: 8px 0;
        font-size:2.8rem;
        line-height: 1.1;
    }
}


#mainSlide {position: relative; width: 100%; height: 1000px; margin: 0 0 120px;
	background: #fff url("../img/index/main-bg.jpg") center bottom repeat-x;}
#mainSlide h2 {padding: 64px 0 0; text-align: center;}
#mainSlide h2 img {height: 400px;}

#mainSlide-inner {overflow: hidden; width: 800px; height: 1000px;}
#mainSlide-inner li {float: left; display: inline; width: 800px; height: 1000px; background: center top no-repeat;}

#mainSlide .slick-arrow {display: block; position: absolute; right: 0; top: 50%;
	z-index: 90; overflow: hidden; opacity: 0.85; cursor: pointer; border: none;
	width: 70px; height: 90px; margin: -45px 0 0 0;
	text-indent: -999px;
	background: url("../img/index/main-next.png") center center no-repeat;}
#mainSlide .slick-arrow:hover {opacity: 1;}
#mainSlide .slick-prev {right: auto; left: 0;
	background-image: url("../img/index/main-prev.png");}

#mainSlide .slick-dots {position: absolute; left: 0; bottom: 0; opacity: 0.9;}
#mainSlide .slick-dots li {display: inline-block; width: 22px; height: 22px; margin: 0 20px; overflow: hidden;}
#mainSlide .slick-dots li button {width: 22px; height: 22px; overflow: hidden;
	background: #b2aea5; text-indent: -999px; border: none; border-radius: 50px;}
#mainSlide .slick-dots li.slick-active button {background: #c8a063;}


/* h3.decorated */

h3.decorated {
    min-height:50px;
    margin: 0 auto 50px;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    background:url("../img/share/h3-decorated.png") center no-repeat;
}
h3.decorated span {
    display: block;
    font-size:4rem;
    font-weight:900;
    color: #836b59;
    text-align: center;
    line-height: 1;
}

@media only screen and (max-width: 800px){

    h3.decorated span {
        font-size:6rem;
    }
}



/* index */
.indexBrand ul ,
.indexPickup ul {
    width:100%;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.indexBrand ul li ,
.indexPickup ul li {
    width:49%;
    margin: 0 0 20px;
}
.indexBrand ul li img ,
.indexPickup ul li img {
    max-width:100%;
    border-radius: 10px;
}

@media only screen and (max-width: 800px){
    .indexBrand ul li {
        width:100%;
        margin: 0 0 20px;
    }
}



/* index .giftRanking */
.section.giftRanking ol {
    width:100%;
    margin: 0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.section.giftRanking ol li {
    width:23%;
    margin: 0;
    padding:40px 0 0;
    position: relative;
}
.section.giftRanking ol li::after {
    content: "詳細を見る";
    width:100%;
    margin:auto;
    padding:5px 0;
    position:absolute; bottom:0; left:0; right:0;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
	border-radius: 50px;
	background: #836b59;
}
.section.giftRanking ol li::before {
    content: "";
    width:100%;
    height: 50px;
    position:absolute; top:0; left:0; right:0;
}
.section.giftRanking ol li:nth-of-type(1)::before {background:url("../img/share/giftRanking/1.png") center no-repeat; background-size:contain;}
.section.giftRanking ol li:nth-of-type(2)::before {background:url("../img/share/giftRanking/2.png") center no-repeat; background-size:contain;}
.section.giftRanking ol li:nth-of-type(3)::before {background:url("../img/share/giftRanking/3.png") center no-repeat; background-size:contain;}
.section.giftRanking ol li:nth-of-type(4)::before {background:url("../img/share/giftRanking/4.png") center no-repeat; background-size:contain;}

.section.giftRanking ol li a {
    color: inherit;
    text-decoration: none;
    display:block;
}
.section.giftRanking ol li img {
    max-width:100%;
    border-radius: 10px;
}
.section.giftRanking ol li h4 {
    padding:10px 0 45px;
    font-size: 1.5rem;
    text-align:left;
    letter-spacing:0;
}

@media only screen and (max-width: 800px){
    .section.giftRanking ol {
        width:90%;
    }
    .section.giftRanking ol li {
        width:48%;
        margin: 0 0 80px;
    }
    .section.giftRanking ol li::after {
        padding:5px 0;
        font-size:2.6rem;
    }
    .section.giftRanking ol li h4 {
        padding:15px 0 2.5em;
        font-size:2.8rem;
        line-height:1.3;
    }
}


/* fs-c-productList__list */
.fs-c-productImage__image {
    border-radius: 10px;
}

a.fs-c-button--plain {
	background:#ec6e7c !important;
}



/* indexCategory */

.indexCategory ul {
    width:100%;
    margin: 0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.indexCategory ul li {
    width:23%;
    margin: 0 0 20px;
}
.indexCategory ul li img {
    max-width:100%;
    border-radius: 10px;
}

@media only screen and (max-width: 800px){
    .section.indexCategory ul {
        width:90%;
        padding: 0;
    }
    .section.indexCategory ul li {
        width:48%;
    }
}



/* c-inner */
.c-inner {
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.c-inner h3 {
    margin:0 auto 30px;
}
.c-inner h3 img {
    max-height:100px;
    margin:0 auto;
    display:block;
}
.c-inner h3 span {
    display:block;
    font-size:1.5rem;
    font-weight:700;
    text-align:center;
}

@media only screen and (min-width: 801px){
    .indexCategory.half {
        width:50%;
    }
    .indexCategory.half ul {
        justify-content:center;
    }
    .indexCategory.half ul li {
        width:222px;
    }
    .indexCategory.half-yakumoya ul {
        justify-content:center;
    }
    .indexCategory.half-yakumoya ul li {
        margin:12px;
    }
}
@media only screen and (max-width: 800px){
    .c-inner h3 {
        margin-top:30px;
    }
    .c-inner h3 img {
        max-height:160px;
        margin:0 auto;
        display:block;
    }
    .c-inner h3 span {
        font-size:3rem;
    }
    .indexCategory.half ul {
        justify-content:center;
    }
}


/* indexScene */
.indexScene ul {
    width:100%;
    margin: 0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.indexScene ul li {
    width:23%;
    margin: 0 0 20px;
}
.indexScene ul li img {
    max-width:100%;
    border-radius: 10px;
}

.section.indexSafety {margin-bottom: 0;}
.section.indexSafety h3 {line-height: 1.2;}
.section.indexSafety h3 small:first-child {margin-bottom: -20px; font-size: 0.55em;}
.section.indexSafety ul {
	display: flex; flex-wrap: wrap; justify-content: space-between;
	margin-top: 20px; margin-bottom: 0;}
.section.indexSafety li {position: relative; display: inline-block;
	width: calc((100% - 20px) / 2); padding: 40px 0; margin: 0; text-align: center;
	border-top: 2px solid #d3cab4;}
.section.indexSafety li:nth-child(3),
.section.indexSafety li:nth-child(4) {border-bottom: 2px solid #d3cab4;}
.section.indexSafety li:last-child {width: 100%; border-top: none;}
.section.indexSafety li img {display: inline-block; margin-bottom: 20px;}
.section.indexSafety li h4 {padding: 0 0 12px; font-size: 1em; line-height: 1.25; text-align: center;}
.section.indexSafety li h4 b {font-size: 1.5em; color: #ec6e7c;}
.section.indexSafety li:nth-child(1) h4 b {margin: 0 !important;}
.section.indexSafety li p {font-size: 0.8em; text-align: center;}
.section.indexSafety li p a {display: inline-block; padding: 0.2em 1.5em; margin: 0.2em 0 0;
	border-radius: 100px;
	color: inherit; text-align: center; text-decoration: none; border: 2px solid #342f24;}

.section.indexOfficegift {text-align: center;}

.section.blogInclude {position: relative;}
.section.blogInclude h4 {padding: 0 20px; margin: 0 0 20px;
	color: #c8a063; font-size: 1.33em; }
.section.blogInclude h4 img {display: inline-block; margin: 0 20px 0 0;
	vertical-align: middle;}
.section.blogInclude div {margin-bottom: 40px;}
.section.blogInclude div:last-child {margin-bottom: 0;}
.section.blogInclude p.top {padding: 10px 0 8px; margin: 0 20px 20px; color: #fff; text-align: center; background: #c8a063;}
.section.blogInclude iframe {display: block; width: 100%; height: 600px;}
.section.blogInclude ul {padding: 0; margin: 0 20px; border-top: 2px solid #d6cdb9;}
.section.blogInclude ul li {padding: 20px 0; margin: 0; border-bottom: 2px solid #d6cdb9;}
.section.blogInclude ul li > a {color: inherit; text-decoration: none; display: block; padding-right: 50px;
	background: url("../img/index/main-next.png") right center /30px auto no-repeat;}
.section.blogInclude ul li img {max-width: 25%; float: left; display: inline; margin: 0 20px 0 0;}
.section.blogInclude ul li span {display: block; color: #c8a063;}

.section.blogInclude-tyumon {}
.section.blogInclude-tyumon h4 {color: #ec6e7c; }
.section.blogInclude-tyumon ul li img {width: 120px;}

.blogInclude-tyumon .slick-arrow {display: none !important;}

.section.indexBanner ul {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.section.indexBanner li {width: calc((100% - 20px) / 2); padding: 0 0 20px;}
.section.indexBanner li img {width: 100%; border-radius: 10px;}

.section.indexBanner02 img {display: block; margin: 0 auto;}
.section.indexBanner02 ul {margin-bottom: 60px;}
.section.indexBanner02 li + li {margin-top: 20px;}

.section.indexCalendar p.top {padding: 0; margin: 20px 0 40px; text-align: center;}

.section.indexCalendar {}
.section.indexCalendar .calendar {position: relative; padding: 0;}
.section.indexCalendar #indexCalendar-inner div {width: 100%;}
.section.indexCalendar #indexCalendar-inner div:last-child {display: none;}
.section.indexCalendar #indexCalendar-inner h4 {padding: 0 0 0.2em; font-size: 1.8em; text-align: center;}
.section.indexCalendar #indexCalendar-inner ul {display: flex; flex-wrap: wrap; align-items: flex-start;}
.section.indexCalendar #indexCalendar-inner li {width: calc((100% - 7px) / 7); margin: 0 1px 1px 0; line-height: 2.4; text-align: center;}
.section.indexCalendar #indexCalendar-inner li.top {background: #f1ece0; padding: 0.2em 0 0.1em; font-size: 0.85em; line-height: 1;}
.section.indexCalendar #indexCalendar-inner li.top.sat {background: #b7d2e6;}
.section.indexCalendar #indexCalendar-inner li.top.sun {background: #f0b9b6;}
.section.indexCalendar #indexCalendar-inner li.w6 {color: #3573c7;}
.section.indexCalendar #indexCalendar-inner li.w0 {color: #ec6e7c;}
.section.indexCalendar #indexCalendar-inner li.w2:nth-child(8) {margin-left: calc(((100% - 7px) / 7) + 1px);}
.section.indexCalendar #indexCalendar-inner li.w3:nth-child(8) {margin-left: calc((((100% - 7px) / 7) * 2) + 2px);}
.section.indexCalendar #indexCalendar-inner li.w4:nth-child(8) {margin-left: calc((((100% - 7px) / 7) * 3) + 3px);}
.section.indexCalendar #indexCalendar-inner li.w5:nth-child(8) {margin-left: calc((((100% - 7px) / 7) * 4) + 4px);}
.section.indexCalendar #indexCalendar-inner li.w6:nth-child(8) {margin-left: calc((((100% - 7px) / 7) * 5) + 5px);}
.section.indexCalendar #indexCalendar-inner li.w0:nth-child(8) {margin-left: calc((((100% - 7px) / 7) * 6) + 6px);}
.section.indexCalendar #indexCalendar-inner li.holiday {color: inherit; background: #f7e3bb;}
.section.indexCalendar .calendar p {padding: 10px 0 0;}
.section.indexCalendar .calendar p span {display: inline-block; color: #f7e3bb; font-size: 3em; letter-spacing: 0; vertical-align: middle;}
.section.indexCalendar .calendar a.pager {position: absolute; left: 20px; top: 0.6em;
	display: block; width: 60px; height: 1.6em;
	background: url("../img/index/main-prev.png") left center /contain no-repeat;}
.section.indexCalendar .calendar a.pager#indexCalendar-next {left: auto; right: 20px;
	background-image: url("../img/index/main-next.png"); background-position: right center;}

.section.indexCalendar p.hassou {padding: 20px 0 10px; margin: 20px; border: 4px solid #ec6e7c; text-align: center;}
.section.indexCalendar p.hassou small {display: block; text-align: center;}
.section.indexCalendar p b {color: #ec6e7c; font-size: 1.5em;}

.section.indexSchedule {padding: 0 20px;}
.section.indexSchedule h3 {padding: 20px 0 0; background: none;}
.section.indexSchedule div.table {padding: 40px 0 90px;}
.section.indexSchedule table {width: 100%; margin: 0; border-top: 2px solid #d3cab4; border-collapse: collapse;}
.section.indexSchedule table th,
.section.indexSchedule table td {padding: 0.5em 1em; border-bottom: 2px solid #d3cab4; vertical-align: middle; white-space: normal;}
.section.indexSchedule table th {color: #c8a063; background: rgba(186,159,98,0.2);}
/*.section.indexSchedule table tr:nth-child(2) th {color: #bd7f1e;}
.section.indexSchedule table tr:nth-child(3) th {color: #d14c12;}*/
.section.indexSchedule table td {text-align: center; white-space: nowrap;}
.section.indexSchedule .table p {padding: 10px 0 0; margin: 0; font-size: 0.9em;}

@media only screen and (max-width: 800px){
    .section.indexScene ul {
        width:90%;
        padding: 0;
    }
    .section.indexScene ul li {
        width:48%;
    }
}


/* contents */
h2#pageTitle-text {
    margin:0 auto 30px;
    padding:10px 0;
    font-size:2rem;
    text-align:center;
    border-top:1px solid #342f24;
    border-bottom:1px solid #342f24;
}

h2#pageTitle {
    width:100%;
    margin:0 auto 30px;
    position:relative;
    overflow:hidden;
}
h2#pageTitle > span {
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    font-size:3.8rem;
    font-weight:900;
    color:#fff;
    letter-spacing:0.5rem;
    position:absolute; top:0; bottom:0; left:0; right:0;
}
h2#pageTitle > span {
    font-family: 'Zen Old Mincho', serif;
}
h2#pageTitle > span > span.en {
    width:100%;
    display:block;
    font-size:3rem;
    letter-spacing:0;
    color:#f5b2b2;
    text-align:center;
}
h2#pageTitle img {
    max-width:100%;
    margin:0 auto;
    display:block;
    border-radius:10px;
}

@media only screen and (max-width: 800px){
    h2#pageTitle-text {
        width:96%;
        margin-top: 50px;
        font-size:3.5rem;
    }
}
@media only screen and (max-width: 800px){
    h2#pageTitle > span {
        font-size:5rem;
    }
    h2#pageTitle > span > span.en {
        font-size:4rem;
    }
    h2#pageTitle img {
        border-radius:0;
    }
}


.pageBanner {text-align: center; margin: 40px 20px;}
.pageBanner img {margin: 0 auto;}
.pageBanner li + li {margin-top: 20px;}


.topcopy {padding: 0 20px 4em; text-align: center;}
.topcopy p.kikan {display: inline-block; padding: 0 1em 0.6em; color: #ec6e7c; font-size: 1.5em;}
.topcopy p.kikan small {font-size: 0.7em; padding-right: 4px;}
.topcopy p { font-size: 1.2em; text-align: center;}
.topcopy p span {display: inline-block; padding: 0.5em 0 0; margin: 0;
	background: url("../img/share/underline.png") left bottom no-repeat; white-space: nowrap;}
.topcopy ul {margin: 1.5em 0 0; font-size: 1em; text-align: left;}
.topcopy li {display: inline-block; padding: 10px 20px 10px 60px; margin: 0 2px 10px;
	/*color: #ec6e7c; */white-space: nowrap;
	background: #ffec7c url("../img/letter/check.png") 10px center no-repeat;
	border-radius: 100px;}


.section {padding: 0 0 60px;}
.section h3 b {color: #ec6e7c;}
.section .title {padding: 0 0 1em;}
.section .title h3 {padding: 0 0 0.5em 20px; font-size: 2em;
	background: url("../img/share/title-bg.png") right top no-repeat;}
.section .title h3 b {display: inline-block; width: 96px; height: 96px;
	color: #fff; line-height: 96px; letter-spacing: 0; text-align: center;
	background: url("../img/share/title.png") center /contain no-repeat;}
.section .title h3 small {font-size: 0.7em;}
.section .title p {padding: 0 20px;}


.section .title-underline h3 {padding: 0 20px; text-align: center;}
.section .title-underline h3 span {display: inline-block; padding: 0.4em 0 0.1em;
	line-height: 1; white-space: nowrap;
	background: url("../img/share/title-underline.png") left bottom repeat-x;}
.section .title-underline p {padding: 20px 20px 40px;}


.section ul,
.section dl {padding: 0 20px;}
.section span.btn {display: inline-block; padding: 0.4em 2em; margin: 0.5em 0 0;
	color: #fff; font-size: 0.95em; background: url("../img/share/bg-dark.jpg") center no-repeat;
	border-left: 6px solid #ec6e7c;}


/* お問い合せ */
.section.contact {padding: 40px 20px 60px; margin: 0 0 120px; background: rgba(52,47,36,0.6); color: #fff;}
.section.contact:last-child {margin-bottom: 0;}
.section.contact span {display: inline-block; white-space: nowrap;}
.section.contact h3 {font-size: 1.2em;text-align: center;}
.section.contact h4 {padding: 20px 0 10px; font-size: 1.2em;}
.section.contact h4,
.section.contact p {border-top: 2px solid #fff; text-align: center;}
.section.contact p {padding: 30px 0;}
.section.contact p.tel img {display: block; margin: 0 auto 26px;}
.section.contact ul {padding: 0; text-align: center; white-space: nowrap;}
.section.contact li {display: inline-block;}
.section.contact li img {height: 90px; }


/* 検索窓 */
div.searchBox {padding: 0 20px; background: rgba(52,47,36,0.6); color: #fff; font-size: 0.7em;}

div.searchBox .search h3,
div.searchBox .search .gcse-searchOuter {display: inline-block; vertical-align: top;}
div.searchBox .search .gcse-searchOuter {background: #fff; border: 4px solid #fff; border-radius: 4px; overflow: hidden; height: 36px;}
div.searchBox #___gcse_0,
div.searchBox .gsc-control-cse,
div.searchBox .gsc-control-wrapper-cse,
div.searchBox .gsc-search-box,
div.searchBox .gsc-search-box th,
div.searchBox .gsc-search-box td{padding: 0 !important; margin: 0 !important; border: none !important;}

div.searchBox .search dl {padding: 10px 0 0; font-size: 0.9em;}
div.searchBox .search dl dt,
div.searchBox .search dl dd {display: inline-block; white-space: nowrap;}
div.searchBox .search dl dd a {color: inherit; margin-right: 0.5em;}

@media only screen and (max-width: 800px){
	div.searchBox .search .gcse-searchOuter {height: 64px;}
	div.searchBox div#gsc-iw-id1,
	div.searchBox div#gsc-iw-id1 input{height: 60px; padding: 0 !important; margin: 0 !important;
		font-size: 30px; line-height: 60px; border-radius: 0 !important;}
	div.searchBox td.gsc-search-button{padding: 0 !important; margin: 0 !important;}
	div.searchBox button.gsc-search-button {width: 100px; height: 60px; border-radius: 0;}
	div.searchBox svg {width: 30px !important; height: 30px !important;}
}


/* その他 */
.section.photoGallery ul {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;
	margin-bottom: 60px;}
.section.photoGallery li {position: relative; display: inline-block;
	width: calc((100% - 20px) / 2); margin-bottom: 20px; text-align: center; vertical-align: top;}
.section.photoGallery li img {max-width: 100%;}
.section.photoGallery li p {padding: 10px 10px 30px; font-size: 0.9em;}
.section.photoGallery li span {position: absolute; display: block; left: -10px; top: -10px;
	width: 90px; height: 90px;
	color: #fff; font-size: 44px; line-height: 1; text-align: center;
	background: url("../img/share/bg-dark.jpg") center no-repeat;
	border-left: 6px solid #ec6e7c;}
.section.photoGallery li span small {display: block; padding: 10px 0 0;
	color: #d5b156; font-size: 24px; text-align: center;}

.section.reasonList ul {margin-top: -30px;}
.section.reasonList li {position: relative; padding: 30px 0; margin: 0; border-bottom: 2px solid #d5cdb8;}
.section.reasonList li img {float: right; display: inline; max-width: 30%; margin: 0 0 20px 20px;}
.section.reasonList li h4 {display: flex; align-items: center;
	padding: 0 0 10px 100px; min-height: 80px; color: #c8a063; font-size: 1.2em;}
.section.reasonList li p {font-size: 0.9em;}
.section.reasonList li span {position: absolute; display: block; left: 0; top: 30px;
	width: 70px; height: 70px;
	color: #fff; font-size: 44px; line-height: 70px; text-align: center;
	border-left: 4px solid #ecb50f;
	background:#836b59;}

.section.pickupItem li:first-child {border-top: 2px solid #d5cdb8;}
.section.pickupItem li {padding: 40px 0; border-bottom: 2px solid #d5cdb8; text-align: right;}
.section.pickupItem li a {color: inherit; text-decoration: none;}
.section.pickupItem li img {float: left; display: inline; max-width: 30%; margin: 0 20px 20px 0;}
.section.pickupItem li h4 {padding: 0; color: #ec6e7c; font-size: 1.4em; text-align: left;}
.section.pickupItem li h4 small {display: block; font-size: 0.7em;}
.section.pickupItem li p {overflow: hidden; zoom: 1; text-align: left;}

.section.processList h3 {
    width: 100%;
    margin: 0 auto 30px;
    padding: 15px 35px;
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.3rem;
    border-radius: 5px;
    background: #ec6e7c;
}
.section.processList li {position: relative; margin: 0 0 60px;}
.section.processList li h4 {padding: 20px 0 20px 140px; font-size: 1.4em; text-align: left;}
.section.processList li p {padding: 30px 30px 30px; background: #e7e0db; border-radius: 5px;}
.section.processList li p img {display: block; width: 100%; margin: 0.5em 0 0;}
.section.processList li span {position: absolute; display: block; left: -10px; top: -10px;
	width: 130px; height: 130px;
	color: #fff; font-size: 60px; line-height: 1; text-align: center; border-radius: 100px;
	background: #836b59 center no-repeat;}
.section.processList li span small {display: block; padding: 20px 0 0;
	color: #ffec7c; font-size: 32px; text-align: center;}

.section.processList .clearfix img.flow {border: 2px solid #d3cbb6; display: block; width: 720px; margin: 40px auto 0;}

@media only screen and (max-width:800px){
    .section.processList h3 {
        width:95%;
        padding:25px 35px;
        font-size: 3rem;
    }
}


.section.giftService li {padding: 0 0 40px;}
.section.giftService li h4 {color: #ec6e7c; font-size: 1.2em;}
.section.giftService li img {float: left; display: inline; max-width: 36%; margin: 0 20px 20px 0;}
.section.giftService li:nth-child(2n) img {float: right; margin-right: 0; margin-left: 20px;}
.section.giftService img.center {display: block; max-width: 100%; margin: 40px 20px 100px;}

.section.greeting {padding: 60px 40px 400px; margin: 0 20px 4em; border: 10px solid #d5cdb8;
	background: #fff url("../img/category/greeting.jpg") right bottom /contain no-repeat;}
.section.greeting h3 {padding: 150px 0 30px; margin: 0 0 30px;
	color: #ec6e7c; font-size: 1.3em; line-height: 1.5; text-align: center;
	border-bottom: 1px solid #d5cdb8;
	background: url("../img/share/logo-mark.png") center top /110px auto no-repeat;}
.section.greeting span {display: inline-block; white-space: nowrap;}
.section.greeting p {padding: 0 0 2em; font-size: 0.9em; line-height: 2;}
.section.greeting p.bottom {padding: 0; text-align: right;}


.section.priceSearch ul {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.section.priceSearch li {position: relative; display: inline-block;
	width: calc((100% - 20px) / 2); margin-bottom: 20px; text-align: center; vertical-align: top;
	background: url("../img/share/bg-dark.jpg") repeat;}
.section.priceSearch li p {text-align: center;}
.section.priceSearch li a {display: block; margin: 0.25em;
	color: #fff; font-size: 1.1em; line-height: 3; text-decoration: none; white-space: nowrap;
	background: url("../img/share/bg-dark.jpg") repeat; border: 1px solid #d5b156;}

.section.categorySearch li {
	margin-bottom: 20px; text-align: center;}
.section.categorySearch li a {
	display: grid;
	background: url("../img/share/bg-dark.jpg") center top repeat;
	color: inherit; text-decoration: none;}
.section.categorySearch li img {display: block; width: 100%;}
.section.categorySearch li div {
	padding: 30px 20px;}
.section.categorySearch li h4 {color: #c8a063; font-size: 1.2em;}
.section.categorySearch li p {padding: 0 0 10px; color: #fff; font-size: 0.9em;}
.section.categorySearch li span.btn {
	background: #ec6e7c;
	border-left: none;}

.section.manners img {max-width: 100%;}
.section.manners li {padding-bottom: 40px;}
.section.manners h4 {padding: 0.1em 0 0.1em 0.5em; margin: 0 0 10px;
	font-size: 1.2em; font-weight: bold; border-left: 6px solid #342f24;}
.section.manners table {width: 100%; border-top: 2px solid #d5cdb8;}
.section.manners th,
.section.manners td {padding: 0.5em; border-bottom: 2px solid #d5cdb8; vertical-align: middle;}
.section.manners th {background: rgba(186,158,98,0.2);}
.section.manners td {font-size: 1.2em; text-align: center; white-space: nowrap;}

.section.aboutRenmei h3 {padding-bottom: 0;}
.section.aboutRenmei .clearfix {margin: 0 20px;}
.section.aboutRenmei .clearfix img {max-width: 100%;}
.section.aboutRenmei .clearfix p {padding: 0 0 20px;}
.section.aboutRenmei .clearfix dl {padding: 0 0 20px;}
.section.aboutRenmei .clearfix dl dt,
.section.aboutRenmei .clearfix dl dd {display: inline;}
.section.aboutRenmei .clearfix dl dt {font-weight: bold;}

.section.aboutService ul {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.section.aboutService li {position: relative; display: inline-block;
	padding: 0; margin-bottom: 20px;
	text-align: center; vertical-align: top;}
.section.aboutService li img {display: block; max-width: 100%;}

.section.aboutGiftWrap ul {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.section.aboutGiftWrap li {position: relative; display: inline-block;
	padding: 0; margin-bottom: 20px;
	text-align: center; vertical-align: top;}
.section.aboutGiftWrap li img {display: block; max-width: 100%;}


.yakumoyaGenten {padding: 40px 0 120px; background: url("../img/index/genten-bg.jpg") center top no-repeat;}
.yakumoyaGenten h3 {padding: 0 40px;}
.yakumoyaGenten p.c01 {padding: 0 40px 400px 40px;
	background: url("../img/index/genten-photo1.png") 100px 305px no-repeat; }
.yakumoyaGenten p.c02 {padding: 0 40px 560px 40px;
	background: url("../img/index/genten-photo2.png") -20px 460px no-repeat; }
.yakumoyaGenten p.yurai {padding: 0 0 0 40px;}

.yakumoyaKodawari {padding: 90px 40px 140px; margin-bottom: 80px; color: #fff;
	background: #191818 url("../img/index/kodawari-bg.jpg") center top no-repeat;}
.yakumoyaKodawari h3 img {display: inline-block; vertical-align: top;}
.yakumoyaKodawari h3 img:first-child {margin-bottom: 38px;}
.yakumoyaKodawari ul {padding: 110px 0 0;}
.yakumoyaKodawari li {padding: 90px 0 0;}
.yakumoyaKodawari div.text {padding-bottom: 20px;}
.yakumoyaKodawari div.text h4 {color: #f9c815; font-size: 1.4em; text-align: center;}
.yakumoyaKodawari div.photo {position: relative;}
.yakumoyaKodawari div.photo img.text {position: absolute; right: -10px; bottom: -55px;}
.yakumoyaKodawari li.c02 div.photo img.text,
.yakumoyaKodawari li.c04 div.photo img.text {left: -30px; right: auto;}


.fs-c-breadcrumb {
    margin-bottom:30px;
    padding: 10px 20px;
}

.letterNotice {padding: 10px 36px; margin: 0 20px; border:solid 5px #e7e0db; border-radius: 5px;}
.letterNotice h3 {padding: 0 0 0 15px; margin: 0 0 0.5em;
	font-size: 1.2em; font-weight: bold;
	border-left: 5px solid #ec6e7c}
.letterNotice ul {padding: 0;}
.letterNotice li {padding: 1.6em 0 1.4em; border-bottom: 1px solid #e7e0db}
.letterNotice li:last-child {border: none;}
.letterNotice li ul {padding-top: 0.5em;}
.letterNotice li p,
.letterNotice li li { margin: 0 0 10px; }
.letterNotice li p {padding: 1em; margin: 15px 0; background: #e7e0db; border-radius: 5px;}
.letterNotice li li {padding: 0 0 0 44px; border: none; background: url("../img/letter/check.png") left 4px no-repeat;}
.letterNotice li a {word-break: break-all;}



/* qa */
.qa h4 {
    width:100%;
    margin: 0 auto 30px;
    padding:15px 35px;
    font-size: 2rem;
    font-weight:700;
    color: #fff;
    letter-spacing: 0.3rem;
    border-radius: 5px;
    background:#ec6e7c;
}
.qa dl {
    margin: 0 0 80px;
}
.qa dl dt ,
.qa dl dd {
    width:100%;
    border:solid 5px #e7e0db;
}
.qa dl dt {
    margin:0;
    padding:10px 30px;
    font-weight: 700;
    background: #e7e0db;
    border-radius: 5px 5px 0 0;
    border-bottom:none;
}
.qa dl dd {
    margin:0 0 30px;
    padding:20px 30px;
    border-radius: 0 0 5px 5px;
}
.qa dl dd img {
    max-width:100%;
    margin: 20px auto;
    display: block;
}

@media only screen and (max-width:800px){
    .qa h4 {
        width:95%;
        padding:25px 35px;
        font-size: 3rem;
    }
}


/* policy */
.policy h4 {
    width:100%;
    margin: 0 auto 30px;
    padding:15px 35px;
    font-size: 2rem;
    font-weight:700;
    color: #fff;
    letter-spacing: 0.3rem;
    border-radius: 5px;
    background:#ec6e7c;
}
.policy dl {
    margin: 0 0 80px;
}
.policy dl dt ,
.policy dl dd {
    width:100%;
}
.policy dl dt {
    margin:0 0 10px;
    padding-left:25px;
    font-size: 2rem;
    font-weight: 700;
    position:relative;
}
.policy dl dt::after {
    content: "";
    width:8px;
    height:100%;
    position:absolute; top:0; left:0;
    border-radius:2px;
    background:#ec6e7c;
}
.policy dl dd {
    margin:0 0 30px;
    padding-left:25px;
}

.policy dl dd img {
    max-width:100%;
    margin: 20px auto;
    display: block;
}
.policy dl dd ul {
    margin: 20px 0 50px;
    border-top:solid 2px #e7e0db;
}
.policy dl dd ul li {
    padding:15px 0;
    border-bottom:solid 2px #e7e0db;
}
.policy table {
    width:100%;
    margin-bottom:30px;
}
.policy dl dd > table {
    margin-top:20px;
}
.policy table th ,
.policy table td {
    padding:10px 20px;
    line-height: 1.5;
    border-bottom: solid 5px #fff;
}
.policy table th {
    width:200px;
    background:#e7e0db;
}
.policy table td {}

@media only screen and (max-width:800px){
    .policy h4 {
        width:95%;
        padding:25px 35px;
        font-size: 3rem;
    }
    .policy dl dt {
        margin:0 0 20px;
        padding-left:30px;
        padding-right:30px;
        font-size: 3.5rem;
    }
    .policy dl dd {
        margin:0 0 50px;
        padding-left:30px;
        padding-right:30px;
    }
    .policy p ,
    .policy table {
        width:95%;
        margin: 0 auto 30px;
    }
    .policy table th ,
    .policy table td {
        display: block;
        width:100%;
    }
}


/* .policy.f_guide */
.policy.f_guide > ul {
    margin: 0 auto 30px;
    padding: 0;
    display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:flex-start;
}
.policy.f_guide > ul li {
    width: calc((100% - 30px) / 4);
    margin-right: 10px;
    margin-bottom: 10px;
}
.policy.f_guide > ul li:nth-child(4n) {
    margin-right: 0;
}
.policy.f_guide > ul li a {
    display: block;
    padding: 0.5em 0;
    color: inherit;
    text-align: center;
    border: 4px double #342f25;
    text-decoration: none;
}

.policy.f_guide h4 {
    position:relative;
}
.policy.f_guide h4 div[id] {
    position:absolute; top:0; left:0;
}

.policy.f_guide p.underline {
    margin: 0 auto 20px;
    padding:0 0 20px;
    border-bottom:solid 2px #e7e0db;
}

.policy.f_guide dl dd {
    padding-bottom:30px;
    border-bottom:solid 2px #e7e0db;
}

.policy.f_guide dl dd table {
    width:100%;
    margin-bottom:0;
}
.policy.f_guide dl dd table th {
    width:240px;
    vertical-align: middle;
}

.policy.f_guide dl dd .card {
    width:100%;
    margin: 0 auto;
    display:flex; flex-flow:row wrap; justify-content:flex-start; align-content:center; align-items:center;
}
.policy.f_guide dl dd .card b {
    width:100%;
    font-weight: 700;
}
.policy.f_guide dl dd .card img {
    max-width:100%;
    margin:10px 10px 10px 0;
    border:solid 1px #ddd;
}

.policy.f_guide .haisou-map {
    width:100%;
    margin: 0 auto 80px;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-end; align-items:flex-end;
}
.policy.f_guide .haisou-map img {
    width:50%;
    margin: 0;
}
.policy.f_guide .haisou-map table {
    width:48%;
    margin: 0;
}
.policy.f_guide .haisou-map table th ,
.policy.f_guide .haisou-map table td {
    padding: 8px 15px;
    vertical-align: middle;
    line-height: 1.3;
    letter-spacing: 0;
}
.policy.f_guide .haisou-map table th {
    width:225px;
}

.policy.f_guide .haisou-map table td[colspan="2"] {
    padding: 10px 0 0;
}

.policy.f_guide > p {
    margin-bottom:50px;
}

@media only screen and (max-width:800px){
    .policy.f_guide h4 div[id] {
		top:-100px;
    }
    .policy.f_guide > ul {
        width:96%;
        justify-content:space-between; align-items:flex-start;
    }
    .policy.f_guide > ul li {
        width:49.4%;
        margin:5px 0;
    }
    .policy.f_guide dl dd .card {
        justify-content:space-between;
    }
    .policy.f_guide dl dd .card img {
        max-width:19%;
        margin:30px 0;
        border:solid 1px #ddd;
    }
    .policy.f_guide dl dd table th {
        width:100%;
    }
    .policy.f_guide .haisou-map {
        justify-content:center;
    }
    .policy.f_guide .haisou-map img {
        width:90%;
        margin: 0;
    }
    .policy.f_guide .haisou-map table {
        width:90%;
        margin: 80px 0 0;
    }
    .policy.f_guide .haisou-map table th ,
    .policy.f_guide .haisou-map table td {
        padding: 15px 30px;
        line-height: 1.5;
        text-align: center;
        letter-spacing: 0.08rem;
    }
    .policy.f_guide .haisou-map table th br ,
    .policy.f_guide .haisou-map table td br {
        display:none;
    }
    .policy.f_guide .haisou-map table th {
        width:100%;
    }
    .policy.f_guide .haisou-map table td[colspan="2"] {
        margin-top:30px;
        padding-top: 30px;
        border-top:solid 5px #e7e0db;
    }
}
