@charset "UTF-8";
@import url("https://image.raku-uru.jp/cms/fontcss/font.css");


/* らくうる reset
--------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
/* 	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;  line-height: 1.8; */
	word-wrap: break-word;
	word-break: break-all;
	font-size: 110%;
}

input, textarea, button, select, i {
/* 	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
}

p {
	line-height: 2.2rem;	
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: middle;
  line-height: 0;
}

a,
a:visited,
a:hover,
button:hover {
  text-decoration: none;
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    max-width: 1134px;
}


/* お試しポップアップ非表示 */
html > body > div:last-of-type {
	display: none;
}


/*--------------------------------------
  calendar
--------------------------------------*/
#intro .name,
#calendar .name {
    margin: 0 auto 40px auto;
    max-width: 1480px;
    background: url(../image/shopInfo_h2Bg.png) center center repeat-x;
}
#intro .name h2,
#calendar .name h2 {
    margin: 0 auto;
    padding-top: 0;
    width: 300px;
    text-align: center;
    font-size: 26px;
    background: #FFF;
}


.calendar table {
  width: 94%;
  margin: auto;
}
.calendar th, .calendar td {
  font-size: 13px;
  font-weight: normal;
  padding: 5px 0;
  width: -webkit-calc(94% / 7);
  width: calc(94% / 7);
  text-align: center;
  border: 2px solid #fff;
  margin: 0;
  display: table-cell;
}
.calendar thead th {
  padding: 10px 0;
  background: #f6f6f7;
}
.calendar thead th:first-child {
  color: #d70035;
}
.calendar thead th:last-child {
  color: #006eb0;
}
.calendar td i {
  display: inline-block;
  width: 26px;
  height: 26px;
  line-height: 26px;
  font-style: normal;
}

/* イベント色分け */
.e1 i {
  color: #000;
  background-color: #d7d8d8;
  border-radius: 20px;
}

.e2 i {
  color: #fff;
  background-color: #856239;
  border-radius: 20px;
}

.e3 i {
  color: #000;
  background-color: #cbeadc;
  border-radius: 20px;
}

.list-event li {
  display: inline-block;
  line-height: 24px;
  position: relative;
  min-height: 24px;
  margin-bottom: 5px;
  margin-right: 10px;
  padding-left: 32px;
  text-align: left;
  list-style: none;
  font-size: 13px;
  font-size: 1.3rem;
}
.list-event li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 24px;
  height: 24px;
  content: '';
}
.list-event li.event1::before {
  background-color: #d7d8d8;
border-radius: 20px;
}
.list-event li.event2::before {
  background-color: #856239;
border-radius: 20px;
}
.list-event li.event3::before {
  background-color: #cbeadc;
  border-radius: 20px;
}

/* カレンダー */
.block-in {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-flow: wrap;
}
.schedule-area2 {
	width: 46%;
	margin-right: 2%;
}
.schedule-area2 .months {
  text-align: center;
  padding: 10px;
}
.list-event {
  margin: 0;
  padding: 20px 0;
  text-align: right;
}
.list-event li {
  font-size: 12px;
  font-size: 1.2rem;
}




/*  Footer Site Map */
.sysContent {
    margin: 0 auto;
    padding: 1rem;
    width: 100%;
    background: #e4e4e4;
}
.sysContent ul {
    text-align: center;
}
.sysContent .sysText {
    display: inline-block;
    float: none;
}
.sysContent ul li.sysText a {
    color: #000;
    padding: 0 0.5em 0 0.2em;
    border-right: 1px solid #000;
    text-align: center;
    font-size: .9rem;
    line-height: 1.4em;
}
.sysContent ul li.sysText:nth-child(4) a {
	border: none;
}
.sysContent ul li.sysText a:hover {
	text-decoration:underline;
}
.sysContent ul li {
    float: left;
    text-align: left;
}




/* らくうる共通
--------------------------------------*/
.navbar {
	display: none;
	padding-top: 1rem!important;
	padding-bottom: 1rem!important;
}
.pcnav {
	display: block;		
}


header {
	background: white;
	width: auto;
}

header .container {
	margin: 30px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header h1 {
	width: 160px;
}

header ul li a {
	color: #907e28;
}

header .header-menu {
	display: flex;
	justify-content: space-between;
}
header .header-menu li {
	margin: 0 11px;
	list-style: none;
	align-items: center;
	font-size: 16px;
}

header .acount-menu {
	display: flex;
	justify-content: space-between;
}
header .acount-menu li {
	margin: 0 11px;
	list-style: none;
	align-items: center;
	text-align: center;
	font-size: 12px;
	line-height: 1.5;
}
header .acount-menu li a i {
	display: block;
	font-size: 24px;
	line-height: 25px;
	font-style: normal;
}
header .acount-menu li.entry a::before {
	content: "\e90a";
}
header .acount-menu li.logout a::before {
	content: "\e931";
}
header .acount-menu li.mypage a::before {
	content: "\e927";
}
header .acount-menu li.cart a::before {
	content: "\e918";
}


.navbar-toggler {
	display: none;
}


footer {
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	background: #907e28;
}
footer .copy {
	color: #FFF;
	font-size: 14px;
}
footer .copyright {
	color: #FFF;
	font-size: 12px;
}


/* レスポンシブ
--------------------------------------*/
@media (max-width: 991.98px) {
	
	header .container {
		margin: 25px auto;
	}
	header .header-menu {
		display: none;
	}
	header .acount-menu li {
		margin: 0 0.2rem;
  	}
  	.navbar-toggler {
	  	padding: .25rem;
	  	border: 1px solid #B9A442;
  	}
	.navbar-toggler-icon {
		color: #B9A442;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(185, 164, 66)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
	}
	
	.navbar {
		display: block;
	}
	.navbar-nav {
		padding-top: 1rem!important;
		padding-bottom: 0!important;
	}
	.pcnav {
		display: none;		
	}


	.slick-slide {
		text-align: center;
	}
	#jumbotron .slick-track {
		left: calc(948px - 100vw);
	}
	#jumbotron .slick li img {
		width: auto!important;
		height: 300px!important;
	}
	#news dl {
		margin-left: 0!important;
		display: block!important;
		line-height: 1.8!important;
	}
	#intro {
		padding-top: 20px;
		padding-bottom: 20px;
		background: linear-gradient(to bottom, #e0dfe5 1084px, #FFF 1700px)!important;
	}
	#intro h2 {
		padding: 0!important;
	}
	#intro .intro {
		line-height: 1.8!important;
	}
	#intro .img01 {
		padding-top: 20px!important;
	}
	#intro .product {
		width: 100%!important;
	}
	#intro .product .cart {
		display: block;
	}

	#intro .img01 {
		padding-bottom: 20px!important;
	}
	#cheese {
		padding: 20px 0!important;
	}
	#chef {
		margin: 0!important;
		padding: 0!important;		
	}
	#chef .container {
		padding-top: 20px!important;
	}
	#chef .block01 {
		padding: 240px 0 0 0!important;
		background-size: contain!important;
	}
	#chef .block02 {
		display: block!important;
		padding-bottom: 20px!important;
	}
	#shop .col-lg-6 {
		padding-top: 20px!important;
		padding-bottom: 20px!important;
	}


	/* サブページ */
	.sub_title .L .title {
		width: 100%!important;
		padding: 20px!important;
	}
	.sub_title .L p {
		margin: 0!important;
	}
	.intro {
		width: 100%!important;
	}
	.story p {
		width: auto!important;
	}


	/* YouTube */
	.youtube {
	  width: 100%;
	  aspect-ratio: 16 / 9;
	}
	.youtube iframe {
	  width: 100%;
	  height: 100%;
	}

	#shop .shop_info .L {
		padding-left: calc(var(--bs-gutter-x)/ 2)!important;
	}
	#shop .shop_info .R {
		padding-right: calc(var(--bs-gutter-x)/ 2)!important;
	}
	#shop .shop_photo .col-lg-3 {
		padding: calc(var(--bs-gutter-x)/ 2)!important;
	}



	/* 補足 */
	.navbar-toggler {
		display: block;
	}
	.navbar-toggler:focus {
		box-shadow: none!important;
	}

	h2 {
		font-size: 24px!important;
	}
	#chef .block01 {
		padding: 180px 0 0 0 !important;
	}
	.schedule-area2 {
	  margin-bottom: 10px;
	  width: 100%;
	}

}	


/* らくうるトップページ
--------------------------------------*/
#jumbotron .arrow {
	position: absolute;
	z-index: 99;
	top; 0;
	left: 50%;
	transform: translateX(-15px);
	margin: 0 auto;
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #FFF;
}

#jumbotron .slick li img {
	width: 100vw;
	height: auto;
}
#jumbotron .slick .slick-prev {
	z-index: 99;
    left: 25px;
}
#jumbotron .slick .slick-next {
	z-index: 99;
    right: 30px;
}


#news h2 {
	color: #907e28;
	font-size: 28px;
	font-weight: normal;
	line-height: 2;
}
#news dl {
	display: flex;
	margin-left: 2rem;
	line-height: 1.8;
}
#news dt {
	margin: 0 1rem 0 0;
	color: #999;
	font-size: 17px;
	font-weight: normal;
}
#news dd a {
	margin: 0;
	color: #000;
	font-size: 17px;
	font-weight: normal;
}
#news dd a:hover {
	color: #666;
	text-decoration: underline;
}


#furusato h2 {
	color: #907e28;
	font-size: 28px;
	font-weight: normal;
	line-height: 2;
}


#intro {
	background: url('https://image.raku-uru.jp/01/24335/82/intro_bg_1677036376548.png'), 
				linear-gradient(to bottom, #e0dfe5 1084px, #FFF 1500px);
	background-position: right top;
	background-repeat: no-repeat;
/* 	min-height: 1700px; */
}
#intro h2 {
	padding-top: 120px;
	color: #907e28;
	font-size: 34px;
	font-weight: normal;
	line-height: 1.8;
}
#intro .intro {
	color: #907e28;
	font-size: 17px;
	font-weight: normal;
	line-height: 2.4;
}
#intro .img01 {
	padding-top: 140px;
	padding-bottom: 60px;
	margin-bottom: 0!important;
	max-width: 1110px;
	margin: 0 auto;
}
#intro .img01 img {
	width: 100%;
}
#intro .product {
	margin: 0 auto 40px auto;
}
#intro .product h3 {
	color: #907e28;
	font-size: 22px;
	font-weight: 100;
}
#intro .product h3 span {
	font-size: 12px;
	font-weight: 100;
}
#intro .product h4 {
	font-size: 21px;
	border-bottom: 2px solid #907e28;
}
#intro .product .copy {
	color: #907e28;
	font-size: 12px;
	font-weight: 100;
}
#intro .product .cart {
	display: flex;
	justify-content: space-between;
}
#intro .product .cart li {
	list-style: none;
}
#intro .product .cart li a {
	display: block;
	padding: 7px 0;
	width: 148px;
	color: #FFF;
	font-size: 17px;
	text-align: center;
	line-height: 1.4;
	background: linear-gradient(to bottom, #907e28 0%, #7a6713 100%);
	border-radius: 5px;
}
#intro .product .cart li a span {
	display: block;
	font-size: 13px;
}


#cheese {
	padding-top: 60px;
}
#cheese .img01 {
	max-width: 1110px;
	margin: 0 auto;
}
#cheese .cheese {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#cheese .cheese .slick-list {
	margin: 0 auto;
	width: 930px;
}
#cheese .cheese .slick-slide {
	padding: 0 5px;
	width: 310px;
}


#chef {
	margin-top: 60px;
	margin-bottom: 60px;
	padding: 60px;
	background: #907e28;
}
#chef .block01 {
	margin-bottom: 40px;
	padding: 30px 30px 30px 600px;
	background: url('https://image.raku-uru.jp/01/24335/83/chef_bg01_1677036377584.jpg') top center no-repeat;
}
#chef .block01 h2 {
	color: #FFF;
	font-size: 28px;
	font-weight: normal;
	line-height: 1.8;
}
#chef .block01 .intro {
	color: #FFF;
	font-size: 17px;
	font-weight: normal;
	line-height: 2.1;
}
#chef .block02 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#chef .block02 h2 {
	color: #FFF;
	font-size: 42px;
	font-weight: normal;
	line-height: 1.4;
}
#chef .block02 .intro {
	color: #FFF;
	font-size: 17px;
	font-weight: normal;
	line-height: 1.7;
}


#shop h2 {
	margin: 0 auto;
	width: 185px;
}
#shop .intro {
	font-size: 17px;
	font-weight: normal;
	line-height: 1.7;
}
#shop .info {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	border-top: 1px solid #907e28;
}
#shop .info tr {
	border-bottom: 1px solid #907e28;
	cursor: pointer;
}
#shop .info th,
#shop .info td {
	text-align: left;
	padding: 10px 0;
	font-weight: 100;
}
#shop .info th {
	width: 20%;
}

#calendar {
	margin-top: 60px;
}

#map {
	margin-top: 40px;
	height: 400px;
}



/* トロイカのチーズケーキ
--------------------------------------*/
#cheesecake .sub_title {
	margin: 0 auto 30px auto;
	max-width: 1480px;
}
#cheesecake .sub_title .L,
#cheesecake .sub_title .R {
	padding: 0;
}
#cheesecake .sub_title .L {
	background: #f5f2ef;
}
#cheesecake .sub_title .L .title {
	width: 73%;
}
#cheesecake .sub_title .L h2 {
	font-size: 32px;
	text-align: left;
	color: #907e28;
	line-height: 1.4;
}
#cheesecake .sub_title .L p {
	margin-top: 21px;
	font-size: 15px;
}

#cheesecake .intro {
	margin: 0 auto;
	width: 80%;
}
#cheesecake .intro h2 {
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}

#cheesecake .img00 {
	margin-bottom: 50px;
}
#cheesecake .img01 {
	margin-bottom: 60px;
}

#cheesecake .youtube {
  margin: 0 auto 30px  auto;
  max-width: 1110px;
  aspect-ratio: 16 / 9;
}
#cheesecake .youtube iframe {
  width: 100%;
  height: 100%;
}

#cheesecake .name {
    margin: 0 auto 40px auto;
    max-width: 1480px;
    background: url(../image/shopInfo_h2Bg.png) center center repeat-x;
}
#cheesecake .name h2 {
    margin: 0 auto;
    width: 300px;
    text-align: center;
    font-size: 26px;
    background: #FFF;
}


/* 店舗紹介
--------------------------------------*/
#shop .sub_title {
	margin: 0 auto 100px auto;
	max-width: 1480px;
}
#shop .sub_title .L,
#shop .sub_title .R {
	padding: 0;
}
#shop .sub_title .L {
	background: #eff5ef;
}
#shop .sub_title .L .title {
	width: 73%;
}
#shop .sub_title .L h2 {
	width: auto;
	font-size: 32px;
	text-align: left;
	color: #907e28;
	line-height: 1.4;
}
#shop .sub_title .L p {
	margin-top: 21px;
	font-size: 15px;
}

#shop .name {
	margin: 0 auto 40px auto;
	max-width: 1480px;
	background: url('https://image.raku-uru.jp/01/24335/84/shopInfo_h2Bg_1677036378134.png') center center repeat-x;
}
#shop .name h2 {
	margin: 0 auto;
	width: 300px;
	text-align: center; 
	font-size: 26px;
	background: #FFF;
}


#shop .shop_info {
	margin: 0 auto 30px auto;
	max-width: 1480px;
}
#shop .shop_info .L {
	padding-left: 0;
}
#shop .shop_info .R {
	padding-right: 0;
}

#shop .shop_info h2 {
	width: 100%;
	font-size: 24px;
	text-align: left;
	line-height: 2;
}
#shop .shop_info table {
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	width: 100%;

}
#shop .shop_info th {
	width: 20%;
	padding: 10px;
	font-weight: normal;
	vertical-align: top;
	border: 1px solid #ccc;
}
#shop .shop_info td {
	width:80%;
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}


#shop .shop_photo {
	margin: 0 auto 60px auto;
	max-width: 1480px;
}


#shop .intro {
	margin: 0 auto;
	width: 90%;
}
#shop .intro h2 {
	width: 100%;
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}

#shop .img01 {
	margin-bottom: 60px;
}



/* チーズ工房
--------------------------------------*/
#cheeseK .sub_title {
	margin: 0 auto 30px auto;
	max-width: 1480px;
}
#cheeseK .sub_title .L,
#cheeseK .sub_title .R {
	padding: 0;
}
#cheeseK .sub_title .L {
	background: #f0f5f5;
}
#cheeseK .sub_title .L .title {
	width: 73%;
}
#cheeseK .sub_title .L h2 {
	font-size: 32px;
	text-align: left;
	color: #907e28;
	line-height: 1.4;
}
#cheeseK .sub_title .L p {
	margin-top: 21px;
	font-size: 15px;
}

#cheeseK .intro {
	margin: 0 auto;
	width: 80%;
}
#cheeseK .intro h2 {
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}

#cheeseK .mb-100 {
	margin-bottom: 100px;
}
#cheeseK .mb-200 {
	margin-bottom: 200px;
}

#cheeseK .video {
	margin: 0 auto 60px auto;
	padding: 60px 0;
	max-width: 1480px;
	background: #f0f5f5;
}
#cheeseK .video h2 {
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}
#cheeseK .video p {
	margin: 0 auto;
	max-width: 900px;
	text-align: left;
}
#cheeseK .video .youtube {
  margin: 0 auto;
  max-width: 1110px;
  aspect-ratio: 16 / 9;
}
#cheeseK .video .youtube iframe {
  width: 100%;
  height: 100%;
}
#cheeseK .cheese_p {
/*     font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; */
    font-size: .9rem;
    line-height: 1.8;
    text-align: center;
    padding: 0px 20px;
    margin: 10px auto;
}
#cheeseK .p_caption {
    font-size: .9rem;
    line-height: 1.8;
}

/* トロイカについて
--------------------------------------*/
#troika .sub_title {
	margin: 0 auto 30px auto;
	max-width: 1480px;
}
#troika .sub_title .L,
#troika .sub_title .R {
	padding: 0;
}
#troika .sub_title .L {
	background: #f0f0f5;
}
#troika .sub_title .L .title {
	width: 73%;
}
#troika .sub_title .L h2 {
	font-size: 28px;
	text-align: left;
	color: #907e28;
	line-height: 1.4;
}
#troika .sub_title .L p {
	margin-top: 21px;
	font-size: 15px;
}

#troika .intro {
	margin: 0 auto;
	width: 88%;
}
#troika .intro h2 {
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}

#troika .story {
	margin: 0 auto 100px auto;
	padding: 60px 0;
	max-width: 1480px;
	background: #f0f0f5;
}
#troika .story h2 {
	margin-bottom: 27px;
	font-size: 30px;
	line-height: 2.0;
	text-align: center;
}
#troika .story p {
	margin: 0 auto;
	width: 900px;
	text-align: left;
}

#troika .story p.title {
	margin-bottom: .5rem;
	font-size: 21px;
	font-weight: bold;
}
#troika .story p.last {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #CCC;
}



#troika .mb-100 {
	margin-bottom: 100px;
}
#troika .mb-200 {
	margin-bottom: 200px;
}














