@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@1,400..800&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&family=Nunito+Sans:wght@400&display=swap");
h1, h2, h3, h4, h5, h6 {
  font-weight: 700; }

/*----------------------------------------------
topMainBox
----------------------------------------------*/
@keyframes spin {
  to {
    transform: rotate(360deg); } }
.topMainBox,
.topMainBox .bgSlider .item {
  height: calc(100vh - 100px);
  min-height: 680px; }
  @media (max-width: 767px) {
    .topMainBox,
    .topMainBox .bgSlider .item {
      height: 140vw;
      min-height: inherit;
      max-height: 100vh; } }

.topMainBox {
  width: 100%;
  position: relative;
  overflow: hidden;
  /* loading */ }
  .topMainBox .loading {
    position: fixed;
    inset: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.5s; }
    .topMainBox .loading._hide {
      opacity: 0;
      pointer-events: none; }
    .topMainBox .loading .loading-spinner {
      width: 40px;
      height: 40px;
      border: 3px solid #eee;
      border-top-color: #333;
      border-radius: 50%;
      animation: spin 0.8s linear infinite; }
  .topMainBox::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: #1a1a1a;
    opacity: 0.7; }
  .topMainBox .txt01 {
    margin: 0;
    width: 100%;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 6.4rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
    text-shadow: 0 0 0.3em #000000;
    position: absolute;
    top: calc(50% - 3.5em);
    left: 0;
    z-index: 9; }
    @media (max-width: 767px) {
      .topMainBox .txt01 {
        /*font-size: 2.8rem;*/
        font-size: 7vw;
        top: calc(50% - 4.5em); } }
    @media (max-height: 375px) {
      .topMainBox .txt01 {
        font-size: 2.8rem; } }
  .topMainBox .bgSlider {
    margin: 0;
    padding: 0;
    list-style-type: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1; }
    .topMainBox .bgSlider .item {
      position: relative;
      width: 100%;
      overflow: hidden;
      background: #333333; }
      .topMainBox .bgSlider .item video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-width: 100%;
        min-height: 100%; }
        @media (max-width: 767px) {
          .topMainBox .bgSlider .item video {
            height: 100%; } }
      .topMainBox .bgSlider .item.zoom img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: 10s; }
      .topMainBox .bgSlider .item.zoom.slick-active img {
        scale: 1.2; }
  .topMainBox .picListBox {
    position: absolute;
    bottom: 48%;
    left: 0;
    z-index: 2;
    translate: 0 100%;
    display: flex;
    flex-wrap: nowrap; }
    @media (max-width: 767px) {
      .topMainBox .picListBox {
        translate: 0 90%; } }
    .topMainBox .picListBox .picList {
      margin: 0;
      padding: 0;
      list-style-type: none;
      width: max-content;
      display: flex;
      flex-wrap: nowrap;
      animation: infiniteScroll 30s linear infinite; }
      .topMainBox .picListBox .picList li {
        padding: 0 50px;
        flex-shrink: 0; }
        @media (max-width: 767px) {
          .topMainBox .picListBox .picList li {
            padding: 0 20px; } }
        .topMainBox .picListBox .picList li img {
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); }
        .topMainBox .picListBox .picList li.item01 {
          width: 190px;
          margin-top: 0; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item01 {
              width: calc(100vw * 95 / 375); } }
        .topMainBox .picListBox .picList li.item02 {
          width: 224px;
          translate: 0 60%; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item02 {
              width: calc(100vw * 112 / 375); } }
        .topMainBox .picListBox .picList li.item03 {
          width: 190px;
          translate: 0 20%; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item03 {
              width: calc(100vw * 95 / 375); } }
        .topMainBox .picListBox .picList li.item04 {
          width: 280px;
          translate: 0 2%; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item04 {
              width: calc(100vw * 140 / 375); } }
        .topMainBox .picListBox .picList li.item05 {
          width: 224px;
          translate: 0 50%; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item05 {
              width: calc(100vw * 112 / 375); } }
        .topMainBox .picListBox .picList li.item06 {
          width: 280px;
          translate: 0 10%; }
          @media (max-width: 767px) {
            .topMainBox .picListBox .picList li.item06 {
              width: calc(100vw * 140 / 375); } }
  .topMainBox .bnInsurance {
    margin: 0;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 3; }
    @media (max-width: 767px) {
      .topMainBox .bnInsurance {
        width: 240px; } }

@keyframes infiniteScroll {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-100%); } }
/*----------------------------------------------
common
----------------------------------------------*/
.commonTopContentBox {
  padding: 100px 0; }
  @media (max-width: 767px) {
    .commonTopContentBox {
      padding: 50px 0; } }
  .commonTopContentBox .commonHeadBox {
    margin-top: 0; }

/*----------------------------------------------
topProgramBox
----------------------------------------------*/
.topProgramBox {
  overflow: hidden; }
  .topProgramBox .listBox .list {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .topProgramBox .listBox .list .item {
      width: 480px;
      position: relative; }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .item {
          width: 280px; } }
      .topProgramBox .listBox .list .item a {
        display: block;
        text-decoration: none; }
        .topProgramBox .listBox .list .item a:hover .imgBox img {
          scale: 1.1; }
        .topProgramBox .listBox .list .item a:hover .imgBox::before {
          opacity: 0; }
        .topProgramBox .listBox .list .item a:hover .btn .arrow {
          margin-left: 1em; }
      .topProgramBox .listBox .list .item .commonProgramTagList {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px;
        position: absolute;
        top: 15px;
        left: 15px;
        z-index: 10; }
        @media (max-width: 767px) {
          .topProgramBox .listBox .list .item .commonProgramTagList {
            top: 10px;
            left: 10px; } }
      .topProgramBox .listBox .list .item .titleBox {
        position: absolute;
        top: calc(50% - 60px - 10px);
        left: 0;
        z-index: 10;
        translate: 0 -50%;
        width: 100%;
        color: #ffffff;
        text-align: center;
        line-height: 1.5; }
        @media (max-width: 767px) {
          .topProgramBox .listBox .list .item .titleBox {
            top: calc(50% - 30px - 5px); } }
        .topProgramBox .listBox .list .item .titleBox .insotsu {
          margin: 0;
          font-size: 1.8rem;
          font-weight: 500; }
          @media (max-width: 767px) {
            .topProgramBox .listBox .list .item .titleBox .insotsu {
              font-size: 1.2rem; } }
        .topProgramBox .listBox .list .item .titleBox .title {
          margin: 0.2em 0 0 0;
          font-family: "Noto Serif JP", serif;
          font-size: 2.8rem;
          font-weight: bold; }
          @media (max-width: 767px) {
            .topProgramBox .listBox .list .item .titleBox .title {
              font-size: 1.8rem; } }
        .topProgramBox .listBox .list .item .titleBox .school {
          margin: 0.5em 0 0 0;
          font-size: 1.8rem;
          font-weight: 500; }
          @media (max-width: 767px) {
            .topProgramBox .listBox .list .item .titleBox .school {
              font-size: 1.2rem; } }
      .topProgramBox .listBox .list .item .imgBox {
        margin: 0;
        position: relative;
        overflow: hidden; }
        .topProgramBox .listBox .list .item .imgBox img {
          aspect-ratio: 480 / 400;
          object-fit: cover; }
        .topProgramBox .listBox .list .item .imgBox::before {
          content: "";
          display: block;
          position: absolute;
          z-index: 2;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background-color: rgba(26, 26, 26, 0.6);
          -webkit-transition: all .3s;
          transition: all .3s; }
      .topProgramBox .listBox .list .item .bodyBox {
        height: 160px;
        margin: -80px 30px 0;
        padding: 0 30px;
        color: #ffffff;
        background: #00133A;
        position: relative;
        z-index: 20;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0 20px;
        box-sizing: border-box; }
        @media (max-width: 767px) {
          .topProgramBox .listBox .list .item .bodyBox {
            height: 100px;
            margin: -50px 20px 0;
            padding: 10px;
            display: block; } }
        .topProgramBox .listBox .list .item .bodyBox .txtClm {
          display: grid;
          grid-template-columns: auto auto;
          grid-template-rows: auto auto;
          gap: 1em 0.8em; }
          @media (max-width: 767px) {
            .topProgramBox .listBox .list .item .bodyBox .txtClm {
              gap: 0.5em 0.4em; } }
          .topProgramBox .listBox .list .item .bodyBox .txtClm .date {
            grid-column: 1;
            grid-row: 1;
            margin: 0;
            font-family: "Noto Serif JP", serif;
            font-size: 2rem;
            font-weight: bold; }
            @media (max-width: 767px) {
              .topProgramBox .listBox .list .item .bodyBox .txtClm .date {
                font-size: 1.4rem; } }
          .topProgramBox .listBox .list .item .bodyBox .txtClm .span {
            grid-column: 2;
            grid-row: 1;
            margin: 0;
            display: flex;
            align-items: center; }
            .topProgramBox .listBox .list .item .bodyBox .txtClm .span > span {
              display: block;
              color: #222222;
              font-size: 1.4rem;
              line-height: 1;
              padding: 0.4em 0.8em;
              background: #ffffff;
              white-space: nowrap; }
              @media (max-width: 767px) {
                .topProgramBox .listBox .list .item .bodyBox .txtClm .span > span {
                  font-size: 1rem; } }
          .topProgramBox .listBox .list .item .bodyBox .txtClm .price {
            grid-column: 1 / 3;
            grid-row: 2;
            margin: 0; }
        .topProgramBox .listBox .list .item .bodyBox .btn {
          width: 60px;
          aspect-ratio: 1 / 1;
          background: #A99979;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media (max-width: 767px) {
            .topProgramBox .listBox .list .item .bodyBox .btn {
              width: 30px;
              margin: 5px 0 0 auto; } }
          .topProgramBox .listBox .list .item .bodyBox .btn .arrow {
            display: block;
            position: relative;
            width: 20px;
            height: 2px;
            background: currentColor;
            -webkit-transition: all .3s;
            transition: all .3s; }
            @media (max-width: 767px) {
              .topProgramBox .listBox .list .item .bodyBox .btn .arrow {
                width: 10px; } }
            .topProgramBox .listBox .list .item .bodyBox .btn .arrow::before {
              content: "";
              width: 10px;
              aspect-ratio: 1 / 1;
              border: 2px solid currentColor;
              border-left: 0;
              border-bottom: 0;
              transform: rotate(45deg);
              transform-origin: top right;
              position: absolute;
              top: 50%;
              right: -2px;
              box-sizing: border-box; }
              @media (max-width: 767px) {
                .topProgramBox .listBox .list .item .bodyBox .btn .arrow::before {
                  width: 5px; } }
    .topProgramBox .listBox .list .slick-list {
      overflow: visible; }
    .topProgramBox .listBox .list .slick .slide {
      width: 480px;
      /* 各スライドの幅を固定 */ }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .slick .slide {
          width: 280px; } }
    .topProgramBox .listBox .list .slick-list {
      margin: 0 -20px; }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .slick-list {
          margin: 0; } }
    .topProgramBox .listBox .list .slick-slide {
      margin: 0 20px; }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .slick-slide {
          margin: 0 10px; } }
    .topProgramBox .listBox .list .slick-dots {
      text-align: center;
      height: 4px;
      margin: 60px auto;
      padding: 0; }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .slick-dots {
          margin: 30px auto; } }
    .topProgramBox .listBox .list .slick-dots > li {
      display: inline-block;
      margin: 0 5px;
      padding: 0;
      list-style-type: none; }
    .topProgramBox .listBox .list .slick-dots > li button {
      display: block;
      width: 40px;
      height: 4px;
      margin: 0;
      padding: 0;
      background: #CFCFCF;
      border: none;
      text-indent: -9999px;
      cursor: pointer;
      outline: none;
      appearance: none; }
      @media (max-width: 767px) {
        .topProgramBox .listBox .list .slick-dots > li button {
          width: 30px;
          height: 3px; } }
    .topProgramBox .listBox .list .slick-dots > li.slick-active button {
      background: #00133A; }
  .topProgramBox .btnMore {
    max-width: 600px;
    margin: 60px auto 0; }
    @media (max-width: 767px) {
      .topProgramBox .btnMore {
        max-width: 300px;
        margin-top: 30px; } }
    .topProgramBox .btnMore a {
      display: block;
      border: 1px solid #A99979;
      background: #A99979;
      color: #ffffff;
      text-decoration: none;
      font-size: 2.4rem;
      font-family: "Noto Serif JP", serif;
      font-weight: bold;
      letter-spacing: 0.1em;
      text-align: center;
      padding: 1.5em;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 0.8em;
      position: relative;
      z-index: 1;
      max-width: 600px; }
      @media (max-width: 767px) {
        .topProgramBox .btnMore a {
          font-size: 1.4rem; } }
      .topProgramBox .btnMore a i {
        line-height: 1;
        width: 1.1em; }
        .topProgramBox .btnMore a i img {
          transition: 0s; }
      .topProgramBox .btnMore a::after {
        content: "";
        display: block;
        background: #ffffff;
        width: 0;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        -webkit-transition: all .3s;
        transition: all .3s; }
      .topProgramBox .btnMore a:hover {
        color: #A99979; }
        .topProgramBox .btnMore a:hover::after {
          width: 100%; }
        .topProgramBox .btnMore a:hover i img {
          filter: brightness(0) saturate(100%) invert(99%) sepia(42%) saturate(1926%) hue-rotate(311deg) brightness(73%) contrast(73%); }

/*----------------------------------------------
topReportBox
----------------------------------------------*/
.topReportBox {
  color: #ffffff;
  background: #00133A; }
  .topReportBox .bodyBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 60px; }
    @media (max-width: 767px) {
      .topReportBox .bodyBox {
        display: block; } }
    .topReportBox .bodyBox .listClm {
      order: 1;
      flex-grow: 1; }
      @media (max-width: 767px) {
        .topReportBox .bodyBox .listClm {
          margin-top: 30px; } }
      .topReportBox .bodyBox .listClm .list {
        margin: 0;
        padding: 0;
        list-style-type: none; }
        .topReportBox .bodyBox .listClm .list > li {
          margin: 0 0 40px 0;
          padding: 0 0 40px 0;
          border-bottom: 1px solid #334261; }
          @media (max-width: 767px) {
            .topReportBox .bodyBox .listClm .list > li {
              margin-bottom: 20px;
              padding-bottom: 20px; } }
          .topReportBox .bodyBox .listClm .list > li a {
            display: flex;
            align-items: center;
            text-decoration: none;
            gap: 0 1em; }
            .topReportBox .bodyBox .listClm .list > li a .imgBox {
              margin: 0;
              background: #ffffff;
              overflow: hidden;
              width: 180px;
              flex-shrink: 0; }
              @media (max-width: 767px) {
                .topReportBox .bodyBox .listClm .list > li a .imgBox {
                  width: 100px; } }
            .topReportBox .bodyBox .listClm .list > li a .txtBox {
              display: grid;
              grid-template-columns: 5em auto;
              grid-template-rows: auto auto;
              gap: 1em; }
              .topReportBox .bodyBox .listClm .list > li a .txtBox .date {
                grid-column: 1;
                grid-row: 1;
                margin: 0;
                padding: 0.4em 0;
                color: #99A1B0;
                line-height: 1;
                white-space: nowrap; }
              .topReportBox .bodyBox .listClm .list > li a .txtBox .commonReportCtgList {
                grid-column: 2;
                grid-row: 1;
                display: flex;
                align-items: flex-start;
                flex-wrap: wrap;
                gap: 0.5em;
                white-space: nowrap; }
              .topReportBox .bodyBox .listClm .list > li a .txtBox .title {
                grid-column: 1 / 3;
                grid-row: 2;
                margin: 0;
                color: #ffffff;
                font-family: "Noto Serif JP", serif;
                font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
                font-weight: bold; }
            .topReportBox .bodyBox .listClm .list > li a:hover .imgBox img {
              opacity: 0.7;
              scale: 1.1; }
    .topReportBox .bodyBox .ctgClm {
      order: 2;
      width: 340px; }
      @media (max-width: 767px) {
        .topReportBox .bodyBox .ctgClm {
          width: auto; } }
      .topReportBox .bodyBox .ctgClm .ctgList {
        margin: 0;
        padding: 0;
        list-style-type: none; }
        .topReportBox .bodyBox .ctgClm .ctgList > dt {
          color: #ffffff;
          font-family: "EB Garamond", serif;
          font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
          font-optical-sizing: auto;
          font-style: italic;
          font-weight: 500;
          line-height: 1;
          letter-spacing: 0.05em;
          padding: 0.8em 25px;
          background: #263658; }
        .topReportBox .bodyBox .ctgClm .ctgList > dd {
          margin: 0;
          padding: 0.8em 25px;
          background: #ffffff; }
          .topReportBox .bodyBox .ctgClm .ctgList > dd ul {
            margin: 0 0 1em;
            padding: 0;
            list-style-type: none; }
            .topReportBox .bodyBox .ctgClm .ctgList > dd ul li a {
              display: block;
              text-decoration: none;
              padding: 0.8em 0 0.8em 1em;
              border-bottom: 1px solid #CBCBCB;
              position: relative; }
              .topReportBox .bodyBox .ctgClm .ctgList > dd ul li a::before {
                content: "";
                width: 0.4em;
                aspect-ratio: 1 / 1;
                border: 2px solid #A99979;
                border-left: 0;
                border-bottom: 0;
                transform: rotate(45deg);
                transform-origin: top right;
                position: absolute;
                top: 1.7em;
                left: 0;
                box-sizing: border-box;
                -webkit-transition: all .3s;
                transition: all .3s; }
              .topReportBox .bodyBox .ctgClm .ctgList > dd ul li a:hover {
                text-decoration: underline; }
                .topReportBox .bodyBox .ctgClm .ctgList > dd ul li a:hover::before {
                  margin-left: 0.3em; }
  @media (max-width: 767px) {
    .topReportBox .commonBtn01.btn {
      margin-right: auto;
      margin-left: auto; } }

/*----------------------------------------------
topFlowBox
----------------------------------------------*/
.topFlowBox {
  overflow: hidden; }
  .topFlowBox .list {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .topFlowBox .list .item {
      position: relative; }
      @media (max-width: 767px) {
        .topFlowBox .list .item {
          width: 210px; } }
      .topFlowBox .list .item + .item {
        margin-top: 60px; }
        @media (max-width: 767px) {
          .topFlowBox .list .item + .item {
            margin-top: 0; } }
        .topFlowBox .list .item + .item::before {
          content: "";
          display: block;
          width: 50px;
          aspect-ratio: 50 / 16;
          background: url("/wp-content/themes/plus1_original/img/top/top_flow_arrow.svg") 0 0 no-repeat;
          background-size: 100% 100%;
          position: absolute;
          top: -40px;
          left: 50%;
          translate: -50% 0; }
          @media (max-width: 767px) {
            .topFlowBox .list .item + .item::before {
              display: none; } }
      .topFlowBox .list .item .numBox {
        width: 120px;
        aspect-ratio: 1 / 1;
        background: #00133A;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: #A99979;
        position: absolute;
        top: -20px;
        left: -20px;
        z-index: 2; }
        @media (max-width: 767px) {
          .topFlowBox .list .item .numBox {
            width: 90px;
            top: 0;
            left: 0; } }
        .topFlowBox .list .item .numBox .step {
          font-size: clamp(1rem, calc(1rem + (1.2rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.2rem);
          font-family: "Nunito Sans", sans-serif;
          font-optical-sizing: auto;
          font-weight: bold;
          letter-spacing: 0.1em;
          line-height: 1; }
        .topFlowBox .list .item .numBox .num {
          font-family: "EB Garamond", serif;
          font-size: clamp(4.5rem, calc(4.5rem + (6rem - 4.5rem) * (100vw - 375px) / (1024px - 375px)), 6rem);
          font-optical-sizing: auto;
          font-style: italic;
          font-weight: 400;
          line-height: 1; }
      .topFlowBox .list .item .box01 {
        display: flex;
        position: relative;
        z-index: 1; }
        @media (max-width: 767px) {
          .topFlowBox .list .item .box01 {
            display: block;
            padding: 60px 0 0 15px; } }
        @media (max-width: 767px) {
          .topFlowBox .list .item .box01::before, .topFlowBox .list .item .box01::after {
            content: "";
            display: block;
            height: 2px;
            background: #A99979;
            position: absolute;
            top: 35px;
            right: 0;
            left: auto;
            translate: 0 0; } }
        @media (max-width: 767px) {
          .topFlowBox .list .item .box01::before {
            width: 90px; } }
        @media (max-width: 767px) {
          .topFlowBox .list .item .box01::after {
            width: 15px;
            rotate: 45deg;
            transform-origin: right 0; } }
        .topFlowBox .list .item .box01 .imgBox {
          margin: 0;
          width: 340px;
          overflow: hidden;
          align-self: stretch; }
          @media (max-width: 767px) {
            .topFlowBox .list .item .box01 .imgBox {
              width: auto; } }
          .topFlowBox .list .item .box01 .imgBox img {
            object-fit: cover;
            width: 100%;
            height: 100%;
            display: block; }
            @media (max-width: 767px) {
              .topFlowBox .list .item .box01 .imgBox img {
                aspect-ratio: 1 / 1;
                width: auto;
                height: auto; } }
        .topFlowBox .list .item .box01 .txtBox {
          flex-grow: 1;
          padding: 50px 30px;
          background: #F5F5F5;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: flex-start; }
          @media (max-width: 767px) {
            .topFlowBox .list .item .box01 .txtBox {
              padding: 0;
              background: none; } }
          .topFlowBox .list .item .box01 .txtBox .title {
            margin: 0;
            font-size: clamp(1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.4rem);
            font-family: "Noto Serif JP", serif;
            font-weight: bold; }
            @media (max-width: 767px) {
              .topFlowBox .list .item .box01 .txtBox .title {
                margin-top: 1em; } }
          .topFlowBox .list .item .box01 .txtBox .btn {
            margin: 2em 0 0 auto; }
            @media (max-width: 767px) {
              .topFlowBox .list .item .box01 .txtBox .btn {
                width: 100%;
                margin-left: 0; } }
      @media (max-width: 767px) {
        .topFlowBox .list .item:last-child .box01::before, .topFlowBox .list .item:last-child .box01::after {
          display: none; } }
  .topFlowBox .slick-list {
    overflow: visible; }
  @media (max-width: 767px) {
    .topFlowBox .slick-slide {
      margin: 0 10px; } }
  .topFlowBox .slick-dots {
    text-align: center;
    height: 4px;
    margin: 60px auto 0;
    padding: 0; }
    @media (max-width: 767px) {
      .topFlowBox .slick-dots {
        margin-top: 30px; } }
  .topFlowBox .slick-dots > li {
    display: inline-block;
    margin: 0 5px;
    padding: 0;
    list-style-type: none; }
  .topFlowBox .slick-dots > li button {
    display: block;
    width: 40px;
    height: 4px;
    margin: 0;
    padding: 0;
    background: #CFCFCF;
    border: none;
    text-indent: -9999px;
    cursor: pointer;
    outline: none;
    appearance: none; }
    @media (max-width: 767px) {
      .topFlowBox .slick-dots > li button {
        width: 30px;
        height: 3px; } }
  .topFlowBox .slick-dots > li.slick-active button {
    background: #00133A; }

/*----------------------------------------------
topFeatureBox
----------------------------------------------*/
.topFeatureBox {
  background: #00133A; }
  .topFeatureBox .list {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .topFeatureBox .list > li {
      display: flex;
      align-items: flex-start; }
      @media (max-width: 767px) {
        .topFeatureBox .list > li {
          flex-direction: column;
          width: calc(100% + 20px); }
          .topFeatureBox .list > li:nth-child(odd) {
            margin-left: -20px; }
          .topFeatureBox .list > li:nth-child(even) {
            margin-right: -20px; } }
      .topFeatureBox .list > li .txtClm {
        width: 50%;
        padding: 80px 50px;
        color: #ffffff;
        background: #263658;
        position: relative;
        box-sizing: border-box; }
        @media (max-width: 767px) {
          .topFeatureBox .list > li .txtClm {
            order: 2 !important;
            width: auto;
            translate: 0 -15px !important;
            padding: 30px 20px 20px;
            position: relative;
            z-index: 1; } }
        .topFeatureBox .list > li .txtClm .num {
          color: #A99979;
          font-size: 10rem;
          font-family: "EB Garamond", serif;
          font-optical-sizing: auto;
          font-style: italic;
          font-weight: 400;
          line-height: 1;
          letter-spacing: 0.05em;
          position: absolute;
          top: -0.5em;
          right: 50px; }
          @media (max-width: 767px) {
            .topFeatureBox .list > li .txtClm .num {
              font-size: 5rem;
              right: 20px; } }
        .topFeatureBox .list > li .txtClm .title {
          margin: 0;
          font-family: "Noto Serif JP", serif;
          font-size: clamp(1.8rem, calc(1.8rem + (2.8rem - 1.8rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem);
          font-weight: bold; }
        .topFeatureBox .list > li .txtClm .txtBox p {
          line-height: 1.75; }
        .topFeatureBox .list > li .txtClm .btn {
          margin: 3em 0 0 auto; }
          @media (max-width: 767px) {
            .topFeatureBox .list > li .txtClm .btn {
              margin-top: 1em; } }
      .topFeatureBox .list > li .imgClm {
        margin: 0;
        width: 50%;
        translate: 0 50px; }
        @media (max-width: 767px) {
          .topFeatureBox .list > li .imgClm {
            order: 1 !important;
            width: calc(100% - 100px);
            translate: 0 0 !important;
            position: relative;
            z-index: 2; } }
      .topFeatureBox .list > li + li {
        margin-top: 135px; }
        @media (max-width: 767px) {
          .topFeatureBox .list > li + li {
            margin-top: 30px; } }
      @media (min-width: 768px) {
        .topFeatureBox .list > li:nth-child(even) .txtClm {
          order: 2;
          translate: 0 50px; }
        .topFeatureBox .list > li:nth-child(even) .imgClm {
          order: 1;
          translate: 0; } }

/*----------------------------------------------
topGroupBox
----------------------------------------------*/
/*.topGroupBox {
	.headBox {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		line-height: 1;
		@include max_sp {
			gap: 10px;
		}
		.head {
			margin: 0;
			width: 246px;
			@include max_sp {
				width: 123px;
			}
		}
		.sub {
			margin: 0;
			width: 260px;
			@include max_sp {
				width: 130px;
			}
		}
		.sub02 {
			margin: 0;
			font-weight: normal;
			@include max_sp {
				font-size: 1rem;
			}
		}
	}
	.list {
		max-width: 920px;
		margin: 60px auto 0;
		padding: 0;
		list-style-type: none;
		display: flex;
		flex-wrap: wrap;
		gap: 40px 8%;
		@include max_sp {
			margin-top: 30px;
			gap: 20px 4%;
		}
		> li {
			width: 28%;
			@include max_sp {
				width: 48%;
			}
		}
	}
}*/
/*----------------------------------------------
topNewsBox
----------------------------------------------*/
.topNewsBox {
  padding: 0;
  background: #ffffff url("/wp-content/themes/plus1_original/img/top/top_news_bg.png") center top no-repeat;
  background-size: cover; }
  .topNewsBox .contentBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 60px;
    padding: 100px 0 200px 0;
    border-top: 1px solid #CBCBCB; }
    @media (max-width: 767px) {
      .topNewsBox .contentBox {
        display: block;
        padding: 40px 0; } }
  .topNewsBox .commonHeadBox {
    text-align: left; }
    @media (max-width: 767px) {
      .topNewsBox .commonHeadBox {
        text-align: center; } }
    .topNewsBox .commonHeadBox .sub {
      font-size: clamp(1rem, calc(1rem + (1.4rem - 1rem) * (100vw - 375px) / (1024px - 375px)), 1.4rem); }
    .topNewsBox .commonHeadBox .head {
      font-size: clamp(2.1rem, calc(2.1rem + (2.8rem - 2.1rem) * (100vw - 375px) / (1024px - 375px)), 2.8rem); }
    .topNewsBox .commonHeadBox::after {
      margin-left: 0; }
      @media (max-width: 767px) {
        .topNewsBox .commonHeadBox::after {
          margin-left: auto; } }
  .topNewsBox .bodyBox {
    width: 800px;
    max-width: 100%; }
    .topNewsBox .bodyBox .list {
      margin: 0;
      padding: 0;
      list-style-type: none; }
      .topNewsBox .bodyBox .list > li {
        margin: 0 0 1em 0;
        padding: 0 0 1em 0;
        border-bottom: 1px solid #CBCBCB;
        display: grid;
        grid-template-columns: 5em 8em auto;
        grid-template-rows: auto;
        gap: 1em;
        /*.tag {
        	grid-column: 2;
        	grid-row: 1;
        	margin: 0;
        	padding: 0;
        	list-style-type: none;
        	display: flex;
        	flex-direction: column;
        	align-items: flex-start;
        	flex-wrap: wrap;
        	gap: 0.5em;
        	white-space: nowrap;
        	@include max_sp {
        		flex-direction: row;
        	}
        	> li {
        		color: #ffffff;
        		font-size: fluid-font(1rem, 1.4rem);
        		line-height: 1;
        		padding: 0.4em 0.8em;
        		background: #B3B3B3;
        	}
        }*/ }
        @media (max-width: 767px) {
          .topNewsBox .bodyBox .list > li {
            grid-template-columns: 5em auto;
            grid-template-rows: auto auto; } }
        .topNewsBox .bodyBox .list > li .date {
          grid-column: 1;
          grid-row: 1;
          margin: 0;
          color: #666666;
          line-height: 1;
          white-space: nowrap; }
        .topNewsBox .bodyBox .list > li .title {
          grid-column: 3;
          grid-row: 1;
          margin: 0;
          font-family: "Noto Serif JP", serif;
          font-size: clamp(1.4rem, calc(1.4rem + (2rem - 1.4rem) * (100vw - 375px) / (1024px - 375px)), 2rem);
          font-weight: bold;
          text-decoration: none; }
          @media (max-width: 767px) {
            .topNewsBox .bodyBox .list > li .title {
              grid-column: 1 / 3;
              grid-row: 2; } }
          .topNewsBox .bodyBox .list > li .title a {
            text-decoration: none; }
            .topNewsBox .bodyBox .list > li .title a:hover {
              text-decoration: underline; }
  .topNewsBox .btn {
    margin: 3em 0 0 auto; }
