/* Scss Document */
/*
---------------------------------------
plan01
---------------------------------------
*/
#plan01 {
  position: relative;
  overflow: hidden;
  padding-bottom: 12rem; }
  @media (max-width: 999px) {
    #plan01 {
      padding-bottom: 6rem;
      margin-bottom: 6rem; } }
  #plan01::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    background: linear-gradient(to bottom, #fff 0%, #F7F7F7 100%);
    width: 100%;
    height: 50rem; }
  #plan01 .headBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 10rem;
    margin-bottom: 11rem; }
    @media (max-width: 999px) {
      #plan01 .headBox {
        display: block;
        margin-bottom: 3rem; } }
  @media (max-width: 999px) {
    #plan01 .ttlBox {
      margin-bottom: 3rem; } }
  #plan01 .ttl {
    font-size: 4.6rem; }
    @media (max-width: 999px) {
      #plan01 .ttl {
        font-size: 2.4rem; } }
    #plan01 .ttl span {
      display: block; }
  #plan01 .price {
    font-size: 2.6rem; }
    @media (max-width: 999px) {
      #plan01 .price {
        font-size: 1.6rem; } }
    #plan01 .price span {
      font-size: 3.2rem;
      margin: 0 0.6rem; }
      @media (max-width: 999px) {
        #plan01 .price span {
          font-size: 2rem; } }
  #plan01 .mainPic {
    width: calc(100% - max(5.335vw,calc(50vw - 70rem)));
    height: auto;
    margin-left: max(5.335vw, calc(50vw - 70rem));
    aspect-ratio: 1660 / 640;
    overflow: hidden; }
    @media (max-width: 999px) {
      #plan01 .mainPic {
        width: 94%;
        margin-left: auto;
        aspect-ratio: 375 / 230; } }
  #plan01 .pic {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }

/*
---------------------------------------
plan02
---------------------------------------
*/
#plan02 {
  position: relative;
  overflow: hidden; }
  @media (max-width: 999px) {
    #plan02 {
      margin-bottom: 6rem; } }
  #plan02 .contentInner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start; }
    @media (max-width: 999px) {
      #plan02 .contentInner {
        display: flex;
        flex-direction: column;
        gap: 3rem; } }
  #plan02 .txtArea {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 76rem;
    padding: 0 8rem 0 0; }
    @media (max-width: 999px) {
      #plan02 .txtArea {
        display: contents;
        min-height: 0;
        padding: 0; } }
  #plan02 .leadBox {
    margin-bottom: 8rem; }
    @media (max-width: 999px) {
      #plan02 .leadBox {
        order: 1;
        margin-bottom: 0; } }
  #plan02 .upgradeList {
    width: 100%;
    max-width: 52rem;
    margin: 0 0 8rem;
    padding: 0;
    list-style: none; }
    @media (max-width: 999px) {
      #plan02 .upgradeList {
        order: 3;
        max-width: none;
        margin: 0; } }
    #plan02 .upgradeList li {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 2rem;
      margin-bottom: 2.5rem;
      font-size: 2.6rem;
      line-height: 1.5; }
      @media (max-width: 999px) {
        #plan02 .upgradeList li {
          gap: 1rem;
          margin-bottom: 1.8rem;
          font-size: 1.6rem; } }
      #plan02 .upgradeList li:last-child {
        margin-bottom: 0; }
    #plan02 .upgradeList .name {
      position: relative;
      display: block;
      padding-left: 3.5rem; }
      @media (max-width: 999px) {
        #plan02 .upgradeList .name {
          padding-left: 2.3rem; } }
      #plan02 .upgradeList .name::before {
        position: absolute;
        top: 50%;
        left: .4rem;
        width: 1.7rem;
        height: 1.7rem;
        background: #333;
        content: "";
        transform: translateY(-50%) rotate(45deg); }
        @media (max-width: 999px) {
          #plan02 .upgradeList .name::before {
            left: .3rem;
            width: 1.1rem;
            height: 1.1rem; } }
    #plan02 .upgradeList .price {
      white-space: nowrap; }
  #plan02 .bottomTxt {
    margin-bottom: 0; }
    @media (max-width: 999px) {
      #plan02 .bottomTxt {
        order: 2; } }
  #plan02 .picArea {
    width: 100%; }
    @media (max-width: 999px) {
      #plan02 .picArea {
        display: contents; } }
  #plan02 .mainPic {
    width: 100%;
    margin: 0; }
    @media (max-width: 999px) {
      #plan02 .mainPic {
        order: 1; } }
  #plan02 .picWrap {
    width: 100%;
    aspect-ratio: 700 / 750;
    overflow: hidden; }
  #plan02 .pic {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }
  #plan02 .priceNote {
    margin: 4rem 0 0;
    font-size: 1.6rem;
    text-align: right; }
    @media (max-width: 999px) {
      #plan02 .priceNote {
        order: 3;
        margin: 0 0 0 auto;
        margin-top: -1rem;
        font-size: 1.2rem; } }

/*
---------------------------------------
home05
---------------------------------------
*/
#home05 {
  position: relative;
  overflow: hidden; }
  @media (max-width: 999px) {
    #home05 {
      margin-bottom: 0; } }
  #home05 .headBox {
    padding: 0 0 8rem;
    text-align: center; }
    @media (max-width: 999px) {
      #home05 .headBox {
        padding: 0 2rem 2rem; } }
  #home05 .ttl {
    width: max-content;
    margin: 0 auto 6rem;
    font-size: 3.6rem;
    line-height: 1.8; }
    @media (max-width: 999px) {
      #home05 .ttl {
        margin-bottom: 2rem;
        font-size: 2rem; } }
  #home05 .menuBox {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .1rem;
    background: #fff; }
    @media (max-width: 999px) {
      #home05 .menuBox {
        display: block; } }
  #home05 .item {
    position: relative;
    display: block;
    overflow: hidden;
    opacity: 1;
    visibility: visible; }
    @media (max-width: 999px) {
      #home05 .item {
        width: 100%;
        margin-bottom: 2px; } }
    #home05 .item .pic {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .6s ease; }
    #home05 .item .name {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 2;
      color: #fff;
      font-size: 3.6rem;
      line-height: 1.5;
      letter-spacing: .08em;
      transform: translate(-50%, -50%);
      white-space: nowrap; }
      @media (max-width: 999px) {
        #home05 .item .name {
          font-size: 2rem; } }
    #home05 .item:hover {
      opacity: 1; }
      #home05 .item:hover .pic {
        transform: scale(1.035); }
  #home05 .item01 {
    grid-column: 1 / 4;
    aspect-ratio: 960 / 500; }
  #home05 .item02 {
    grid-column: 4 / 7;
    aspect-ratio: 960 / 500; }
  #home05 .item03 {
    grid-column: 1 / 3;
    aspect-ratio: 640 / 500; }
    @media (max-width: 999px) {
      #home05 .item03 {
        aspect-ratio: 375 / 120; } }
  #home05 .item04 {
    grid-column: 3 / 5;
    aspect-ratio: 640 / 500; }
    @media (max-width: 999px) {
      #home05 .item04 {
        aspect-ratio: 375 / 120; } }
  #home05 .item05 {
    grid-column: 5 / 7;
    aspect-ratio: 640 / 500; }
    @media (max-width: 999px) {
      #home05 .item05 {
        aspect-ratio: 375 / 120; } }
  #home05 .takeoutBox {
    padding: 12rem 0 8rem;
    background: url("../img/home/05_bg.jpg") center center/cover no-repeat; }
    @media (max-width: 999px) {
      #home05 .takeoutBox {
        padding: 4rem 2rem 4rem; } }
  #home05 .lead {
    margin-bottom: 4rem;
    color: #fff;
    text-align: center; }
    @media (max-width: 999px) {
      #home05 .lead {
        margin-bottom: 2rem; } }
  #home05 .takeout {
    position: relative;
    display: block;
    width: 74%;
    max-width: 140rem;
    margin: 0 auto;
    overflow: hidden;
    opacity: 1;
    visibility: visible; }
    @media (max-width: 999px) {
      #home05 .takeout {
        width: 100%; } }
    #home05 .takeout .pic {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 1400 / 430;
      object-fit: cover;
      transition: transform .6s ease; }
      @media (max-width: 999px) {
        #home05 .takeout .pic {
          aspect-ratio: 335 / 140; } }
    #home05 .takeout .name {
      position: absolute;
      left: 7%;
      top: 50%;
      z-index: 2;
      color: #fff;
      font-size: 3.6rem;
      line-height: 1.5;
      transform: translateY(-50%); }
      @media (max-width: 999px) {
        #home05 .takeout .name {
          left: 6%;
          font-size: 2rem; } }
    #home05 .takeout:hover {
      opacity: 1; }
      #home05 .takeout:hover .pic {
        transform: scale(1.025); }
