@charset "utf-8";

/* ==========================================================
	共通(element)
========================================================== */

/* ==========================================================
	共通(id,class)
========================================================== */
/* ==========================================================
	ビジュアル
========================================================== */
#visual {
  position: relative;
  padding: 0;
  margin: 0 0 50px 0;
}
#visual > .inner {
  margin: 0 auto;
}
#visual > .inner > img {
  width: 100%;
}
/* ==========================================================
	ヘッドライン
========================================================== */
#main-content {
}
#main-content .headline {
  margin: 0 auto 60px;
  width: 1170px;
}
#main-content .headline .title {
  margin: 0 auto 60px;
  width: 700px;
}
#main-content .headline .detail {
  position: relative;
  display: -webkit-box;
  -js-display: flex;
  display: flex;
}
@media screen and (max-width: 1170px) {
  #main-content .headline .detail {
    padding: 0 20px;
  }
}
#main-content .headline .detail::before {
  position: absolute;
  content: url('../images/product/bread/headline-logo1.png');
  left: 339px;
  top: 0;
}
#main-content .headline .detail::after {
  position: absolute;
  content: url('../images/product/bread/headline-logo2.png');
  left: 1014px;
  top: 146px;
}
#main-content .headline .photo {
  margin: 0 30px 50px 0;
}
#main-content .headline .comment {
  font-size: 22px;
  text-align: left;
  background: url('../images/product/bread/dotline.png') left top no-repeat;
  text-indent: 70px;
  padding: 0 30px 0 30px;
  width: 721px;
  height: 267px;
}
#main-content .headline .comment > p {
  line-height: 2.34em;
}
/* ==========================================================
	メニュー
========================================================== */
#main-content #product {
  background: #fffbca;
  padding: 90px 0 60px 0;
}
#main-content #product .title {
  font-size: 30px;
  margin: 0 0 7px 0;
}
#main-content #product .sub {
  font-size: 13px;
  color: #0c6639;
  margin: 0 0 30px 0;
}
#main-content #product .special {
  font-size: 30px;
  margin: 0 0 50px 0;
}
#main-content #product .detail {
  margin: 0 auto 60px;
  width: 1170px;
}
@media screen and (max-width: 1170px) {
  #main-content #product .detail {
    margin: 0 auto 60px;
    padding: 0 20px;
    box-sizing: border-box;
  }
}
#main-content #product .detail .menu {
}
#main-content #product .detail .menu .items {
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main-content #product .detail .menu .item {
  margin: 0px 0 55px 0;
  text-align: left;
}
#main-content #product .detail .menu .title {
  position: relative;
  background: url('../images/product/bread/title-back.png') no-repeat;
  height: 65px;
  background-size: contain;
  text-align: left;
  color: #fff;
  font-weight: bold;
  padding: 17px 0 0 20px;
  box-sizing: border-box;
  font-size: 28px;
  margin: 0 0 60px 0;
}
#main-content #product .detail .menu .title .sub {
  position: absolute;
  font-size: 13px;
  font-weight: 200;
  margin: 0 0 10px 10px;
  color: #fff;
}
#main-content #product .detail .menu .item .name {
  position: relative;
  font-size: 25px;
  font-weight: 500;
  margin: 0 0 25px 0;
  padding: 0 0 0 35px;
}
#main-content #product .detail .menu .item .name::before {
  position: absolute;
  content: url('../images/product/bread/icon-reaf.png');
  left: -4px;
  top: -10px;
}
#main-content #product .detail .menu .photo {
}
#main-content #product .detail .food {
}
#main-content #product .detail .food .title .sub {
  left: 200px;
  top: 24px;
}
#main-content #product .detail .food .price {
  position: absolute;
  left: 415px;
  text-align: right;
  width: 120px;
}
#main-content #product .detail .sweets {
}
#main-content #product .detail .sweets .items {
  justify-content: space-around;
}

#main-content #product .detail .sweets .item {
  margin: 0px 0 55px 0;
  text-align: left;
  width: 46%;
  font-size: 20px;
  line-height: 1.5em;
}
#main-content #product .detail .sweets .photo {
  width: 600px;
}
#main-content #product .detail .sweets .category {
  position: relative;
  color: #f6649a;
  font-size: 24px;
  font-weight: bold;
  padding: 0px 0 0 55px;
  margin: 0 0 25px;
}

#main-content #product .detail .sweets .category.cookie::before {
  position: absolute;
  content: url('../images/product/bread/icon-oreo.png');
  left: 0;
  top: -5px;
}
#main-content #product .detail .sweets .category.rask::before {
  position: absolute;
  content: url('../images/product/bread/icon-bread.png');
  left: 10px;
  top: -4px;
}
#main-content #product .detail .sweets table {
  margin: 0 0 0 50px;
}
#main-content #product .detail .sweets table tr td:nth-child(odd) {
  width: 35%;
}
#main-content #product .detail .sweets table tr td:nth-child(even) {
  width: 10%;
}
#main-content #product .detail .other {
}
#main-content #product .detail .other .title .sub {
  left: 216px;
  top: 24px;
}
#main-content #product .detail .other .items {
  display: block;
}
#main-content #product .detail .other .items .name {
  text-align: left;
  line-height: 1.5em;
  position: relative;
  font-size: 25px;
  font-weight: 500;
  margin: 0 0 25px 0;
  padding: 0 0 0 35px;
}
#main-content #product .detail .other .items .name::before {
  position: absolute;
  content: url(images/icon-reaf.png);
  width: 32px;
  height: 50px;
  left: -4px;
}
#main-content #product .detail .other .items .photo {
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
/* ==========================================================
	その他の製品
========================================================== */
#main-content #other-product {
  padding: 90px 0 60px 0;
}
#main-content #other-product .special {
  position: relative;
  font-size: 28px;
  margin: 0 auto 100px;
  width: 1170px;
  line-height: 1.5em;
}
#main-content #other-product .special::before {
  position: absolute;
  content: url('../images/product/bread/icon-cookie.png');
  right: 252px;
  top: 0;
}
#main-content #other-product .special::after {
  position: absolute;
  content: url('../images/product/bread/icon-smile.png');
  left: 250px;
  top: 13px;
}
#main-content #other-product .detail {
  text-align: left;
  margin: 0 auto;
  width: 800px;
  position: relative;
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#main-content #other-product .detail::before {
  position: absolute;
  content: url('../images/bubble2.png');
  right: 207px;
  top: -91px;
}
#main-content #other-product .detail::after {
  position: absolute;
  content: url('../images/bubble1.png');
  left: 210px;
  top: 234px;
}
#main-content #other-product .detail .items {
}
#main-content #other-product .detail .item {
  line-height: 1.5em;
  list-style: disc;
}
#main-content #other-product .detail .item .photo {
  border-radius: 50% 50% 50% 50%;
  border: #9e5e32 2px solid;
  overflow: hidden;
}
#main-content #other-product .detail .item .name {
  background: #ffffff69;
  position: absolute;
  left: 30px;
  top: 161px;
  width: 126px;
  padding: 5px 0 7px 31px;
}
#main-content #other-product .detail .item .name::before {
  position: absolute;
  content: url('../images/icon-flag.png');
  left: -2px;
  top: -5px;
}
/* ==========================================================
	アクセス
========================================================== */
#main-content #access {
  padding: 60px 0 60px 0;
  background: #fffbca;
}
#main-content #access .balloon {
  margin: 0 0 20px 0;
}
#main-content #access .title {
  font-size: 30px;
  margin: 0 0 10px 0;
}
#main-content #access .sub {
  font-size: 13px;
  color: #0c6639;
  margin: 0 0 60px 0;
}
#main-content #access .detail {
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  width: 1170px;
  margin: 0 auto;
}
@media screen and (max-width: 1170px) {
  #main-content #access .detail {
    width: 90%;
  }
}
#main-content #access .detail .items {
  text-align: left;
}
#main-content #access .detail .item {
  margin: 0 0 25px 0;
  font-size: 20px;
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  position: relative;
  padding: 0 0 0 45px;
  line-height: 1.5em;
}
#main-content #access .detail .item::before {
  position: absolute;
  left: 0;
  top: 0;
}
#main-content #access .detail .name {
  font-size: 26px;
  padding: 0;
}
#main-content #access .detail .address::before {
  content: url('../images/access-address-logo.png');
}
#main-content #access .detail .time::before {
  content: url('../images/access-hours-logo.png');
}
#main-content #access .detail .tell::before {
  content: url('../images/access-phone-logo.png');
}
#main-content #access .detail .fax::before {
  content: url('../images/access-fax-logo.png');
}
#main-content #access .detail .public::before {
  content: url('../images/access-traffic-logo.png');
}
#main-content #access .detail .item p {
  margin: 0 20px 0 0;
}
#main-content #access .detail .item p:nth-child(odd) {
  width: 120px;
}
#main-content #access .detail .map {
}
/* ==========================================================
	お問い合わせ
========================================================== */
#main-content #direct {
  padding: 60px 0 60px 0;
}
#main-content #direct .balloon {
  margin: 0 0 20px 0;
}
#main-content #direct .title {
  font-size: 30px;
  margin: 0 0 10px 0;
}
#main-content #direct .sub {
  font-size: 13px;
  color: #0c6639;
  margin: 0 0 60px 0;
}
#main-content #direct .detail {
  display: -webkit-box;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  width: 1170px;
  margin: 0 auto;
}
@media screen and (max-width: 1170px) {
  #main-content #direct .detail {
    width: 90%;
  }
}
#main-content #direct .detail .tell {
  background: url('../images/contact-tell-back.png') no-repeat;
  position: relative;
  width: 510px;
  height: 260px;
  padding: 90px 0 0 0;
  box-sizing: content-box;
}
#main-content #direct .detail a {
  display: block;
  height: 100%;
}
#main-content #direct .detail .tell .title {
  position: absolute;
  background: #45883a;
  padding: 17px 35px;
  font-size: 25px;
  border-radius: 5px;
  color: #fff;
  left: 68px;
  top: -15px;
}
#main-content #direct .detail .tell .text {
  padding: 0 0 0 37px;
  font-size: 45px;
  margin: 0 0 20px 0;
}
#main-content #direct .detail .tell .comment {
  font-size: 24px;
  padding: 0px 0 0 30px;
}
#main-content #direct .detail .mail {
  background: url('../images/contact-mail-back.png') no-repeat;
  position: relative;
  width: 510px;
  height: 260px;
  padding: 80px 0 0 0;
  box-sizing: border-box;
}
#main-content #direct .detail .mail .title {
  position: absolute;
  background: #24bde0;
  padding: 17px 35px;
  font-size: 25px;
  border-radius: 5px;
  color: #fff;
  left: 54px;
  top: -15px;
}
#main-content #direct .detail .mail .text {
  font-size: 35px;
  margin: 0 0 20px 0;
}
#main-content #direct .detail .mail .comment {
  font-size: 22px;
  line-height: 1.5em;
}
