@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.font_min {
    font-family: 'Noto Serif JP', serif,"Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Symbol","serif";
}

.font_paris {
	font-family: 'Parisienne',"Noto Serif JP", cursive,sans-serif;
}

#wrapper {
	width: 100%;
	overflow: hidden;
}



/* 共通見出し（下線付き） */
.cmn_tit_undrline {
    margin: 0 0 60px 0;
    color: #4D4D4D;
    font-size: 3.0rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.cmn_tit_undrline::after {
    content: '';
    display: block;
    width: 190px;
    margin: 28px auto 0;
    height: 1px;
    background: #4D4D4D;
}

/* 共通見出し（矢印付き） */
.cmn_tit_arr {
    padding: 0 0 0 22px;
    margin: 0 0 30px 0;
    color: #4D4D4D;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.4;
    background-image: url(../img/cmn_tit_arr.svg);
    background-repeat: no-repeat;
    background-position: left top 9px;
}

/* 共通dlリスト */
/* 定義リスト */
.cmn_dl {
	width: 100%;
	margin: auto;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}

.cmn_dl > div {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 1px solid #cccccc;
}

.cmn_dl > div:last-of-type {
	border: none;
}

.cmn_dl dt, .cmn_dl dd {
	text-align: left;
}

.cmn_dl dt {
	width: 23%;
	padding: 18px 15px 18px 30px;
	text-align: left;
}

.cmn_dl dd {
	width: 77%;
	padding: 18px 15px 18px 25px;
}




/* キーカラー */
.cmn_keycolor01 {
	color: #ca9e03;
}

.cmn_keycolor02 {
	color: #edadb5;
}

.cmn_keycolor03 {
	color: #b81c22;
}


/* 角丸 */
.rd10 {
	border-radius: 10px;
}

.rd20 {
	border-radius: 20px;
}

.rd50pct {
	border-radius: 50%;
}

/*基本の下マージン*/
.mgn0 {
	margin-bottom: 0 !important;
}

.mgn30 {
	margin-bottom: 30px !important;
}

.mgn50 {
	margin-bottom: 50px !important;
}

.mgn80 {
	margin-bottom: 80px !important;
}

/*基本の上マージン*/
.mgn_t_20 {
	margin-top: 20px !important;
}


/* ボタン */
.cmn_btn {
	display: flex;
	margin: auto;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
}

.cmn_btn_left {
	justify-content: flex-start;
}

.cmn_btn_right {
	justify-content:flex-end;
}

.cmn_btn_between {
	justify-content: space-around;
}


.cmn_btn a {
	display: inline-block;
	min-width: 250px;
	padding: 18px 35px 18px 20px;
	margin-top: 10px;

	text-align: center;
	color: #3c3c3c;
	letter-spacing: 2px;

	border:1px solid #9d9d9d;
	border-radius: 5px;

	background-repeat: no-repeat;
	background-position: right 15px center;

	background-image: url("../img/cmn_arr_r_black.svg");
	background-color: #FFFFFF;
}


.cmn_btn a.type_a {
	/* デフォルトと同じ */
}

.cmn_btn a.type_a:hover {
	background-color: #f2f2f2;
}

.cmn_btn a.type_b {
	border:none;
	background-image: url("../img/cmn_arr_r_white.svg");
	background-color: #ca9e03;
	color: #FFFFFF;
}

.cmn_btn a.type_b:hover {
	background-color: #d4b135;
}


/* ページ共通コンテンツ枠 */
.cmn_conts_wrapper {
	padding: 100px 0 150px 0;
	background: #fcfcfc;
}


/* 共通問合せ */

.cmn_contact_continer {
	
}

.cmn_contact_box {
	display: flex;
	max-width: 1000px;
	margin: auto;
	background-color: #f7f0d9
}

.cmn_contact_photo {
	width: 50%;
	background: url("../img/cmn_contact_photo.jpg") no-repeat center / cover;
}

.cmn_contact_info {
	width: 50%;
	padding: 70px 10px 80px 60px;
}

.cmn_contact_info h3 {
	margin: auto auto 12px auto;
	font-size: 2rem;
	font-weight: normal;
}

.cmn_contact_info p {
	margin-bottom: 30px;
}

.cmn_hr {
	width: 50px;
	margin: 30px 0;
}


.cmn_info_flexbox {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	padding: 40px 0px;
	background: #f7f0d9;
}

.cmn_info_flexbox_title {
	width: 50%;
	display: flex;
	justify-content: center;
}

.cmn_info_flexbox_title > div {
	font-size: 2.4rem;
	letter-spacing: 3px;
}

.cmn_info_flexbox_title > div > small {
	font-size: 1.8rem;
}

.cmn_info_flexbox_conts {
	width: 50%;
}

.cmn_info_flexbox_conts p {
	margin: auto auto 15px auto;
	line-height: 150%;
	font-size: 1.8rem;
}

.cmn_info_flexbox_conts p span {
	font-size: 1.8rem;
}

.cmn_info_flexbox_conts p strong {
	font-size:3.6rem;
	font-weight: normal;
}

.cmn_info_flexbox_conts p small {
	font-size: 1.4rem;
}







.cmn_h2 {
	padding: 0 0 0 20px;
	margin: auto auto 30px auto;
	font-size: 1.8rem;
	font-weight: normal;
	background: url("../img/cmn_arr_r_yellow.svg") no-repeat 0 50%;
}



/* スマホメニュー */


#header_spmenu {
	position: fixed;
	top:0;
	right: 0;
    display: block;
    width: 86px;
    height: 86px;
	z-index: 1000;
}

#header_spmenu_check {
    display: none;
}

#header_spmenu_open {
    display: inline-block;
    width: 100%;
    height: 100%;
    background: url(../img/header_modal_open.svg) no-repeat;
	background-position: center;
    cursor: pointer;
}

#header_spmenu_close_bg {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
}

#header_spmenu_check:checked ~ #header_spmenu_close_bg {
    display: inline-block;
    background: rgba(0, 0, 0, 0.7);
}

#header_spmenu_conts {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    display: block;
    width: 100%;
    max-height: 100%;
    background: #FFFFFF;
    overflow: auto;
    transform: translate(0,-120%);
    transition: transform .35s;
    text-align: center;
}

#header_spmenu_check:checked ~ #header_spmenu_conts {
    transform: translate(0,0);
}


#header_spmenu_conts > a {
    display: inline-block;
    padding: 0 3%;
    margin: 30px 0 40px;
    text-align: center;
}

#header_spmenu_conts ul {
    margin: 0 0 40px 0;
}

#header_spmenu_conts li {
    margin: 0 0 20px 0;
}

#header_spmenu_conts li a {
    display: inline-block;
}

#header_spmenu_conts li a span {
    display: block;
    margin: 0 0 5px 0;
    font-size: 1.6rem;
}

#header_spmenu_conts li a small {
    display: block;
    color: #dabb4f;
    font-size: 1.1rem;
    letter-spacing: 0.15rem;
}


#header_spmenu_close_btn {
    display: inline-block;
    width: 100%;
    padding: 10px 0;
    background-color: #ca9e03;
    cursor: pointer;
}

#header_spmenu_close_btn span {
    display: inline-block;
    padding: 0 0 0 22px;
    background-image: url(../img/header_spmenu_close.svg);
    background-repeat: no-repeat;
    background-position: left top 5px;
    background-size: 14px;
    color: #FFFFFF;
}




/* footer */
footer {
    background: #fcfcfc;
}

.cmn_footer_navi {
	margin: auto auto 70px auto;
	box-shadow: 0px 0px 40px 20px rgba(0,0,0,0.05);
}

.cmn_footer_navi ul {
	display: flex;
	justify-content: space-between;
}

.cmn_footer_navi ul li a {
	display: inline-block;
	padding: 20px 0;
}

footer address {
	padding: 0 0 20px 0;
	font-style: normal;
	text-align: center;
	font-size: 1.2rem;
}

.footer_gotop {
    position: fixed;
    right: 40px;
    bottom: 0px;
    display: none;
}

.footer_gotop a {
	display: block;
	width: 60px;
	padding: 20px 0;
	background-color: #FFFFFF;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	text-align: center;
	box-shadow: 0px 0px 40px 20px rgba(0,0,0,0.08);
}


/* sub /////////////////////////////////////////////////////////////////////////////////////////// */


.sub_header {
	position: relative;
	z-index: 999;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 86px;
    padding: 0 0 0 2%;
	background: #fcfcfc;
}


.sub_header_logo {
    flex-shrink: 0;
    display: inline-block;
    width: 24%;
    max-width: 370px;
    margin: 0 1% 0 0;
}

.sub_header_logo a {
    display: block;
    width: 100%;
}

.sub_header_gnav {
    width: 100%;
    max-width: 780px;
    margin: 0 70px 0 auto;
}

.sub_header_gnav,
.sub_header_gnav ul,
.sub_header_gnav li,
.sub_header_gnav a {
    height: 100%;
}

.sub_header_gnav ul {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.sub_header_gnav li {
    width: 140px;
}

.sub_header_gnav li:first-of-type {
	width: 120px;
}

.sub_header_gnav li:last-of-type {
	width: 150px;
}

.sub_header_gnav a {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    text-align: center;
    padding: 0 4%;
}


.sub_header_gnav a span {
    display: block;
    width: 100%;
    margin: 0 0 5px 0;
    font-size: 1.6rem;
	letter-spacing: 2px;
}

.sub_header_gnav a small {
    display: block;
    width: 100%;
	color: #dabb4f;
    font-size: 1.1rem;
    letter-spacing: 0.15rem;
}


/* 共通ページタイトル */
.sub_page_title {
    position: relative;
    display: flex;
    align-items: center;
	justify-content: center;
    height: 200px;
    background-image: url(../img/items_main.jpg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
	box-shadow: 0px 0px 40px 20px rgba(0,0,0,0.05);
	z-index: 999;
}



.sub_page_title h1 {
    position: relative;
	text-align: center;
	font-weight: normal;
	font-size: 2.8rem;
}

.sub_page_title h1 small {
    font-size: 2.1rem;
}















/* home /////////////////////////////////////////////////////////////////////////////////////////// */


.home_header {
	position:absolute;
	top:0;
	width: 100%;
	z-index: 999;
}

.home_logo {
	text-align: center;
	padding-top: 30px;
}


.home_mainimg {
	position: relative;
	box-shadow: 0px 10px 40px -5px rgba(0,0,0,0.08);
}

.home_mainimg > ul {
    position: relative;
    width: 100%;
}

.home_mainimg [class*="slick-"],
.home_mainimg [class*="slick-"]:focus {
    /* slick関連要素の枠線を透明に */
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: 1px solid transparent;
}


/* slick上書き */
.slick-dots {
    bottom: 10px !important;
}

.slick-dots li button {
	color: rgba(255,255,255,1) !important;
}

.slick-dots li button:before {
    color: #FFFFFF !important;
}

.slick-dots li.slick-active button:before {
    color: #ca9e03 !important;
}

.slick-dotted.slick-slider {
	margin-bottom: 0 !important;
}



.home_mainimg [class^="slide"] {
    height: 80vh;
    min-height: 550px;
    background-image: url(../img/home_mainimg01.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home_mainimg .slide01 {
    background-image: url(../img/home_mainimg01.jpg);
}
.home_mainimg .slide02 {
    background-image: url(../img/home_mainimg02.jpg);
	background-position: center right;
}
.home_mainimg .slide03 {
    background-image: url(../img/home_mainimg03.jpg);
}

.home_main_copy {
	width: 90%;
	max-width: 1200px;
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.home_main_copy_gift {
	font-size: 3.6rem;
}

.home_main_copy_sentence {
	font-size: 2rem;
	line-height: 180%;
	padding: 0 0 0 40px;
}

.home_navi {
	box-shadow: 0px 10px 40px -5px rgba(0,0,0,0.05);
	position: relative;
}

.home_navi ul {
	display: flex;
	justify-content: space-around;
	padding: 40px 0;
}

.home_navi li {
}

.home_navi li a {
	display: block;
	padding: 0 0 0 50px;
	background-image: url(../img/header_nav_goods.svg);
	background-position: 0 50%;
	background-repeat:no-repeat;
}

.home_navi li:nth-of-type(1) a {
	background-image: url(../img/header_nav_goods.svg);
}

.home_navi li:nth-of-type(2) a {
	background-image: url("../img/header_nav_shop.svg");
	padding: 0 0 0 60px;
}

.home_navi li:nth-of-type(3) a {
	background-image: url("../img/header_nav_about.svg");
}

.home_navi li:nth-of-type(4) a {
	background-image: url("../img/header_nav_contact.svg");
	padding: 0 0 0 60px;
}

.home_navi li span {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 3px;
}

.home_navi li small {
	color: #dabb4f;
	font-size: 1.2rem;
	letter-spacing: 1.5px;
}


.home_item_container {
	width:100%;
	max-width: 1200px;
	margin: auto;
}

.home_item_container section {
	display: flex;
	max-width: 1000px;
	width: 90%;
	background: #FFFFFF;
	box-shadow: 0px 0px 40px 20px rgba(0,0,0,0.05);
}

.home_item_container section h2 {
	margin: auto auto 30px auto;
}

.home_item_container .home_item_left {
	margin: auto auto 120px 0;
	background:url("../img/cmn_doubleline_r.svg") repeat-y right;
}

.home_item_container .home_item_right {
	margin: auto 0 120px auto;
	background:url("../img/cmn_doubleline_l.svg") repeat-y;
	flex-direction:row-reverse;
}

.home_item_container figure {
	width: 50%;
}

.home_item_container figcaption {
	width: 50%;
	padding-left: 8%;
	padding-right: 30px;
	display: flex;
	align-items: center;
}

.home_item_container figcaption p strong {
	display: block;
	margin-bottom: 15px;
	font-size: 1.8rem;
}

.home_item_container figcaption p {
	margin-bottom: 30px;
}

.home_item_drop {
	background: url("../img/home_drops_bg.png") no-repeat top 27px right 27px;
	background-size: 60%;
}

.home_item_gelee {
	background: url("../img/home_gelee_bg.png") no-repeat top 20px right 18px;
	background-size: 46%;
}



/* items 商品一覧 /////////////////////////////////////////////////////////////////////////////////////////// */
.items_title {
	background-image: url(../img/items_main.jpg);	
}

.items_lineup_container h2 {
	font-size: 1.8rem;
	text-align: center;
	font-weight: normal;
	margin: auto auto 100px auto;
}

.items_lineup_list {
	margin: 0 auto 100px auto;
	text-align: left;
}

.items_lineup_list li {
	display: inline-block;
	vertical-align: top;
	width: 30%;
	margin-bottom: 50px;
	text-align: left;
	box-shadow: 0px 0px 40px 20px rgba(0,0,0,0.05);
}

.items_lineup_list li:nth-child(3n+2) {
	margin: 0 4%;
}

.items_lineup_list li a {
	display: block;
	font-size: 1.6rem;
}

.items_lineup_list li figure {
	overflow: hidden;
}

.items_lineup_list li a:hover {
	transform: scale(1.02);
	transition: 0.4s;
	opacity: 1;
	background: #FFFFFF;
}

.items_lineup_list li figcaption {
	padding: 15px 35px 15px 30px;
	background:url("../img/cmn_doubleline_l.svg") repeat-y,
	url("../img/cmn_arr_r_black.svg") no-repeat right 20px center;
}



/* pearldrop パールドロップ /////////////////////////////////////////////////////////////////////////////////////////// */
.pearldrop_title {
	background-image: url(../img/pearldrop_main.jpg);	
}

/* 商品共通 */
.item_mainimg {
	position: relative;
	margin: auto 30px 120px 30px;
}

.item_mainimg > img {
	width: 100%;	
}

.item_main_logo {
	position: absolute;
    top: 40%;
    left: 35%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	max-width: 500px;
	min-width: 150px;
	width: 30%;
}

.item_outline {
	margin: auto auto 50px auto;
}

.item_outline_container {
	display: flex;
	max-width: 1200px;
	margin: auto auto 100px auto;
}

.item_outline_photo {
	width: 50%;
}

.item_outline_info {
	width: 50%;
	padding: 50px 100px 10px 70px;
}

.item_outline_info h2 {
	line-height: 130%;
}

.item_outline_info h2 strong {
	font-size: 2.4rem;
}

.item_outline_info h2 small {
	font-weight: normal;
	font-size: 1.4rem;
}

.item_outline_info p {
	margin: auto auto 40px auto;
}

.item_outline_info dl {
	display: flex;
	margin: auto auto 60px auto;
}

.item_outline_info dt {
	width: 70px;
}

.item_outline_info dd {
	width: calc( 100% - 70px );
	padding: 0 0 0 30px;
	border-left: 1px solid #ca9e03;
}

.item_info_list li {
	padding: 0 0 0 25px;
	margin: auto auto 5px auto;
	font-size: 1.6rem;
	background: url("../img/cmn_arr_r_yellow.svg") no-repeat left 50% / 8px ;
}


.item_photo_list {
	display: flex;
	margin: auto auto 80px auto;
	justify-content: space-between;
}

.item_photo_list li {
	width: 23%;
	margin-bottom: 15px;
}

.item_photo_list li figure {
	margin: auto auto 15px;
}

.item_remark {
	margin: auto auto 60px auto;
}

.item_remark li {
	margin: auto auto 10px auto;
	padding-left:1em;
	text-indent:-1em;
}

.item_remark li:before {
	content: '※';
}


/* pearljelly パールジュレ /////////////////////////////////////////////////////////////////////////////////////////// */
.pearljelly_title {
	background-image: url(../img/pearljelly_main.jpg);	
}



/* shinonokaki 神恩おかき /////////////////////////////////////////////////////////////////////////////////////////// */
.shinonokaki_title {
	background-image: url(../img/shinonokaki_main.jpg);	
}



/* revoce リヴォーチェ /////////////////////////////////////////////////////////////////////////////////////////// */
.revoce_title {
	background-image: url(../img/revoce_main.jpg);	
}

.revoce_outline_txt strong {
	font-size: 1.6rem;	
}

.revoce_outline_txt a {
	color: #1d63a6;
}

/* shoplist 取扱店舗 /////////////////////////////////////////////////////////////////////////////////////////// */
.shoplist_title {
	background-image: url(../img/shoplist_main.jpg);	
}

.shoplist_wrapper > p {
	font-size: 1.8rem;
	margin: auto auto 80px auto;
}

.shoplist_item {
	margin: auto auto 100px auto;
}






/* company 企業情報 /////////////////////////////////////////////////////////////////////////////////////////// */
.company_title {
	background-image: url(../img/company_main.jpg);	
}

.company_catch {
	font-size: 1.6rem;
}






/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_title {
	background-image: url(../img/contact_main.jpg);	
}


.contact_info_box {
	margin: auto auto 50px auto;
}







.contact_form > p {
    margin: 0 0 40px 20px;
    letter-spacing: 0.05rem;
}

.contact_form > p > small {
    display: block;
    margin: 0 0 26px 0;
    color: #C81432;
    font-size: 1.4rem;
}


.contact_form_dl {
    margin: 0 0 80px 0;
}

/* .contact_form_dl:last-of-type {
    margin: 0 0 60px 0;
} */

.contact_form_dl dt {
    width: 25%;
    padding-left: 30px;
    padding-right: 30px;
}

.contact_form_dl dd {
    padding-left: 30px;
    padding-right: 30px;
}

.contact_form_dl dt span {
    flex-shrink: 0;
    display: inline-block;
    margin: 0 0 0 14px;
    color: #C81432;
}

.contact_form_dl #fax,
.contact_form_dl #tel,
.contact_form_dl #toiawase {
    width: 300px;
}

.contact_form_dl #addr,
.contact_form_dl #name_kana,
.contact_form_dl #username {
    width: 100%;
}

.contact_form_dl #zip {
    width: 200px;
}

.contact_form_dl #mail1,
.contact_form_dl #mail0 {
    width: 100%;
    /* max-width: 520px; */
    max-width: 770px;
}

.contact_form_dl #mail1, .contact_form_dl #mail0 {
    display: inline-block;
    width: 85%;
}

.contact_form_dl #mail0,
.contact_form_dl #zip {
    display: inline-block;
    margin: 0 0 14px 0;
}

.contact_form_dl #mail1 ~ span {
    display: inline-block;
    margin: 6px 0 0 0;
    color: #C81432;
    letter-spacing: 0;
}


.contact_form_dl #message {
    width: 100% !important;
    height: 200px !important;
}

.contact_form_dl label {
    display: inline-block;
}

#contactButton {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 550px;
    margin: 0 auto;
}

.contact_form_dl dd input[type="text"],
.contact_form_dl dd input[type="email"],
.contact_form_dl dd textarea,
.contact_form_dl dd select {
	border: 1px solid #cccccc;
	border-radius: 5px;
	padding: 4px;
}

/* mfp */
#contactButton button[type="reset"],
#contactButton button[type="submit"] {
    width: 48%;
    max-width: 200px;
    padding: 15px 0;
    outline: none;
    font-size: 1.4rem;
	border-radius: 5px;
	letter-spacing: 2px;
}

#contactButton button[type="reset"] {
    background: #FFFFFF;
	border: 1px solid #9d9d9d;
}

#contactButton button[type="submit"] {
    border: 0; /* mfp上書き */
    color: #FFFFFF;
    background-color: #ca9e03;
	background-image: url("../img/cmn_arr_r_white.svg");
	background-repeat: no-repeat;
	background-position: right 15px center;
}

div#mfp_overlay {
  color: #333333; /* mfp上書き */
}
/* /end */
