/* CSS Document */
/********************
 KV
*********************/
.mv, .mv-wrapper {
  position: relative;
  width: 100%; }
  @media (min-width: 769px) {
    .mv, .mv-wrapper {
      margin: auto; } }
  .mv .mv-inner, .mv-wrapper .mv-inner {
    padding: 2em 0 0; }
    @media (min-width: 769px) {
      .mv .mv-inner, .mv-wrapper .mv-inner {
        display: block;
        position: relative;
        padding: 0; } }
    .mv .mv-inner .mv-img, .mv-wrapper .mv-inner .mv-img {
      width: 100%;
      height: auto;
      aspect-ratio: 780/490; }
      @media (min-width: 769px) {
        .mv .mv-inner .mv-img, .mv-wrapper .mv-inner .mv-img {
          aspect-ratio: auto;
          width: 90%;
          margin: 0 auto;
          padding-top: 40px; } }
      .mv .mv-inner .mv-img img, .mv-wrapper .mv-inner .mv-img img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover; }
        @media (min-width: 769px) {
          .mv .mv-inner .mv-img img, .mv-wrapper .mv-inner .mv-img img {
            width: 100%;
            height: auto;
            max-width: 100%;
            min-height: 0; } }
    .mv .mv-inner .mv-text, .mv-wrapper .mv-inner .mv-text {
      position: absolute;
      left: 0;
      top: 0;
      padding: 0;
      width: 100%; }
      .mv .mv-inner .mv-text p, .mv-wrapper .mv-inner .mv-text p {
        font-size: 1.4em;
        font-family: uddigikyokasho-pro, sans-serif;
        text-align: center;
        text-align: left;
        display: flex;
        flex-flow: row-reverse;
        justify-content: center;
        justify-content: space-around;
        width: 100%;
        margin-top: 2em; }
        @media (min-width: 500px) {
          .mv .mv-inner .mv-text p, .mv-wrapper .mv-inner .mv-text p {
            font-size: 1.6em; } }
        @media (min-width: 769px) {
          .mv .mv-inner .mv-text p, .mv-wrapper .mv-inner .mv-text p {
            font-size: 2.4em;
            padding: 0 8%; } }
        .mv .mv-inner .mv-text p span, .mv-wrapper .mv-inner .mv-text p span {
          writing-mode: vertical-rl;
          position: relative;
          right: -1em; }
          @media (min-width: 769px) {
            .mv .mv-inner .mv-text p span, .mv-wrapper .mv-inner .mv-text p span {
              right: 0; } }
        .mv .mv-inner .mv-text p span + span, .mv-wrapper .mv-inner .mv-text p span + span {
          margin-top: 5em;
          right: auto;
          left: -1em; }
          @media (min-width: 769px) {
            .mv .mv-inner .mv-text p span + span, .mv-wrapper .mv-inner .mv-text p span + span {
              margin-top: 4em;
              left: auto; } }

.js-blurin {
  opacity: 0;
  filter: blur(10); }

.js-txtin {
  clip-path: inset(0 0 100% 0);
  opacity: 0; }

.js-txtin.animated {
  animation: txtIntopbtm .75s ease-in forwards; }

.js-txtin.delay03.animated {
  animation: txtIntopbtm .75s ease-in .3s forwards; }

.js-blurin.animated {
  animation: blrIn 1s ease-in forwards; }

@keyframes txtIntopbtm {
  0% {
    clip-path: inset(0 0 100% 0);
    opacity: 0; }
  90% {
    opacity: 1; }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1; } }
@keyframes blrIn {
  0% {
    filter: blur(10);
    opacity: 0; }
  100% {
    filter: blur(0);
    opacity: 1; } }
/********************
 top__message
*********************/
.top-page main {
  padding-top: 10.256vw; }
  @media (min-width: 769px) {
    .top-page main {
      padding-top: 80px; } }

#top__message {
  position: relative;
  padding: 0; }
  #top__message::before {
    content: "";
    width: 32.5%;
    height: auto;
    aspect-ratio: 278/209;
    background: url("../img/common/bg_parts01.png");
    background-size: contain;
    position: absolute;
    right: -13.3vw;
    top: -10.256vw;
    display: block; }
    @media (min-width: 769px) {
      #top__message::before {
        right: 0;
        top: -80px;
        width: 250px; } }
  #top__message::after {
    content: "";
    width: 32.5%;
    height: auto;
    aspect-ratio: 212/276;
    background: url("../img/common/bg_parts02.png");
    background-size: contain;
    position: absolute;
    left: -8vw;
    bottom: -12vw;
    display: block; }
    @media (min-width: 769px) {
      #top__message::after {
        left: 0;
        bottom: -96px;
        width: 210px; } }
  #top__message .section-inner {
    background: #FAFAEE;
    padding-top: 6em;
    padding-bottom: 6em; }
    @media (min-width: 769px) {
      #top__message .section-inner {
        width: 100%;
        background: transparent;
        position: relative;
        padding-top: 4.8em;
        padding-bottom: 4em; }
        #top__message .section-inner::before {
          content: "";
          width: 94.5%;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          background: #FAFAEE;
          z-index: -1; } }
  @media (min-width: 769px) {
    #top__message .txt-box {
      display: flex;
      flex-flow: row-reverse;
      justify-content: center;
      max-width: 1080px;
      margin-left: auto;
      margin-right: auto; } }
  #top__message .txt-box * {
    font-family: uddigikyokasho-pro, sans-serif;
    text-align: center; }
    @media (min-width: 769px) {
      #top__message .txt-box * {
        writing-mode: vertical-rl;
        text-align: left; } }
  #top__message .txt-box h2 {
    font-size: 5.12vw;
    margin-bottom: 1.5em; }
    @media (min-width: 500px) {
      #top__message .txt-box h2 {
        font-size: 4vw; } }
    @media (min-width: 769px) {
      #top__message .txt-box h2 {
        margin-left: 1.5em;
        margin-bottom: 0;
        font-size: 2em; } }
  #top__message .txt-box p {
    line-height: 2; }
    @media (min-width: 769px) {
      #top__message .txt-box p {
        font-size: 1.125em; } }

/********************
 top__intoro
*********************/
#top__intoro {
  padding: 15vw 0; }
  @media (min-width: 769px) {
    #top__intoro {
      padding: 64px 0 80px; } }
  @media (min-width: 769px) {
    #top__intoro .intro-content-wrap {
      display: grid;
      grid-template-columns: 35% 65%;
      grid-template-rows: auto auto; } }
  @media (min-width: 769px) {
    #top__intoro .intro-content-wrap .img-box {
      grid-row: 1 / 3;
      grid-column: 1 / 2; } }
  #top__intoro .intro-content-wrap .tit-box {
    display: flex;
    justify-content: center; }
    @media (min-width: 769px) {
      #top__intoro .intro-content-wrap .tit-box {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        padding-left: 64px;
        justify-content: flex-start; } }
    #top__intoro .intro-content-wrap .tit-box h2 {
      text-align: left;
      padding: 2rem 2rem 0;
      position: relative; }
      @media (min-width: 769px) {
        #top__intoro .intro-content-wrap .tit-box h2 {
          padding: 3rem 2rem; } }
      #top__intoro .intro-content-wrap .tit-box h2::before {
        content: "";
        width: 22.69vw;
        height: auto;
        aspect-ratio: 177/144;
        background: url("../img/top/bg_tit01.png") left top no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 0;
        top: 0;
        display: block; }
        @media (min-width: 769px) {
          #top__intoro .intro-content-wrap .tit-box h2::before {
            width: 177px; } }
      #top__intoro .intro-content-wrap .tit-box h2 span {
        position: relative; }
  @media (min-width: 769px) {
    #top__intoro .intro-content-wrap .txt-box {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
      padding-left: 100px; } }
  #top__intoro .intro-content-wrap .txt-box p {
    text-align: center; }
    @media (min-width: 769px) {
      #top__intoro .intro-content-wrap .txt-box p {
        text-align: left; } }
  @media (min-width: 769px) {
    #top__intoro .intro-content-wrap .txt-box .btn_more {
      margin: 0 0 0 auto; } }

/********************
 top__about
*********************/
#top__about {
  background: #FAFAEE;
  padding: 15vw 0;
  position: relative; }
  @media (min-width: 769px) {
    #top__about {
      padding: 0;
      background: none; } }
  #top__about::before {
    content: "";
    width: 32.5%;
    height: auto;
    aspect-ratio: 278/209;
    background: url("../img/common/bg_parts01.png");
    background-size: contain;
    position: absolute;
    right: -13.3vw;
    top: -10.256vw;
    display: block; }
    @media (min-width: 769px) {
      #top__about::before {
        right: 0;
        top: -80px;
        width: 250px; } }
  @media (min-width: 769px) {
    #top__about .section-inner {
      background: #FAFAEE;
      padding: 80px 7.8125%; } }
  #top__about .tit-box {
    display: flex;
    justify-content: center; }
    #top__about .tit-box h2 {
      text-align: center;
      padding: 2rem 2rem 0;
      position: relative; }
      #top__about .tit-box h2::before {
        content: "";
        width: 100%;
        height: auto;
        aspect-ratio: 967/240;
        background: url("../img/top/bg_tit02.png") center no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 0;
        top: 0;
        display: block; }
      #top__about .tit-box h2 span {
        position: relative; }
  #top__about .top__about-index-wrap {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto; }
  #top__about .top__about-index.columns {
    margin-top: 2rem;
    margin-left: -10px;
    margin-right: -10px; }
    @media (max-width: 499px) {
      #top__about .top__about-index.columns {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        flex: none; } }
    #top__about .top__about-index.columns .col {
      padding: 0;
      width: 100%;
      margin-bottom: 40px; }
      @media (min-width: 500px) {
        #top__about .top__about-index.columns .col {
          padding: 0 10px;
          margin-bottom: 20px;
          width: calc(100%/2); } }
      @media (min-width: 1025px) {
        #top__about .top__about-index.columns .col {
          padding: 0 10px;
          width: calc(100%/3); } }
    #top__about .top__about-index.columns .index-box {
      background: #FFF;
      border-radius: 20px;
      padding: 28px 32px 32px;
      display: flex;
      flex-flow: column;
      height: 100%; }
      #top__about .top__about-index.columns .index-box .img-box {
        width: 80%;
        margin: 0 auto 1rem; }
      #top__about .top__about-index.columns .index-box .txt h3 {
        text-align: center;
        font-size: 5.12vw; }
        @media (min-width: 500px) {
          #top__about .top__about-index.columns .index-box .txt h3 {
            font-size: 3.2vw; } }
        @media (min-width: 769px) {
          #top__about .top__about-index.columns .index-box .txt h3 {
            font-size: 1.25em; } }
        @media (min-width: 1367px) {
          #top__about .top__about-index.columns .index-box .txt h3 {
            font-size: 24px; } }
      #top__about .top__about-index.columns .index-box .txt .link-list li {
        border-bottom: 1px solid #D9D9D9;
        font-size: 0.9em;
        letter-spacing: -0.05em; }
        #top__about .top__about-index.columns .index-box .txt .link-list li a {
          color: #625145;
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0.5rem 0; }
          #top__about .top__about-index.columns .index-box .txt .link-list li a .link_arrow {
            fill: #EAA24D;
            width: 5.1px;
            height: 9px;
            position: relative;
            transform: translateX(0);
            transition: .3s; }
        #top__about .top__about-index.columns .index-box .txt .link-list li a:hover {
          color: #EAA24D; }
          #top__about .top__about-index.columns .index-box .txt .link-list li a:hover .link_arrow {
            transform: translateX(4px);
            transition: .3s; }
    #top__about .top__about-index.columns .column:not(:nth-of-type(1)) .index-box {
      margin-top: 2rem; }
      @media (min-width: 769px) {
        #top__about .top__about-index.columns .column:not(:nth-of-type(1)) .index-box {
          margin-top: 0; } }

/********************
 top__news
*********************/
#top__news {
  padding: 15vw 0;
  position: relative; }
  @media (min-width: 769px) {
    #top__news {
      padding: 64px 0 150px; } }
  #top__news::after {
    content: "";
    width: 32.5%;
    height: auto;
    aspect-ratio: 212/276;
    background: url("../img/common/bg_parts02.png");
    background-size: contain;
    position: absolute;
    left: -8vw;
    bottom: -12vw;
    display: block; }
    @media (min-width: 769px) {
      #top__news::after {
        left: 0;
        top: 45%;
        width: 210px; } }
  #top__news .tit-box {
    display: flex;
    justify-content: center; }
    #top__news .tit-box h2 {
      text-align: center;
      padding: 1rem 2rem 2rem;
      position: relative; }
      #top__news .tit-box h2::before {
        content: "";
        width: 100%;
        height: auto;
        aspect-ratio: 194/53;
        background: url("../img/top/bg_tit03.png") center no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 0;
        bottom: 0;
        display: block; }
      #top__news .tit-box h2 span {
        position: relative; }
  @media (min-width: 769px) {
    #top__news .btn_more {
      margin: auto; } }

.news-list_wrap {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto; }
  .news-list_wrap .news-list-item {
    border-bottom: 1px solid #D9D9D9; }
    .news-list_wrap .news-list-item a {
      color: #625145;
      display: flex;
      flex-flow: wrap;
      align-items: center;
      padding: 1rem 0; }
    .news-list_wrap .news-list-item a:hover {
      color: #EAA24D; }
    .news-list_wrap .news-list-item .link_arrow {
      fill: #71C47D;
      width: 10px;
      height: 9px; }
    .news-list_wrap .news-list-item time {
      width: calc(100% - 10px);
      padding-left: 1em;
      font-size: 0.85em; }
      @media (min-width: 769px) {
        .news-list_wrap .news-list-item time {
          width: 9em;
          font-size: 16px; } }
    @media (min-width: 769px) {
      .news-list_wrap .news-list-item .txt {
        width: calc(100% - 9em);
        font-size: 18px; } }

.top__photo-index-wrap {
  margin-top: 3rem;
  position: relative;
  z-index: 2; }
  @media (min-width: 769px) {
    .top__photo-index-wrap {
      margin-top: 150px; } }

.top__photo-index, .top__photo-index.coumns:last-child {
  margin: 0; }
  @media (min-width: 769px) {
    .top__photo-index .column + .column, .top__photo-index.coumns:last-child .column + .column {
      margin-top: 0; } }

/********************
top__colum
*********************/
#top__colum {
  padding: 0;
  position: relative; }
  #top__colum::before {
    content: "";
    width: 32.5%;
    height: auto;
    aspect-ratio: 278/209;
    background: url("../img/common/bg_parts01.png");
    background-size: contain;
    position: absolute;
    right: -13.3vw;
    bottom: -10.256vw;
    display: block; }
    @media (min-width: 769px) {
      #top__colum::before {
        right: 0;
        bottom: -80px;
        width: 250px; } }
  #top__colum .tit-box {
    display: flex;
    justify-content: center; }
    #top__colum .tit-box h2 {
      text-align: center;
      padding: 0 2rem 2rem;
      position: relative; }
      #top__colum .tit-box h2::before {
        content: "";
        width: 100%;
        height: auto;
        aspect-ratio: 174/48;
        background: url("../img/top/bg_tit04.png") center no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 0;
        bottom: 0;
        display: block; }
      #top__colum .tit-box h2 span {
        position: relative; }
  #top__colum .section-inner {
    padding: 0; }
    #top__colum .section-inner .column-wrap {
      background: #FAFAEE;
      padding: 15vw 7.8125%; }
      @media (min-width: 769px) {
        #top__colum .section-inner .column-wrap {
          padding: 80px 7.8125%; } }
      #top__colum .section-inner .column-wrap .colum-list_wrap {
        max-width: 1080px;
        margin-left: auto;
        margin-right: auto; }
  @media (min-width: 769px) {
    #top__colum .btn_more {
      margin: auto; } }

/********************
top__last
*********************/
#top__last {
  padding: 15vw 0; }
  @media (min-width: 769px) {
    #top__last {
      padding: 135px 0 0; } }
  #top__last .section__full {
    flex-flow: wrap;
    position: relative; }
    @media (min-width: 769px) {
      #top__last .section__full {
        flex-flow: nowrap;
        justify-content: center; } }
    #top__last .section__full::after {
      content: "";
      width: 28%;
      height: auto;
      aspect-ratio: 212/276;
      background: url("../img/common/bg_parts02.png");
      background-size: contain;
      position: absolute;
      left: 0;
      bottom: 0;
      display: block; }
      @media (min-width: 769px) {
        #top__last .section__full::after {
          display: none; } }
    #top__last .section__full .img_left {
      width: 82%;
      margin: 0 auto 1rem 0; }
      @media (min-width: 769px) {
        #top__last .section__full .img_left {
          width: calc(884/1440*100%);
          margin: 0 auto 0 0; } }
      #top__last .section__full .img_left img {
        width: 100%; }
    #top__last .section__full .img_right {
      width: 60%;
      margin: 0 0 0 auto; }
      @media (min-width: 769px) {
        #top__last .section__full .img_right {
          width: calc(528/1440*100%); } }
      #top__last .section__full .img_right img {
        width: 100%; }

/********************
ssl
*********************/
.sslseal-block {
  padding-top: 4em; }
  .sslseal-block .section-inner .is-flex {
    padding-bottom: 4em;
    border-bottom: 1px solid #D9D9D9; }

.sslseal {
  margin-right: 1em; }
