  /*============================
    setting
  ============================*/
  .li-no {
    line-height: 100%;
  }

  .sub__inner {
    max-width: 1280px;
    padding-top: 80px;
    padding-bottom: 80px;
    width: 92%;
    margin: 0 auto;
  }

  .sub__inner-large {
    max-width: 1400px;
    padding-top: 80px;
    padding-bottom: 80px;
    width: 92%;
    margin: 0 auto;
  }

  .bg {
    background: #790102;
  }

  .spbr br {
    display: block;
  }

  .pc__br br {
    display: none;
  }

  .ta-c {
    text-align: center;
  }

  .ta-c02 {
    text-align: left;
  }

  @media screen and (min-width: 768px) {

    .sub__inner,
    .sub__inner-large {
      padding-top: 100px;
      padding-bottom: 100px;
      width: 94%;
    }

    .spbr br {
      display: none;
    }

    .pc__br br {
      display: block !important;
    }

    .ta-c02 {
      text-align: center;
    }
  }

  @media screen and (min-width: 1024px) {

    .sub__inner,
    .sub__inner-large {
      padding-top: 120px;
      padding-bottom: 120px;
      width: 96%;
    }
  }


  /*============================
    sub-visual
  ============================*/
  .sub-mv {
    margin-top: 52px;
    /* background: url(../images/sub_mv.jpg)no-repeat center bottom; */
    position: relative;
  }

  .mv__img {
    width: 100%;
  }

  .mv__img img {
    object-fit: cover;
    max-height: 200px;
  }

  .sub-mv__img {
    position: relative;
  }


  @media screen and (min-width: 768px) {
    .sub-mv {
      margin-top: 62px;
      height: 350px;
    }

    .mv__img {
      width: 50%;
    }

    .mv__img img {
      height: 100%;
      max-height: none;
    }


  }

  @media screen and (min-width:1025px) {
    .sub-mv {
      margin-top: 130px;
      height: 400px;
    }

  }

  .page-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fcc900;
    padding: 20px;
  }

  .page-title .font-min {
    line-height: 1em;
    font-size: 20px;
    white-space: nowrap;
  }


  @media screen and (min-width: 768px) {

    .page-title .font-min {
      font-size: 30px;
    }

  }

  @media screen and (min-width:1025px) {

    .page-title .font-min {
      font-size: 50px;
    }
  }


  /*============================
    breadcrumb
  ============================*/

  .breadcrumb {
    font-weight: normal;
    margin-bottom: 0 !important;
    background: none;
  }

  .breadcrumb .inner {
    max-width: 1400px;
    width: 96%;
  }

  .breadcrumb p {
    font-size: 12px;
  }

  .breadcrumb a {
    color: #3c3c3c;
    text-decoration: underline;
  }

  /*============================
    cmn
  ============================*/

  .sub_link a {
    color: #ab0c20;
    text-decoration: underline;
  }

  .flex__text {
    width: 100%;
  }

  .flex__img {
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
  }

  @media screen and (min-width: 768px) {
    .flex__text {
      width: 48%;
    }

    .flex__img {
      width: 48%;
      margin-bottom: 0;
    }

  }

  /* ------  btn ------ */

  .btn_cmn a {
    display: block;
    position: relative;
    white-space: nowrap;
    max-width: 280px;
    margin: 0 auto;
  }

  .btn_cmn .txt {
    width: 100%;
    line-height: 38px;
    border: solid 1px #ab0c20;
    background: #fff;
    color: #ab0c20;
    text-align: center;
    letter-spacing: .04em;
    padding: 0 1.5em;
    transition: .3s ease-out;
    position: relative;
    border-radius: 30px;
  }

  .btn_cmn a:hover .txt {
    opacity: .8;
    background: #ab0c20;
    color: #fff;
  }

  .btn_wrap {
    flex-direction: column;
    row-gap: 20px;
    column-gap: 30px;
  }

  @media screen and (min-width:768px) {
    .btn_cmn a {
      width: 220px;
    }

    .btn_cmn .txt {
      line-height: 38px;
    }
  }

  @media screen and (min-width:1025px) {
    .btn_cmn a {
      width: 250px;
    }

    .btn_cmn .txt {
      line-height: 43px;
    }

    .btn_wrap {
      flex-direction: row;
      column-gap: 30px;
    }


  }


  /* -----Table----- */
  .table {
    max-width: 1080px;
    width: 100%;
    margin-inline: auto;
  }

  .table .tr {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .table .tr:first-of-type {
    border-top: 1px solid #790102;
  }

  .table .th {
    width: 100%;
    padding: 10px;
    line-height: 1.6;
    text-align: center;
    background: #790102;
    color: #fff;
  }

  .table .tr:last-of-type .th {
    border-bottom: 1px solid #790102;
  }

  .table .td {
    width: 100%;
    padding: 10px;
    line-height: 1.6;
    border-bottom: 1px solid #790102;
    border-right: 1px solid #790102;
    border-left: 1px solid #790102;
    background: #fff;
    font-size: 13px;
  }

  @media screen and (min-width: 768px) {
    .table .tr {
      flex-direction: row;
    }

    .table .th {
      text-align: left;
      width: 30%;
      padding: 20px;
      border-right: 1px solid #790102;
      border-bottom: 1px solid #fcc900;
    }

    .table .td {
      width: 70%;
      padding: 20px;
      border-left: none;
      font-size: 14px;
    }
  }


  @media screen and (min-width: 1024px) {
    .table .td {
      font-size: 16px;
    }
  }

  /*============================
    title
  ============================*/

  .sub__ttl01 {
    position: relative;
    line-height: 1;
    letter-spacing: .04em;
    padding-bottom: 15px;
    border-bottom: 3px double #ab0c20;
  }

  .sub__ttl01 .font-num {
    font-family: "Shippori Mincho", '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'MS Ｐ明朝', 'MS PMincho', serif;
    font-size: 22px;
    margin-bottom: 10px;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: bold;
    color: #ab0c20;
  }

  .sub__ttl01 .font-min {
    font-size: 16px;
    line-height: 1.4;
  }

  .sub__ttl02 {
    position: relative;
    line-height: 1;
    letter-spacing: .04em;
    padding-bottom: 20px;
    border-bottom: 1px solid #790102;
    padding-top: 40px;
    background: url(../images/rec_ico.png) no-repeat top center;
  }

  .sub__ttl02 .font-min {
    font-size: 18px;
    color: #790102;
  }

  .bg .sub__ttl02 {
    border-bottom: 1px solid #fff;
    padding-top: 40px;
    background: url(../images/btn_ico.png) no-repeat top center;
  }

  .bg .sub__ttl02 .font-min {
    color: #fff;
  }

  .sub__ttl03 {
    position: relative;
    padding-bottom: 20px;
  }

  .sub__ttl03::after {
    position: absolute;
    content: "";
    width: 60px;
    height: 1px;
    background: #ab0c20;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .sub__ttl03 .font-jp {
    font-size: 18px;
    color: #ab0c20;
  }

  @media screen and (min-width: 768px) {
    .sub__ttl01 .font-min br {
      display: none;
    }

    .sub__ttl01 .font-num {
      font-size: 30px;
    }

    .sub__ttl01 .font-min {
      font-size: 17px;
    }

    .sub__ttl02 .font-min {
      font-size: 24px;
    }

    .sub__ttl02 .font-min br {
      display: none;
    }

    .sub__ttl03 .font-jp {
      font-size: 22px;
    }
  }


  @media screen and (min-width: 1180px) {

    .sub__ttl01 .font-num {
      font-size: 40px;
    }

    .sub__ttl01 .font-min {
      font-size: 20px;
    }

    .sub__ttl02 .font-min {
      font-size: 35px;
    }

    .sub__ttl03 .font-jp {
      font-size: 30px;
    }
  }

  /* anker link */
  .anker__items {
    row-gap: 10px;
    column-gap: 1%;
  }

  .anker__item {
    width: 100%;
    max-width: 320px;
    position: relative;
  }

  .anker__item a {
    display: block;
    text-align: center;
    height: 38px;
    border: solid 1px #ab0c20;
    color: #ab0c20;
    transition: .5s;
    background: #fff;
  }

  .anker__item a p {
    line-height: 38px;
  }

  @media screen and (min-width:499px) {
    .anker__items {
      column-gap: 1%;
    }
  }


  @media screen and (min-width:768px) {
    .anker__item {
      width: 48%;
    }

  }

  @media screen and (min-width:1180px) {
    .anker__item {
      width: 24%;
    }

    .anker__item a {
      height: 43px;
    }

    .anker__item a p {
      line-height: 43px;
    }
  }

  /*============================
    imgarea
  ============================*/

  .imgarea {
    row-gap: 20px;
  }

  .imgarea .img {
    width: 100%;
  }

  @media screen and (min-width: 768px) {
    .imgarea .img {
      width: 32%;
    }

  }

  /*============================
    sub-concept
  ============================*/

  .sub-concept {
    background: url(../images/about_bg.png) no-repeat top right 6%/cover rgba(252, 201, 0, 0.85);
    background-blend-mode: lighten;
  }

  .sub-movie {
    text-align: center;
  }

  .sub-movie iframe {
    width: 800px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .intro__title {
    position: relative;
    text-align: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .intro__title .font-min {
    color: #790102;
    font-size: 30px;
  }

  .sub-about .flex__item {
    padding: 10px 20px;
    background: #fcc900;
    position: relative;
    margin-bottom: 80px;
  }

  .sub-about .flex__item::before,
  .sub-about .flex__item::after {
    width: calc(100%);
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
  }

  .sub-about .flex__item::before {
    border-bottom: solid 20px #fcc900;
    border-right: solid 20px transparent;
    bottom: 100%;
  }

  .sub-about .flex__item::after {
    border-top: solid 20px #fcc900;
    border-left: solid 20px transparent;
    top: 100%;
  }

  @media screen and (min-width: 768px) {
    .sub-concept {
      background: url(../images/about_bg.png) no-repeat center center/cover rgba(252, 201, 0, 0.6);
    }

    .intro__title {
      padding-left: 6rem;
    }

    .intro__title .font-min {
      font-size: 40px;
    }

    .intro__title::before {
      content: "";
      position: absolute;
      width: 5rem;
      height: 1px;
      background: #ab0c20;
      left: 0;
      top: 25px;
    }

    .sub-about .flex__item {
      padding: 10px 30px;
      background: #fcc900;
    }

  }

  @media screen and (min-width:1025px) {
    .sub-concept {
      background: url(../images/about_bg.png) no-repeat top center/cover;
    }

    .intro__title .font-min {
      font-size: 70px;
    }

    .intro__title::before {
      top: 45px;
    }
  }


  /*============================
    sub-history
  ============================*/

  .history__item {
    align-items: flex-start;
  }

  .history__item:not(:last-of-type) {
    margin-bottom: 30px;
  }

  .history__year {
    color: #790102;
    font-size: 14px;
    width: 60px;
    position: relative;
    text-align: right;
  }

  .history__text {
    width: calc(100% - 75px);
    position: relative;
  }

  .history__text::before {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% + 80px);
    background: #790102;
    left: -9px;
    top: 0;
  }


  .history__text img {
    width: 100%;
    margin-bottom: 20px;
  }

  .history__text strong {
    display: block;
  }

  .history__year::before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    background: #790102;
    border-radius: 50%;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
  }

  @media screen and (min-width: 768px) {
    .history__item:not(:last-of-type) {
      margin-bottom: 50px;
    }

    .history__year {
      font-size: 25px;
      width: 130px;
    }

    .history__text {
      width: calc(100% - 230px);
    }

    .history__text::before {
      width: 2px;
      left: -50px;
      height: calc(100% + 90px);
    }

    .history__text img {
      width: 60%;
      object-fit: cover;
    }

    .history__year::before {
      width: 10px;
      height: 10px;
      right: -56px;
    }
  }

  @media screen and (min-width:1025px) {
    .history__item:not(:last-of-type) {
      margin-bottom: 80px;
    }

    .history__year {
      font-size: 30px;
      width: 130px;
    }

    .history__text {
      width: calc(100% - 230px);
    }

    .history__text strong {
      display: inline-block;
    }

    .history__text::before {
      left: -50px;
    }

    .history__year::before {
      width: 10px;
      height: 10px;
      right: -56px;
    }

  }


  /*============================
    sub-philosophy
  ============================*/

  .sub-philosophy .flex__text {
    width: 100%;
    margin-left: 0;
    padding: 10px;
    background: #fcc900;
    margin-top: 0;
    position: relative;
  }

  .sub-philosophy .flex__text::before,
  .sub-philosophy .flex__text::after {
    width: calc(100%);
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
  }

  .sub-philosophy .flex__text::before {
    border-bottom: solid 20px #fcc900;
    border-right: solid 20px transparent;
    bottom: 100%;
  }

  .sub-philosophy .flex__text::after {
    border-top: solid 20px #fcc900;
    border-left: solid 20px transparent;
    top: 100%;
  }

  .philo__dl:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .philo__dt {
    color: #790102;
    padding-left: 3rem;
    position: relative;
    font-size: 15px;
    margin-bottom: 10px;
  }

  .philo__dt::before {
    content: "";
    position: absolute;
    width: 2.5rem;
    height: 1px;
    top: 50%;
    left: 0;
    background: #790102;
  }

  .philo__dd {
    padding-left: 1rem;
    font-size: 14px;
  }


  @media screen and (min-width: 768px) {
    .sub-philosophy .flex__text {
      width: 60%;
      margin-left: -8%;
      padding: 20px 30px;
      margin-top: 150px;
    }

    .philo__dl:not(:last-of-type) {
      margin-bottom: 30px;
    }

    .philo__dt {
      padding-left: 5rem;
      font-size: 18px;
    }

    .philo__dt::before {
      width: 4rem;
    }

    .philo__dd {
      font-size: 15px;
    }
  }

  /*============================
    sub-recruit
  ============================*/

  .person__ul {
    width: fit-content;
    margin: 0 auto;
  }

  .person__ul .li {
    font-size: 15px;
    font-weight: bold;
    padding-left: 2.5rem;
    background: url(../images/icon_check.png) no-repeat top 5px left / 16px;
  }

  .person__ul .li:not(:last-of-type) {
    margin-bottom: 10px;
  }

  .step__img img {
    width: auto;
    max-width: 100%;
  }

  .sub-message .flex__text {
    width: 100%;
    margin-right: 0;
    padding: 10px;
    background: #fcc900;
    margin-top: 0;
    position: relative;
  }

  .sub-message .flex__text::before,
  .sub-message .flex__text::after {
    width: calc(100%);
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
  }

  .sub-message .flex__text::before {
    border-bottom: solid 20px #fcc900;
    border-right: solid 20px transparent;
    bottom: 100%;
  }

  .sub-message .flex__text::after {
    border-top: solid 20px #fcc900;
    border-left: solid 20px transparent;
    top: 100%;
  }

  .sub-staff .flex__text {
    width: 100%;
    padding: 10px;
    background: #790102;
    position: relative;
  }

  .sub-staff .flex__text::before,
  .sub-staff .flex__text::after {
    width: calc(100%);
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
  }

  .sub-staff .flex__text::before {
    border-bottom: solid 20px #790102;
    border-right: solid 20px transparent;
    bottom: 100%;
  }

  .sub-staff .flex__text::after {
    border-top: solid 20px #790102;
    border-left: solid 20px transparent;
    top: 100%;
  }

  .sub-staff .sub__ttl01 .font-num {
    color: #fcc900;
  }

  .sub-staff .sub__ttl01 .font-min {
    color: #fff;
  }

  .sub-staff .sub__ttl01 {
    border-bottom: 3px double #fcc900;
  }

  .staff__dl:not(:last-of-type) {
    margin-bottom: 20px;
  }

  .staff__dt {
    color: #fcc900;
    padding-left: 3rem;
    position: relative;
    font-size: 15px;
    margin-bottom: 10px;
  }

  .staff__dt::before {
    content: "";
    position: absolute;
    width: 2.5rem;
    height: 1px;
    top: 50%;
    left: 0;
    background: #fcc900;
  }

  .staff__dd {
    padding-left: 1rem;
    font-size: 14px;
    color: #fff;
  }


  @media screen and (min-width: 768px) {
    .sub-message .flex__text {
      width: 60%;
      margin-right: -8%;
      padding: 20px 30px;
      margin-top: 150px;
    }

    .sub-staff .flex__text {
      width: 60%;
      margin-left: -8%;
      padding: 20px 30px;
      margin-top: 150px;
    }

    .person__ul .li {
      padding-left: 3.5rem;
      font-size: 18px;
      background: url(../images/icon_check.png) no-repeat top 5px left / 18px;
    }

    .staff__dt {
      padding-left: 5rem;
      font-size: 16px;
    }

    .staff__dt::before {
      width: 4rem;
    }

    .staff__dd {
      font-size: 15px;
    }
  }


  @media screen and (min-width: 1024px) {
    .staff__dt {
      padding-left: 5rem;
      font-size: 18px;
    }
  }

  /*============================
    sub-require
  ============================*/

  .require__feature {
    font-size: 15px;
    color: #790102;
    font-weight: bold;
  }

  @media screen and (min-width: 768px) {
    .require__feature {
      font-size: 18px;
    }

  }

  @media screen and (min-width: 1180px) {
    .require__feature {
      font-size: 24px;
    }

  }


  /* -----タブ切り替え----- */
  .tab_area {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    column-gap: 10px;
    row-gap: 10px;
  }

  .tab {
    padding: 10px 0;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    transition: all ease 0.3s;
    border: solid 1px #790102;
    color: #790102;
  }

  .tab p {
    font-size: 16px;
    display: inline;
  }

  .tab.is-active {
    background: #790102;
    color: #fff;
  }

  .panel {
    display: none;
  }

  .panel.is-active {
    display: block;
    background-size: cover;
    padding: 30px 0 0;
  }

  @media screen and (min-width: 768px) {
    .panel.is-active {
      padding: 80px 30px 0;
    }

    .tab {
      padding: 15px 0;
    }

    .tab p {
      font-size: 18px;
    }
  }

  /*============================
    sub-menu
  ============================*/

  .sub-menu {}

  .menu__box {}

  .menu__items {}

  .menu__item {
    width: 100%;
  }

  .menu__ttl {
    background: #790102;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 5px 10px;
  }

  .menu__ul {}

  .menu__ul .li {
    padding: 10px;
    border-bottom: 1px solid #790102;
    align-items: flex-end;
  }

  .menu__ul .li .name {}

  .menu__ul .li .name strong {
    font-size: 12px;
    padding: 3px 5px;
    display: inline-block;
    background: #790102;
    color: #fff;
    margin-left: 1rem;
  }

  .menu__ul .li .text {
    font-size: 12px;
    margin-top: 5px;
    margin-left: .5rem;
  }

  .menu__ul .li .price {
    font-size: 12px;
    text-align: right;
  }

  .menu__ul .li .price strong {
    font-size: 15px;
    font-weight: bold;
    color: #790102;
    display: inline-block;
    margin-right: 5px;
  }

  .price {
    font-size: 12px;
  }

  .price strong {
    font-size: 15px;
    font-weight: bold;
    color: #790102;
    display: inline-block;
    margin-right: 5px;
  }

  .menu__item p.p1721355970504 {
    white-space: nowrap;
  }

  @media screen and (min-width: 768px) {
    .menu__item {
      width: 48%;
    }

    .menu__ttl {
      font-size: 18px;
      padding: 10px;
    }

    .menu__ul .li .text {
      font-size: 14px;
      margin-top: 8px;
    }

    .menu__ul .li .price {
      font-size: 13px;
    }

    .menu__ul .li .price strong {
      font-size: 16px;
    }

  }

  @media screen and (min-width: 1024px) {
    .menu__item {
      padding: 30px;
    }
  }


  @media screen and (min-width: 1180px) {

    .menu__ttl {
      font-size: 20px;
      padding: 10px;
    }

    .menu__ul .li .price strong {
      font-size: 18px;
    }
  }

  /*============================
    sub-contact
  ============================*/

  .g-map iframe {
    width: 100%;
    height: 350px;
  }

  .tel img {
    width: auto;
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);

  }

  @media screen and (min-width: 768px) {
    .g-map iframe {
      height: 450px;
    }
  }

  /*============================
    テストサイト用
  ============================*/
/* 内側の「文字」を整える（本サイトの設定を上書き） */
.history__year .font-min {
    color: #790102;
    font-size: 30px;
    text-align: right;
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.container .font-min{
    color: #000;
    background-color: #fcc900;
    font-size: 50px;
    text-align: right;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    justify-content: center;
}