@charset "UTF-8";
html {
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
  min-height: 10vh;
  overflow-x: hidden;
  font-size: calc(10 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1400 * 100vw);
    scroll-padding-top: 10rem;
  }
}
@media screen and (min-width: 1400px) {
  html {
    font-size: 10px;
  }
}

.forSP {
  display: block;
}
@media screen and (min-width: 768px) {
  .forSP {
    display: none;
  }
}

.forPC {
  display: none;
}
@media screen and (min-width: 768px) {
  .forPC {
    display: block;
  }
}

* {
  box-sizing: border-box;
}

img {
  width: 100%;
}

a {
  text-decoration: none;
  cursor: pointer;
}

body {
  background: #f2f2f2;
  margin: 0;
  padding: 0;
  font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.8rem;
  line-height: 2;
  color: #333;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1400px) {
  body {
    font-size: 18px;
  }
}

#contents {
  width: 100%;
  margin: auto;
  text-align: center;
}

/*---------------------------------------------------------------
　　　header
---------------------------------------------------------------*/
/*---------------------------------------------------------------
    nav
---------------------------------------------------------------*/
/* header */
#top-head {
  top: -80px;
  position: absolute;
  width: 100%;
  margin: 80px auto 0;
  padding: 0;
  line-height: 1;
  z-index: 999;
  height: 80px;
}
@media screen and (min-width: 1400px) {
  #top-head {
    top: -100px;
    margin: 100px auto 0;
    height: 80px;
  }
}
#top-head .header_inner {
  position: relative;
  height: 100%;
}
#top-head .logo {
  width: calc(220 / 1024 * 100%);
  max-width: 250px;
  height: 80px;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 2rem;
}

#global-nav ul {
  width: calc(800 / 1024 * 100%);
  list-style: none;
  position: absolute;
  right: 2rem;
  top: 0;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}
@media screen and (min-width: 1400px) {
  #global-nav ul {
    font-size: 16px;
  }
}
#global-nav ul li {
  line-height: 1;
  position: relative;
}
#global-nav ul li a {
  color: #333;
  font-family: "Noto Serif JP", serif !important;
  font-weight: bold;
  line-height: 1.6rem;
  transition: all 0.3s;
}
#global-nav ul li a span.icon {
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  #global-nav ul li a span.icon {
    color: #b40000;
  }
}
@media screen and (min-width: 1400px) {
  #global-nav ul li a span.icon {
    font-size: 3.5rem;
  }
}
@media screen and (min-width: 768px) {
  #global-nav ul li {
    width: calc(150 / 1024 * 100%);
    display: block;
    text-align: center;
    letter-spacing: 0.1em;
  }
  #global-nav ul li:last-child {
    width: calc(200 / 1024 * 100%);
  }
  #global-nav ul li:not(:last-child)::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: calc(5 / 1024 * 100% * -1);
    transform: skewX(-30deg);
    background: #333;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .p_ser #global-nav ul li:nth-of-type(1) a::before,
  .p_com #global-nav ul li:nth-of-type(2) a::before,
  .p_ifa #global-nav ul li:nth-of-type(3) a::before {
    bottom: -1.8rem;
    opacity: 1;
  }
}
/* Fixed*/
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-top: 0;
  height: 70px;
  background: #fff;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
#top-head.fixed .logo {
  width: calc(180 / 1024 * 100%);
  height: 70px;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #7c0b35;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

/*スマホ*/
@media screen and (max-width: 767px) {
  #top-head,
  #top-head.fixed,
  .header_inner {
    width: 100%;
    height: 56px;
  }
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
  }
  /* Fixed reset*/
  #top-head.fixed {
    padding-top: 0;
    background: transparent;
  }
  #mobile-head {
    background: #f2f2f2;
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;
  }
  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(360 / 690 * 100%);
    height: 56px;
    padding: 0 1em;
    box-sizing: border-box;
  }
  #top-head.fixed .logo::after,
  #top-head .logo::after {
    display: block;
  }
  #global-nav {
    position: absolute;
    top: -500px;
    background: rgba(124, 11, 53, 0.9);
    width: 100%;
    text-align: center;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #global-nav ul li {
    width: 100% !important;
    border-bottom: 1px solid #f2f2f2;
  }
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    display: block;
    width: 100%;
    padding: 4rem 0;
    font-size: 3rem;
    text-align: center;
    margin: 0 !important;
    color: white;
  }
  #top-head #global-nav ul li a:hover,
  #top-head.fixed #global-nav ul li a:hover {
    background: #333;
  }
  #top-head #global-nav ul li a span,
  #top-head.fixed #global-nav ul li a span {
    display: inline-block;
  }
  #top-head #global-nav ul li.n_contact,
  #top-head #global-nav ul li.n_tel,
  #top-head.fixed #global-nav ul li.n_tel {
    margin: 0 !important;
    width: 100%;
    max-width: none;
  }
  #top-head #global-nav ul li.n_contact .icon,
  #top-head #global-nav ul li.n_tel .icon,
  #top-head.fixed #global-nav ul li.n_tel .icon {
    font-size: 4rem;
    margin-right: 0.3em;
    vertical-align: text-top;
  }
  #top-head #global-nav ul li.n_tel a,
  #top-head.fixed #global-nav ul li.n_tel a {
    display: block;
    padding-bottom: 50px !important;
    font-size: 3rem;
  }
  #top-head #global-nav ul li.n_tel span.time,
  #top-head.fixed #global-nav ul li.n_tel span.time {
    bottom: 30px;
    right: 0;
    font-size: 14px;
    color: white;
    width: 100% !important;
    text-align: center;
  }
  #nav-toggle {
    display: block;
  }
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  .open #global-nav {
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
}
/*---------------------------------------------------------------
    footer
---------------------------------------------------------------*/
.pagetop {
  display: block;
  width: 6rem;
  height: 6rem;
  border-radius: 6rem;
  background: rgba(180, 0, 0, 0.4) url(../images/common/pagetop.png) no-repeat center center/contain;
  color: white;
  position: fixed;
  bottom: 50px;
  right: 2rem;
  z-index: 100;
  border: 2px solid white;
}
.pagetop .icon-arrow03 {
  transform: rotate(-90deg);
  display: block;
  font-size: 4rem;
  line-height: 1;
  padding-right: 2rem;
}

footer {
  display: block;
  background: #7c0b35;
  padding: calc(60 / 1024 * 100%) 0 calc(20 / 1024 * 100%);
  text-align: center;
  color: #fff;
  font-size: 0.8em;
}
footer .logo {
  display: block;
  width: 50%;
  max-width: 200px;
  margin: 0 auto 2rem;
}
footer p {
  display: block;
  width: 90%;
  max-width: 860px;
  margin: auto;
}
footer ul {
  justify-content: center !important;
  margin: 2rem auto;
}
footer ul a {
  color: white;
}
footer a.f_tel {
  color: white;
}
footer copyright {
  color: white;
  font-size: 12px;
}

/*---------------------------------------------------------------
    common
---------------------------------------------------------------*/
.inner {
  width: 90%;
  max-width: 1400px;
  margin: auto;
  box-sizing: border-box;
}

.half {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

p {
  text-align: left;
}

.bold {
  font-weight: bold;
}

.red {
  color: #b40000;
}

h2 {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  position: relative;
}
h2.ttl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 1.4em;
  position: relative;
  margin: 0 auto 10rem;
}
@media screen and (min-width: 768px) {
  h2.ttl {
    font-size: 3rem;
  }
}
h2.ttl span {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 0.7em;
  width: 100%;
  line-height: 1;
  text-align: center;
  color: #7c0b35;
}
@media screen and (min-width: 768px) {
  h2.ttl span {
    font-size: 2rem;
  }
}
h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: #7c0b35;
  position: absolute;
  bottom: -5rem;
  left: calc(50% - 25px);
}

a {
  color: #b40000;
}

a.pdf {
  position: relative;
}
a.pdf::after {
  content: "\e906";
  font-family: "icomoon";
  color: #b40000;
  font-size: 1.2em;
  vertical-align: middle;
}

a.btn_more {
  display: inline-block;
  position: absolute;
  bottom: -0.5em;
  right: -0.5em;
  background: #b40000;
  color: white;
  padding: 0.2em 3em 0.2em 1.5em;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  a.btn_more {
    padding: 0.2em 2.5em 0.2em 1.5em;
  }
}
a.btn_more::after {
  content: "\e900";
  font-family: "icomoon";
  display: inline;
  position: absolute;
  right: 7px;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  a.btn_more::after {
    right: 15px;
  }
}
a.btn_more:hover::after {
  right: 8px;
}

a.back {
  display: inline-block;
  background: white;
  color: #333;
  padding: 0.2em 1.5em 0.2em 3em;
  font-weight: bold;
  margin: 3rem auto;
  border-radius: 3rem;
  position: relative;
}
a.back::after {
  content: "\e904";
  font-family: "icomoon";
  color: #b40000;
  position: absolute;
  left: 18px;
  transition: all 0.3s;
  transform: rotate(180deg);
}
a.back:hover::after {
  left: 10px;
}

.padB30 {
  padding-bottom: 3rem;
}

/*---------------------------------------------------------------
    mainImage
---------------------------------------------------------------*/
#mainImage {
  margin: 56px 0 0;
  position: relative;
  background: url(../images/top/mv.jpg) no-repeat top center/cover;
  width: 100%;
  height: 100rem;
}
@media screen and (min-width: 768px) {
  #mainImage {
    margin: 80px auto 0;
    height: 60rem;
  }
}
@media screen and (min-width: 1400px) {
  #mainImage {
    height: 80rem;
  }
}
#mainImage .txt {
  width: calc(100% - 5rem);
  position: absolute;
  left: 3rem;
  top: 7rem;
  font-size: 4rem;
  font-family: "Noto Serif JP", serif;
  font-style: italic;
  color: white;
  text-shadow: 3px 3px 8px rgb(0, 0, 0);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #mainImage .txt {
    height: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 4rem;
    left: 5%;
    bottom: auto;
    top: 0;
  }
}

#mainImage2 {
  margin: 56px 0 7rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #mainImage2 {
    margin: 70px auto 2rem;
  }
}
#mainImage2 .mv {
  max-width: 1000px;
  margin: calc(200 / 750 * 100vw) auto 0;
}
@media screen and (min-width: 768px) {
  #mainImage2 .mv {
    margin: calc(100 / 1400 * 100vw) auto 0;
  }
}

/*---------------------------------------------------------------
    about
---------------------------------------------------------------*/
#about {
  position: relative;
  padding: calc(100 / 750 * 100vw) 0 calc(250 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  #about {
    padding: calc(100 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
#about .inner {
  max-width: 900px;
}
#about::before {
  content: "";
  display: block;
  width: calc(240 / 750 * 100vw);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background: url(../images/top/illust01.png) no-repeat top 30px left -40px/contain;
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  #about::before {
    top: 0;
    width: calc(260 / 1400 * 100vw);
    background: url(../images/top/illust01.png) no-repeat top 50px left -80px/contain;
    opacity: 1;
  }
}
#about::after {
  content: "";
  display: block;
  width: calc(260 / 750 * 100vw);
  height: 100%;
  position: absolute;
  bottom: -5rem;
  right: 0;
  z-index: -1;
  background: url(../images/top/illust02.png) no-repeat bottom 50px right -40px/contain;
}
@media screen and (min-width: 768px) {
  #about::after {
    width: calc(260 / 1400 * 100vw);
    bottom: 0;
    background: url(../images/top/illust02.png) no-repeat bottom 50px right -80px/contain;
  }
}
@media screen and (min-width: 768px) {
  #about p {
    text-align: center;
  }
}

/*---------------------------------------------------------------
    items
---------------------------------------------------------------*/
#items {
  margin: auto;
  background: url(../images/common/bg.jpg) no-repeat center center/cover;
  padding: calc(60 / 750 * 100vw) 0;
}
@media screen and (min-width: 768px) {
  #items {
    padding: calc(60 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
#items ul {
  flex-wrap: wrap;
  margin: auto;
  justify-content: flex-start;
}
#items ul li {
  width: 100%;
  background: #fff;
  margin: 2rem;
  padding: 3rem 3rem;
  box-sizing: border-box;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  #items ul li {
    width: calc(33.3333333333% - 4rem);
    padding: 3rem 2rem;
  }
}
@media screen and (min-width: 1400px) {
  #items ul li {
    width: calc(33.3333333333% - 4rem);
  }
}
#items ul li .icon {
  max-width: 10rem;
  margin: 0 auto 1rem;
  position: relative;
}
#items ul li .icon img {
  position: relative;
  z-index: 1;
}
#items ul li h3 {
  color: #7c0b35;
  font-size: 1.2em;
  line-height: 1.2;
  margin-bottom: 1rem;
}
#items ul li > a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: all 0.3s;
}
#items ul li > a:hover {
  background: rgba(245, 215, 226, 0.2);
}
#items ul li > a::after {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 6rem;
  background: #b40000 url(../images/common/pagetop.png) no-repeat center center/contain;
  color: white;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 100;
  border: 2px solid white;
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  #items ul li > a::after {
    width: 2.5rem;
    height: 2.5rem;
  }
}
#items ul li.white a:hover {
  background: rgba(233, 245, 215, 0.2);
}
#items ul li p {
  font-size: 0.9em;
}
#items ul li p a {
  position: relative;
  font-weight: bold;
  display: inline-block;
  background: none;
  color: #7c0b35;
  line-height: 1.4;
  margin-top: 1rem;
  border-radius: 4rem;
  padding: 0s;
  vertical-align: bottom;
}
#items ul li p a::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 1.5em;
  background: url(../images/common/arrow_red.png) no-repeat center center/cover;
  position: absolute;
  bottom: 0;
  z-index: 100;
  transition: all 0.3s;
}
#items ul li p a:hover::after {
  transform: translateX(0.5em);
}

a.btn_online {
  display: block;
  background: #7c0b35;
  color: white;
  border-radius: 1rem;
  width: 80%;
  margin: 6rem auto;
  padding: 2rem 0;
  font-weight: bold;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  a.btn_online {
    font-size: 1.1em;
    width: 80%;
    max-width: 50rem;
    margin: 6rem auto 0;
  }
}
a.btn_online span {
  vertical-align: middle;
  padding-right: 0.5em;
  font-size: 2em;
}
a.btn_online:hover {
  background: rgba(124, 11, 53, 0.8);
}

/*---------------------------------------------------------------
    greeting
---------------------------------------------------------------*/
#greeting {
  background: white;
  position: relative;
  padding: calc(60 / 750 * 100vw) 0 calc(250 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  #greeting {
    padding: calc(60 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
#greeting .inner {
  max-width: 900px;
}
#greeting .inner p {
  display: inline-block;
}

/*---------------------------------------------------------------
    profile
---------------------------------------------------------------*/
#profile {
  padding: calc(60 / 750 * 100vw) 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  #profile {
    padding: calc(60 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
#profile .half {
  max-width: 700px;
  margin: auto;
}
#profile .half dt {
  width: 100%;
  padding: 1.5rem 0 0;
  font-weight: bold;
  color: #7c0b35;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #profile .half dt {
    width: 10em;
    padding: 1rem 0;
    border-bottom: 1px solid #999;
  }
}
#profile .half dd {
  width: 100%;
  border-bottom: 1px solid #999;
  padding: 0 0 1.5rem;
  text-align: left;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #profile .half dd {
    width: calc(100% - 10em);
    padding: 1rem 0;
  }
}
#profile::before, #profile::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
}
#profile::before {
  width: calc(260 / 750 * 100vw);
  right: 0;
  z-index: -1;
  background: url(../images/top/illust03.png) no-repeat top 50px right/contain;
}
@media screen and (min-width: 768px) {
  #profile::before {
    width: calc(260 / 1400 * 100vw);
    right: 5%;
  }
}
#profile::after {
  width: calc(200 / 750 * 100vw);
  top: auto;
  bottom: -15rem;
  left: 0;
  z-index: -1;
  background: url(../images/top/illust04.png) no-repeat bottom left -50px/contain;
}
@media screen and (min-width: 768px) {
  #profile::after {
    width: calc(200 / 1400 * 100vw);
    left: 5%;
    bottom: -10rem;
    background: url(../images/top/illust04.png) no-repeat bottom left/contain;
  }
}

/*---------------------------------------------------------------
    wine_img
---------------------------------------------------------------*/
#wine_img {
  width: 100%;
  padding-top: calc(600 / 1400 * 100vw);
  background: url(../images/top/insert.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  #wine_img {
    padding-top: calc(300 / 1400 * 100vw);
  }
}

/*---------------------------------------------------------------
    contact
---------------------------------------------------------------*/
#contact {
  padding: calc(30 / 1024 * 100%) 0 calc(100 / 1024 * 100%);
}
#contact .half {
  text-align: center;
  width: calc(960 / 1024 * 100%);
  max-width: 960px;
  margin: calc(30 / 1024 * 100%) auto;
}
#contact .half li {
  width: 33.3333333333%;
}
#contact .half li:not(:last-child) {
  border-right: 1px solid #333;
}
#contact .half li a {
  display: block;
  padding: 1.5rem;
  width: 100%;
  min-height: 80px;
  font-weight: bold;
  border-radius: 5px;
  font-size: 2.8rem;
  color: #333;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #contact .half li a {
    font-size: 1.9rem;
  }
}
#contact .half li a span.icon {
  display: block;
  width: 4rem;
  margin: 0 auto 2rem;
  transition: all 0.3s;
}
#contact .half li a span.number {
  display: block;
}
#contact .half li a:hover span.icon {
  transform: translateY(-10px);
}
#contact .half li:last-child a {
  pointer-events: none;
}

/*---------------------------------------------------------------
    caution
---------------------------------------------------------------*/
#caution {
  background: #fff;
  position: relative;
  padding: calc(60 / 750 * 100vw) 0 calc(250 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  #caution {
    padding: calc(60 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
}
#caution .inner {
  max-width: 900px;
}
#caution .inner p.caution20 {
  font-size: 3.2rem;
  color: #7c0b35;
  margin-bottom: 1rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #caution .inner p.caution20 {
    font-size: 2.5rem;
  }
}
#caution .inner ul {
  margin-bottom: 3rem;
  display: inline-block;
  list-style: none;
}
#caution .inner ul li {
  text-align: left;
  position: relative;
  padding-left: 1em;
}
#caution .inner ul li::before {
  content: "●";
  font-size: 0.6em;
  color: #7c0b35;
  position: absolute;
  top: 0.8em;
  left: 0;
}
#caution .inner p {
  font-size: 2rem;
  max-width: 700px;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #caution .inner p {
    font-size: 1.4rem;
  }
}
#caution .half {
  width: 90%;
  max-width: 960px;
  margin: auto;
}
@media screen and (min-width: 768px) {
  #caution .half {
    flex-wrap: nowrap;
  }
}
#caution dl {
  border: 1px solid #999;
  margin: 0;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  #caution dl {
    font-size: 1.4rem;
  }
}
#caution dl.name {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #caution dl.name {
    width: 30%;
  }
}
#caution dl.right {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #caution dl.right {
    width: 25%;
  }
}
#caution dl.normal {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #caution dl.normal {
    width: 15%;
  }
}
#caution dl:not(.right) {
  border-bottom: 0;
}
@media screen and (min-width: 768px) {
  #caution dl:not(.right) {
    border-right: 0;
    border-bottom: 1px solid;
  }
}
#caution dl dt {
  background: #eee;
  line-height: 1.2;
  display: flex;
  align-items: center;
  height: 4em;
  justify-content: center;
  padding: 0 1.5rem;
}
#caution dl dd {
  padding: 0 1.5rem;
  line-height: 1.4;
  padding: 1.5rem 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #caution dl dd {
    height: 7rem;
  }
}

/*---------------------------------------------------------------
    下層ページ
---------------------------------------------------------------*/
#subMainImage {
  margin: 56px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 20rem;
  background: url(../images/products/header.jpg) no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) {
  #subMainImage {
    margin: 80px auto 0;
  }
}
#subMainImage h1 {
  color: #fff;
  font-size: 1.4em;
  text-shadow: 2px 2px 5px #000000;
}

.pad {
  padding: 6rem 0;
}

.w1000 {
  max-width: 1000px;
  margin: auto;
}

a.btnTop {
  display: block;
  width: 80%;
  max-width: 30rem;
  margin: 6rem auto;
  background: #7c0b35;
  color: white;
  border-radius: 5rem;
  padding: 0.5em 3em;
}
a.btnTop:hover {
  background: #333;
}