@charset "utf-8";

/* CSS Document */

 @font-face {
   font-family: 'ShipporiMincho-Regular'; src: url("ShipporiMincho-Regular_fix.ttf");
 }
  @font-face {
   font-family: 'ShipporiMincho-Medium'; src: url("ShipporiMincho-Medium_fix.ttf");
 }
 @font-face {
   font-family: 'ShipporiMincho-Bold'; src: url("ShipporiMincho-Bold_fix.ttf");
 }
 @font-face {
   font-family: 'NotoSerifJP-Medium'; src: url("NotoSerifJP-Medium.ttf");
 }
 @font-face {
   font-family: 'NotoSerifJP-Regular'; src: url("NotoSerifJP-Regular_fix.ttf");
 }

/*------------------------------------------------------------------------------------------------------------------
　base style
-------------------------------------------------------------------------------------------------------------------*/

body {
  background-color: #efebdf;
	color:#000000;
	font-size:15px;
	margin:0;
	height:100%;
	position:relative;
	font-family: "NotoSerifJP-Regular", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:36px;
  letter-spacing: 1.2px;
	overflow-x:hidden;
}

.ipad #primary, .safari #primary {
	width: 1200px !important;
	max-width: 1200px !important;
	overflow: hidden !important;
}

@media screen and (max-width: 769px) {
	#primary, .safari #primary, .ios #primary {
		width: 750px !important;
		max-width: 750px !important;
		overflow: hidden;
	}
  body {
    font-size: 27px;
    line-height: 55px;
  }
}

a:link {color:#cf3434; text-decoration:underline;}
a:visited {color:#cf3434; text-decoration:underline;}
a:hover {color:#e59c0e; text-decoration:underline;}

img {
	border:0;
	vertical-align: bottom;
}

/*------------------------------------------------------------------------------------------------------------------
　preparation
-------------------------------------------------------------------------------------------------------------------*/

#lineup-font-size-sampler { display:none; }

div:after, section:after, article:after, ul:after {
    content: "";
    display: block;
    clear: both;
}

.link a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
}

.pc {
}

.sp {
  display: none;
}

@media screen and (max-width: 769px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}

/*------------------------------------------------------------------------------------------------------------------
　expression
-------------------------------------------------------------------------------------------------------------------*/

.clear { clear:both; }

.under { margin-bottom:30px !important; }
.under-db { margin-bottom:60px !important; }
.under-harf { margin-bottom:15px !important; }

.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }

.first { padding-top:0 !important; margin-top:0 !important; }
.last { padding-bottom:0 !important; margin-bottom:0 !important; }

.ro img:hover,.ro:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.dropshadow {
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
  -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
}

/* 画像のぼやけ対策 */
.rendering {
	backface-visibility: hidden;
	filter: blur(0);
	image-rendering: -webkit-optimize-contrast;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

#confectionery .fancybox-content {
    animation: slideUp 0.6s ease-out forwards; /* forwardsを追加して最終状態を維持 */
    opacity: 0;
    transform: translateY(100px); /* 初期位置を下に設定 */
    padding-bottom: 80px;
    box-sizing: border-box;
}

@media screen and (max-width: 769px) {
  #confectionery .fancybox-content {
    padding-bottom: 150px;
  }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(100px); /* 下側から開始 */
    }
    to {
        opacity: 1;
        transform: translateY(0); /* 目的地に到達 */
    }
}



/*------------------------------------------------------------------------------------------------------------------
　img align for wordpress
-------------------------------------------------------------------------------------------------------------------*/

.aligncenter {
    display: block;
    margin: 0 auto;
		max-width:100%;
}
.alignright { float: right; margin-left:30px; max-width:400px !important; }
.alignleft { float: left; margin-right:30px; max-width:400px !important; }

.aligncenter img, .alignright img, .alignleft img {
	max-width:100%;
	height:auto;
}

@media screen and (max-width: 1150px) {
	.aligncenter, .alignright, .alignleft {
			display: block;
			margin-left: auto;
			margin-right: auto;
			float: none;
			max-width:100%;
			text-align:center;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　wp-pagenavi
-------------------------------------------------------------------------------------------------------------------*/

.pager {
  position: relative;
  width: 520px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}

.pager .prev {
  position: absolute;
  top: 20px;
  left: 0;
}

.pager .next {
  position: absolute;
  top: 20px;
  right: 0;
}

@media screen and (max-width: 769px) {
  .pager .prev, .pager .next {
    top: 15px;
  }
}

.pager .prev a, .pager .next a {
  color: #000000;
  font-size: 14px;
  text-decoration: none;
}

@media screen and (max-width: 769px) {
  .pager .prev a, .pager .next a {
    font-size: 27px;
  }
}

.pager .prev a:hover, .pager .next a:hover {
  text-decoration: underline !important;
}

.wp-pagenavi {
	padding: 10px 20px 10px !important;
	display:block !important;
	clear:both !important;
	text-align: center;
}

.wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend {
		width: 54px;
    height: 54px;
    border-radius: 100px;
    line-height: 54px;
    text-align: center;
    color: #000000;
    font-size: 14px;
    display: inline-block;
    margin-left: 2px;
    margin-right: 2px;
		text-decoration: none !important;
}

.wp-pagenavi a:hover {
  text-decoration: underline !important;
}
 .wp-pagenavi span.current {
		width: 54px;
    height: 54px;
    border-radius: 100px;
    line-height: 54px;
    text-align: center;
    color: #000000;
    background-color: #ffffff;
    font-size: 14px;
    display: inline-block;
    margin-left: 2px;
    margin-right: 2px;
		text-decoration: none !important;
}

@media screen and (max-width: 769px) {
  .wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend {
    font-size: 27px;
    width: 70px;
    height: 70px;
    border-radius: 100px;
    line-height: 70px;
  }
  .wp-pagenavi span.current {
    font-size: 27px;
    width: 70px;
    height: 70px;
    border-radius: 100px;
    line-height: 70px;
  }
  .wp-pagenavi a:nth-child(n+4){
    display: none;
  }
}

/* イントロの背景設定 */
#intro {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #900000;
    z-index: 9999;
}

#intro-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("../image/into.png");
    background-size: contain;
    background-position: center;
    opacity: 0; /* 初期状態で透明 */
}

@media screen and (max-width: 769px) {
  #intro-bg {
    background-size: 300%;
  }
}

/*------------------------------------------------------------------------------------------------------------------
　primary
-------------------------------------------------------------------------------------------------------------------*/

#primary {
	width:100%;
	height:100%;
	min-width:640px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

@media screen and (max-width: 769px) {
	#primary {
		width: 769px;
		min-width: 769px;
		overflow: hidden;
	}
}

article {
  max-width: 1280px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	transition:0.3s;
	box-sizing:border-box;
}

@media screen and (max-width: 1280px) {
	article {
		width:100%;
    max-width: 1280px;
		padding-left:30px;
		padding-right:30px;
	}
}

.subpage article {
  max-width: 1028px;
}

@media screen and (max-width: 769px) {
  .subpage article {
		width:100%;
    max-width: 769px;
		padding-left: 75px;
		padding-right: 75px;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　header
-------------------------------------------------------------------------------------------------------------------*/

header {
  background-image: url("../image/header/ornament.svg");
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: 58px 59px;
  width: 100%;
  height: 172px;
  display: block;
  top: 0;
  left: 0;
  position: relative;
  z-index: 99;
}

@media screen and (max-width: 769px) {
  header {
    height: 252px;
    background-size: 11%;
    background-position: bottom 0 center;
    overflow: visible;
  }
  header.active {
    display: none;
  }
}

header:before {
  border-top: solid 1px #be9a76;
  position: absolute;
  bottom: 74px;
  left: 0;
  width: 100%;
  content: "";
  display: block;
}

header:after {
  border-top: double 3px #be9a76;
  position: absolute;
  bottom: 76px;
  left: 0;
  width: 100%;
  content: "";
  display: block;
}

@media screen and (max-width: 769px) {
  header:before {
    bottom: 105px;
  }
  header:after {
    bottom: 107px;
  }
}

.header-primary {
  background-color: #efebdf;
  width: 100%;
  height: 100px;
  display: block;
}

@media screen and (max-width: 769px) {
  .header-primary {
    height: 151px;
  }
}

header h1 {
  background-image: url("../image/header/logo.svg");
  background-size: 113px 49px;
  width: 113px;
  height: 49px;
  display: block;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 23px;
  left: 40px;
}

header h1 a {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

header .option {
  position: fixed;
  right: 115px;
  top: -3px;
  z-index: 99;
  transform: scale(0.9);
}

@media screen and (max-width: 769px) {
  header h1 {
    top: 48px;
    left: 68px;
    transform: scale(1.7);
  }
  header .option {
    display: none;
  }
}

header .option .cart {
  background-image: url("../image/header/cart.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 55%;
  width: 64px;
  height: 52px;
  display: block;
  position: relative;
  top: 28px;
}

header .option .cart a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

header .option .cart:after {
  text-align: center;
  font-size: 11px !important;
  color: #900000 !important;
  text-indent: -6px;
  content: "online shop";
  display: block;
  position: relative;
  white-space: nowrap;
  bottom: -27px;
}

header nav {
  position: absolute;
  right: 100px;
  top: 0;
}


/*------------------------------------------------------------------------------------------------------------------
　navi
-------------------------------------------------------------------------------------------------------------------*/

header nav {
  position: absolute;
  top: 33px;
  right: 240px;
}

@media screen and (max-width: 1000px) {
  header nav {
    display: none;
  }
}

header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: right;
}

header nav ul li {
  display: inline-block;
  padding-left: 25px;
  box-sizing: border-box;
}

header nav ul li a {
  color: #000000 !important;
  text-decoration: none !important;
  transition: 0.2s;
  font-family: 'ShipporiMincho-Regular';
  font-size: 15px;
}

header nav ul li a:hover {
  color: #7e0000 !important;
}

/*------------------------------------------------------------------------------------------------------------------
　mainvisual
-------------------------------------------------------------------------------------------------------------------*/

#mainvisual {
  width: 100%;
  padding-left: 50px;
  padding-right: 50px;
  box-sizing: border-box;
  margin-bottom: 20px;
  position: relative;
  z-index: 0;
  top: -22px;
}

@media screen and (max-width: 769px) {
  #mainvisual {
    box-sizing: border-box;
    padding-left: 30px;
    padding-right: 30px;
    margin-bottom: 90px;
  }
}

#mainvisual .sns {
  position: absolute;
  top: 220px;
  right: 17px;
  display: block;
  z-index: 10;
  width: 20px;
  line-height: 60px;
}

#mainvisual .sns img {
  transition: 0.2s;
}

#mainvisual .sns img:hover {
  filter: invert(15%) sepia(95%) saturate(6932%) hue-rotate(358deg) brightness(95%) contrast(112%);
}

#mainvisual .bx-viewport {
  height: 603px !important;
}

#mainvisual .panel {
  max-width: 1790px;
  width: 100%;
  height: 603px;
  display: block;
  background-repeat: no-repeat;
  background-position: top center;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  #mainvisual .bx-viewport {
    height: 1090px !important;
  }
  #mainvisual .panel {
    height: 1020px;
    background-size: contain;
  }
  #mainvisual .sns {
    display: none;
  }
}

@media screen and (min-width: 1921px) {
  #mainvisual .panel {
    left: 50%;
    margin-left: -895px;
  }
}

#mainvisual .panel:nth-of-type(1) { background-image: url("../image/mainvisual/00.webp"); }
#mainvisual .panel:nth-of-type(2) { background-image: url("../image/mainvisual/01.webp"); }
#mainvisual .panel:nth-of-type(3) { background-image: url("../image/mainvisual/02.webp"); }
#mainvisual .panel:nth-of-type(4) { background-image: url("../image/mainvisual/03.webp"); }
#mainvisual .panel:nth-of-type(5) { background-image: url("../image/mainvisual/04.webp"); }

@media screen and (max-width: 769px) {
  #mainvisual .panel:nth-of-type(1) { background-image: url("../image/mainvisual/00_sp.webp"); }
  #mainvisual .panel:nth-of-type(2) { background-image: url("../image/mainvisual/01_sp.webp"); }
  #mainvisual .panel:nth-of-type(3) { background-image: url("../image/mainvisual/02_sp.webp"); }
  #mainvisual .panel:nth-of-type(4) { background-image: url("../image/mainvisual/03_sp.webp"); }
  #mainvisual .panel:nth-of-type(5) { background-image: url("../image/mainvisual/04_sp.webp"); }
}


.rotate-batch {
  position: sticky;
  bottom: -20px;
  left: calc(100vw - 7em);
  overflow: visible;
  z-index: 5;
  width: 170px;
  height: 175px;
  margin-top: -245px;
  margin-right: -20px;
}

@media screen and (max-width: 1350px) {
  .rotate-batch {
    right: 24px;
  }
}


@media screen and (max-width: 769px) {
  .rotate-batch {
    transform-origin: bottom right;
    transform: scale(1.5);
    bottom: -27px;
  }
}

.rotate-batch:before {
  content: "";
  background-image: url("../image/mainvisual/rotate.webp");
  width: 100%;
  height: 100%;
  display: block;
  /* filter:invert(100%); */
  mix-blend-mode: difference;
  animation: rotate-z 25s linear infinite;
  position: absolute;
  top: 0;
  left: 0;
}

@keyframes rotate-z {
  from { transform: rotateZ(0deg); }
  to { transform: rotateZ(360deg); }
}

.rotate-batch center {
  color: #000000;
  font-size: 20px;
  display: block;
  font-family: "ShipporiMincho-Regular";
  text-decoration: none !important;
  position: relative;
  bottom: 62px;
  mix-blend-mode: difference;
}

.rotate-batch a {
  text-decoration: none !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.2s;
}

.rotate-batch a:hover {
  filter: brightness(120%);
  top: -5px;
}

#mainvisual .scroll {
  text-align: center;
  position: sticky;
  width: 50px;
  height: 80px;
  left: 50%;
  margin-left: -25px;
  padding-top: 15px;
  bottom: -44px;
  z-index: 5;
}

#mainvisual .scroll:before {
  width: 1px;
  height: 50px;
  background-color: #000000;
  display: block;
  position: absolute;
  left: 25px;
  top: -35px;
  content: "";
  animation: scrollLine 2.0s infinite;
}

@keyframes scrollLine {
  0% {
    height: 0px;
  }
  100% {
    height: 50px;
  }
}

@keyframes scrollLine_sp {
  0% {
    height: 0px;
  }
  100% {
    height: 95px;
  }
}

@media screen and (max-width: 769px) {
  #mainvisual .scroll:before {
    left: 35px;
    height: 95px;
    top: -70px;
    animation: scrollLine_sp 2.0s infinite;
  }
  #mainvisual .scroll {
    bottom: -120px;
    left: 46%;
    padding-top: 20px;
  }
}

/*------------------------------------------------------------------------------------------------------------------
　sidebar
-------------------------------------------------------------------------------------------------------------------*/

#sidebar {
	position: fixed;
	top: 0;
	right: -400px;
	z-index: 105;
	transition: 0.3s;
	background-color: #900000;
	width: 100%;
	height: 100%;
	max-width: 400px;
	box-sizing: border-box;
	padding-top: 20px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.iphone #sidebar, .iphone #android, .iphone #ipad {
	overflow: scroll;
}

#sidebar.active {
	right: 0;
}

@media screen and (max-width: 800px) {
  #sidebar {
    max-width: 100%;
    display: none !important;
    top: 0;
    left: 0;
    opacity: 0 !important;
    z-index: 105;
  }
  #sidebar.active {
    display: block !important;
    opacity: 1 !important;
  }
}

#sidebar .logo {
  margin-bottom: 50px;
  width: 180px;
  height: 27px;
  margin-left: 34px;
  top: 3px;
  position: relative;
  display: block;
}

#sidebar .logo img {
  max-width: 100%;
}

@media screen and (max-width: 769px) {
  #sidebar .logo {
    height: 83px;
  }
  #sidebar .logo img {
    width: 192px;
    height: 83px;
  }
}

#sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #992e2e;
}

#sidebar ul li {
  position: relative;
}

#sidebar ul li a {
  background-color: #900000;
  border-bottom: 1px solid #992e2e;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  display: block;
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-family: 'ShipporiMincho-Regular';
  position: relative;
  transition: 0.2s;
}

#sidebar ul li a:hover {
  filter: brightness(120%);
}

@media screen and (max-width: 769px) {
  #sidebar ul li a {
    font-size: 27px !important;
    padding-left: 35px;
  }
  #sidebar ul:nth-of-type(2) li a {
    font-size: 25px !important;
  }
}

#sidebar ul li.current a:nth-of-type(1):after {
  content: "<";
  display: block;
  position: absolute;
  top: 23px;
  right: 25px;
  transform: rotate(-90deg) scale(0.6,1.2);
  color: #ffffff;
  transition: 0.2s;
}

@media screen and (max-width: 769px) {
  #sidebar ul li.current a:nth-of-type(1):after {
    right: 40px;
  }
}

#sidebar ul li.current a.active:after {
  transform: rotate(90deg) scale(0.6,1.2);
}

#sidebar ul li ul {
  display: none;
}

#sidebar ul li ul li a:after {
  display: none !important;
}

#sidebar ul li ul li a {
  background-color: #6b0000;
}

#sidebar ul.separate {
  width: 100%;
}

#sidebar ul.separate li {
  float: left;
  width: 50%;
  position: relative;
}

#sidebar ul.separate li:nth-child(odd):before {
  width: 1px;
  height: 100%;
  background-color: #992e2e;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  display: block;
}

#sidebar .option {
  padding-top: 50px;
  padding-left: 50px;
  padding-right: 50px;
  box-sizing: border-box;
}

#sidebar .option .cart a {
  background-color: #ffffff;
  background-image: url("../image/footer/online_shop.webp");
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 25px;
  padding-bottom: 25px;
  width: 100%;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}

@media screen and (max-width: 769px) {
  #sidebar .option .cart a {
    background-image: url("../image/header/onlineshop_sp.webp");
    padding-top: 45px;
    padding-bottom: 38px;
  }
}

#sidebar .option .sns {
  margin-top: 50px;
}

#sidebar .option .sns img {
  filter: invert(100%);
  margin-right: 15px;
}

#sidebar-button {
	display: block;
	position: fixed;
	top: 8px;
	right: 25px;
	width: 60px;
	height: 60px;
	z-index: 106;
	box-sizing: border-box;
	padding-top: 11px;
	padding-left: 10px;
	transition: 0.3s;
  transform: scale(0.9);
}

@media screen and (max-width: 769px) {
  #sidebar-button {
    top: 15px;
    right: 40px;
    transform: scale(1.3);
  }
  #sidebar .option .sns img {
    width: 35px;
  }
  #sidebar .option .sns a:nth-of-type(2) img {
    margin-left: 8px;
  }
}

@media screen and (max-width: 1280px) {
	#sidebar {
		display: block;
	}
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 40px;
  height: 41px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}

.menu-trigger:after {
  text-align: center;
  font-size: 12px !important;
  color: #900000 !important;
  text-indent: -2.5px;
  content: "menu";
  display: block;
  position: relative;
  bottom: -28px;
}

.mobile .menu-trigger:after {
  text-indent: -2px;
}

.safari .menu-trigger:after, .ios .menu-trigger:after {
  text-indent: 15px !important;
}

@media screen and (max-width: 769px) {
  .menu-trigger {
    width: 50px;
    height: 41px;
  }
  .menu-trigger:after {
    text-indent: 1.5px;
  }
}

.iphone .menu-trigger:after {
  left: -14px !important;
}

.active .menu-trigger:after {
  color: #ffffff !important;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #900000;
  border-radius: 2px;
}

.active .menu-trigger span {
  background-color: #ffffff !important;
}

.menu-trigger span:nth-of-type(1) {
  top: 7px;
}
.menu-trigger.active span:nth-of-type(1) {
  top: -1px;
}
.menu-trigger span:nth-of-type(2) {
  top: 23px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

@media screen and (max-width: 769px) {
  .menu-trigger span:nth-of-type(2) {
    top: 23px;
  }
}

.menu-trigger.active span:nth-of-type(1) {
  animation: menu-bar01 .75s forwards;
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger span:nth-of-type(2) {
  opacity: 1;
}
.menu-trigger.active span:nth-of-type(3) {
  animation: menu-bar02 .75s forwards;
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-20px) rotate(-45deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger.active span:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards;
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(20px) rotate(45deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  animation: active-menu-bar03 .75s forwards;
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

#sidebar-button.white button span {
  background-color: #ffffff;
}
#sidebar-button.white button:after {
  color: #ffffff !important;
}

/*------------------------------------------------------------------------------------------------------------------
　footer
-------------------------------------------------------------------------------------------------------------------*/

#footer {
	width:100%;
  margin-top: -16px;
  background-color: #900000;
  position: relative;
  box-sizing: border-box;
  padding-top: 90px;
  padding-bottom: 90px;
  z-index: 100;
}

#footer article {
  width: 100%;
  max-width: 1028px;
  box-sizing: border-box;
  padding-bottom: 100px;
}

@media screen and (max-width: 769px) {
  #footer article {
    padding-left: 65px;
    padding-right: 65px;
    width: 100%;
    box-sizing: border-box;
  }
}

#footer .ornament {
  background-image: url("../image/header/ornament.svg");
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: 58px 59px;
  width: 100%;
  height: 172px;
  display: block;
  position: absolute;
  top: -84px;
  left: 0;
  z-index: 99;
  transform: rotate(180deg);
}

#footer .ornament:before {
  border-top: solid 1px #be9a76;
  position: absolute;
  bottom: 74px;
  left: 0;
  width: 100%;
  content: "";
  display: block;
}

#footer .ornament:after {
  border-top: double 3px #be9a76;
  position: absolute;
  bottom: 76px;
  left: 0;
  width: 100%;
  content: "";
  display: block;
}

@media screen and (max-width: 769px) {
  #footer .ornament {
    background-size: 11%;
    top: -113px;
  }
  #footer .ornament:before {
    bottom: 95px;
  }
  #footer .ornament:after {
    bottom: 97px;
  }
}

.topback {
	position:absolute;
	top:-90px;
	right:-9px;
	background-image:url(../image/footer/topback.webp);
	width:68px;
	height:68px;
  z-index: 99;
  transition: 0.2s;
}

.topback:hover {
  top: -95px;
}

@media screen and (max-width: 769px) {
  .topback {
    background-image: url("../image/footer/topback_sp.webp");
    width: 125px;
    height: 125px;
    right: 30px;
  }
  .topback:hover {
    top: -70px;
  }
}

.topback a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display:block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}

#footer .logo {
  background-image: url("../image/footer/logo.webp");
  width: 146px;
  height: 66px;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 769px) {
  #footer .logo {
    position: relative;
    top: inherit;
    left: inherit;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    background-image: url("../image/footer/logo_sp.webp");
    width: 302px;
    height: 152px;
  }
}

#footer .logo a {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#footer nav {
  padding-left: 213px;
  box-sizing: border-box;
  width: calc(100% + 30px);
  font-size: 14px;
}

@media screen and (max-width: 769px) {
  #footer nav {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

#footer nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: calc(25% - 30px);
  margin-right: 30px;
  float: left;
}

@media screen and (max-width: 769px) {
  #footer nav ul {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
}

#footer nav ul li ul {
  width: 100%;
  margin-right: 0;
  padding-top: 10px;
  float: none;
}

#footer nav ul li {
}

#footer nav ul li a {
  color: #ffffff;
  display: block;
  box-sizing: border-box;
  border-bottom: 1px solid #992e2e;
  padding-bottom: 5px;
  margin-bottom: 10px;
  text-decoration: none;
  transition: 0.2s;
}

#footer nav ul:nth-of-type(3) li a {
  border-bottom: none;
  margin-bottom: 0;
}

@media screen and (max-width: 769px) {
  #footer nav ul li a {
    font-size: 27px;
    padding-bottom: 13px;
    margin-bottom: 18px;
  }
  #footer nav ul {
    margin-bottom: 50px;
  }
  #footer nav ul:nth-of-type(3) li {
    width: 50%;
    float: left;
  }
  #footer nav ul:nth-of-type(3) li a {
    border-bottom: none;
  }
   #footer nav ul:nth-of-type(3) li a {
     font-size: 25px;
   }
}

#footer nav ul li ul li a {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 8px;
  transition: 0.2s;
}

#footer nav ul li a:hover {
  color: #B58C5D;
}

#footer .option {
  width: calc(25% - 30px);
  float: right;
}

@media screen and (max-width: 769px) {
  #footer .option {
    width: 100%;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
}

#footer .option .cart {
  background-image: url("../image/footer/online_shop.svg");
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  width: 179px;
  height: 60px;
  position: relative;
  transition: 0.2s;
  box-sizing: border-box;
  right: 28px;
}

@media screen and (max-width: 769px) {
  #footer .option .cart {
    background-image: url("../image/footer/online_shop_sp.webp");
    background-color: #ffffff;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 122px;
    right: inherit;
  }
}

#footer .option .cart a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}

#footer .option .cart:hover {
  filter: brightness(130%);
}

#footer .option .sns {
  position: absolute;
  bottom: 80px;
  right: 0;
  text-align: right;
  letter-spacing: 15px;
}

#footer .option .sns img {
  filter: invert(100%);
}

@media screen and (max-width: 769px) {
  #footer .option .sns {
    position: relative;
    bottom: inherit;
    right: inherit;
    text-align: left;
    padding-top: 60px;
    padding-bottom: 30px;
  }
  #footer .option .sns img {
    display: none;
  }
  #footer .option .sns a {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 40px;
  }
  #footer .option .sns a:before {
    content: "";
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
  }
  #footer .option .sns a:nth-of-type(1):before { background-image: url("../image/footer/tw.webp"); }
  #footer .option .sns a:nth-of-type(2):before { background-image: url("../image/footer/insta.webp"); }
}

#footer .cc {
  text-align: center;
  border-top: 1px solid #992e2e;
  padding-top: 15px;
  margin-bottom: 15px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #ffffff;
}

@media screen and (max-width: 769px) {
  #footer .cc {
    text-align: left;
    border-top: none;
    padding-left: 65px;
  }
}

/*------------------------------------------------------------------------------------------------------------------
　additional
-------------------------------------------------------------------------------------------------------------------*/

#contents-primary {
	position:relative;
  padding-top: 0;
  box-sizing: border-box;
}

@media screen and (max-width: 769px) {
  #contents-primary {
    padding-top: 0;
  }
}

#contents {
	position:relative;
}

.subpage #contents {
  box-sizing: border-box;
  min-height: 500px;
  padding-top: 0;
}

.subpage #contents-primary {
  padding-top: 40px;
  padding-bottom: 300px;
}

@media screen and (max-width: 769px) {
  .subpage #contents-primary {
    padding-top: 135px;
    padding-bottom: 200px;
  }
}

h2 {
  color: #900000;
  font-family: 'ShipporiMincho-Regular';
  font-size: 30px;
  font-weight: normal;
  margin: 0;
  padding: 0;
  margin-bottom: 50px;
  line-height: 30px;
  display: block;
}

h2 span {
  display: block;
  font-size: 12px;
  letter-spacing: 3px;
  text-align: left;
  color: #000000;
  font-weight: normal;
}

@media screen and (max-width: 769px) {
  h2 {
    font-size: 62px;
    padding-left: 33px;
    line-height: 68px;
  }
  h2 span {
    font-size: 22px !important;
  }
}

.subpage h2 {
  border-bottom: 1px solid #E6E2D2;
  padding-bottom: 15px;
  margin-bottom: 15px;
  font-size: 53px;
  line-height: 45px;
}

.subpage h2 span {
  font-size: 16px;
  letter-spacing: 1px;
}

@media screen and (max-width: 769px) {
  .subpage h2 {
    padding-bottom: 60px;
    font-size: 62px;
    line-height: 62px;
    width: calc(100% + 150px);
    margin-left: -75px;
    box-sizing: border-box;
    padding-left: 75px;
  }
  .subpage h2 span {
  }
}

.subpage h3 {
  border-bottom: 1px solid #E6E2D2;
  margin-top: 200PX;
  margin-bottom: 40px;
  font-size: 33px;
  color: #900000;
  font-weight: normal;
  line-height: 33px;
}

.subpage h3 span {
  font-size: 15px;
  letter-spacing: 1px;
  color: #000000;
  display: block;
}

@media screen and (max-width: 769px) {
  .subpage h3 {
    font-size: 50px;
    border: none;
    line-height: 51px;
  }
  .subpage h3 span {
    font-size: 27px;
  }
}

.subpage h4 {
  font-size: 24px;
  margin: 0;
  padding: 0;
  font-weight: normal;
  margin-bottom: 20px;
}

@media screen and (max-width: 769px) {
  .subpage h4 {
    font-size: 34px;
    margin-bottom: 40px;
  }
}

.subpage h5 {
  font-size: 18px;
  margin: 0;
  padding: 0;
  font-weight: normal;
  margin-bottom: 10px;
  padding-bottom: 3px;
  border-bottom: 1px solid #cccccc;
}

@media screen and (max-width: 769px) {
  .subpage h5 {
    font-size: 27px;
  }
}

.subpage #pan {
  padding-bottom: 100px;
  box-sizing: border-box;
}

.subpage #pan ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.subpage #pan ul li {
  display: inline-block;
  position: relative;
  padding-right: 25px;
  margin-right: 5px;
  font-size: 10px;
}

.subpage #pan ul li a {
  color: #818181;
  text-decoration: none;
}

.subpage #pan ul li a:after {
  content: ">";
  font-weight: bold;
  position: absolute;
  right: 0;
  top: 0;
}

.subpage #pan ul li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 769px) {
  .subpage #pan ul li {
    font-size: 20px;
  }
}

.next-page-nav {
  width: calc(100% + 50px);
  padding-top: 50px;
}

.next-page-nav .link-button {
  width: calc(50% - 50px);
  margin-right: 50px;
  float: left;
}

.next-page-nav.full_width {
  width: 100%;
}

.next-page-nav.full_width .link-button {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  float: none;
}

.next-page-nav .link-button a {
  width: 100%;
  display: block;
  box-sizing: border-box;
  border-radius: 0;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-bottom: 0;
  text-align: center;
  color: #900000;
  font-size: 38px;
}

.next-page-nav .link-button a span {
  display: block;
  font-size: 13px !important;
  color: #000000 !important;
}

.next-page-nav .link-button a:hover span {
  color: #ffffff !important;
}

@media screen and (max-width: 900px) {
  .next-page-nav {
    width: 100%;
    float: none;
  }
  .next-page-nav .link-button {
    width: 100%;
    float: none;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 769px) {
  .next-page-nav .link-button a {
    font-size: 42px !important;
    line-height: 1.5 !important;
  }
  .next-page-nav .link-button a span {
    font-size: 24px !important;
  }
}

#modal-contents {
  display: none;
}

/*----------------------------------------------------------------------------
   home
------------------------------------------------------------------------------*/

/* top-about */

#top-about {
  position: relative;
  padding-top: 60px;
  margin-bottom: 50px;
  box-sizing: border-box;
  min-height: 1790px;
}

#top-about:before {
  content: "";
  position: absolute;
  top: -488px;
  left: -380px;
  background-image: url("../image/contents/top/shadow_left.png");
  background-position: center left;
  background-repeat: no-repeat;
  width: 900px;
  height: 800px;
  z-index: 20;
}

#top-about:after {
  content: "";
  position: absolute;
  bottom: 632px;
  right: -525px;
  background-image: url("../image/contents/top/shadow_right.png");
  background-position: center right;
  background-repeat: no-repeat;
  width: 1040px;
  height: 961px;
  z-index: 20;
}

@media screen and (max-width: 1030px) {
  #top-about {
    min-height: 1790px;
  }
}

@media screen and (max-width: 769px) {
  #top-about {
    padding-top: 60px;
    margin-bottom: 0;
    min-height: 3000px;
  }
  #top-about:before {
    content: "";
    position: absolute;
    top: -488px;
    left: -380px;
    background-image: url("../image/contents/top/shadow_left.png");
    background-position: center left;
    background-repeat: no-repeat;
    width: 900px;
    height: 800px;
    z-index: 20;
  }

  #top-about:after {
    content: "";
    position: absolute;
    bottom: 1230px;
    right: -675px;
    background-image: url("../image/contents/top/shadow_right.png");
    background-position: center right;
    background-repeat: no-repeat;
    width: 1040px;
    height: 961px;
    z-index: 20;
  }
}

#top-about .catch {
  position: absolute;
  top: 370px;
  left: 50%;
  margin-left: 278px;
  width: 73px;
  height: 275px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%;
  background-image: url("../image/contents/top/about-catch.svg");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
}

@media screen and (max-width: 1100px) {
  #top-about .catch {
    margin-left: 190px;
  }
}

@media screen and (max-width: 980px) {
  #top-about .catch {
    margin-left: 90px;
  }
}

@media screen and (max-width: 800px) {
  #top-about .catch {
    margin-left: 50px;
  }
}

@media screen and (max-width: 769px) {
  #top-about .catch {
    top: 950px;
    left: 50%;
    margin-left: 85px;
    font-size: 34px;
    width: 100px;
    height: 386px;
    letter-spacing: 8px;
  }
}

#top-about .catch span {
  transform: rotate(-90deg);
  transform-origin: center;
  display: inline-block;
  position: relative;
  right: 2px;
}

#top-about .message {
  position: absolute;
  top: 840px;
  left: 50%;
  margin-left: -425px;
  width: 429px;
  text-align:justify;
}

@media screen and (max-width: 1150px) {
  #top-about .message {
    top: 750px;
    left: 80px;
    margin-left: 0;
  }
}

@media screen and (max-width: 1030px) {
  #top-about .message {
    width: 800px;
  }
}

@media screen and (max-width: 930px) {
  #top-about .message {
    width: 700px;
  }
}

@media screen and (max-width: 830px) {
  #top-about .message {
    width: 600px;
  }
}

#top-about .message p {
  font-size: 16px;
  margin: 0;
  padding: 0;
  margin-bottom: 30px;
  line-height: 36px;
}

@media screen and (max-width: 769px) {
  #top-about .message {
    top: 1500px;
    left: 0;
    margin-left: 65px;
    width: 100%;
    box-sizing: border-box; 
  }
  #top-about .message p {
    font-size: 27px;
    padding-right: 135px;
    line-height: 55px;
  }
  #top-about .message .link-button a {
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 50px;
    font-size: 27px;
  }
}

#top-about .photo-primary {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

#top-about .photo-primary img {
  display: block;
}

#top-about .photo-primary .center01 {
  position: absolute;
  top: 142px;
  left: 50%;
  height: auto;
  margin-left: -196px;
  z-index: 3;
}

@media screen and (max-width: 1100px) {
  #top-about .photo-primary .center01 {
    width: 300px;
    height: auto;
  }
}

@media screen and (max-width: 980px) {
  #top-about .photo-primary .center01 {
    width: 380px;
    margin-left: -445px;
    top: 80px;
  }
}

#top-about .photo-primary .center01_sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .center01 {
    display: none;
  }
  #top-about .photo-primary .center01_sp {
    background-image: url("../image/contents/top/about-center_sp.png");
    width: 462px;
    height: 652px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
    position: relative;
    top: 150px;
  }
}

#top-about .photo-primary .left01 {
  position: absolute;
  top: 228px;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .left01 {
    display: none;
  }
}

#top-about .photo-primary .left02 {
  position: absolute;
  top: 430px;
  left: 146px;
  z-index: 2;
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .left02 {
    display: none;
  }
}

#top-about .photo-primary .left03 {
  position: absolute;
  top: 1372px;
  left: 60px;
  z-index: 2;
}

#top-about .photo-primary .left01_sp {
  display: none;
}

#top-about .photo-primary .left02_sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .left01_sp {
    display: block;
    position: absolute;
    left: -30px;
    top: 940px;
    z-index: 1;
  }
  #top-about .photo-primary .left02_sp {
    display: block;
    position: absolute;
    left: 120px;
    top: 1130px;
    z-index: 1;
  }
  #top-about .photo-primary .left03 {
    top: 2510px;
  }
}

#top-about .photo-primary .right01 {
  position: absolute;
  top: 134px;
  right: 0;
}

@media screen and (max-width: 1280px) {
  #top-about .photo-primary .right01 {
    right: -80px;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .right01 {
    display: none;
  }
}

#top-about .photo-primary .right01_sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .right01_sp {
    display: block;
    position: absolute;
    top: 2500px;
    right: -30px;
    z-index: 3
  }
}

#top-about .photo-primary .under-right01 {
  position: absolute;
  top: 910px;
  right: 204px;
  z-index: 2
}

@media screen and (max-width: 1280px) {
  #top-about .photo-primary .under-right01 {
    right: 90px;
    top: 775px;
  }
}

@media screen and (max-width: 1030px) {
  #top-about .photo-primary .under-right01 {
    right: 0px;
    left: 338px;
    top: 1241px;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .under-right01 {
    top: 2190px;
    right: 65px;
    left: inherit;
  }
}

#top-about .photo-primary .under-right02 {
  position: absolute;
  top: 1257px;
  right: 94px;
  z-index: 3
}

@media screen and (max-width: 1030px) {
  #top-about .photo-primary .under-right02 {
    top: 1230px;
    right: 54px;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .under-right02 {
    display: none;
  }
}

#top-about .photo-primary .panel01 {
  background-color: #900000;
  width: 171px;
  height: 241px;
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  margin-left: 165px;
}

@media screen and (max-width: 1100px) {
  #top-about .photo-primary .panel01 {
    margin-left: 60px;
  }
}

@media screen and (max-width: 980px) {
  #top-about .photo-primary .panel01 {
    margin-left: 20px;
  }
}

@media screen and (max-width: 800px) {
  #top-about .photo-primary .panel01 {
    margin-left: 0;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .panel01 {
    margin-left: 0;
    right: -30px;
    left: inherit;
    width: 200px;
    height: 300px;
  }
}

#top-about .photo-primary .panel02 {
  background-color: #900000;
  width: 204px;
  height: 287px;
  display: block;
  position: absolute;
  z-index: 0;
  top: 741px;
  right: 55px;
}

@media screen and (max-width: 1030px) {
  #top-about .photo-primary .panel02 {
    top: 990px;
    right: 0;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .panel02 {
    left: -90px;
    top: 2410px;
  }
}

#top-about .photo-primary .panel03 {
  background-color: #900000;
  width: 145px;
  height: 203px;
  display: block;
  position: absolute;
  z-index: 0;
  top: 1195px;
  left: 0;
}

@media screen and (max-width: 1280px) {
  #top-about .photo-primary .panel03 {
    top: 1300px;
  }
}

@media screen and (max-width: 1030px) {
  #top-about .photo-primary .panel03 {
    top: 1152px;
    left: 250px;
  }
}

@media screen and (max-width: 769px) {
  #top-about .photo-primary .panel03 {
    top: 2145px;
    left: inherit;
    right: -30px;
    width: 145px;
    height: 280px;
  }
}


/* top-sweets */

#top-sweets {
  position: relative;
  width: 100%;
  min-height: 650px;
  display: block;
  overflow: hidden;
  margin-bottom: 200px;
}

.subpage #top-sweets {
  margin-top: 100px;
  margin-bottom: 0;
}

@media screen and (max-width: 769px) {
  #top-sweets {
    height: 817px;
  }
}

#top-sweets .sweets-slider {
  width: 1920px;
  min-width: 1920px;
  position: relative;
  overflow: hidden;
}

#top-sweets .sweets-slider .slider {
  /*float: left;
  display: block;
  overflow: hidden;
  letter-spacing: -.4em;*/
  width: 1920px;
  min-width: 1920px;
  height: 416px;
}

#top-sweets .sweets-slider .slide {
  padding-right: 23px !important;
  box-sizing: border-box;
  text-align: center;
  float: left;
  display: inline-block;
  overflow: hidden;
  letter-spacing: normal;
}

#top-sweets .sweets-slider .slide a {
  width: 260px;
  height: 416px;
  display: block;
  background-color: #900000;
  transition: 0.2s;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 769px) {
  #top-sweets .sweets-slider .slider {
    height: 600px;
  }
  #top-sweets .sweets-slider .slide a {
    width: 375px;
    height: 600px;
  }
}

#top-sweets .sweets-slider .slide a span {
  display: block;
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 25px;
  text-align: center;
  z-index: 99;
  white-space: nowrap;
}

#top-sweets .sweets-slider .slide a span p {
  margin: 0;
  padding: 0;
  font-size: 15px;
  display: block;
}

@media screen and (max-width: 769px) {
  #top-sweets .sweets-slider .slide a span {
    font-size: 30px;
    top: 120px;
  }
  #top-sweets .sweets-slider .slide a span p {
    font-size: 22px;
  }
}

@media screen and (min-width: 770px) {
  #top-sweets .sweets-slider .slide a:hover img {
    opacity: 0.6;
    transform: scale(1.1,1.1);
    transform-origin: center;
  }
}

#top-sweets .sweets-slider .slide img {
  transition: 0.2s;
  max-width: 260px;
}

#top-sweets .sweets-slider .slide img:hover {
}

@media screen and (max-width: 769px) {
  #top-sweets .sweets-slider .slide img {
    max-width: 375px !important;
  }
}

.swiper-wrapper {
  transition-timing-function: linear;
}

/* top-committed */

#top-committed {
  position: relative;
  background-color: #b58c5d;
  padding-bottom: 165px;
  margin-bottom: 150px;
}

.committed-photo_left {
  position: absolute;
  top: 50px;
  left: -32px;
}

@media screen and (max-width: 1100px) {
  .committed-photo_left {
    left: -50px !important;
  }
}
@media screen and (max-width: 1000px) {
  .committed-photo_left {
    left: -60px !important;
  }
}

@media screen and (max-width: 796px) {
  .committed-photo_left {
      transform: scale(0.85) !important;
      transform-origin: top left;
      left: -20px !important;
    }
}

.committed-photo_right {
  position: absolute;
  top: -60px;
  right: 0;
}

#top-committed article:nth-of-type(1) {
  padding-left: 530px;
  padding-right: 382px;
  padding-top: 130px;
  margin-bottom: 250px;
  box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
  #top-committed article:nth-of-type(1) {
    padding-right: 30px;
  }
}

@media screen and (max-width: 1100px) {
  #top-committed article:nth-of-type(1) {
    padding-left: 480px;
  }
}

@media screen and (max-width: 1000px) {
  #top-committed article:nth-of-type(1) {
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 650px;
  }
}

@media screen and (max-width: 769px) {
  #top-committed article:nth-of-type(1) {
    padding-left: 70px;
    padding-right: 70px;
    padding-top: 745px;
  }
  #top-committed article:nth-of-type(1) h2 {
    padding-left: 0;
    font-size: 62px;
    line-height: 70px;
  }
}

#top-committed h2 {
  line-height: 1.5;
}

#top-committed .cname+p {
  margin: 0;
  padding: 0;
  margin-top: -8px;
}

@media screen and (max-width: 769px) {
  #top-committed .cname+p {
    margin-top: -10px;
  }
}

#top-committed h2, #top-committed h2 span, #top-committed h3, #top-committed p {
  color: #ffffff !important;
}

#top-committed h3 {
  font-size: 24px;
  font-weight: normal;
  margin: 0;
  padding: 0;
  font-family: 'ShipporiMincho-Regular';
  line-height: 1.6;
}

#top-committed article:nth-of-type(1) p {
  line-height: 36px;
}

@media screen and (max-width: 769px) {
  #top-committed h3 {
    font-size: 40px;
    line-height: 56px;
  }
  #top-committed article:nth-of-type(1) p {
    font-size: 27px;
    line-height: 55px;
  }
}

#top-committed article:nth-of-type(1) .link-button a {
  border: #ffffff 1px solid !important;
  color: #ffffff !important;
}

#top-committed article:nth-of-type(1) .link-button a:hover {
  background-color: #ffffff !important;
  color: #b58c5d !important;
}

@media screen and (max-width: 769px) {
  #top-committed article:nth-of-type(1) .link-button a {
    padding-left: 75px;
    padding-right: 75px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 50px;
    font-size: 27px;
  }
}

#top-committed article:nth-of-type(2){
  max-width: 1000px;
}

.interview-list-primary {
  width: calc(100% + 60px);
}

.interview-list-primary .list {
  width: calc(33.333% - 70px);
  float: left;
  margin-right: 70px;
  margin-bottom: 50px;
}

@media screen and (max-width: 769px) {
  .interview-slider {
    width: calc(100% + 0px); /* 左右の見切れサムネイルの表示量を増やすにはこの項目 */
    position: relative;
    left: 0; /* 左右の見切れサムネイルの表示量を増やすにはこの項目 */
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
  }
  .interview-list-primary {
    width: calc(100% - 60px);
    margin-left: auto;
    margin-right: auto;
  }
  .interview-list-primary .list {
    width: 100%;
    box-sizing: border-box;
  }
  .interview-list-primary .list .thum img {
    width: 100% !important;
  }
  .interview-slider .lSSlideWrapper, .interview-slider .lSSlideOuter {
    overflow: visible !important;
  }
}

.interview-list-primary .list .thum {
  margin-bottom: 20px;
}

.interview-list-primary .list .thum img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  transition: 0.2s;
}

.interview-list-primary .list .thum a img:hover {
  filter: brightness(120%);
}

.interview-list-primary .list .cname {
  color: #ffffff;
  font-size: 14px;
}

.interview-list-primary .list p {
  font-size: 22px;
  padding-top: 3px;
  padding-bottom: 0;
  margin-bottom: 0;
  margin-top: 0;
}

.interview-list-primary .list p span {
  font-size: 16px;
}

@media screen and (max-width: 769px) {
  .interview-list-primary .list .cname {
    font-size: 23px;
  }
  .interview-list-primary .list p {
    font-size: 43px;
  }
  .interview-list-primary .list p span {
    font-size: 22px;
  }
  .subpage .interview-list-primary .list p {
    font-size: 38px;
    line-height: 1.3;
  }
  .subpage .interview-list-primary .list p span {
    font-size: 32px;
  }
}

.interview-list-primary .list .link-button a {
  border-color: #ffffff;
  color: #ffffff !important;
  margin-left: 2px;
}

@media screen and (max-width: 769px) {
  .interview-list-primary .list .link-button a {
    font-size: 27px;
    border-radius: 50px;
    padding-left: 70px;
    padding-right: 70px;
  }
}

.interview-list-primary .list .link-button a:hover {
  background-color: #ffffff !important;
  color: #B58C5D !important;
}

#top-news {
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  #top-news {
    margin-bottom: 74px;
  }
}

@media screen and (max-width: 769px) {
  #top-news h2 {
    padding-left: 0;
    margin-bottom: 74px;
  }
}

#top-news article {
  max-width: 1100px;
  padding-left: 60px;
  padding-right: 60px;
}

#top-news .news-list-primary {
  margin-bottom: 30px;
  padding-top: 24px;
  border-top: 1px solid #d8d4c3;
}

#top-news .news-list-primary .list {
  border-bottom: 1px solid #d8d4c3;
  padding-bottom: 24px;
  margin-bottom: 24px;
  text-indent: 30px;
  position: relative;
}

@media screen and (max-width: 769px) {
  #top-news .news-list-primary {
    padding-top: 45px;
  }
  #top-news .news-list-primary .list {
    padding-bottom: 45px;
    margin-bottom: 45px;
  }
}

#top-news .news-list-primary .list a {
  text-decoration: none;
  color: #000000;
  display: block;
  transition: 0.2s;
  line-height: 1.4
}

#top-news .news-list-primary .list a span {
  color: #848485 !important;
  display: block;
  font-size: 12px !important;
}

#top-news .news-list-primary .list a:hover {
  color: #900000 !important;
}

#top-news .news-list-primary .list:after {
  color: #535353;
  content: ">";
  font-weight: normal;
  position: absolute;
  top: 3px;
  right: 80px;
  transition: 0.2s;
}

#top-news .news-list-primary .list:hover:after {
  right: 70px;
}

@media screen and (max-width: 769px) {
  #top-news .news-list-primary .list a span {
    font-size: 18px !important;
  }
  #top-news .news-list-primary .list:after {
    right: 40px;
  }
  #top-news .news-list-primary .list:hover:after {
    right: 30px;
  }
}

@media screen and (max-width: 769px) {
  #top-news .link-button a {
    padding-left: 75px;
    padding-right: 75px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 50px;
    font-size: 27px;
  }
}

#top-calendar {
  margin-bottom: 120px;
}

@media screen and (max-width: 769px) {
  #top-calendar h2 {
    padding-left: 0;
    margin-bottom: 74px;
  }
}

#top-calendar article {
  max-width: 1100px;
  padding-left: 60px;
  padding-right: 60px;
}

#top-calendar .top-calendar-primary {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  
  &::after {
    display: none;
  }
}

#top-calendar .top-calendar-primary .cal {
  width: calc(50% - 10px);
}
@media screen and (max-width:970px) {
  #top-calendar .top-calendar-primary {
    gap: 30px;
  }
  
  #top-calendar .top-calendar-primary .cal {
    width: 100%;
  }
}
@media screen and (max-width: 769px) {
  #top-calendar .top-calendar-primary {
    gap: 54px;
  }
}


#top-shopinfo {
  background-image: url("../image/contents/top/shop-info_bk.webp");
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 110px;
  padding-bottom: 168px;
  box-sizing: border-box;
}

#top-shopinfo article {
  max-width: 1000px;
}

@media screen and (max-width: 769px) {
  #top-shopinfo {
    background-image: url("../image/contents/top/shop-info_bk_sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding-top: 200px;
    padding-bottom: 155px;
  }
  #top-shopinfo article {
    padding-left: 70px;
    padding-right: 70px;
  }
}

#top-shopinfo h2 {
  color: #ffffff;
  font-size: 33px;
  font-weight: normal;
  line-height: 35px;
  margin-bottom: 36px;
}

#top-shopinfo h2 span {
  color: #ffffff;
  font-size: 14px;
  font-family: 'ShipporiMincho-Regular';
}

#top-shopinfo p {
  color: #ffffff;
  line-height: 29px;
  font-size: 13px;
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 769px) {
  #top-shopinfo p {
    line-height: 46px;
    margin-bottom: 45px;
    font-size: 24px;
  }
  #top-shopinfo h2 {
    margin-left: 0;
    padding-left: 0;
    font-size: 50px;
    line-height: 60px;
  }
  #top-shopinfo h2 span {
    font-size: 24px;
  }
}

#top-shopinfo .link-button a {
    color: #ffffff !important;
    border-color: #ffffff;
}

@media screen and (max-width: 769px) {
  #top-shopinfo .link-button a {
    color: #ffffff !important;
    border-color: #ffffff;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 80px !important;
    padding-right: 80px !important;
    font-size: 25px !important;
    border-radius: 60px !important;
  }
}

#top-shopinfo .link-button a:hover {
  background-color: #ffffff;
  color: #900000 !important;
}

#top-shopinfo .link-button {
  transform-origin: bottom left;
}

@media screen and (max-width: 769px) {
  #top-shopinfo .link-button {
    transform: scale(1,1);
  }
}


/*----------------------------------------------------------------------------
   商品情報 - confectionery
------------------------------------------------------------------------------*/

#confectionery {
}

#confectionery.category .sweets-list-primary {
  width: calc(100% + 30px);
}

#confectionery.category .sweets-list-primary .list {
  width: calc(50% - 30px);
  margin-right: 30px;
  margin-bottom: 30px;
  float: left;
  position: relative;
}

@media screen and (max-width: 769px) {
  #confectionery.category .sweets-list-primary {
    width: 100%;
  }
  #confectionery.category .sweets-list-primary .list {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
}

#confectionery.category .sweets-list-primary .list a {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: 0.2s;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  z-index: 5;
}

#confectionery.category .sweets-list-primary .list a:hover {
  background-color: rgba(255,255,255,0.2);
}

#confectionery.category .sweets-list-primary .list .thum {
  width: 100%;
}

#confectionery.category .sweets-list-primary .list .thum img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#confectionery.category .sweets-list-primary .list .title {
  position: absolute;
  color: #ffffff;
  text-align: center;
  font-family: 'ShipporiMincho-Bold';
  font-size: 27px;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width: 769px) {
  #confectionery.category .sweets-list-primary .list .title {
    transform: translateY(-50%) translateX(-50%) scale(1.6,1.6);
  }
}

#confectionery.category .sweets-list-primary .list .title span {
  font-family: 'NotoSerifJP-Medium';
  font-size: 16px;
  display: block;
}

#confectionery.sub_category .message {
  margin-bottom: 60px;
}

#confectionery.sub_category .message br.sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .message {
    font-size: 30px;
    line-height: 55px;
  }
  #confectionery.sub_category .message br.sp {
    display: block;
  }
}

#confectionery.sub_category .sweets-list-primary {
  width: calc(100% + 30px);
  margin-bottom: 80px;
}

#confectionery.sub_category .sweets-list-primary.simple {
  width: calc(100% + 50px);
}

#confectionery.sub_category .sweets-list-primary .list {
  width: calc(33.333% - 30px);
  margin-right: 30px;
  margin-bottom: 50px;
  float: left;
  position: relative;
}

@media screen and (max-width: 1170px) {
  #confectionery.sub_category .sweets-list-primary .list {
    margin-bottom: 120px;
  }
}

#confectionery.sub_category .sweets-list-primary.simple .list {
  width: calc(50% - 50px);
  margin-right: 50px;
}

@media screen and (max-width: 1000px) {
  #confectionery.sub_category .sweets-list-primary .list {
    width: calc(50% - 30px);
  }
}
@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list {
    margin-bottom: 70px;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option {
  width: calc(100% + 50px);
}
#confectionery.sub_category .sweets-list-primary.with-option .list {
  width: calc(50% - 50px);
  margin-right: 50px;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary.with-option {
    width: 100%;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #confectionery.sub_category .sweets-list-primary.column-single {
    width: 100%;
  }
  #confectionery.sub_category .sweets-list-primary.column-single .list {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #confectionery.sub_category .sweets-list-primary.simple {
    width: 100%;
  }
  #confectionery.sub_category .sweets-list-primary.simple .list {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

#confectionery.sub_category .sweets-list-primary .list .thum {
  width: 100%;
  margin-bottom: 10px;
}

#confectionery.sub_category .sweets-list-primary .list .thum a {
  pointer-events: none;
}

#confectionery.sub_category .sweets-list-primary .list .thum.birthday a {
  pointer-events: auto !important;
}

#confectionery.sub_category .sweets-list-primary.simple .list .thum {
  margin-bottom: 20px;
}

#confectionery.sub_category .sweets-list-primary .list .thum img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .thum {
  width: 53.4%;
  float: left;
  min-height: 261px;
  position: relative;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .thum a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none !important;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .thum a img {
  object-position: center;
  object-fit: cover;
  height: 100%;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list .thum {
    height: 400px;
  }
  #confectionery.sub_category .sweets-list-primary .list .thum img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 400px;
  }
  #confectionery.sub_category .sweets-list-primary .list .thum.separate {
    height: 294px;
  }
  #confectionery.sub_category .sweets-list-primary .list .thum.separate img {
    height: 294px;
  }
  #confectionery.sub_category .sweets-list-primary .list .thum.birthday {
    height: 400px;
  }
  #confectionery.sub_category .sweets-list-primary .list .thum.birthday img {
    height: 400px;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option {
  width: 46.6%;
  float: left;
  box-sizing: border-box;
  padding-left: 20px;
  position: relative;
}

@media screen and (max-width: 1170px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list {
    display: grid;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .thum {
    float: none;
    width: 100%;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option {
    float: none;
    width: 100%;
    padding-left: 0;
    order: 1;
    padding-top: 15px;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option ul li {
  display: block;
  border: none;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 0px;
  padding-left: 75px;
  box-sizing: border-box;
  margin-bottom: 15px;
  color: #000000 !important;
  font-size: 13px !important;
  position: relative;
  white-space: nowrap;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option ul.single li {
  padding-left: 0;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list .option ul li {
    font-size: 24px !important;
    padding-left: 130px;
    padding-bottom: 8px;
    margin-bottom: 18px;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option ul.wide li {
    padding-left: 160px;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option ul li span:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul.single li span:nth-of-type(1) {
  position: relative;
  top: inherit;
  left: inherit;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul li span:nth-of-type(2) {
  font-size: 16px !important;
  position: relative;
  top: -5px;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul.single li span:nth-of-type(2) {
  display: inline;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul.single li span:nth-of-type(2):before {
  display: block;
  clear: both;
  content: "";
  padding-top: 5px;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul li span:nth-of-type(3) {
  position: relative;
  top: -6px;
}
#confectionery.sub_category .sweets-list-primary.with-option .list .option ul.single li span:nth-of-type(3) {
  display: inline;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list .option ul li span:nth-of-type(1) {
    top: -5px;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option ul li span:nth-of-type(2) {
    font-size: 24px !important;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen a {
  border: 1px solid #cccccc;
  width: calc(100% - 25px);
  box-sizing: border-box;
  padding: 13px;
  text-decoration: none;
  color: #000000;
  font-size: 13px;
  text-align: center;
  display: block;
  position: absolute;
  bottom: 0;
}

@media screen and (max-width: 1170px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen a {
    bottom: -20px;
    width: calc(100% - 35px);
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen a span {
  display: inline-block;
  font-weight: bold;
  transition: 0.2s;
}

#confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen a:hover span {
  transform: rotate(90deg);
  transform-origin: center;
}

@media screen and (max-width: 1170px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen {
    position: absolute;
    bottom: -60px;
    left: 0;
    width: calc(100% + 30px);
    display: block;
  }
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary.with-option .list .option {
    position: relative;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option.with_danmen {
    padding-top: 170px;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen {
    position: absolute;
    top: 120px;
    left: 0;
    bottom: inherit;
    width: calc(100% + 30px);
    display: block;
  }
  #confectionery.sub_category .sweets-list-primary.with-option .list .option .danmen a {
    padding: 25px;
    font-size: 27px;
  }
}

#confectionery.sub_category .sweets-list-primary.with-option .list .title:before {
  clear: both;
  display: block;
  content: "";
}

#confectionery.sub_category .sweets-list-primary .list .thum .ex {
  width: 80px;
  height: 80px;
  color: #000000;
  border: 1px solid #000000;
  box-sizing: border-box;
  border-radius: 50px;
  text-align: center;
  position: absolute;
  top: 15px;
  right: 15px;
  padding-top: 17px;
  line-height: 1.4;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list .thum .ex {
    font-size: 16px;
  }
}

#confectionery.sub_category .sweets-list-primary .list .title {
  display: block;
  font-size: 18px;
  color: #000000;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list .title {
    line-height: 1.8;
  }
}

#confectionery.sub_category .sweets-list-primary .list .title .price {
  font-size: 15px !important;
  margin-top: -8px;
  margin-bottom: 10px;
}

#confectionery.sub_category .sweets-list-primary .list .title .price span {
  font-size: 18px !important;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list .title {
    font-size: 30px;
  }
  #confectionery.sub_category .sweets-list-primary .list .title .price {
    font-size: 26px !important;
  }
  #confectionery.sub_category .sweets-list-primary .list .title .price span {
    font-size: 26px !important;
  }
}

#confectionery.sub_category .sweets-list-primary .list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  letter-spacing: -.4em;
  margin-bottom: 8px;
  margin-top: -8px;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list ul {
    margin-top: 0;
    padding-top: 0;
    line-height: 1.8;
  }
}

#confectionery.sub_category .sweets-list-primary .list ul li {
  display: inline-block;
  border: 1px solid #B58C5D;
  padding: 1px;
  padding-left: 4px;
  padding-right: 4px;
  margin-right: 5px;
  line-height: 19px;
  letter-spacing: normal;
  font-size: 11px;
  color: #B58C5D;
  border-radius: 2px;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list ul li {
    font-size: 18px;
    padding: 0px;
    padding-left: 8px;
    padding-right: 8px;
    line-height: 2;
  }
}

#confectionery.sub_category .sweets-list-primary .list .comment {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.8;
}

@media screen and (max-width: 769px) {
  #confectionery.sub_category .sweets-list-primary .list .comment {
    font-size: 26px;
    line-height: 1.8;
    padding-top: 0;
    order: 2;
  }
}

#confectionery.sub_category .sweets-list-primary .list .comment span {
  color: #900000;
}

.alart-detail {
  margin-bottom: 20px;
}

.alart-detail p {
  margin-bottom: 50px;
  font-size: 13px;
}

@media screen and (max-width: 769px) {
  .alart-detail p {
    font-size: 27px;
    line-height: 55px;
  }
}

.confectionery-detail {
  background-color: #ffffff;
}

.confectionery-detail .name {
  font-size: 16px;
  display: block;
  margin-bottom: 30px;
}

@media screen and (max-width: 769px) {
  .confectionery-detail .name {
    font-size: 30px;
  }
}

.confectionery-detail .mv {
  width: 300px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  margin-top: 10px;
}

@media screen and (max-width: 769px) {
  .confectionery-detail .mv {
    margin-top: 100px;
    width: 500px;
  }
}

.confectionery-detail .mv img {
  max-width: 100%;
}

.confectionery-detail p {
  max-width: 550px;
  font-size: 12px;
}

@media screen and (max-width: 769px) {
  .confectionery-detail p {
    font-size: 24px;
    max-width: 100%;
  }
}

.confectionery-detail p span {
  color: #900000;
}

/*----------------------------------------------------------------------------
   ヤスヒロについて - about
------------------------------------------------------------------------------*/

.about-message01 {
  position: relative;
  min-height: 650px;
}

.about-message01 p {
  position: relative;
  padding-top: 50px;
  padding-right: 625px;
  box-sizing: border-box;
  line-height: 36px;
}

@media screen and (max-width: 1100px) {
  .about-message01 p {
    padding-right: 650px;
  }
}
@media screen and (max-width: 1000px) {
  .about-message01 p {
    padding-right: 530px;
  }
}
@media screen and (max-width: 900px) {
  .about-message01 p {
    padding-right: 0px;
    padding-top: 30px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 769px) {
  .about-message01 {
    min-height: 1700px;
  }
  .about-message01 p {
    line-height: 55px;
    letter-spacing: 2.1px;
  }
}

.about-message01 .photo {
  width: 600px;
  position: absolute;
  top: -120px;
  right: -124px;
}

@media screen and (max-width: 1000px) {
  .about-message01 .photo {
    width: 500px;
    margin-top: 120px;
  }
}
@media screen and (max-width: 900px) {
  .about-message01 .photo {
    width: 400px;
    float: none;
    position: relative;
    top: inherit;
    right: inherit;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
  }
}
@media screen and (max-width: 769px) {
  .about-message01 .photo {
    width: calc(100% + 75px);
    right: 0;
  }
}

.about-message01 .photo img {
  max-width: 100%;
}

@media screen and (max-width: 900px) {
  .about-message01 .photo img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

.about-message02 {
  position: relative;
  padding-top: 120px;
  margin-bottom: 320px;
  min-height: 750px;
}

.about-message02 h4 {
  box-sizing: border-box;
  font-size: 27px;
  margin: 0;
  padding: 0;
  padding-left: 520px;
  font-weight: normal;
}

.about-message02 p {
  box-sizing: border-box;
  padding-left: 520px;
  padding-right: 113px;
  line-height: 36px;
}

@media screen and (max-width: 1280px) {
  .about-message02 p {
    padding-right: 0;
  }
}
@media screen and (max-width: 1000px) {
  .about-message02 h4 {
    padding-left: 450px;
  }
  .about-message02 p {
    padding-left: 450px;
  }
}
@media screen and (max-width: 850px) {
  .about-message02 h4 {
    padding-left: 0;
  }
  .about-message02 p {
    padding-left: 0;
    padding-right: 295px;
  }
  .about-message02 {
    padding-top: 0;
  }
}
@media screen and (max-width: 769px) {
  .about-message02 h4 {
    font-size: 38px;
    top: 300px;
    position: relative;
    margin-bottom: 100px;
  }
  .about-message02 p {
    line-height: 55px;
    padding-right: 0;
    padding-top: 212px;
    letter-spacing: 2.1px;
  }
  .about-message02 {
    padding-bottom: 425px;
  }
}

.about-message02 .photo:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
  width: 400px;
}

@media screen and (max-width: 850px) {
  .about-message02 .photo:nth-of-type(1) {
    position: relative;
    top: inherit;
    left: inherit;
    width: 400px;
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .about-message02 .photo:nth-of-type(1) img {
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 769px) {
  .about-message02 .photo:nth-of-type(1) {
    left: -185px;
    width: 670px;
    height: 755px;
  }
}

.about-message02 .photo:nth-of-type(1) .panel {
  background-color: #900000;
  position: absolute;
  display: block;
  width: 170px;
  height: 230px;
  top: 470px;
  left: 325px;
}

.about-message02 .photo:nth-of-type(2) {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 212px;
}

@media screen and (max-width: 950px) {
  .about-message02 .photo:nth-of-type(1) .panel {
    display: none;
  }
  .about-message02 .photo:nth-of-type(2) {
    right: 50px;
  }
}
@media screen and (max-width: 769px) {
  .about-message02 .photo:nth-of-type(1) .panel {
    display: block;
    width: 200px;
    height: 330px;
    top: 684px;
    left: 615px;
  }
  .about-message02 .photo:nth-of-type(2) {
    width: 280px;
    right: -30px;
    bottom: 0px;
  }
}

.about-message02 .photo img {
  max-width: 100%;
}

.about-message03 {
  background-color: #B58C5D;
  color: #ffffff;
  box-sizing: border-box;
  padding-bottom: 180px;
  margin-bottom: 200px;
}

.about-message03 article {
  padding-top: 120px;
}

@media screen and (max-width: 769px) {
  .about-message03 {
    padding-bottom: 20px;
    margin-bottom: 170px;
  }
  .about-message03 article {
    padding-top: 760px;
    padding-left: 75px;
    padding-right: 75px;
  }
}

.about-message03 .photo img {
  max-width: 100%;
}

.about-message03 .photo:nth-of-type(1) {
  position: absolute;
  top: -120px;
  left: -170px;
  display: block;
  width: 500px;
}

.about-message03 .photo:nth-of-type(2) {
  position: absolute;
  top: 140px;
  right: -45px;
  display: block;
  width: 260px;
}

.about-message03 .photo:nth-of-type(3) {
  position: absolute;
  top: 660px;
  right: 0;
  display: block;
  width: 472px;
}

.about-message03 .photo:nth-of-type(4) {
  position: absolute;
  top: 1060px;
  left: 0;
  display: block;
  width: 472px;
}

@media screen and (max-width: 1200px) {
  .about-message03 .photo {
    position: relative !important;
    top: inherit !important;
    right: inherit !important;
    left: inherit !important;
    float: right !important;
    width: 300px !important;
  }
  .about-message03 .photo img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
  .about-message03 .photo:nth-of-type(1) {
    display: none;
  }
  .about-message03 p:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media screen and (max-width: 769px) {
  .about-message03 .photo {
    position: absolute !important;
  }
  .about-message03 .photo:nth-of-type(1) {
    display: block;
    top: -100px !important;
    left: -30px !important;
    width: 520px !important;
  }
  .about-message03 .photo:nth-of-type(2) {
    display: block;
    top: 410px !important;
    right: -30px !important;
    width: 260px !important;
  }
  .about-message03 .photo:nth-of-type(3) {
    float: none !important;
    width: 745px !important;
    right: -55px !important;
    top: 1269px !important;
    position: absolute !important;
  }
  .about-message03 .photo:nth-of-type(4) {
    position: relative !important;
    width: 745px !important;
    left: 0px !important;
    margin-bottom: 40px;
  }
}


.about-message03 h4:nth-of-type(1) {
  padding: 0;
  margin: 0;
  padding-left: 395px;
  font-weight: normal;
  font-family: 'ShipporiMincho-Regular';
  font-size: 34px;
  line-height: 40px;
}

.about-message03 h4:nth-of-type(1) span {
  display: block;
  font-family: 'NotoSerifJP-Regular';
  font-size: 14px;
}

.about-message03 h4:nth-of-type(2) {
  padding: 0;
  margin: 0;
  padding-left: 110px;
  padding-top: 70px;
  font-weight: normal;
  font-family: 'ShipporiMincho-Regular';
  font-size: 25px;
  line-height: 40px;
}

.about-message03 h4:nth-of-type(3) {
  padding: 0;
  margin: 0;
  padding-left: 535px;
  font-weight: normal;
  font-family: 'ShipporiMincho-Regular';
  font-size: 27px;
  line-height: 40px;
}

.about-message03 p:nth-of-type(1) {
  padding-left: 395px;
  padding-right: 260px;
  padding-top: 60px;
  box-sizing: border-box;
  line-height: 36px;
  margin-bottom: 165px;
}

@media screen and (max-width: 769px) {
  .about-message03 p:nth-of-type(1) {
    padding-top: 0px;
  }
}

.about-message03 p:nth-of-type(2) {
  padding-left: 110px;
  padding-right: 526px;
  box-sizing: border-box;
  line-height: 36px;
  margin-bottom: 160px;
}

.about-message03 p:nth-of-type(3) {
  padding-left: 535px;
  padding-right: 5px;
  box-sizing: border-box;
  line-height: 36px;
}

@media screen and (max-width: 1200px) {
  .about-message03 h4 {
    padding-left: 0 !important;
    padding-right: 350px !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .about-message03 p {
    padding-left: 0 !important;
    padding-right: 350px !important;
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 769px) {
  .about-message03 h4 {
    padding-right: 0 !important;
    font-size: 48px !important;
    line-height: 1.3 !important;
    margin-bottom: 50px !important;
  }
  .about-message03 h4 span {
    font-size: 23px !important;
  }
  .about-message03 h4:nth-of-type(2),.about-message03 h4:nth-of-type(3) {
    font-size: 40px !important;
    margin-bottom: 20px !important;
  }
  .about-message03 p {
    padding-right: 0 !important;
    line-height: 55px !important;
    margin-bottom: 130px !important;
  }
  .about-message03 p:nth-of-type(1), .about-message03 p:nth-of-type(2), .about-message03 p:nth-of-type(3) {
    letter-spacing: 2.1px;
  }
  .about-message03 p:nth-of-type(1) {
    margin-bottom: 653px !important;
  }
}

.about-patissier {
  width: calc(100% + 50px);
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 769px) {
  .about-patissier {
    width: 100%;
  }
}

.about-patissier .about-patissier-desc {
  float: left;
  width: calc(50% - 50px);
  margin-right: 50px;
}
@media screen and (max-width: 769px) {
  .about-patissier .about-patissier-desc {
    float: none;
    width: 100%;
  }
}

.about-patissier h3 {
  border-bottom: none;
  margin-top: 0;
  padding-top: 0;
}

.about-patissier .name {
  font-size: 50px;
  line-height: 45px;
  margin-bottom: 25px;
}

.about-patissier .name span {
  display: block;
  font-size: 18px;
  font-weight: normal;
}

@media screen and (max-width: 769px) {
  .about-patissier h3 {
    margin-bottom: 80px;
  }
  .about-patissier .name {
    margin-bottom: 20px;
    font-size: 82px;
    line-height: 62px;
  }
  .about-patissier .name span {
    font-size: 21px;
  }
}

.about-patissier p {
  line-height: 36px;
  letter-spacing: 2px;
  margin: 0;
  padding: 0;
  padding-bottom: 30px;
}

@media screen and (max-width: 769px) {
  .about-patissier p {
    line-height: 55px;
    margin-bottom: 30px;
    border-bottom: 1px solid #cccccc;
  }
}

.about-patissier ul {
  float: left;
  width: calc(50% - 50px);
  list-style: none;
  margin: 0;
  margin-top: 92px;
  margin-right: 50px;
  padding: 0;
}
@media screen and (max-width: 769px) {
  .about-patissier ul {
    float: none;
    width: 100%;
    margin-top: 0;
  }
}

.about-patissier ul li {
  font-size: 12px;
  padding-bottom: 6px;
  position: relative;
  padding-left: 65px;
  box-sizing: border-box;
}

@media screen and (max-width: 769px) {
  .about-patissier ul li {
    font-size: 27px;
    padding-left: 130px;
  }
}

.about-patissier ul li span {
  position: absolute;
  top: 0;
  left: 0;
}

/*
.about-patissier p {
  line-height: 36px;
  letter-spacing: 2px;
  margin: 0;
  padding: 0;
  padding-bottom: 30px;
  width: calc(100% - 600px);
  margin-bottom: 30px;
  border-bottom: 1px solid #cccccc;
}

.about-patissier .owner-photo {
  position: absolute;
  top: -25px;
  right: 0;
  width: 534px;
}

@media screen and (max-width: 1200px) {
  .about-patissier .owner-photo {
    position: relative;
    top: inherit;
    right: inherit;
    width: 350px;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .about-patissier p {
    width: 100%;
  }
}

@media screen and (max-width: 769px) {
  .about-patissier .owner-photo {
    width: 100%;
  }
  .about-patissier p {
    line-height: 55px;
  }
}

.about-patissier ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.about-patissier ul li {
  font-size: 12px;
  padding-bottom: 6px;
  position: relative;
  padding-left: 65px;
  box-sizing: border-box;
}

@media screen and (max-width: 769px) {
  .about-patissier ul li {
    font-size: 27px;
    padding-left: 130px;
  }
}

.about-patissier ul li span {
  position: absolute;
  top: 0;
  left: 0;
}
*/


/*----------------------------------------------------------------------------
   素材へのこだわり - committed
------------------------------------------------------------------------------*/

#committed {
}

#committed_about {
  position: relative;
  box-sizing: border-box;
  min-height: 1300px;
  z-index: 2;
}

#committed_about .photo:nth-of-type(1) {
  position: absolute;
  top: -105px;
  right: -124px;
  width: 600px;
}

#committed_about .photo:nth-of-type(2) {
  position: absolute;
  top: 760px;
  left: -80px;
  width: 400px;
}

@media screen and (max-width: 1200px) {
  #committed_about .photo:nth-of-type(1) {
    right: -200px;
  }
}

@media screen and (max-width: 769px) {
  #committed_about article {
    padding-left: 0;
    padding-right: 0;
  }
  #committed_about .photo:nth-of-type(1) {
    position: relative;
    top: 0;
    right: 0;
    width: 719px;
  }
  #committed_about .photo:nth-of-type(2) {
    position: relative;
    top: inherit;
    left: -92px;
    width: 719px;
  }
}

#committed_about .photo img {
  max-width: 100%;
}

#committed_about h4 {
  padding-top: 50px;
}

@media screen and (max-width: 769px) {
  #committed_about h4 {
    padding-top: 50px;
  }
}

#committed_about p {
  padding-right: 635px;
  box-sizing: border-box;
  line-height: 36px;
}

@media screen and (max-width: 1200px) {
  #committed_about p {
    padding-right: 398px !important;
  }
}

@media screen and (max-width: 769px) {
  #committed_about {
    padding-left: 70px;
  }
  #committed_about p {
    padding-right: 50px !important;
    margin-bottom: 80px;
    line-height: 55px;
  }
}

#interview {
  background-color: #B58C5D;
  z-index: 1;
  margin-top: -310px;
  box-sizing: border-box;
  padding-top: 160px;
  padding-bottom: 280px;
}

@media screen and (max-width: 769px) {
  #interview {
    margin-top: -100px;
  }
}

#interview h3 {
  color: #ffffff;
  font-size: 35px;
  border-bottom: none;
  line-height: 1.5;
}

#interview h3 span {
  color: #ffffff;
}

#interview p {
  color: #ffffff;
  margin-top: -5px;
  padding-top: 0;
}

@media screen and (max-width: 769px) {
  #interview h3 {
    font-size: 50px;
  }
  .subpage #interview p {
    margin-top: -7px;
  }
}

#committed_fruits {
  margin-top: -180px;
  min-height: 1533px;
}

#committed_fruits .photo:nth-of-type(1) {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}

#committed_fruits .photo:nth-of-type(1) img {
  max-width: 100%;
}

@media screen and (max-width: 769px) {
  #committed_fruits .photo:nth-of-type(1) img {
    width: 100%;
  }
}

#committed_fruits .photo:nth-of-type(2) {
  width: 500px;
  position: absolute;
  left: -210px;
  top: 850px;
}

#committed_fruits .photo:nth-of-type(2) img {
  max-width: 100%;
}

@media screen and (max-width: 769px) {
  #committed_fruits .photo:nth-of-type(2) {
    width: 550px;
    left: 0;
    top: 870px;
  }
}

#committed_fruits .in_content:nth-of-type(3) {
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 100px;
  box-sizing: border-box;
}

#committed_fruits .in_content:nth-of-type(4) {
  padding-left: 425px;
  padding-right: 100px;
  padding-top: 100px;
  padding-bottom: 0;
  box-sizing: border-box;
}

@media screen and (max-width: 1050px) {
  #committed_fruits .in_content:nth-of-type(4) {
    padding-left: 320px;
    padding-right: 50px;
  }
}

@media screen and (max-width: 769px) {
  #committed_fruits .in_content:nth-of-type(3) {
    padding-left: 0;
    padding-right: 0;
  }
  #committed_fruits .in_content:nth-of-type(4) {
    padding-left: 0;
    padding-right: 0;
    padding-top: 870px;
    padding-bottom: 0;
  }
}

#committed_fruits .in_content h3 {
  font-size: 27px;
  color: #000000;
  margin: 5px;
  padding: 0;
  border: none;
  margin-left: 0;
  margin-bottom: 20px;
  padding-left: 0;
}

@media screen and (max-width: 769px) {
  #committed_fruits .in_content h3 {
    font-size: 35px;
    margin-bottom: 20px;
  }
}

#committed_fruits .in_content p {
  margin-top: 0;
  padding-top: 0;
}


/*----------------------------------------------------------------------------
   YASUHIRO×生産者 - interview_detail
------------------------------------------------------------------------------*/

#interview_detail {
  position: relative;
}

#interview_detail img {
  max-width: 100%;
}

#interview_detail .content article {
  max-width: 916px;
  padding-left: 50px;
  padding-right: 50px;
}

#interview_detail .target_name {
  max-width: 576px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 170px;
}

#interview_detail .talk-primary {
  margin-bottom: 150px;
}

#interview_detail .talk-primary h3 {
  text-align: center;
  font-size: 30px;
  line-height: 1.3;
  border-bottom: none;
}

#interview_detail .talk-primary h3 .face_icon {
  width: 60px;
  position: relative;
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 10px;
}

#interview_detail .talk-primary h3 .face_icon.inline-block {
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
}

#interview_detail .talk-primary h3 .face_icon:before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  width: 66px;
  height: 65px;
  box-sizing: border-box;
  border: 1px solid #900000;
  border-radius: 50px;
}

#interview_detail .talk-primary h3 span {
  font-size: 12px;
}

@media screen and (max-width: 769px) {
  #interview_detail .talk-primary h3 {
    font-size: 52px;
    line-height: 52px;
    margin-bottom: 50px;
  }
  #interview_detail .talk-primary h3 span {
    font-size: 23px;
  }
  #interview_detail .talk-primary h3 .face_icon {
    width: 120px;
    margin-bottom: 15px;
  }
  #interview_detail .talk-primary h3 .face_icon:before {
    top: -5px;
    left: -5px;
    width: 130px;
    height: 128px;
    border-radius: 100px;
  }
}

#interview_detail .talk-primary .talk {
  position: relative;
  margin-bottom: 50px;
}

#interview_detail .talk-primary .talk.with_name {
}

#interview_detail .talk-primary .talk p {
  position: relative;
  margin-bottom: 50px;
}

#interview_detail .talk-primary .talk.with_name p {
  padding-left: 50px;
  box-sizing: border-box;
}

@media screen and (max-width: 769px) {
  #interview_detail .talk-primary .talk.with_name p {
    padding-left: 70px;
  }
}

#interview_detail .talk-primary .talk.with_name p span {
  position: absolute;
  top: 0;
  left: 0;
}

#interview_detail .talk-primary .talk .photo {
  width: 100%;
  margin-bottom: 50px;
}

#interview_detail .talk-primary .talk .photo img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#interview_detail .talk-primary .place {
  border: 1px solid #900000;
  box-sizing: border-box;
  padding: 40px;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 50px;
}

#interview_detail .talk-primary .place h4 {
  font-size: 16px;
  margin: 0;
  padding: 0;
  display: block;
  margin-bottom: 5px;
  font-weight: normal;
}

#interview_detail .talk-primary .place h4 img {
  position: relative;
  bottom: 7px;
  left: 5px;
}

#interview_detail .talk-primary .place p {
  margin: 0;
  padding: 0;
  font-size: 12px;
}

@media screen and (max-width: 769px) {
  #interview_detail .talk-primary .place h4 {
    font-size: 32px;
  }
  #interview_detail .talk-primary .place p {
    font-size: 27px;
    line-height: 55px;
  }
  #interview_detail .talk-primary .place h4 img {
    width: 35px;
    bottom: 13px;
    left: 11px;
  }
}

#interview_detail .talk-primary .place .photo {
  margin-top: 20px;
  margin-bottom: 10px;
}

.interview-other {
}

.interview-other .interview-list-primary {
  position: relative;
  width: calc(100% + 80px)
}

.interview-other .interview-list-primary .list {
  width: calc(50% - 80px);
  margin-bottom: 0;
}

.interview-other .interview-list-primary .list .cname {
  color: #000000;
  line-height: 1;
}

.interview-other .interview-list-primary .list .link-button a {
  color: #900000 !important;
  border-color: #900000;
  white-space: nowrap;
}

.interview-other .interview-list-primary .list .link-button a:hover {
  color: #ffffff !important;
  background-color: #900000 !important;
}


/*----------------------------------------------------------------------------
   お知らせ - news
------------------------------------------------------------------------------*/

#news .news-list {
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}

#news .news-list-primary {
  margin-bottom: 30px;
  padding-top: 26px;
  border-top: 1px solid #d8d4c3;
}

#news .news-list-primary .list {
  border-bottom: 1px solid #d8d4c3;
  padding-bottom: 23px;
  margin-bottom: 23px;
  text-indent: 30px;
  position: relative;
}

#news .news-list-primary .list a {
  text-decoration: none;
  color: #000000;
  display: block;
  transition: 0.2s;
  line-height: 1.4
}

#news .news-list-primary .list a span {
  color: #848485 !important;
  display: block;
  font-size: 12px !important;
}

#news .news-list-primary .list a:hover {
  color: #900000 !important;
}

#news .news-list-primary .list:after {
  color: #535353;
  content: ">";
  font-weight: normal;
  position: absolute;
  top: 0;
  right: 80px;
  transition: 0.2s;
}

#news .news-list-primary .list:hover:after {
  right: 70px;
}

@media screen and (max-width: 769px) {
  #news .news-list-primary .list a span {
    font-size: 18px !important;
  }
  #news .news-list-primary .list:after {
    right: 40px;
  }
  #news .news-list-primary .list:hover:after {
    right: 30px;
  }
}

.news-detail {
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.news-detail h3 {
  font-size: 30px;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 50px;
}

.news-detail h3 span {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 14px;
  color: #868686;
  text-align: right;
}

@media screen and (max-width: 769px) {
  .news-detail h3 {
    font-size: 34px;
    border-bottom: 2px solid #cccccc;
  }
  .news-detail h3 span {
    position: relative;
    display: block;
    top: inherit;
    right: inherit;
    text-align: left;
    font-size: 27px;
  }
}

.news-detail img {
  max-width: 100%;
}

.news-detail img.aligncenter {
  margin-bottom: 50px;
}

.news-detail p {
  margin: 0;
  padding: 0;
  margin-bottom: 50px;
}

.news-detail p:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
}

.news-detail+.pager {
  border-top: 1px solid #cccccc;
  padding-top: 80px;
  width: 100%;
  max-width: 816px;
  text-align: center;
}

.news-detail+.pager .page-back a {
	display:inline-block;
	margin-left:auto;
	margin-right:auto;
	border-radius:30px;
	position:relative;
	margin-top: 0;
	margin-bottom:50px;
  padding-left: 45px;
  padding-right: 45px;
  padding-top: 7px;
  padding-bottom: 7px;
	text-align:center;
	text-decoration:none !important;
	font-size:14px;
	color:#900000 !important;
	border: 1px solid #900000;
	overflow:visible;
	transition: 0.2s;
}

@media screen and (max-width: 769px) {
  .news-detail+.pager .page-back {
    transform: scale(1.6);
    transform-origin: center top;
  }
}

.news-detail+.pager .page-back a:hover {
	background-color: #900000;
	color: #ffffff !important;
}

.news-detail+.pager .prev, .news-detail+.pager .next {
  top: 90px;
  font-size: 16px;
}

.news-detail+.pager .prev {
  left: 130px;
  padding-left: 35px;
}

.news-detail+.pager .next {
  right: 130px;
  padding-right: 35px;
}

@media screen and (max-width: 769px) {
  .news-detail+.pager .prev, .news-detail+.pager .next {
    top: 100px;
  }
  .news-detail+.pager .prev {
    left: 0;
    font-size: 30px;
    padding-left: 45px;
  }
  .news-detail+.pager .next {
    right: 0;
    font-size: 30px;
    padding-right: 45px;
  }
}

.news-detail+.pager .prev:before {
  content: "＜";
  position: absolute;
  top: 0;
  left: 0;
}

.news-detail+.pager .next:before {
  content: "＞";
  position: absolute;
  top: 0;
  right: 0;
}


/*----------------------------------------------------------------------------
   店舗情報 - shop
------------------------------------------------------------------------------*/

.shop-detail {
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}

.shop-detail .shop_photo {
  width: calc(100% + 50px);
  margin-bottom: 40px;
}

.shop-detail .shop_photo img {
  width: calc(50% - 50px);
  margin-right: 50px;
  margin-bottom: 30px;
  float: left;
}

@media screen and (max-width: 769px) {
  .shop-detail .shop_photo {
    width: calc(100% + 20px);
  }
  .shop-detail .shop_photo img {
    width: calc(50% - 20px);
    margin-right: 20px;
  }
}

.shop-detail .detail {
  margin-bottom: 80px;
}

.shop-detail .detail ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shop-detail .detail ul li {
  display: block;
  position: relative;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
  padding-left: 110px;
  box-sizing: border-box;
}

.shop-detail .detail ul li span {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 769px) {
  .shop-detail .detail ul li {
    padding-left: 0;
  }
  .shop-detail .detail ul li span {
    position: relative;
    top: inherit;
    left: inherit;
    display: block;
  }
}

.shop-detail .detail ul li p {
}

.shop-detail .access {
  width: calc(100% + 50px);
}

.shop-detail .access figure {
  width: calc(50% - 50px);
  margin-right: 50px;
  margin-bottom: 30px;
  float: left;
}

@media screen and (max-width: 769px) {
  .shop-detail .access {
    width: 100%;
    margin-bottom: 100px;
  }
  .shop-detail .access figure {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .shop-detail .access figure:first-of-type img {
    margin-bottom: 70px;
  }
}

.shop-detail h3 {
  border-bottom: none;
}

.shop-detail .gmap {
  position: relative;
  display: block;
  -webkit-filter: grayscale(100%);
   -moz-filter: grayscale(100%);
   -o-filter: grayscale(100%);
   -ms-filter: grayscale(100%);
   filter: grayscale(100%);
}

@media screen and (max-width: 769px) {
  .shop-detail .gmap {
    width: calc(100% + 150px);
    margin-left: -75px;
  }
  .shop-detail .gmap iframe {
    height: 769px;
  }
}

.payplan {
  margin-bottom: 80px;
}

.payplan p {
  margin: 0;
  padding: 0;
}

.payplan img {
  max-width: 350px;
  width: 100%;
  display: block;
  float: left;
  margin-right: 30px;
}

@media screen and (max-width: 769px) {
  .payplan img {
    float: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 100%;
    max-width: inherit;
  }
}

/*----------------------------------------------------------------------------
   包装について - packaging
------------------------------------------------------------------------------*/

#packaging {
}

#packaging .select-packaging {
  margin-bottom: 80px;
  width: 100%;
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}

#packaging .select-packaging .img-auto-width {
  padding-top: 60px;
}

@media screen and (max-width: 769px) {
  #packaging .select-packaging .img-auto-width {
    width: calc(100% + 20px);
    padding-top: 30px;
  }
}

#packaging .select-packaging figure {
  width: calc(50% - 20px);
  margin-right: 20px;
}

#packaging .select-packaging figure img {
  margin-bottom: 0;
}

#packaging .bag_category {
  margin-bottom: 100px;
  width: 100%;
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}

#packaging .bag_category h4, #packaging .noshimaki_category h4 {
  border-bottom: 2px solid #900000;
  margin-bottom: 50px;
}

#packaging .bag_category .catch, #packaging .noshimaki_category .catch {
  font-size: 30px;
  line-height: 55px;
  font-family: 'ShipporiMincho-Regular';
  margin-bottom: 10px;
}

#packaging .bag_category .catch br , #packaging .noshimaki_category .catch br {
  display: none;
}

#packaging .message p {
  font-size: 18px;
  margin-bottom: 0;
}

#packaging .message p:nth-of-type(2) {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 50px;
  font-size: 16px;
}

@media screen and (max-width: 769px) {
  #packaging .bag_category .catch, #packaging .noshimaki_category .catch {
    font-size: 38px;
    margin-bottom: 40px;
  }
  #packaging .bag_category .catch br, #packaging .noshimaki_category .catch br {
    display: block;
  }
  #packaging .message p {
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
    line-height: 38px;
    font-size: 22px;
  }
  #packaging .message p:nth-of-type(2) {
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 50px;
  }
}

.bag_detail-primary {
  width: calc(100% + 30px)
}

.bag_detail-primary .bag_detail {
  width: calc(50% - 30px);
  margin-right: 30px;
  float: left;
}

@media screen and (max-width: 769px) {
  .bag_detail-primary {
    width: 100%;
  }
  .bag_detail-primary .bag_detail {
    width: 100%;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
}

#packaging .bag_detail h4 {
  border-bottom: none;
  margin-bottom: 10px;
  padding-bottom: 0;
}

#packaging .bag_detail img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

#packaging .bag_detail p {
  margin: 0;
  padding: 0;
  margin-bottom: 20px;
  line-height: 38px;
}

#packaging .bag_detail p:nth-of-type(2) {
  font-size: 16px;
  line-height: 36px;
  margin-bottom: 50px;
}

.noshimaki_category {
  width: 100%;
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}

.noshimaki_category .img-auto-width {
  padding-top: 50px;
  width: calc(100% + 50px);
  margin-right: 50px;
}

.noshimaki_category .img-auto-width figure {
  width: calc(33.333% - 50px);
  margin-right: 50px;
}

@media screen and (max-width: 769px) {
  .noshimaki_category .img-auto-width {
    padding-top: 50px;
  }
  .noshimaki_category .img-auto-width figure {
    width: calc(50% - 50px);
  }
}

.noshimaki_category figure {
  padding-bottom: 40px;
}

.noshimaki_category figcaption {
  text-align: left;
  font-size: 20px;
}

.noshimaki_category figcaption span {
  font-size: 15px;
  display: block;
  text-align: left;
  line-height: 28px;
}

@media screen and (max-width: 769px) {
  .noshimaki_category figcaption {
    text-align: left;
    font-size: 22px;
  }
  .noshimaki_category figcaption span {
    font-size: 18px;
  }
}

/*----------------------------------------------------------------------------
   お問い合わせ - contact
------------------------------------------------------------------------------*/

#contact {
}

#contact .message {
  max-width: 816px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
}

#contact .contact-tel {
  max-width: 816px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 150px;
}

#contact .contact-tel .tel {
  float: left;
  margin-right: 20px;
}

#contact .contact-tel .tel .number {
  font-family: 'ShipporiMincho-Medium';
  font-size: 45px;
}

#contact .contact-tel .tel .number span {
  font-size: 18px;
  display: inline-block;
  margin-right: 5px;
}

@media screen and (max-width: 769px) {
  #contact .contact-tel .tel .number span {
    font-size: 22px;
    margin-right: 15px;
  }
}

#contact .contact-tel .fax {
  float: left;
}

@media screen and (max-width: 769px) {
  #contact .contact-tel .fax {
    margin-top: -25px;
  }
}

#contact .contact-tel .fax .number {
  font-family: 'ShipporiMincho-Medium';
  font-size: 45px;
}

#contact .contact-tel .fax .number span {
  font-size: 18px;
  display: inline-block;
  margin-right: 5px;
}

@media screen and (max-width: 769px) {
  #contact .contact-tel .fax .number span {
    font-size: 22px;
    margin-right: 11px;
  }
}

#contact .contact-tel p {
  clear: both;
  display: block;
}

@media screen and (max-width: 769px) {
  #contact .contact-tel p {
    line-height: 55px;
  }
}

#contact .contact-mailform {
  max-width: 816px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}



/*----------------------------------------------------------------------------
   クリスマスケーキのご案内 - xmas
------------------------------------------------------------------------------*/

#xmas {
  background-color: #900000;
  background-image: url("../image/contents/xmas/back.webp");
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

@media screen and (max-width: 769px) {
  #xmas {
    background-attachment: inherit;
    background-color: inherit;
    background-position: center top 20px;
    background-repeat: repeat-y;
  }
  #xmas article {
    padding-left: 60px;
    padding-right: 60px;
  }
}

#xmas .mv_logo {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#xmas .mv_logo img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  #xmas .mv_logo {
    background-image: url("../image/contents/xmas/mv_sp.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    margin-top: -110px;
    margin-left: -75px;
    width: calc(100% + 150px);
    height: 700px;
  }
  #xmas .mv_logo img {
    display: none;
  }
}

#xmas .cake-list-primary {
}

#xmas .cake-list-primary .list {
  position: relative;
  padding-top: 80px;
  min-height: 500px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list {
    padding-top: 0;
  }
}

#xmas .cake-list-primary .list:nth-child(odd) .cake_img {
  position: absolute;
  top: 0;
  right: 50px;
  width: 500px;
}

#xmas .cake-list-primary .list:nth-child(even) .cake_img {
  position: absolute;
  top: 0;
  left: -80px;
  width: 570px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .cake_img {
    position: relative !important;
    top: inherit !important;
    left: inherit !important;
    right: inherit !important;
    width: 100% !important;
  }
}

#xmas .cake-list-primary .list.stollen {
  margin-top: 80px;
  padding-top: 0;
}

#xmas .cake-list-primary .list.stollen .cake_img {
  width: 352px;
  position: absolute;
  top: 0;
  left: 0;
}

#xmas .cake-list-primary .list.stollen .cake_img .with-img-comment .sc {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.8);
  color: #ffffff;
  box-sizing: border-box;
  padding: 3px;
  padding-left: 10px;
  padding-right: 10px;
  display: inline-block;
}

#xmas .cake-list-primary .list .cake_img .limited {
  display: none;
}

#xmas .cake-list-primary .list.stollen .limited {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url("../image/contents/xmas/limited500.webp");
  width: 235px;
  height: 273px;
  transform: scale(0.5,0.5);
  transform-origin: top right;
  color: #ffffff;
  text-align: center;
  box-sizing: border-box;
  padding-top: 85px;
  font-size: 48px;
  line-height: 55px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list.stollen .limited {
    top: 490px;
    transform: scale(0.65,0.65);
  }
}

#xmas .cake-list-primary .list .cake_img img {
  max-width: 100%;
}

#xmas .cake-list-primary .list.stollen .sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list.stollen .sp {
    display: block;
  }
  #xmas .cake-list-primary .list.stollen .pc {
    display: none;
  }
}

#xmas .cake-list-primary .list .detail {
  position: relative;
  padding-top: 100px;
  box-sizing: border-box;
}

#xmas .cake-list-primary .list:nth-child(odd) .detail {
  margin-left: 170px;
}
#xmas .cake-list-primary .list:nth-child(even) .detail {
  margin-left: 490px;
}

#xmas .cake-list-primary .list.stollen .detail {
  margin-left: 400px;
  position: relative;
  top: -10px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list:nth-child(odd) .detail {
    margin-left: 170px;
    padding-top: 100px;
  }
  #xmas .cake-list-primary .list:nth-child(even) .detail {
    margin-left: 490px;
    padding-top: 150px;
  }
  #xmas .cake-list-primary .list:nth-of-type(4) .detail {
    padding-top: 100px;
  }
  #xmas .cake-list-primary .list.stollen .detail {
    padding-top: 130px;
  }
  #xmas .cake-list-primary .list .detail {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: -70px;
  }
}

#xmas .cake-list-primary .list .detail .en {
  position: absolute;
  top: 0;
  left: 0;
  width: 600px;
}

#xmas .cake-list-primary .list .detail .en img {
  width: 62%;
  display: block;
}

#xmas .cake-list-primary .list .detail .en .sp {
  display: none;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list:nth-child(odd) .detail .en {
    left: 450px;
    top: -60px;
  }
  #xmas .cake-list-primary .list:nth-child(even) .detail .en {
    left: -20px;
    top: 0px;
  }
  #xmas .cake-list-primary .list:nth-of-type(3) .detail .en {
    left: 500px;
    top: -30px;
  }
  #xmas .cake-list-primary .list:nth-of-type(5) .detail .en {
    left: 470px;
    top: 10px;
  }
  #xmas .cake-list-primary .list.stollen .detail .en {
    left: 311px;
    top: 96px;
  }
  #xmas .cake-list-primary .list .detail .en .sp {
    display: block;
    width: auto;
    max-width: 100%;
  }
  #xmas .cake-list-primary .list .detail .en .pc {
    display: none;
  }
}

#xmas .cake-list-primary .list .detail .title {
  color: #ffffff;
  font-size: 22px;
  font-family: 'ShipporiMincho-Medium';
  margin-top: -30px;
  margin-bottom: 15px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .title {
    font-size: 40px;
  }
}

#xmas .cake-list-primary .list.stollen .detail .title {
  margin-top: -35px;
}

#xmas .cake-list-primary .list .detail .category {
  text-align: left;
  margin-bottom: 40px;
}

#xmas .cake-list-primary .list .detail .category span {
  display: inline-block;
  color: #ffffff;
  text-align: center;
  border: 1px solid #ffffff;
  padding: 3px;
  padding-left: 4px;
  padding-right: 4px;
  font-size: 11px;
  border-radius: 3px;
  line-height: 26px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .category span {
    font-size: 18px;
    padding-left: 8px;
    padding-right: 8px;
  }
}

#xmas .cake-list-primary .list .detail .price {
}

#xmas .cake-list-primary .list.stollen .price {
  color: #ffffff;
  margin-top: -30px;
  font-size: 16px;
}

#xmas .cake-list-primary .list.stollen .price span {
  font-size: 20px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list.stollen .price {
    font-size: 25px;
  }
  #xmas .cake-list-primary .list.stollen .price span {
    font-size: 35px;
  }
}

#xmas .cake-list-primary .list.stollen .price+p {
  color: #ffffff;
  font-size: 14px;
  max-width: 515px;
  width: 100%;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list.stollen .price+p {
    font-size: 26px;
    max-width: 100%;
    line-height: 42px;
  }
}

#xmas .cake-list-primary .list .detail .price ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 210px;
  color: #ffffff;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .price ul {
    width: 100%;
  }
}

#xmas .cake-list-primary .list .detail .price ul li {
  border-bottom: 1px solid #9B3636;
  padding-bottom: 10px;
  margin-bottom: 15px;
  display: block;
  font-size: 16px;
}

#xmas .cake-list-primary .list .detail .price ul li span {
  font-size: 13px;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .price ul li {
    font-size: 32px;
  }
  #xmas .cake-list-primary .list .detail .price ul li span {
    font-size: 26px;
  }
}

#xmas .cake-list-primary .list .detail .danmen {
  text-align: left;
  width: 336px;
  margin-left: -20px;
}

#xmas .cake-list-primary .list .detail .danmen img {
  width: 130px;
  float: left;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .danmen {
    width: calc(100% + 40px);
  }
  #xmas .cake-list-primary .list .detail .danmen img {
    width: 280px;
    margin-left: -30px;
  }
}

#xmas .cake-list-primary .list .detail .danmen p {
  font-size: 12px;
  color: #ffffff;
  padding-left: 142px;
  line-height: 26px;
}

#xmas .cake-list-primary .list .detail .danmen p:first-of-type {
  padding-top: 15px;
  line-height: 26px;
}

#xmas .cake-list-primary .list .detail .danmen p.nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 769px) {
  #xmas .cake-list-primary .list .detail .danmen p {
    padding-left: 268px;
    padding-top: 30px !important;
    font-size: 28px;
    line-height: 50px !important;
  }
}

.xmas-contact {
  max-width: 1028px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  color: #ffffff;
  display: block;
  margin-top: 150px;
  text-align: center;
}

@media screen and (max-width: 769px) {
  .xmas-contact {
    max-width: inherit;
    width: 649px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

.xmas-contact .title {
  text-align: center;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  padding-top: 18px;
  padding-bottom: 18px;
  font-size: 22px;
  font-family: 'ShipporiMincho-Medium';
  margin-bottom: 50px;
}

.xmas-contact .title br {
  display: none;
}

@media screen and (max-width: 769px) {
  .xmas-contact .title {
    font-size: 40px;
    line-height: 60px;
    padding-top: 25px;
    padding-bottom: 25px;
    text-align: center;
    margin-bottom: 10px;
  }
  .xmas-contact .title br {
    display: block;
  }
}

.xmas-contact .tel {
  display: inline-block;
  margin-right: 20px;
}

.xmas-contact .tel .number {
  font-family: 'ShipporiMincho-Medium';
  font-size: 45px;
}

.xmas-contact .tel .number span {
  font-size: 18px;
  display: inline-block;
  margin-right: 5px;
}

@media screen and (max-width: 769px) {
  .xmas-contact .tel {
    transform: scale(1.3);
    transform-origin: left top;
    margin-bottom: 10px;
  }
  .xmas-contact .tel .number span {
    font-size: 22px;
    display: inline-block;
    width: 60px;
  }
}

.xmas-contact .fax {
  display: inline-block;
}

@media screen and (max-width: 769px) {
  .xmas-contact .fax {
    margin-top: -25px;
    transform: scale(1.3);
    transform-origin: left top;
  }
}

.xmas-contact .fax .number {
  font-family: 'ShipporiMincho-Medium';
  font-size: 45px;
}

.xmas-contact .fax .number span {
  font-size: 18px;
  display: inline-block;
  margin-right: 5px;
}

@media screen and (max-width: 769px) {
  .xmas-contact .fax .number span {
    font-size: 22px;
    margin-right: 5px;
    display: inline-block;
    width: 60px;
  }
}

.xmas-contact p {
  color: #ffffff;
  clear: both;
}

@media screen and (max-width: 769px) {
  .xmas-contact p {
    line-height: 50px;
  }
  .xmas-contact p br {
    display: block;
  }
}

.order-form-button a {
  background-color: #ffffff;
  width: 100%;
  display: block;
  text-align: center;
  color: #900000;
  font-size: 30px;
  text-decoration: none;
  padding-top: 55px;
  padding-bottom: 55px;
  margin-top: 60px;
  transition: 0.2s;
}

.order-form-button a span {
  color: #000000;
  font-size: 12px;
  display: block;
}

@media screen and (max-width: 769px) {
  .order-form-button a {
    font-size: 60px;
    line-height: 60px;
  }
  .order-form-button a span {
    font-size: 29px;
  }
}

.order-form-button a:hover {
  background-color: #B58C5D;
  color: #ffffff !important;
}

.order-form-button a:hover span {
  color: #ffffff !important;
}


/*----------------------------------------------------------------------------
   メディア情報 - media
------------------------------------------------------------------------------*/

.media-content {
  max-width: 816px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}

@media screen and (max-width: 769px) {
  .media-content h3 {
    font-size: 32px;
    border-bottom: 2px solid #900000;
    padding-bottom: 20px;
  }
  
  .media-content h3 span {
  }
}


/*----------------------------------------------------------------------------
   プライバシーポリシー - pp
------------------------------------------------------------------------------*/

#pp ol, #pp p {
  margin-bottom: 30px;
  display: block;
}


/*----------------------------------------------------------------------------
   商品パンフレット - pamphlet
------------------------------------------------------------------------------*/

#pamphlet {
}

.pamphlet-list-primary {
  width: calc(100% + 50px);
}

.pamphlet-list-primary .list {
  width: calc(50% - 50px);
  margin-right: 50px;
  float: left;
  margin-bottom: 50px;
  box-sizing: border-box;
  padding-bottom: 100px;
  position: relative;
}

.pamphlet-list-primary .list .link-button {
  position: absolute;
  bottom: 0;
  left: 0;
}

.pamphlet-list-primary .list .thum {
  margin-bottom: 20px;
}

.pamphlet-list-primary .list .thum img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 769px) {
  .pamphlet-list-primary {
    width: 100%;
  }
  .pamphlet-list-primary .list {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    padding-bottom: 155px;
  }
  .pamphlet-list-primary .list .link-button a {
    padding-left: 75px;
    padding-right: 75px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 50px;
    font-size: 27px;
  }
}