@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
  margin: 0;
  padding: 0;
  font-family: "ヒラギノ角ゴ ProN", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  background: #EDEDED;
  font-family: 'Noto Sans JP', sans-serif; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

@media only screen and (max-width: 767px) {
  .hero {
    background-image: url("../img/hero-sp.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    height: 235px; } }
@media only screen and (min-width: 768px) {
  .hero {
    background-image: url("../img/hero.png?201023");
    background-position: calc(50% - 150px) 0;
    background-repeat: no-repeat;
    background-size: auto;
    height: 750px; } }

@media only screen and (max-width: 767px) {
  .intro {
    padding: 40px 15px; } }
@media only screen and (min-width: 768px) {
  .intro {
    padding: 200px 0; } }
.intro h1 {
  text-align: center;
  margin: 0 0 30px;
  padding: 0;
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 767px) {
    .intro h1 {
      font-size: 1.2rem; } }
  @media only screen and (min-width: 768px) {
    .intro h1 {
      font-size: 1.4rem; } }
.intro__text {
  max-width: 750px;
  margin: 0 auto; }
.intro p {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-weight: 600; }
  @media only screen and (max-width: 767px) {
    .intro p {
      font-size: 1.0rem;
      line-height: 2.0rem; } }
  @media only screen and (min-width: 768px) {
    .intro p {
      font-size: 1.2rem;
      line-height: 2.8rem; } }

.schedule {
  background: #E6E6E5; }
  @media only screen and (max-width: 767px) {
    .schedule {
      background-image: url("../img/intro_bg-sp.png");
      background-repeat: no-repeat;
      background-size: auto;
      background-position: right -120px bottom -200px;
      padding: 40px 0; } }
  @media only screen and (min-width: 768px) {
    .schedule {
      background-image: url("../img/intro_bg.png");
      background-repeat: no-repeat;
      background-size: auto;
      background-position: left -120px center;
      padding: 120px 0; } }
  @media only screen and (max-width: 767px) {
    .schedule__content {
      margin: 0 15px; } }
  @media only screen and (min-width: 768px) {
    .schedule__content {
      max-width: 1000px;
      width: calc(100% - 45px);
      margin: 0 auto; } }
  .schedule h2 {
    line-height: 100%;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 767px) {
      .schedule h2 {
        font-size: 1.5rem;
        margin: 0 0 20px; } }
    @media only screen and (min-width: 768px) {
      .schedule h2 {
        width: 600px;
        margin: 0 0 35px auto;
        font-size: 2.3rem; } }
  .schedule dl {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-top: #ccc solid 1px;
    padding: 15px 10px;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .schedule dl {
        margin: 0; } }
    @media only screen and (min-width: 768px) {
      .schedule dl {
        width: 600px;
        margin: 0 0 0 auto; } }
    .schedule dl:last-child {
      border-bottom: #ccc solid 1px; }
  .schedule dt {
    width: 100%;
    font-weight: bold;
    margin: 0 0 10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .schedule dt {
        font-size: 1.1rem; } }
    @media only screen and (min-width: 768px) {
      .schedule dt {
        font-size: 1.2rem; } }
  .schedule dd {
    width: 100%;
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .schedule dd {
        font-size: 1.0rem;
        line-height: 1.8rem; } }
    @media only screen and (min-width: 768px) {
      .schedule dd {
        font-size: 1.1rem;
        line-height: 2.0rem; } }

@media only screen and (max-width: 767px) {
  .goods {
    padding: 40px 0; } }
@media only screen and (min-width: 768px) {
  .goods {
    padding: 90px 0; } }
@media only screen and (max-width: 767px) {
  .goods__content {
    margin: 0 15px; } }
@media only screen and (min-width: 768px) {
  .goods__content {
    max-width: 1000px;
    width: calc(100% - 45px);
    margin: 0 auto; } }
.goods h2 {
  text-align: center;
  line-height: 100%;
  letter-spacing: 0.1em; }
  @media only screen and (max-width: 767px) {
    .goods h2 {
      font-size: 1.5rem;
      margin: 0 0 10px; } }
  @media only screen and (min-width: 768px) {
    .goods h2 {
      font-size: 2.3rem;
      margin: 0 0 15px; } }
.goods__note {
  padding: 0;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .goods__note {
      margin: 0 0 40px; } }
  @media only screen and (min-width: 768px) {
    .goods__note {
      margin: 0 0 60px; } }
.goods__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (min-width: 768px) {
    .goods__container::after {
      display: block;
      content: "";
      width: 31.5%;
      height: 0; } }
@media only screen and (max-width: 767px) {
  .goods__item {
    width: 48%;
    margin: 0 0 30px; }
    .goods__item:nth-of-type(5), .goods__item:nth-of-type(6) {
      margin: 0; } }
@media only screen and (min-width: 768px) {
  .goods__item {
    width: 31.5%;
    margin: 0 0 45px; }
    .goods__item:nth-of-type(4), .goods__item:nth-of-type(5), .goods__item:nth-of-type(6) {
      margin: 0; } }
@media only screen and (max-width: 767px) {
  .goods__item-text {
    margin: 0 0 15px; } }
@media only screen and (min-width: 768px) {
  .goods__item-text {
    margin: 0 0 25px; } }
.goods__item-name {
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    .goods__item-name {
      font-size: 1.0rem;
      margin: 0 0 5px; } }
  @media only screen and (min-width: 768px) {
    .goods__item-name {
      font-size: 1.1rem;
      line-height: 100%;
      margin: 0 0 7px; } }
.goods__item-price {
  color: #E58081;
  margin: 0 0 10px; }
  @media only screen and (max-width: 767px) {
    .goods__item-price {
      font-size: 1.0rem; } }
  @media only screen and (min-width: 768px) {
    .goods__item-price {
      font-size: 1.1rem; } }
.goods__item-detail {
  margin: 0;
  padding: 0;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.4rem; }
.goods__item-order_container {
  display: flex;
  align-items: center;
  margin: 0 auto 10px;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .goods__item-order_container {
      max-width: 155px; } }
  @media only screen and (min-width: 768px) {
    .goods__item-order_container {
      width: 170px; } }
  .goods__item-order_container span {
    margin-right: 15px; }
    @media only screen and (max-width: 767px) {
      .goods__item-order_container span {
        font-size: 0.8rem; } }
    @media only screen and (min-width: 768px) {
      .goods__item-order_container span {
        font-size: 0.85rem; } }
  .goods__item-order_container select {
    padding: 5px 12px 5px 2px; }
.goods__item-order {
  background: #000;
  text-align: center;
  overflow: hidden;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .goods__item-order {
      max-width: 155px;
      height: 40px;
      line-height: 40px; } }
  @media only screen and (min-width: 768px) {
    .goods__item-order {
      max-width: 170px;
      height: 40px;
      line-height: 40px; } }
  .goods__item-order:hover {
    opacity: 0.8; }
  .goods__item-order a {
    color: #fff;
    text-decoration: none;
    display: block;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .goods__item-order a {
        font-size: 0.85rem; } }
    @media only screen and (min-width: 768px) {
      .goods__item-order a {
        font-size: 0.9rem; } }
    .goods__item-order a::before {
      font-family: "Font Awesome 5 Free";
      content: "\f07a";
      font-size: 1.1rem;
      font-weight: 900;
      color: #fff;
      margin-right: 6px;
      position: relative;
      z-index: -2px;
      font-size: 0.8rem; }
.goods__pic {
  background: #fff;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1); }
  @media only screen and (max-width: 767px) {
    .goods__pic {
      margin: 0 0 20px;
      padding: 5px; } }
  @media only screen and (min-width: 768px) {
    .goods__pic {
      margin: 0 0 30px;
      padding: 5px; } }
  .goods__pic figure {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative; }
    .goods__pic figure img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      max-width: 100%;
      max-height: 100%; }
    .goods__pic figure .spacer {
      padding-bottom: 100%; }
.goods__border img {
  border: #ccc solid 1px; }

.note {
  background: #E6E6E5; }
  @media only screen and (max-width: 767px) {
    .note {
      background-image: url("../img/note_bg-sp.png");
      background-repeat: no-repeat;
      background-size: auto;
      background-position: right -120px bottom -200px;
      padding: 40px 0; } }
  @media only screen and (min-width: 768px) {
    .note {
      background-image: url("../img/note_bg.png");
      background-repeat: no-repeat;
      background-size: auto;
      background-position: right -120px center;
      padding: 120px 0; } }
  @media only screen and (max-width: 767px) {
    .note {
      padding: 40px 0; } }
  @media only screen and (min-width: 768px) {
    .note {
      padding: 120px 0; } }
  @media only screen and (max-width: 767px) {
    .note__content {
      margin: 0 15px; } }
  @media only screen and (min-width: 768px) {
    .note__content {
      max-width: 1000px;
      width: calc(100% - 45px);
      margin: 0 auto; } }
  .note h2 {
    line-height: 100%;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 767px) {
      .note h2 {
        font-size: 1.5rem;
        margin: 0 0 20px; } }
    @media only screen and (min-width: 768px) {
      .note h2 {
        font-size: 2.3rem;
        width: 600px;
        margin: 0 auto 35px 0; } }
  @media only screen and (max-width: 767px) {
    .note__item {
      margin: 0 0 20px; } }
  @media only screen and (min-width: 768px) {
    .note__item {
      margin: 0 0 30px; } }
  .note__item:last-child {
    margin: 0; }
  @media only screen and (min-width: 768px) {
    .note__item {
      width: 600px;
      margin: 0 auto 25px 0; } }
  .note__item ul {
    margin: 0 0 10px;
    padding: 0 0 0 22px; }
  .note__item h3 {
    margin: 0 0 15px; }
    @media only screen and (max-width: 767px) {
      .note__item h3 {
        font-size: 1.1rem; } }
  .note__item p {
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .note__item p {
        font-size: 0.95rem;
        line-height: 1.7rem; } }

@media only screen and (max-width: 767px) {
  .profile {
    margin: 40px 0 50px; } }
@media only screen and (min-width: 768px) {
  .profile {
    margin: 90px 0 160px; } }
@media only screen and (max-width: 767px) {
  .profile__content {
    margin: 0 15px; } }
@media only screen and (min-width: 768px) {
  .profile__content {
    max-width: 1000px;
    width: calc(100% - 45px);
    margin: 0 auto; } }
.profile__container {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .profile__container {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .profile__container {
      justify-content: space-between;
      align-items: center; } }
.profile__main {
  border-radius: 50%;
  background: #ccc; }
  @media only screen and (max-width: 767px) {
    .profile__main {
      width: 200px;
      height: 200px;
      margin: 0 auto 30px; } }
  @media only screen and (min-width: 768px) {
    .profile__main {
      width: 250px;
      height: 250px; } }
@media only screen and (max-width: 767px) {
  .profile__sub {
    width: 100%; } }
@media only screen and (min-width: 768px) {
  .profile__sub {
    width: 70%; } }
.profile__sub-name {
  font-weight: 800;
  margin: 0 0 10px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .profile__sub-name {
      font-size: 1.4rem; } }
  @media only screen and (min-width: 768px) {
    .profile__sub-name {
      font-size: 1.7rem; } }
  .profile__sub-name span {
    font-weight: 500;
    margin-left: 10px; }
    @media only screen and (max-width: 767px) {
      .profile__sub-name span {
        font-size: 1.0rem; } }
    @media only screen and (min-width: 768px) {
      .profile__sub-name span {
        font-size: 1.0rem; } }
.profile__sub-img {
  margin: 10px 0 0; }
  .profile__sub-img:hover {
    opacity: 0.8; }
.profile__sub p {
  margin: 0;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .profile__sub p {
      line-height: 2.0rem; } }
  @media only screen and (min-width: 768px) {
    .profile__sub p {
      line-height: 2.1rem; } }

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

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0; }

footer {
  position: relative;
  z-index: 99; }
