.contents_header {
  position: relative;
  background: -webkit-radial-gradient(circle farthest-side, #ffd75a 55%, #ffd05a 96%);
  background: -o-radial-gradient(circle farthest-side, #ffd75a 55%, #ffd05a 96%);
  background: radial-gradient(circle farthest-side, #ffd75a 55%, #ffd05a 96%);
  width: 100%;
  line-height: 0;
  text-align: center;
  overflow: hidden; }
  .contents_header::before {
    content: "";
    position: absolute;
    background-position: center center;
    background-size: auto 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    pointer-events: none; }
    @media screen and (min-width: 641px) {
      .contents_header::before {
        background-image: url(../images/header_title_bg_pc.png), url(../images/index/header_title_bg1_pc.png);
        background-repeat: repeat-x, no-repeat; } }
  .contents_header::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    visibility: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    pointer-events: none; }
    @media screen and (min-width: 641px) {
      .contents_header::after {
        background-image: url(../images/index/header_title_bg2_pc.png); } }
  .contents_header * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .contents_header *::before, .contents_header *::after {
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  .contents_header ::-moz-selection {
    background: #fbed21;
    text-shadow: 1px 1px 0 #fff;
    color: #32190b; }
  .contents_header ::selection {
    background: #fbed21;
    text-shadow: 1px 1px 0 #fff;
    color: #32190b; }

.header_title {
  position: relative;
  width: 43.284%;
  max-width: 580px;
  margin: 0 auto; }
  .header_title::before {
    content: "";
    position: absolute;
    background-image: url(../images/index/header_title_bal.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0;
    height: 0;
    right: 0;
    top: 0;
    margin: 10% 3.966% 0 0;
    padding: 16.207%;
    z-index: 3; }
  .header_title::after {
    content: "";
    position: absolute;
    background-image: url(../images/index/header_title_img.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 8.621% 0 5.69%;
    padding: 44.311% 50%;
    pointer-events: none;
    z-index: 5; }
  .header_title > img {
    padding: 8.621% 0 5.69%; }

.header_note {
  position: absolute;
  left: 50%;
  right: 0;
  bottom: 2.9em;
  margin: 0;
  padding: 0 0 0 1.3em;
  letter-spacing: 0.04em;
  line-height: 2em;
  font-size: 0.747vw;
  color: #42210b; }
  @media screen and (min-width: 1340px) {
    .header_note {
      font-size: 10px; } }
  @media screen and (max-width: 950px) {
    .header_note {
      font-size: 8px; } }

.contents_main {
  background-image: url(../images/index/main_bg.jpg);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% 100%;
  width: 100%;
  padding: 5% 0 8.433%;
  overflow: hidden; }
  .contents_main * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .contents_main *::before, .contents_main *::after {
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  .contents_main ::-moz-selection {
    background: #fbed21;
    text-shadow: 1px 1px 0 #fff;
    color: #32190b; }
  .contents_main ::selection {
    background: #fbed21;
    text-shadow: 1px 1px 0 #fff;
    color: #32190b; }
  .contents_main ruby {
    position: relative; }
    .contents_main ruby[data-ruby] {
      display: inline-block; }
      .contents_main ruby[data-ruby]::before {
        content: attr(data-ruby);
        position: absolute;
        left: -5em;
        right: -5em;
        bottom: 80%;
        letter-spacing: 0;
        line-height: 1;
        font-size: 1.195vw;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        text-align: center;
        -webkit-transform: scale(0.5) translate(0, 0.35em);
        -ms-transform: scale(0.5) translate(0, 0.35em);
        transform: scale(0.5) translate(0, 0.35em);
        white-space: nowrap;
        pointer-events: none; }
        @media screen and (min-width: 1340px) {
          .contents_main ruby[data-ruby]::before {
            font-size: 16px; } }
        @media screen and (max-width: 950px) {
          .contents_main ruby[data-ruby]::before {
            font-size: 12px; } }
      .contents_main ruby[data-ruby] rt {
        display: none; }

.main_head {
  line-height: 0;
  text-align: center; }

.main_head_lead {
  width: 35.821%;
  max-width: 480px;
  margin: 0 auto; }

.main_head_text {
  margin: 1.267em 0 0;
  letter-spacing: 0.1em;
  line-height: 1.934em;
  font-size: 1.12vw;
  font-weight: bold;
  color: #42210b; }
  @media screen and (min-width: 1340px) {
    .main_head_text {
      font-size: 15px; } }
  @media screen and (max-width: 950px) {
    .main_head_text {
      font-size: 11px; } }

.main_body {
  position: relative;
  max-width: 1000px;
  margin: 3.583% auto 0;
  line-height: 0;
  text-align: center; }

.main_body_frame {
  width: 100%;
  padding: 31.15% 0; }
  .main_body_frame::before {
    content: "";
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 103.4%;
    height: 116.212%;
    left: -1.7%;
    top: -13.162%;
    pointer-events: none; }
    @media screen and (min-width: 641px) {
      .main_body_frame::before {
        background-image: url(../images/index/main_body_bg_pc.png); } }

.main_body_plate {
  display: block;
  position: absolute;
  text-decoration: none;
  color: inherit; }
  .main_body_plate::after {
    content: "";
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 0;
    pointer-events: none;
    z-index: 1; }
  .main_body_plate:hover .main_body_link {
    opacity: 0.5; }
  .main_body_plate.plate01::after {
    background-image: url(../images/index/main_body_plate01_bg.png); }
  .main_body_plate.plate02::after {
    background-image: url(../images/index/main_body_plate02_bg.png); }
  .main_body_plate.plate03::after {
    background-image: url(../images/index/main_body_plate03_bg.png); }
  .main_body_plate.plate04::after {
    background-image: url(../images/index/main_body_plate04_bg.png); }
  .main_body_plate.plate05::after {
    background-image: url(../images/index/main_body_plate05_bg.png); }
  .main_body_plate.plate01 {
    width: 36.2%;
    height: 43.66%;
    left: 12.7%;
    top: 0.803%; }
    .main_body_plate.plate01::after {
      width: 104.973%;
      height: 106.986%;
      left: -0.828%; }
  .main_body_plate.plate02 {
    width: 36.6%;
    height: 43.981%;
    right: 12.7%;
    top: 0; }
    .main_body_plate.plate02::after {
      width: 104.919%;
      height: 107.3%;
      left: -0.819%; }
  .main_body_plate.plate03 {
    width: 32.7%;
    height: 49.439%;
    left: -0.7%;
    bottom: 4.174%; }
    .main_body_plate.plate03::after {
      width: 105.811%;
      height: 106.494%;
      left: -1.223%; }
  .main_body_plate.plate04 {
    width: 32.8%;
    height: 49.439%;
    left: 33.6%;
    bottom: 3.211%; }
    .main_body_plate.plate04::after {
      width: 105.488%;
      height: 106.494%;
      left: -0.914%; }
  .main_body_plate.plate05 {
    width: 32.7%;
    height: 49.439%;
    right: -0.7%;
    bottom: 3.371%; }
    .main_body_plate.plate05::after {
      width: 105.811%;
      height: 106.494%;
      left: -1.223%; }

.main_body_data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 3; }
  .main_body_data::before, .main_body_data::after {
    content: "";
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    visibility: visible;
    pointer-events: none; }
  .main_body_data::before {
    opacity: 0;
    -webkit-transform: translate(0, 10px) scale(0.95);
    -ms-transform: translate(0, 10px) scale(0.95);
    transform: translate(0, 10px) scale(0.95);
    -webkit-transition: opacity 200ms linear 0ms, -webkit-transform 160ms ease-in 40ms;
    transition: opacity 200ms linear 0ms, -webkit-transform 160ms ease-in 40ms;
    -o-transition: opacity 200ms linear 0ms, transform 160ms ease-in 40ms;
    transition: opacity 200ms linear 0ms, transform 160ms ease-in 40ms;
    transition: opacity 200ms linear 0ms, transform 160ms ease-in 40ms, -webkit-transform 160ms ease-in 40ms; }
    .main_body_plate.animated .main_body_data::before {
      opacity: 1;
      -webkit-transform: translate(0, 0) scale(1);
      -ms-transform: translate(0, 0) scale(1);
      transform: translate(0, 0) scale(1); }
  .plate01 .main_body_data::before {
    background-image: url(../images/index/main_body_plate01_img1.png); }
  .plate01 .main_body_data::after {
    background-image: url(../images/ijin01_image.png); }
  .plate02 .main_body_data::before {
    background-image: url(../images/index/main_body_plate02_img1.png); }
  .plate02 .main_body_data::after {
    background-image: url(../images/ijin02_image.png); }
  .plate03 .main_body_data::before {
    background-image: url(../images/index/main_body_plate03_img1.png); }
  .plate03 .main_body_data::after {
    background-image: url(../images/ijin03_image.png); }
  .plate04 .main_body_data::before {
    background-image: url(../images/index/main_body_plate04_img1.png); }
  .plate04 .main_body_data::after {
    background-image: url(../images/ijin04_image.png); }
  .plate05 .main_body_data::before {
    background-image: url(../images/index/main_body_plate05_img1.png); }
  .plate05 .main_body_data::after {
    background-image: url(../images/ijin05_image.png); }
  .plate01 .main_body_data {
    padding: 26.52% 50.829% 0 11.603%; }
    .plate01 .main_body_data::before {
      width: 37.846%;
      height: 47.795%;
      left: 17.404%;
      top: -14.338%; }
    .plate01 .main_body_data::after {
      width: 40.884%;
      height: 87.5%;
      left: 50.277%;
      top: 0.736%; }
  .plate02 .main_body_data {
    padding: 30.328% 50.547% 0 9.837%; }
    .plate02 .main_body_data::before {
      width: 38.525%;
      height: 45.256%;
      left: 7.104%;
      top: -10.218%; }
    .plate02 .main_body_data::after {
      width: 47.541%;
      height: 84.672%;
      left: 46.175%;
      top: 1.46%; }
  .plate03 .main_body_data {
    padding: 40.062% 47.401% 0 11.01%; }
    .plate03 .main_body_data::before {
      width: 41.897%;
      height: 38.637%;
      left: 8.257%;
      top: 0.325%; }
    .plate03 .main_body_data::after {
      width: 49.236%;
      height: 75.975%;
      left: 48.319%;
      top: 13.962%; }
  .plate04 .main_body_data {
    padding: 34.757% 48.476% 0 10.061%; }
    .plate04 .main_body_data::before {
      width: 40.549%;
      height: 33.442%;
      left: 4.879%;
      top: -2.597%; }
    .plate04 .main_body_data::after {
      width: 45.732%;
      height: 74.026%;
      left: 50.915%;
      top: 14.611%; }
  .plate05 .main_body_data {
    padding: 32.722% 49.542% 0 8.869%; }
    .plate05 .main_body_data::before {
      width: 40.673%;
      height: 34.091%;
      left: 18.655%;
      top: -0.974%; }
    .plate05 .main_body_data::after {
      width: 46.789%;
      height: 66.884%;
      left: 51.682%;
      top: 19.156%; }

.main_body_copy {
  margin: 0;
  line-height: 1;
  font-size: 0.971vw;
  color: #42210b; }
  @media screen and (min-width: 1340px) {
    .main_body_copy {
      font-size: 13px; } }
  @media screen and (max-width: 950px) {
    .main_body_copy {
      font-size: 10px; } }
  .plate04 .main_body_copy {
    -webkit-transform: rotateZ(-1deg);
    -ms-transform: rotate(-1deg);
    transform: rotateZ(-1deg); }

.main_body_name {
  font-size: 2.239vw; }
  @media screen and (min-width: 1340px) {
    .main_body_name {
      font-size: 30px; } }
  @media screen and (max-width: 950px) {
    .main_body_name {
      font-size: 22px; } }
  .plate01 .main_body_name {
    width: 3.634em;
    margin: 0.234em 0 0.334em; }
    @media screen and (min-width: 641px) {
      .plate01 .main_body_name {
        height: 1.4em; } }
  .plate02 .main_body_name {
    width: 4.834em;
    margin: 0.4em 0; }
    @media screen and (min-width: 641px) {
      .plate02 .main_body_name {
        height: 0.834em; } }
  .plate03 .main_body_name {
    width: 3.9em;
    margin: 0.234em 0 0.367em; }
    @media screen and (min-width: 641px) {
      .plate03 .main_body_name {
        height: 1.334em; } }
  .plate04 .main_body_name {
    width: 4.3em;
    margin: 0.2em 0 0.4em; }
    @media screen and (min-width: 641px) {
      .plate04 .main_body_name {
        height: 1.967em; } }
  .plate05 .main_body_name {
    width: 4.067em;
    margin: 0.3em 0 0.434em; }
    @media screen and (min-width: 641px) {
      .plate05 .main_body_name {
        height: 1.834em; } }

.main_body_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #42210b;
  border-radius: 50px;
  width: 9.715em;
  margin: 0;
  letter-spacing: 0.05em;
  line-height: 2.715em;
  font-size: 1.045vw;
  font-weight: bold;
  color: #fff; }
  @media screen and (min-width: 1340px) {
    .main_body_link {
      font-size: 14px; } }
  @media screen and (max-width: 950px) {
    .main_body_link {
      font-size: 10px; } }
  .main_body_link::before {
    content: "";
    display: block;
    background-image: url(../images/main_link_icon.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.786em;
    height: 0.786em;
    margin: 0 0.358em 0 0; }

@media screen and (min-width: 641px) {
  .pc_none {
    display: none !important; } }

@media screen and (max-width: 640px) {
  .sp_none {
    display: none !important; }
  .contents_header::before {
    background-image: url(../images/index/header_title_bg1_sp.jpg);
    background-repeat: no-repeat; }
  .contents_header::after {
    background-image: url(../images/index/header_title_bg2_sp.png);
    z-index: 10; }
  .header_title {
    width: 84.534%;
    max-width: 634px; }
    .header_title::before {
      margin: 26.341% -1.577% 0 0;
      padding: 20.032%;
      z-index: 10; }
    .header_title::after {
      margin: 31.231% 0 44.953%;
      padding: 44.638% 50%; }
    .header_title > img {
      padding: 31.231% 0 44.953%; }
  .header_note {
    left: 0;
    bottom: 1.2em;
    padding: 0 2em 0 0;
    letter-spacing: 0.05em;
    line-height: 1.556em;
    text-align: right;
    font-size: 2.4vw; }
  .contents_main {
    background-size: 178.667% auto;
    padding: 13.334% 0 21.067%; }
    .contents_main ruby[data-ruby]::before {
      font-size: 3.734vw;
      -webkit-transform: scale(0.5) translate(0, 0.4em);
      -ms-transform: scale(0.5) translate(0, 0.4em);
      transform: scale(0.5) translate(0, 0.4em); }
  .main_head_lead {
    width: 75.734%;
    max-width: 568px; }
  .main_head_text {
    margin: 1.347em 0 0;
    line-height: 1.731em;
    font-size: 3.467vw; }
  .main_body {
    max-width: none;
    margin: 9.067% auto 0; }
  .main_body_frame {
    padding: 0; }
    .main_body_frame::before {
      content: none; }
  .main_body_plate {
    position: relative;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important; }
    .main_body_plate::before {
      content: "";
      position: absolute;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      width: 100vw;
      pointer-events: none; }
    .main_body_plate.plate01 {
      width: 85.6vw;
      height: 68.134vw;
      margin: 0 auto 0 8.534%; }
      .main_body_plate.plate01::before {
        background-image: url(../images/index/main_body_plate_bg_fork1_sp.png);
        height: 120.744%;
        left: -9.968%;
        top: -13.502%; }
    .main_body_plate.plate02 {
      width: 88.8vw;
      height: 69.467vw;
      margin: 4% auto 0 5.2%; }
      .main_body_plate.plate02::before {
        background-image: url(../images/index/main_body_plate_bg_sp.png);
        height: 94.818%;
        left: -5.705%;
        top: 6.718%; }
    .main_body_plate.plate03 {
      width: 82vw;
      height: 77.334vw;
      margin: 3.867% auto 0 8.934%; }
      .main_body_plate.plate03::before {
        background-image: url(../images/index/main_body_plate_bg_spoon1_sp.png);
        height: 109.483%;
        left: -10.731%;
        top: -9.482%; }
    .main_body_plate.plate04 {
      width: 85.467vw;
      height: 70.267vw;
      margin: 2.934% auto 0 5.2%; }
      .main_body_plate.plate04::before {
        background-image: url(../images/index/main_body_plate_bg_sp.png);
        height: 93.739%;
        left: -6.084%;
        top: 6.262%; }
      .main_body_plate.plate04::after {
        background-image: url(../images/index/main_body_plate04_bg_sp.png);
        width: 105.149%;
        height: 106.832%;
        left: -0.936%; }
    .main_body_plate.plate05 {
      width: 78.8vw;
      height: 69.2vw;
      margin: 2.267% auto 0 11.6%; }
      .main_body_plate.plate05::before {
        background-image: url(../images/index/main_body_plate_bg_fork2_sp.png);
        height: 118.883%;
        left: -14.72%;
        top: 1.349%; }
      .main_body_plate.plate05::after {
        background-size: 97% 100%; }
  .plate01 .main_body_data {
    padding: 29.284% 50.468% 0 10.592%; }
    .plate01 .main_body_data::before {
      width: 31.62%;
      height: 37.574%;
      left: 28.661%;
      top: -3.326%; }
    .plate01 .main_body_data::after {
      width: 32.711%;
      height: 66.537%;
      left: 52.648%;
      top: 15.656%; }
  .plate02 .main_body_data {
    padding: 34.535% 47.898% 0 13.514%; }
    .plate02 .main_body_data::before {
      width: 31.382%;
      height: 36.277%;
      left: 21.322%;
      top: 4.223%; }
    .plate02 .main_body_data::after {
      width: 39.04%;
      height: 67.563%;
      left: 53.454%;
      top: 15.931%; }
  .plate03 .main_body_data {
    padding: 35.61% 10.407% 0 48.944%; }
    .plate03 .main_body_data::before {
      width: 31.057%;
      height: 28.449%;
      left: 42.44%;
      top: 6.552%; }
    .plate03 .main_body_data::after {
      width: 39.025%;
      height: 60.518%;
      left: 8.293%;
      top: 18.104%; }
  .plate04 .main_body_data {
    padding: 32.606% 40.25% 0 9.361%; }
    .plate04 .main_body_data::before {
      width: 32.762%;
      height: 30.551%;
      left: 21.529%;
      top: 4.934%; }
    .plate04 .main_body_data::after {
      width: 37.13%;
      height: 68.691%;
      left: 59.907%;
      top: 15.75%; }
  .plate05 .main_body_data {
    padding: 33.165% 10.153% 0 47.547%; }
    .plate05 .main_body_data::before {
      width: 34.18%;
      height: 30.444%;
      left: 36.887%;
      top: 6.166%; }
    .plate05 .main_body_data::after {
      width: 36.549%;
      height: 56.648%;
      left: 8.968%;
      top: 26.205%; }
  .main_body_copy {
    font-size: 3.2vw; }
    .plate04 .main_body_copy {
      -webkit-transform: rotateZ(-0.4deg);
      -ms-transform: rotate(-0.4deg);
      transform: rotateZ(-0.4deg); }
  .main_body_name {
    font-size: 7.467vw; }
    .plate04 .main_body_name {
      width: 5.768em;
      margin: 0.215em 0 0.411em; }
  .main_body_link {
    width: 9.616em;
    line-height: 2.693em;
    font-size: 3.467vw; }
    .main_body_link::before {
      width: 0.77em;
      height: 0.77em; } }
