@charset "UTF-8";
/* common */
html {
  scroll-behavior: smooth; }

body {
  height: 100%;
  position: relative;
  font-size: 16px;
  line-height: 2em;
  color: #333; }
  @media (max-width: 768px) {
    body {
      font-size: 14px; } }

body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

a {
  color: #333;
  text-decoration: none;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

.PT10 {
  padding-top: 10px; }

.PT20 {
  padding-top: 20px; }

.PT30 {
  padding-top: 30px; }

.PT40 {
  padding-top: 40px; }

.PT50 {
  padding-top: 50px; }

.PT60 {
  padding-top: 60px; }

.PT70 {
  padding-top: 70px; }

.PT80 {
  padding-top: 80px; }

.PT90 {
  padding-top: 90px; }

.PT100 {
  padding-top: 100px; }

.PT110 {
  padding-top: 110px; }

.PT120 {
  padding-top: 120px; }

.MT10 {
  margin-top: 10px; }

.MT20 {
  margin-top: 20px; }

.MT30 {
  margin-top: 30px; }

.MT40 {
  margin-top: 40px; }

.MT50 {
  margin-top: 50px; }

.MT60 {
  margin-top: 60px; }

.MT70 {
  margin-top: 70px; }

.MT80 {
  margin-top: 80px; }

.MT90 {
  margin-top: 90px; }

.MT100 {
  margin-top: 100px; }

.MT110 {
  margin-top: 110px; }

.MT120 {
  margin-top: 120px; }

.PB10 {
  padding-bottom: 10px; }

.PB20 {
  padding-bottom: 20px; }

.PB30 {
  padding-bottom: 30px; }

.PB40 {
  padding-bottom: 40px; }

.PB50 {
  padding-bottom: 50px; }

.PB60 {
  padding-bottom: 60px; }

.PB70 {
  padding-bottom: 70px; }

.PB80 {
  padding-bottom: 80px; }

.PB90 {
  padding-bottom: 90px; }

.PB100 {
  padding-bottom: 100px; }

.PB110 {
  padding-bottom: 110px; }

.PB120 {
  padding-bottom: 120px; }

.MB10 {
  margin-bottom: 10px; }

.MB20 {
  margin-bottom: 20px; }

.MB30 {
  margin-bottom: 30px; }

.MB40 {
  margin-bottom: 40px; }

.MB50 {
  margin-bottom: 50px; }

.MB60 {
  margin-bottom: 60px; }

.MB70 {
  margin-bottom: 70px; }

.MB80 {
  margin-bottom: 80px; }

.MB90 {
  margin-bottom: 90px; }

.MB100 {
  margin-bottom: 100px; }

.MB110 {
  margin-bottom: 110px; }

.MB120 {
  margin-bottom: 120px; }

.indent1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent2 {
  padding-left: 2em;
  text-indent: -2em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.indent4 {
  padding-left: 4em;
  text-indent: -4em; }

.indent5 {
  padding-left: 5em;
  text-indent: -5em; }

.indent6 {
  padding-left: 6em;
  text-indent: -6em; }

.indent7 {
  padding-left: 7em;
  text-indent: -7em; }

.indent8 {
  padding-left: 8em;
  text-indent: -8em; }

.indent9 {
  padding-left: 9em;
  text-indent: -9em; }

.indent10 {
  padding-left: 10em;
  text-indent: -10em; }

.indent1h {
  padding-left: 1.5em;
  text-indent: -1.5em; }

.indent {
  text-indent: 1em; }

/*
------------------------------------------------------------
------------------------------------------------------------
トップページ
------------------------------------------------------------
------------------------------------------------------------*/
.content {
  width: 96%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto; }
  @media (max-width: 1000px) {
    .content {
      width: 96%; } }
  @media (max-width: 768px) {
    .content {
      width: 94%; } }
  @media (max-width: 500px) {
    .content {
      width: 90%; } }

/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
header {
  position: relative;
  z-index: 50; }

.plaid-pattern {
  height: 30px;
  background-image: url("../images/bk_plaid-pattern.svg");
  background-repeat: repeat-x;
  background-size: auto 30px;
  background-position: left top; }
  @media (max-width: 768px) {
    .plaid-pattern {
      height: 20px; } }

.header-logo {
  width: 140px;
  margin: 30px; }
  @media (max-width: 768px) {
    .header-logo {
      width: 40px;
      margin: 10px; } }
  .header-logo a:hover {
    opacity: 0.7; }
  .header-logo img {
    width: 100%;
    height: auto; }

/* menu #g-nav
------------------------------------------------------------
------------------------------------------------------------*/
#g-nav {
  position: fixed;
  top: 50px;
  right: 30px;
  z-index: 100;
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    #g-nav {
      right: 10px; } }
  @media (max-width: 768px) {
    #g-nav {
      top: 30px;
      right: 10px; } }

nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: flex-end; }
  @media (max-width: 1200px) {
    nav ul {
      flex-direction: row; } }
  nav ul li {
    padding: 10px 26px 10px 10px;
    position: relative; }
    @media (max-width: 1200px) {
      nav ul li {
        padding: 20px 10px 10px 10px; } }
    @media (max-width: 768px) {
      nav ul li {
        padding: 15px 5px 5px 5px; } }
    @media (max-width: 320px) {
      nav ul li {
        padding: 15px 4px 4px 4px; } }
    nav ul li::after {
      content: "";
      position: absolute;
      width: 16px;
      height: 16px;
      top: 50%;
      right: 0;
      background-color: #f7c8b7;
      border-radius: 50%;
      transform: translateY(-50%);
      transition: background-color 0.2s ease; }
      @media (max-width: 1200px) {
        nav ul li::after {
          width: 14px;
          height: 14px;
          top: 0;
          right: 50%;
          transform: translateX(50%); } }
      @media (max-width: 768px) {
        nav ul li::after {
          width: 10px;
          height: 10px;
          top: 0;
          right: 50%;
          transform: translateX(50%); } }
    nav ul li:hover::after {
      background-color: #d73832; }
    nav ul li img {
      width: auto;
      height: 20px; }
      @media (max-width: 1200px) {
        nav ul li img {
          height: 16px; } }
      @media (max-width: 768px) {
        nav ul li img {
          height: 12px; } }
      @media (max-width: 320px) {
        nav ul li img {
          height: 11px; } }

/*現在地の設定*/
nav ul li.current::after {
  background-color: #d73832; }

/*スクロールでデザイン変更*/
@media (max-width: 1200px) {
  #g-nav.scroll-g-nav {
    top: 0;
    right: 0;
    padding: 20px 10px 10px 15px;
    background: #fff;
    border-bottom-left-radius: 20px;
    box-shadow: 0 0 10px rgba(132, 56, 56, 0.15); } }
@media (max-width: 768px) {
  #g-nav.scroll-g-nav {
    top: 0;
    right: 0;
    padding: 10px 10px 10px 15px;
    background: #fff;
    border-bottom-left-radius: 20px;
    box-shadow: 0 0 10px rgba(132, 56, 56, 0.15); } }

/* main-visual 
------------------------------------------------------------
------------------------------------------------------------*/
.main-visual-wrap {
  height: 900px;
  margin-top: -60px;
  position: relative;
  display: flex;
  justify-content: center;
  overflow: hidden; }
  @media (max-width: 1200px) {
    .main-visual-wrap {
      width: 100%;
      height: auto;
      aspect-ratio: 1200 / 900; } }
  @media (max-width: 768px) {
    .main-visual-wrap {
      margin-top: 0; } }
  @media (max-width: 500px) {
    .main-visual-wrap {
      aspect-ratio: 675 / 800; } }

.main-visual {
  max-width: 1200px;
  width: 100%;
  margin-top: 60px;
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column; }
  .main-visual h1 {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1; }
  .main-visual img {
    width: 100%;
    height: auto; }

.main-visual-text {
  width: 100%;
  position: absolute;
  left: 0;
  top: -6%; }

.main-visual-img {
  width: 35%;
  aspect-ratio: 420 / 426;
  position: absolute;
  right: -50px;
  top: 29%;
  z-index: 3;
  background-image: url("../images/main-visual/main-visual_marumi-1.svg");
  background-repeat: no-repeat;
  background-size: cover;
  　background-position: center; }
  @media (max-width: 1200px) {
    .main-visual-img {
      width: 32%;
      right: 0; } }
  @media (max-width: 500px) {
    .main-visual-img {
      width: 46%;
      top: 29%;
      right: 25%; } }
  .main-visual-img img {
    width: 100%;
    height: auto;
    position: absolute;
    inset: 0;
    object-fit: cover;
    opacity: 0;
    animation: marumi-fade 10s infinite; }

.main-visual-img img:nth-child(1) {
  animation-delay: 0s; }

.main-visual-img img:nth-child(2) {
  animation-delay: 2s; }

.main-visual-img img:nth-child(3) {
  animation-delay: 4s; }

.main-visual-img img:nth-child(4) {
  animation-delay: 6s; }

.main-visual-img img:nth-child(5) {
  animation-delay: 8s; }

@keyframes marumi-fade {
  0% {
    opacity: 0; }
  2% {
    opacity: 1; }
  23% {
    opacity: 1; }
  25% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.main-visual-name {
  display: none; }
  @media (max-width: 500px) {
    .main-visual-name {
      width: 46%;
      position: absolute;
      display: block;
      top: 76%;
      right: 50%;
      transform: translateX(50%);
      z-index: 3; } }

.main-visual-fork {
  width: 390px;
  position: absolute;
  left: -240px;
  bottom: -80px;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1000px) {
    .main-visual-fork {
      display: none; } }
  @media (max-width: 500px) {
    .main-visual-fork {
      width: 33%;
      display: block;
      left: 3%;
      bottom: -20px; } }

.main-visual-spoon {
  width: 346px;
  position: absolute;
  right: -240px;
  bottom: -80px;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1000px) {
    .main-visual-spoon {
      display: none; } }
  @media (max-width: 500px) {
    .main-visual-spoon {
      width: 30%;
      display: block;
      right: 3%;
      bottom: -20px; } }

.main-visual-curve {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10; }

.main-visual::before {
  max-width: 1200px;
  width: 100%;
  display: block;
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  aspect-ratio: 1 / 1;
  background-image: url("../images/main-visual/main-visual_food.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: food-rotate 240s linear infinite;
  transform-origin: center; }
  @media (max-width: 500px) {
    .main-visual::before {
      width: 90%;
      left: 5%; } }

@keyframes food-rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(-360deg); } }
/* contents 
------------------------------------------------------------
------------------------------------------------------------*/
main {
  background-color: #fcf5ee; }

.section-title {
  padding-top: 90px;
  margin-bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (max-width: 768px) {
    .section-title {
      padding-top: 60px;
      margin-bottom: 50px; } }
  .section-title h2 {
    padding-bottom: 21px;
    position: relative;
    display: flex;
    align-items: center; }
    @media (max-width: 768px) {
      .section-title h2 {
        padding-bottom: 18px; } }
    @media (max-width: 500px) {
      .section-title h2 {
        padding-bottom: 16px;
        flex-direction: column; } }
    .section-title h2 img {
      width: auto;
      height: 54px; }
      @media (max-width: 768px) {
        .section-title h2 img {
          height: 40px; } }
      @media (max-width: 500px) {
        .section-title h2 img {
          height: 30px; }
          .section-title h2 img:nth-child(2) {
            margin-top: 5px; } }
    .section-title h2::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 6px;
      bottom: 0;
      left: 0;
      background-image: radial-gradient(circle, #d73832 50%, transparent 50%);
      background-size: 8px 6px;
      background-repeat: repeat-x; }
  .section-title p {
    padding-top: 15px; }
    @media (max-width: 768px) {
      .section-title p {
        padding-top: 12px; } }
    @media (max-width: 500px) {
      .section-title p {
        padding-top: 10px; } }
    .section-title p img {
      width: auto;
      height: 24px; }
      @media (max-width: 768px) {
        .section-title p img {
          height: 22px; } }
      @media (max-width: 500px) {
        .section-title p img {
          height: 20px; } }

.lead {
  margin-bottom: 50px;
  font-size: 20px;
  font-weight: 500;
  text-align: center; }
  @media (max-width: 768px) {
    .lead {
      margin-bottom: 20px;
      font-size: 14px; } }

/* プロフィール */
hr {
  border: none;
  height: 6px;
  background-image: url("../images/profile/profile_line.svg");
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain; }
  @media (max-width: 768px) {
    hr {
      background-image: url("../images/profile/profile_line_sp.svg");
      background-repeat: repeat-x;
      background-position: center;
      background-size: contain; } }

.profile-box {
  padding: 50px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-feature-settings: "palt";
  line-height: 1.8em; }
  @media (max-width: 768px) {
    .profile-box {
      padding: 30px 0; } }
  .profile-box h3 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 500;
    color: #d73832; }
    @media (max-width: 1000px) {
      .profile-box h3 {
        font-size: 20px; } }
    @media (max-width: 768px) {
      .profile-box h3 {
        margin-bottom: 15px;
        font-size: 16px; } }
    @media (max-width: 320px) {
      .profile-box h3 {
        font-size: 15px; } }
    .profile-box h3.left {
      margin-left: 40px; }
      @media (max-width: 768px) {
        .profile-box h3.left {
          margin-left: 0; } }
    .profile-box h3 .marker {
      padding: 5px 10px;
      background: linear-gradient(transparent 60%, #f7c8b7 60%);
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone; }
      @media (max-width: 768px) {
        .profile-box h3 .marker {
          padding: 5px; } }
  .profile-box h4 {
    font-size: 18px;
    font-weight: 500;
    color: #843838; }
    @media (max-width: 1000px) {
      .profile-box h4 {
        font-size: 15px; } }
    @media (max-width: 768px) {
      .profile-box h4 {
        font-size: 14px; } }
    @media (max-width: 500px) {
      .profile-box h4 {
        text-align: center; } }
  .profile-box img {
    width: 100%;
    height: auto; }

.bubble-container {
  width: calc(100% - 40px);
  position: relative;
  display: inline-block; }
  @media (max-width: 768px) {
    .bubble-container {
      width: 100%; } }
  .bubble-container.left {
    margin-left: 40px; }
    @media (max-width: 768px) {
      .bubble-container.left {
        margin-left: 0; } }
  .bubble-container.right {
    margin-right: 40px; }
    @media (max-width: 768px) {
      .bubble-container.right {
        margin-right: 0; } }

.bubble-shadow {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 10px;
  left: 0;
  background: #fff;
  border-radius: 100px;
  z-index: 1; }
  @media (max-width: 500px) {
    .bubble-shadow {
      border-radius: 50px; } }

.bubble {
  width: 100%;
  padding: 30px 20px;
  position: relative;
  background: transparent;
  border: 2px solid #d73832;
  border-radius: 80px;
  z-index: 2;
  display: inline-block;
  box-sizing: border-box;
  text-align: center; }
  @media (max-width: 1000px) {
    .bubble {
      padding: 25px 15px;
      font-size: 14px; } }
  @media (max-width: 768px) {
    .bubble {
      padding: 20px 15px;
      font-size: 13px; } }
  @media (max-width: 500px) {
    .bubble {
      text-align: left;
      border-radius: 40px; } }
  @media (max-width: 500px) {
    .bubble br {
      display: none; } }

.bubble-container.left .bubble::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 20px solid #d73832; }

.bubble-container.left .bubble::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: -17px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 18px solid #fff; }

.bubble-container.right .bubble::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 20px solid #d73832; }

.bubble-container.right .bubble::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  right: -17px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 18px solid #fff; }

@media (max-width: 768px) {
  .bubble-container.left .bubble::before,
  .bubble-container.right .bubble::before {
    display: block;
    bottom: -20px;
    left: 50%;
    right: auto;
    top: auto;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 20px solid #d73832;
    border-bottom: 0; }

  .bubble-container.left .bubble::after,
  .bubble-container.right .bubble::after {
    display: block;
    bottom: -17px;
    left: 50%;
    right: auto;
    top: auto;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 18px solid #fff;
    border-bottom: 0; } }
@media (max-width: 768px) {
  .profile-box.box-1 {
    flex-wrap: wrap;
    justify-content: space-between; } }
.profile-box.box-1 > div:nth-child(1) {
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-1 > div:nth-child(1) {
      width: 48%;
      order: 1; } }
.profile-box.box-1 > div:nth-child(3) {
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-1 > div:nth-child(3) {
      width: 48%;
      order: 2; } }
.profile-box.box-1 .profile-img {
  max-width: 307px;
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-1 .profile-img {
      max-width: 182px;
      width: 100%;
      margin: 20px auto 0 auto;
      order: 3; } }

@media (max-width: 768px) {
  .profile-box.box-2 {
    flex-direction: column-reverse; } }
.profile-box.box-2 .profile-img {
  max-width: 270px;
  width: 30%; }
  @media (max-width: 768px) {
    .profile-box.box-2 .profile-img {
      max-width: 164px;
      width: 100%;
      margin-top: 20px; } }
.profile-box.box-2 > div:nth-child(2) {
  width: 70%; }
  @media (max-width: 768px) {
    .profile-box.box-2 > div:nth-child(2) {
      width: 90%; } }
.profile-box.box-2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 500px) {
    .profile-box.box-2 ul {
      flex-direction: column; } }
  .profile-box.box-2 ul li {
    width: 45%;
    margin: 0 1%; }
    @media (max-width: 1000px) {
      .profile-box.box-2 ul li {
        width: 48%;
        margin: 0; } }
    @media (max-width: 768px) {
      .profile-box.box-2 ul li {
        width: 48%;
        margin: 0 1%; } }
    @media (max-width: 500px) {
      .profile-box.box-2 ul li {
        width: 100%; } }
    .profile-box.box-2 ul li:nth-child(3), .profile-box.box-2 ul li:nth-child(4) {
      padding-top: 40px; }
    @media (max-width: 500px) {
      .profile-box.box-2 ul li:not(:first-child) {
        padding-top: 15px; } }

@media (max-width: 768px) {
  .profile-box.box-3 {
    flex-direction: column; } }
.profile-box.box-3 > div:nth-child(1) {
  width: 50%; }
  @media (max-width: 768px) {
    .profile-box.box-3 > div:nth-child(1) {
      width: 65%; } }
  @media (max-width: 500px) {
    .profile-box.box-3 > div:nth-child(1) {
      width: 90%; } }
.profile-box.box-3 .profile-img {
  max-width: 460px;
  width: 50%; }
  @media (max-width: 768px) {
    .profile-box.box-3 .profile-img {
      width: 90%;
      max-width: 290px;
      margin-top: 20px; } }

@media (max-width: 768px) {
  .profile-box.box-4 {
    flex-wrap: wrap;
    justify-content: space-between; } }
.profile-box.box-4 > div:nth-child(1) {
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-4 > div:nth-child(1) {
      width: 48%;
      order: 1; } }
.profile-box.box-4 > div:nth-child(3) {
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-4 > div:nth-child(3) {
      width: 48%;
      order: 2; } }
.profile-box.box-4 .profile-img {
  max-width: 307px;
  width: 33.3%; }
  @media (max-width: 768px) {
    .profile-box.box-4 .profile-img {
      max-width: 182px;
      width: 100%;
      margin: 20px auto 0 auto;
      order: 3; } }

.profile-magic-wrap {
  background-image: url("../images/profile/profile_magic_top.svg"), url("../images/profile/profile_magic_bottom.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: top center, bottom center;
  background-size: contain, contain;
  background-color: #f5e6d3; }
  @media (max-width: 500px) {
    .profile-magic-wrap {
      background-image: url("../images/profile/profile_magic_top_sp.svg"), url("../images/profile/profile_magic_bottom_sp.svg"); } }

.profile-magic {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 160px 0 300px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-feature-settings: "palt"; }
  @media (max-width: 768px) {
    .profile-magic {
      padding: 30px 0 60px 0;
      flex-direction: column-reverse; } }
  .profile-magic > * {
    flex: 1; }
  .profile-magic h3 {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 500;
    color: #d73832; }
    @media (max-width: 768px) {
      .profile-magic h3 {
        font-size: 16px; } }
    .profile-magic h3 .marker {
      padding: 5px 10px;
      background: linear-gradient(transparent 60%, #fff 60%);
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone; }
  .profile-magic h4 {
    font-weight: 500;
    color: #843838; }
    .profile-magic h4 .sub {
      font-size: 30px; }
      @media (max-width: 768px) {
        .profile-magic h4 .sub {
          font-size: 18px; } }
    .profile-magic h4 .main {
      font-size: 40px; }
      @media (max-width: 768px) {
        .profile-magic h4 .main {
          font-size: 20px; } }
  .profile-magic p {
    margin: 30px 0 80px 0; }
    @media (max-width: 768px) {
      .profile-magic p {
        margin: 20px 0 50px 0; } }
    @media (max-width: 500px) {
      .profile-magic p br {
        display: none; } }

.profile-magic-img-wrap {
  width: 100%;
  position: relative; }
  @media (max-width: 768px) {
    .profile-magic-img-wrap {
      width: 70%; } }
  @media (max-width: 500px) {
    .profile-magic-img-wrap {
      width: 90%; } }
  .profile-magic-img-wrap img {
    width: 100%;
    height: auto; }

.profile-magic-img {
  width: 100%; }

.profile-magic-bubble {
  width: 33%;
  position: absolute;
  top: 28%;
  left: 0;
  animation: bubble-rotate 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out; }
  @media (max-width: 500px) {
    .profile-magic-bubble {
      width: 40%;
      top: 20%;
      left: -5%; } }

@keyframes bubble-rotate {
  0% {
    transform: translate(0, 0) rotate(-6deg); }
  50% {
    transform: translate(0, -6px) rotate(0deg); }
  100% {
    transform: translate(0, 0) rotate(6deg); } }
/* まるみちゃんの誕生経緯 */
.background-wrap {
  position: relative;
  width: 90%;
  max-width: 1400px;
  margin: -100px auto 0 auto; }
  @media (max-width: 768px) {
    .background-wrap {
      margin: 0 auto; } }
  .background-wrap::before {
    content: '';
    position: absolute;
    top: -60px;
    left: -60px;
    width: 100%;
    height: 100%;
    border-radius: 40px;
    background-image: url("../images/bk_plaid-pattern.svg");
    background-repeat: repeat;
    background-size: 54px 54px;
    z-index: 0; }
    @media (max-width: 768px) {
      .background-wrap::before {
        top: -20px;
        left: -5%;
        border-radius: 30px; } }

.background-box {
  position: relative;
  background-color: #fff;
  border-radius: 40px;
  padding-bottom: 50px;
  z-index: 1; }
  @media (max-width: 768px) {
    .background-box {
      border-radius: 30px;
      padding-bottom: 30px; } }

.background-text p {
  padding-bottom: 30px; }
  @media (max-width: 768px) {
    .background-text p {
      padding-bottom: 20px; } }
.background-text .background-flex {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .background-text .background-flex {
      flex-direction: column;
      align-items: center; } }
  .background-text .background-flex div:first-child {
    width: calc(100% - 310px); }
    @media (max-width: 768px) {
      .background-text .background-flex div:first-child {
        width: 100%; } }
.background-text .background-img {
  width: 260px; }
  @media (max-width: 768px) {
    .background-text .background-img {
      width: 150px; } }
  .background-text .background-img img {
    width: 100%;
    height: auto; }

/* 丸和油脂のキャラクター */
.character-wrap {
  margin-top: 100px; }
  @media (max-width: 768px) {
    .character-wrap {
      margin-top: 30px; } }

.character-box {
  margin: 0 50px 60px 50px;
  padding: 60px 50px 50px 50px;
  position: relative;
  background-color: #fff;
  border-radius: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 768px) {
    .character-box {
      margin: 0 5% 50px 5%;
      padding: 40px 5% 30px 5%;
      border-radius: 30px; } }
  @media (max-width: 500px) {
    .character-box {
      margin: 0 5% 50px 5%;
      padding: 40px 5% 30px 5%;
      flex-direction: column-reverse; } }
  .character-box .character-text {
    width: calc(100% - 250px); }
    @media (max-width: 768px) {
      .character-box .character-text {
        width: calc(100% - 160px); } }
    @media (max-width: 500px) {
      .character-box .character-text {
        width: 100%; } }
    .character-box .character-text h3 {
      width: 156px;
      margin-bottom: 30px; }
      @media (max-width: 768px) {
        .character-box .character-text h3 {
          width: 110px; } }
      @media (max-width: 500px) {
        .character-box .character-text h3 {
          margin: 30px 0 20px 0; } }
  .character-box .character-img {
    width: 200px; }
    @media (max-width: 768px) {
      .character-box .character-img {
        width: 150px; } }
  .character-box .character-en {
    position: absolute;
    top: -10px;
    left: -60px; }
    @media (max-width: 768px) {
      .character-box .character-en {
        left: -5%; } }
  .character-box img {
    width: 100%;
    height: auto; }

.character-box.box-1 .character-en {
  width: 102px; }
  @media (max-width: 768px) {
    .character-box.box-1 .character-en {
      width: 66px; } }

.character-box.box-2 .character-en {
  width: 168px; }
  @media (max-width: 768px) {
    .character-box.box-2 .character-en {
      width: 108px; } }

.character-table-wrap {
  width: 100%;
  max-width: 1200px;
  /*aspect-ratio: 1200 / 560;*/
  position: relative;
  margin: 100px auto 0 auto; }
  @media (max-width: 768px) {
    .character-table-wrap {
      margin: 50px auto 0 auto; } }
  .character-table-wrap::before {
    content: "";
    display: block;
    padding-top: 46.6667%; }
  .character-table-wrap img {
    width: 100%;
    height: auto; }

.character-table {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2; }

.character-table-marumi {
  width: 36%;
  position: absolute;
  margin: 0 auto;
  top: 1%;
  left: 0;
  right: 0;
  z-index: 1;
  animation: marumi-rotate 2s ease-in-out infinite alternate;
  transition: 1s ease-in-out; }

@keyframes marumi-rotate {
  0% {
    transform: translate(0, 0) rotate(-3deg); }
  50% {
    transform: translate(0, -3px) rotate(0deg); }
  100% {
    transform: translate(0, 0) rotate(3deg); }
  @media (max-width: 768px) {
    0% {
      transform: translate(0, 0) rotate(-1.5deg); }
    50% {
      transform: translate(0, -1.5px) rotate(0deg); }
    100% {
      transform: translate(0, 0) rotate(1.5deg); } } }
.character-table-butter-knife {
  width: 36%;
  aspect-ratio: 430 / 340;
  position: absolute;
  margin: 0 auto;
  top: 1%;
  left: 0;
  right: 0;
  z-index: 3;
  animation: marumi-rotate 2s ease-in-out infinite alternate;
  transition: 1s ease-in-out; }
  .character-table-butter-knife img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    opacity: 0; }

.character-table-butter-knife img:nth-child(1) {
  animation: img1-fade 8s infinite; }

.character-table-butter-knife img:nth-child(2) {
  animation: img2-fade 8s infinite; }

@keyframes img1-fade {
  0% {
    opacity: 1; }
  45% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes img2-fade {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  55% {
    opacity: 1; }
  90% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.character-table-steam {
  width: 4%;
  position: absolute;
  top: 64%;
  left: 6.7%;
  z-index: 3;
  animation: steam-float 4s ease-in-out infinite; }

@keyframes steam-float {
  0% {
    transform: translateY(0);
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    transform: translateY(-15px);
    opacity: 0; } }
/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
footer {
  padding: 50px;
  background-color: #d73832;
  color: #fff;
  text-align: center; }
  @media (max-width: 768px) {
    footer {
      padding: 50px 2% 30px 2%; } }

.footer-link {
  display: flex;
  justify-content: center; }
  .footer-link li {
    margin: 0 10px; }
    @media (max-width: 768px) {
      .footer-link li {
        margin: 0 5px; } }
    .footer-link li:first-child {
      width: 260px; }
      @media (max-width: 768px) {
        .footer-link li:first-child {
          width: 180px; } }
      @media (max-width: 320px) {
        .footer-link li:first-child {
          width: 140px; } }
      .footer-link li:first-child img {
        width: 210px;
        height: auto; }
        @media (max-width: 768px) {
          .footer-link li:first-child img {
            width: 150px; } }
        @media (max-width: 320px) {
          .footer-link li:first-child img {
            width: 124px; } }
    .footer-link li:not(:first-child) {
      width: 58px; }
      .footer-link li:not(:first-child) img {
        width: 29px;
        height: auto; }
    .footer-link li a {
      width: 100%;
      height: 58px;
      display: flex;
      justify-content: center;
      align-items: center;
      border: solid 1px #fff;
      border-radius: 29px; }
      .footer-link li a:hover {
        background-color: #a51717;
        border: solid 1px #a51717; }

.copyright {
  padding-top: 30px;
  font-size: 12px; }
  @media (max-width: 768px) {
    .copyright {
      padding-top: 50px;
      font-size: 10px; } }

/* 調整用
------------------------------------------------------------
------------------------------------------------------------*/
/* iOS */
@supports (-webkit-touch-callout: none) {
  .lead {
    font-weight: 600; }

  .profile-box h3, .profile-box h4 {
    font-weight: 600; }

  .profile-magic h3, .profile-magic h4 {
    font-weight: 600; } }
/* PCとSPの非表示指示
------------------------------------------------------------
------------------------------------------------------------*/
/* PCとSPの非表示指示 */
@media screen and (min-width: 769px) {
  .pc-none {
    display: none !important; } }
@media (max-width: 768px) {
  .sp-none {
    display: none !important; } }

.sp-block {
  display: none; }
  @media (max-width: 500px) {
    .sp-block {
      display: block !important; } }

@media (max-width: 500px) {
  .only-sp-none {
    display: none !important; } }
