@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/NotoSerifCJKjp-Regular.otf) format("opentype");
  font-display: swap;
}

.mcContainer {
  width: auto;
  margin: 0 auto;
  font-feature-settings: "palt";
}

.main {
  background: url(../images/mc_bg01.jpg) no-repeat center top, url(../images/mc_bg02.jpg) repeat-y center bottom;
  background-size: contain;
}

.topSection__title {
  width: 77.16666666666666%;
  margin: 0 auto;
  padding: 3.8% 0 2%;
}

.topSection__title img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.topSection__text {
  width: 73%;
  margin: 0 auto 2%;
  font-size: calc(1rem + ((1vw - 3.2px) * 0.5625));
  text-align: center;
  color: #fff;
  font-family: 'Noto Sans Japanese', sans-serif;
  text-shadow: 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000, 0px 0px 8px #000000;
}

.topSection__image {
  width: 66.83333333333333%;
  margin: 0 auto;
}

.topSection__image img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 769px) {
  .topSection__title {
    width: 95%;
    margin: 0 auto;
    padding: 3.8% 0 2%;
  }
  .topSection__title img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .topSection__text {
    width: 73%;
    margin: 0 auto 1%;
    font-size: calc(1rem + ((1vw - 4.8px) * 0.4167));
    text-align: center;
    color: #fff;
    font-family: 'Noto Sans Japanese', sans-serif;
  }
  .topSection__image {
    width: 90%;
    margin: 0 auto;
  }
  .topSection__image img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
}

.mcBlock01__wrap {
  max-width: 1100px;
  margin: 0 auto;
  background: -webkit-linear-gradient(top, rgba(254, 217, 96, 0) 0%, #fed960 12%, #fed960 93%, #fed960 100%);
  background: linear-gradient(to bottom, rgba(254, 217, 96, 0) 0%, #fed960 12%, #fed960 93%, #fed960 100%);
}

.mcBlock01__wrap:last-of-type {
  padding: 0 0 1%;
  background: -webkit-linear-gradient(top, #fed960 0%, #fed960 7%, #fed960 93%, #fed960 100%);
  background: linear-gradient(to bottom, #fed960 0%, #fed960 7%, #fed960 93%, #fed960 100%);
}

.mcBlock01__wrap--bg {
  background: url(../images/image_rose_top.png) center top no-repeat, url(../images/image_rose_bottom.png) center bottom no-repeat;
  background-size: 90%;
}

.mcBlock01__title {
  margin: 0;
  padding: 2% 0;
  color: #fff;
  font-size: calc(1.5rem + ((1vw - 3.2px) * 3.3125));
  font-family: "Noto Serif Japanese", serif, san-serif;
  font-weight: 100;
  line-height: 1;
  text-align: center;
}

.mcBlock01__image {
  width: auto;
  margin: 0 auto 2%;
}

.mcBlock01__image img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock01__box {
  width: 94.45454545454545%;
  margin: 0 auto;
  background: url(../images/image_rose_top.png) center 2% no-repeat;
  background-size: 96%;
}

.mcBlock01__box img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock01__btn {
  width: 49.4706448508181%;
  margin: 0 auto 1%;
}

.mcBlock01__btn a {
  overflow: hidden;
  display: block;
  width: auto;
  padding: 16.7% 0 0;
  background: url(../images/mc_btn_spsite.jpg) center top no-repeat;
  background-size: cover;
}

.mcBlock01__btn a:hover {
  background: url(../images/mc_btn_spsite.jpg) center bottom no-repeat;
  background-size: cover;
}

.mcBlock01__btn img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock01__product {
  width: auto;
  margin: 0 auto;
}

.mcBlock01__product img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock01__text {
  text-align: center;
  font-size: calc(1rem + ((1vw - 3.2px) * 0.875));
  font-family: "Noto Serif Japanese", serif, san-serif;
  font-weight: bold;
  letter-spacing: 0.08em;
}

.mcBlock01__list {
  display: table;
  list-style: none;
  max-width: 530px;
  margin: 0 auto;
  padding: 0 0 6%;
  font-weight: bold;
}

.mcBlock01__list li {
  display: table-cell;
  vertical-align: middle;
  width: 28%;
  padding: 0 2.5%;
  text-align: center;
  color: #976c40;
  border-left: solid 2px #976c40;
  font-size: calc(1rem + ((1vw - 4.8px) * 0.4167));
  line-height: 1;
}

.mcBlock01__list li:last-of-type {
  font-size: calc(1rem + ((1vw - 5.5px) * 0.4167));
  border-right: solid 2px #976c40;
  line-height: 1.2;
}

.mcBlock01__subtitle {
  margin: 0 auto 3%;
  padding: 0 0 4%;
  text-align: center;
  color: #976c40;
  line-height: 1.4;
  font-size: calc(1.5rem + ((1vw - 4.8px) * 0.625));
  font-family: "Noto Serif Japanese", serif, san-serif;
  background: url(../images/image_pattern01.png) no-repeat center bottom;
  background-size: auto;
}

.mcBlock01__seal {
  width: 85.18181818181819%;
  margin: 0 auto 2.5%;
}

.mcBlock01__seal img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock01__copy {
  margin: 3% 1% 0 0;
  font-size: 14px;
  text-align: right;
}

@media (max-width: 769px) {
  .mcBlock01 {
    margin: 0 5%;
  }
  .mcBlock01__wrap {
    max-width: 1100px;
    margin: 0 auto;
    background: -webkit-linear-gradient(top, rgba(254, 217, 96, 0) 0%, #fed960 18.8%, #fed960 93%, #fed960 100%);
    background: linear-gradient(to bottom, rgba(254, 217, 96, 0) 0%, #fed960 18.8%, #fed960 93%, #fed960 100%);
  }
  .mcBlock01__wrap--bg {
    background: url(../images/image_rose_top.png) center top no-repeat, url(../images/image_rose_bottom.png) center bottom no-repeat;
    background-size: 95%;
  }
  .mcBlock01__title {
    margin: 0;
    padding: 2% 0;
    color: #fff;
    font-size: calc(1.25rem + ((1vw - 2px) * 8.9286));
    font-family: "Noto Serif Japanese", serif, san-serif;
    font-weight: 100;
    line-height: 1;
    text-align: center;
  }
  .mcBlock01__image {
    width: auto;
    margin: 0 auto 2%;
  }
  .mcBlock01__image img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock01__box {
    width: 98%;
    margin: 0 auto;
    background: url(../images/image_rose_top.png) center 2% no-repeat;
    background-size: contain;
  }
  .mcBlock01__box img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock01__btn {
    width: 70%;
    margin: 5% auto 3%;
  }
  .mcBlock01__btn a {
    overflow: hidden;
    display: block;
    width: auto;
    padding: 16.7% 0 0;
    background: url(../images/mc_btn_spsite.jpg) center top no-repeat;
    background-size: cover;
  }
  .mcBlock01__btn a:hover {
    background: url(../images/mc_btn_spsite.jpg) center bottom no-repeat;
    background-size: cover;
  }
  .mcBlock01__btn img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock01__product {
    width: auto;
    margin: 0 auto;
  }
  .mcBlock01__product img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock01__text {
    margin: 0 5% 3%;
    text-align: left;
    font-size: 1.4rem;
    font-family: "Noto Serif Japanese", serif, san-serif;
    font-weight: bold;
  }
  .mcBlock01__list {
    display: table;
    list-style: none;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 0 6%;
    font-weight: bold;
  }
  .mcBlock01__list li {
    display: table-cell;
    vertical-align: middle;
    width: 21%;
    padding: 0 2.5%;
    text-align: center;
    color: #976c40;
    border-left: solid 2px #976c40;
    font-size: calc(1rem + ((1vw - 4.8px) * 0.4167));
    line-height: 1;
  }
  .mcBlock01__list li:last-of-type {
    font-size: calc(1rem + ((1vw - 5.5px) * 0.4167));
    border-right: solid 2px #976c40;
    line-height: 1.2;
  }
  .mcBlock01__subtitle {
    margin: 0 auto 3%;
    padding: 0 0 8%;
    text-align: center;
    color: #976c40;
    line-height: 1.4;
    font-size: 2rem;
    font-family: "Noto Serif Japanese", serif, san-serif;
    background: url(../images/image_pattern01.png) no-repeat center bottom;
    background-size: 90%;
  }
  .mcBlock01__seal {
    width: 85.18181818181819%;
    margin: 0 auto 2.5%;
  }
  .mcBlock01__seal img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock01__copy {
    margin: 3% 3% 0 0;
    font-size: 11px;
    text-align: right;
  }
}

.mcBlock02__wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5% 0 0;
  background: -webkit-linear-gradient(top, rgba(176, 16, 18, 0) 0%, #b01012 14%, #b01012 93%, #b01012 100%);
  background: linear-gradient(to bottom, rgba(176, 16, 18, 0) 0%, #b01012 14%, #b01012 93%, #b01012 100%);
}

.mcBlock02__wrap:nth-child(2) {
  background: #b01012;
}

.mcBlock02__wrap:nth-child(3) {
  background: #b01012;
}

.mcBlock02__wrap--bg1 {
  background: url(../images/image_pattern02.png) -14% 3% no-repeat, url(../images/image_pattern03.png) 123% 119% no-repeat;
  background-size: 55%;
}

.mcBlock02__wrap--bg2 {
  background: url(../images/image_pattern04.png) 100% 9% no-repeat, url(../images/image_pattern05.png) -23% 91% no-repeat;
  background-size: 55%;
}

.mcBlock02__title {
  margin: 0;
  padding: 2% 0;
  color: #fff;
  font-size: calc(1.875rem + ((1vw - 4.8px) * 4.0278));
  font-family: "Noto Serif Japanese", serif, san-serif;
  font-weight: 100;
  line-height: 1;
  text-align: center;
}

.mcBlock02__title span {
  font-size: calc(1.25rem + ((1vw - 4.8px) * 2.7778));
}

.mcBlock02__title--ls {
  letter-spacing: -5px;
}

.mcBlock02__text {
  width: 94%;
  margin: 0 auto 3%;
  font-size: calc(1rem + ((1vw - 6.8px) * 0.9722));
  font-family: "Noto Serif Japanese", serif, san-serif;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
}

.mcBlock02__comment {
  width: 90%;
  margin: 0 auto 1%;
  font-size: calc(0.75rem + ((1vw - 3.2px) * 0.3125));
  font-family: "Noto Serif Japanese", serif, san-serif;
  letter-spacing: 0.08em;
  text-align: right;
  color: #fff;
}

.mcBlock02__image {
  width: 90.54545454545455%;
  margin: 0 auto;
}

.mcBlock02__image img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock02__reason {
  position: relative;
  width: 90%;
  margin: 0 auto 1%;
  background: url(../images/mc_bg_reason.gif) no-repeat center top;
  background-size: contain;
  font-family: "Noto Serif Japanese", serif, san-serif;
  letter-spacing: 0.08em;
}

.mcBlock02__ressontitle {
  margin: 0;
  padding: 5% 2% 5% 3%;
  font-size: calc(1rem + ((1vw - 4.8px) * 0.9722));
  color: #fff;
  font-weight: bold;
}

.mcBlock02__list {
  list-style: none;
  width: 90%;
  margin: 0 auto;
  padding: 0 0 8.1%;
  font-size: calc(1rem + ((1vw - 3.2px) * 1));
  font-weight: bold;
}

.mcBlock02__list li {
  padding: 0 0 1%;
}

.mcBlock02__btn {
  position: relative;
  z-index: 2;
  display: block;
  width: 27.90909090909091%;
  margin: 0 auto;
  padding: 2% 0;
  background: #f4cf23;
  color: #970909;
  font-weight: bold;
  font-size: calc(1rem + ((1vw - 4.8px) * 0.4167));
  text-align: center;
}

.mcBlock02__btn--2line {
  padding: 1% 0;
  margin: 0 auto 10%;
}

.mcBlock02__btn span {
  padding: 0 0 0 5%;
  font-size: calc(1rem + ((1vw - 1px) * 0.8));
}

.mcBlock02__btn:hover {
  opacity: .7;
  text-decoration: none;
}

.mcBlock02__btn a {
  text-decoration: none;
}

.mcBlock02__imageArea {
  position: relative;
  width: 94.54545454545455%;
  margin: 0 auto;
  padding: 48% 0 0;
}

.mcBlock02__imageArea--2 {
  padding: 52% 0 0;
}

.mcBlock02__photo {
  position: absolute;
  left: 0;
  top: 0;
  width: 77.5%;
}

.mcBlock02__photo img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock02__photo--2 {
  position: absolute;
  left: 0;
  top: 0;
}

.mcBlock02__photo--2 img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock02__product {
  position: absolute;
  left: 58%;
  top: 17%;
  width: 43.46153846153846%;
}

.mcBlock02__product img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock02__product--2 {
  position: absolute;
  left: 57%;
  top: 63%;
}

.mcBlock02__product--2 img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

.mcBlock02__bnr {
  width: 87.27272727272727%;
  margin: 0 auto;
  padding: 0 0 10%;
}

.mcBlock02__bnr img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 769px) {
  .mcBlock02 {
    margin: 0 5%;
  }
  .mcBlock02__wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 5% 0 0;
    background: -webkit-linear-gradient(top, rgba(176, 16, 18, 0) 0%, #b01012 14%, #b01012 93%, #b01012 100%);
    background: linear-gradient(to bottom, rgba(176, 16, 18, 0) 0%, #b01012 14%, #b01012 93%, #b01012 100%);
  }
  .mcBlock02__wrap:nth-child(2) {
    background: #b01012;
  }
  .mcBlock02__wrap:nth-child(3) {
    background: #b01012;
  }
  .mcBlock02__wrap--bg1 {
    background: url(../images/image_pattern02.png) -14% -3% no-repeat, url(../images/image_pattern03.png) 123% 119% no-repeat;
    background-size: 55%;
  }
  .mcBlock02__wrap--bg2 {
    background: url(../images/image_pattern04.png) 100% 9% no-repeat, url(../images/image_pattern05.png) -23% 91% no-repeat;
    background-size: 55%;
  }
  .mcBlock02__title {
    margin: 0 0 2%;
    padding: 2% 0;
    color: #fff;
    font-size: calc(1.25rem + ((1vw - 2.5px) * 8.9286));
    font-family: "Noto Serif Japanese", serif, san-serif;
    font-weight: 100;
    line-height: 1;
    text-align: center;
  }
  .mcBlock02__title span {
    font-size: calc(1.25rem + ((1vw - 3px) * 8.9286));
  }
  .mcBlock02__title--ls {
    letter-spacing: -5px;
  }
  .mcBlock02__title--sp {
    font-size: calc(1.25rem + ((1vw - 2.5px) * 8.9286));
  }
  .mcBlock02__title--sp span {
    font-size: calc(1.25rem + ((1vw - 3px) * 8.9286));
  }
  .mcBlock02__text {
    width: 90%;
    margin: 0 auto 3%;
    font-size: calc(1rem + ((1vw - 4.8px) * 0.9722));
    text-align: left;
    color: #fff;
  }
  .mcBlock02__comment {
    width: 90%;
    margin: 0 auto 1%;
    font-size: calc(0.75rem + ((1vw - 3.2px) * 0.3125));
    text-align: left;
    color: #fff;
  }
  .mcBlock02__image {
    width: 90.54545454545455%;
    margin: 0 auto;
  }
  .mcBlock02__image img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__reason {
    position: relative;
    width: 90%;
    margin: 0 auto 7%;
    background: url(../images/mc_bg_reason_sp.gif) no-repeat center top;
    background-size: 100%;
  }
  .mcBlock02__ressontitle {
    margin: 0;
    padding: 6.3% 2% 5% 18%;
    font-size: calc(1rem + ((1vw - 3.2px) * 1.7857));
    color: #fff;
  }
  .mcBlock02__list {
    list-style: none;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 9.3%;
    font-size: calc(0.875rem + ((1vw - 3.2px) * 2.2321));
  }
  .mcBlock02__list li {
    padding: 0 0 1% 1em;
    text-indent: -0.5em;
  }
  .mcBlock02__btn {
    display: block;
    width: 50%;
    margin: 0 auto;
    padding: 2% 0;
    background: #f4cf23;
    color: #970909;
    font-weight: bold;
    font-size: calc(1rem + ((1vw - 4.8px) * 0.4167));
    text-align: center;
  }
  .mcBlock02__btn--2line {
    padding: 1% 0;
    margin: 0 auto 10%;
  }
  .mcBlock02__btn span {
    padding: 0 0 0 5%;
    font-size: calc(1rem + ((1vw - 1px) * 0.8));
  }
  .mcBlock02__btn:hover {
    opacity: .7;
    text-decoration: none;
  }
  .mcBlock02__btn a {
    text-decoration: none;
  }
  .mcBlock02__imageArea {
    position: relative;
    width: 94.54545454545455%;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__imageArea--2 {
    padding: 0;
  }
  .mcBlock02__photo {
    position: static;
    left: 0;
    top: 0;
    width: 100%;
  }
  .mcBlock02__photo img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__photo--2 {
    position: static;
    left: 0;
    top: 0;
  }
  .mcBlock02__photo--2 img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__product {
    position: static;
    width: 75%;
    margin: 0 auto;
  }
  .mcBlock02__product img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__product--2 {
    position: static;
  }
  .mcBlock02__product--2 img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
  .mcBlock02__bnr {
    width: 90%;
    margin: 0 auto;
    padding: 0 0 10%;
  }
  .mcBlock02__bnr img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0;
  }
}

@media (max-width: 480px) {
  .mcBlock02__reason {
    position: relative;
    width: 90%;
    margin: 0 auto 7%;
    background: url(../images/mc_bg_reason_sp.gif) no-repeat center top;
    background-size: 100%;
  }
  .mcBlock02__ressontitle {
    margin: 0;
    padding: 5.4% 2% 1.2% 18%;
    font-size: calc(1rem + ((1vw - 3.2px) * 1.7857));
    color: #fff;
  }
  .mcBlock02__list {
    list-style: none;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 9.3%;
    font-size: calc(0.875rem + ((1vw - 3.2px) * 2.2321));
  }
  .mcBlock02__list li {
    padding: 0 0 1% 1em;
    text-indent: -0.5em;
  }
}

.mod-effect img:hover {
  opacity: .8;
  transition: opacity 0.3s;
}

.mod-effect img:hover {
  filter: alpha(opacity=80);
  -ms-filter: alpha(opacity=80);
  transition: opacity 0.3s;
}

.br {
  display: block;
}

.br2 {
  display: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 769px) {
  .br {
    display: none;
  }
  .br2 {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
