@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 0.875rem;
  }
}

p,
ul,
ol,
table,
dl {
  line-height: 1.8;
  letter-spacing: max(0.035vw, 0.5px);
}
@media screen and (max-width: 767px) {
  p,
  ul,
  ol,
  table,
  dl {
    letter-spacing: 0rem;
    line-height: 1.6;
  }
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
}

img {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5 {
  font-family: "Noto Serif JP", serif;
}

.pc-none {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
  .tab-none {
    display: none;
  }
}
@media screen and (max-width: 576px) {
  .tab-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
}
/*------------------------
  button
------------------------*/
.btn_common a {
  position: relative;
  display: inline-block;
  color: #FFF;
  font-size: max(1.111vw, 14px);
  font-weight: 600;
  letter-spacing: max(0.07vw, 1px);
  padding: max(0.972vw, 10px) max(3.472vw, 30px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 1;
  overflow: hidden;
  border-radius: 3.472vw;
  background: #231815;
  cursor: pointer;
}
@media screen and (max-width: 576px) {
  .btn_common a {
    font-size: 0.8125rem;
    padding: 0.625rem 1.25rem;
  }
}

/*------------------------------------------------------------------------
  layout
------------------------------------------------------------------------*/
.l-body_test {
  margin-left: 245px;
  overflow: hidden;
  background-color: #F8F6F6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
@media screen and (max-width: 767px) {
  .l-body_test {
    margin-left: 0;
  }
}

.main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: 0;
  margin-left: auto;
  position: relative;
}
.main-content::after {
  content: "";
  aspect-ratio: 32/19;
  width: 100%;
  display: block;
}
@media screen and (max-width: 576px) {
  .main-content::after {
    aspect-ratio: 32/20;
  }
}

section {
  position: relative;
}

.ly-wrapper {
  margin: 0 auto;
  width: 100%;
  padding: 0 5.556vw;
}
@media screen and (max-width: 767px) {
  .ly-wrapper {
    padding: 0 35px;
  }
}

/*------------------------
  scroll to top
------------------------*/
.page-top {
  position: fixed;
  display: block;
  color: transparent;
  bottom: max(0.833vw, 8px);
  right: 0;
  width: 50px;
  height: 105px;
  background-image: url(../../assets/images/tsubame/page_top.svg);
  z-index: 100;
  background-size: 100% auto;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  font-weight: 900;
  text-align: center;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .page-top {
    width: 40px;
    height: 84px;
    bottom: 8px;
  }
}
@media screen and (max-width: 576px) {
  .page-top {
    width: 32px;
    height: 68px;
  }
}
.page-top img {
  width: 100%;
}
.page-top svg {
  display: none;
}
.page-top::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 43%;
  top: -10%;
  left: -25%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-image: url(../../assets/images/tsubame/tsubame_03.png);
  background-size: 100% auto;
}
.page-top:hover::after {
  top: -13%;
  left: -38%;
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}

/*------------------------
  wow animation
------------------------*/
@-webkit-keyframes animate__fadeInUpSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes animate__fadeInUpSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUpSmall {
  -webkit-animation-name: animate__fadeInUpSmall;
  animation-name: animate__fadeInUpSmall;
}

@-webkit-keyframes fadeInRightSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(60px, 0, 0);
    transform: translate3d(60px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(60px, 0, 0);
    transform: translate3d(60px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRightSmall {
  -webkit-animation-name: fadeInRightSmall;
  animation-name: fadeInRightSmall;
}

@-webkit-keyframes fadeInLeftSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60px, 0, 0);
    transform: translate3d(-60px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftSmall {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60px, 0, 0);
    transform: translate3d(-60px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeftSmall {
  -webkit-animation-name: fadeInLeftSmall;
  animation-name: fadeInLeftSmall;
}

@-webkit-keyframes Tsubame01 {
  0% {
    -webkit-transform: translate(-17.361vw, 5.556vw);
            transform: translate(-17.361vw, 5.556vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes Tsubame01 {
  0% {
    -webkit-transform: translate(-17.361vw, 5.556vw);
            transform: translate(-17.361vw, 5.556vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
.animate__Tsubame01 {
  -webkit-animation-name: Tsubame01;
  animation-name: Tsubame01;
}

@-webkit-keyframes Tsubame02 {
  0% {
    -webkit-transform: translate(17.361vw, 5.556vw);
            transform: translate(17.361vw, 5.556vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes Tsubame02 {
  0% {
    -webkit-transform: translate(17.361vw, 5.556vw);
            transform: translate(17.361vw, 5.556vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
.animate__Tsubame02 {
  -webkit-animation-name: Tsubame02;
  animation-name: Tsubame02;
}

@-webkit-keyframes Tsubame03 {
  0% {
    -webkit-transform: translate(10.417vw, -2.083vw);
            transform: translate(10.417vw, -2.083vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes Tsubame03 {
  0% {
    -webkit-transform: translate(10.417vw, -2.083vw);
            transform: translate(10.417vw, -2.083vw);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
.animate__Tsubame03 {
  -webkit-animation-name: Tsubame03;
  animation-name: Tsubame03;
}

/*------------------------
  TOP
------------------------*/
/*------------------------
  MAIN
------------------------*/
.mainvisual {
  position: relative;
  background-color: #FFF;
  background-image: url(../../assets/images/tsubame/bg.png);
  background-repeat: repeat;
  background-size: 110% auto;
  z-index: 3;
  padding-top: 5vw;
  margin-bottom: -1px;
}
.mainvisual .mv_img img {
  width: 100%;
}
.mainvisual .mv_img {
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.mainvisual .mv_logo {
  position: absolute;
  right: 14.7%;
  bottom: 14.3%;
  width: 6.8%;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.mainvisual .tsubame_01,
.mainvisual .tsubame_02,
.mainvisual .tsubame_03 {
  position: absolute;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.mainvisual .tsubame_01 {
  left: 35.7%;
  bottom: 39.2%;
  width: 16%;
}
.mainvisual .tsubame_02 {
  left: 32.3%;
  bottom: 23.8%;
  width: 27%;
  -webkit-transform: rotate(4deg);
          transform: rotate(4deg);
}
.mainvisual .tsubame_03 {
  left: 26.8%;
  bottom: 15.7%;
  width: 14.3%;
}
.mainvisual.tsubame3 .tsubame_02 {
  left: 45.3%;
  bottom: 21%;
  width: 15.5%;
}

/*------------------------
  ご挨拶
------------------------*/
.sec-greeting {
  background-color: #F7F5EF;
  z-index: 3;
  background-image: url(../../assets/images/tsubame/bg_wh.png);
  background-repeat: repeat;
  background-size: 110% auto;
}
.sec-greeting::after {
  content: "";
  background-image: url(../../assets/images/tsubame/section_border_beige.png);
  left: 0;
  right: 0;
  bottom: -0.6875rem;
  height: 0.75rem;
  position: absolute;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.sec-greeting .pc {
  display: none;
}
.sec-greeting .ly-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sec-greeting .sec-title {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.sec-greeting .text {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  line-height: 1.6;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.sec-greeting .intro_tsubame {
  position: absolute;
}
.sec-greeting .intro_tsubame .intro_tsubame_01,
.sec-greeting .intro_tsubame .intro_tsubame_02,
.sec-greeting .intro_tsubame .intro_tsubame_03 {
  position: absolute;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
.sec-greeting .intro_tsubame .intro_tsubame_01 {
  top: 0%;
  left: 0%;
  width: 39%;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.sec-greeting .intro_tsubame .intro_tsubame_02 {
  top: 42.8%;
  left: 27.5%;
  width: 38.5%;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.sec-greeting .intro_tsubame .intro_tsubame_03 {
  top: 66.6%;
  left: 70.4%;
  width: 29%;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@media screen and (min-width: 768px) {
  .sec-greeting .pc {
    display: block;
  }
  .sec-greeting .sp {
    display: none;
  }
  .sec-greeting .ly-container {
    padding: 9.722vw 0 12.5vw;
  }
  .sec-greeting .ly-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .sec-greeting .sec-title {
    margin-top: -2.083vw;
    margin-left: 2.778vw;
    width: 4.167vw;
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .sec-greeting .text {
    font-size: clamp(13px, 1.25vw, 22px);
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    max-width: unset;
  }
  .sec-greeting .intro_tsubame {
    width: 25%;
    max-width: 20.833vw;
    left: 3%;
    bottom: 3.472vw;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_01 {
    top: 0%;
    left: 0%;
    width: 39%;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_02 {
    top: 42.8%;
    left: 27.5%;
    width: 38.5%;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_03 {
    top: 66.6%;
    left: 70.4%;
    width: 29%;
  }
}
@media screen and (max-width: 767px) {
  .sec-greeting .ly-container {
    padding: 5rem 0 10rem;
  }
  .sec-greeting .ly-wrapper {
    -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;
  }
  .sec-greeting .sec-title {
    width: 90%;
    max-width: 25rem;
    text-align: center;
    margin-bottom: 1.25rem;
  }
  .sec-greeting .sec-title img {
    width: 100%;
  }
  .sec-greeting .text {
    font-size: max(1rem, 13px);
    max-width: 600px;
    line-height: 2;
  }
  .sec-greeting .intro_tsubame {
    width: 39%;
    max-width: 29vw;
    right: 3%;
    bottom: 2.5rem;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_01 {
    top: 23%;
    left: 0%;
    width: 32%;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_02 {
    top: 38.8%;
    left: 39.5%;
    width: 29.5%;
  }
  .sec-greeting .intro_tsubame .intro_tsubame_03 {
    top: -0.4%;
    left: 75.4%;
    width: 24%;
  }
}
@media screen and (max-width: 576px) {
  .sec-greeting::after {
    bottom: -0.25rem;
    height: 0.375rem;
  }
  .sec-greeting .ly-container {
    padding: 2.5rem 0 6.25rem;
  }
  .sec-greeting .sec-title {
    width: 60%;
    margin-bottom: 1.875rem;
  }
  .sec-greeting .text {
    font-size: max(0.9375rem, 13px);
    line-height: 2;
  }
  .sec-greeting .intro_tsubame {
    width: 45%;
    max-width: 30vw;
    right: 3%;
    bottom: 1rem;
  }
}
/*------------------------
  動画
------------------------*/
.sec-movie {
  position: relative;
  aspect-ratio: 16/9;
  z-index: 2;
}
.sec-movie .video-wrap {
  position: absolute;
  height: 110vh;
  width: 100%;
  overflow: hidden;
  text-align: center;
}
.sec-movie .video-wrap .movie-thumb,
.sec-movie .video-wrap .movie-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.777vh;
  height: 100vh;
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.sec-movie .video-wrap .movie-thumb {
  z-index: 2;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.sec-movie .video-wrap .movie-iframe {
  z-index: 1;
  pointer-events: none;
}
.sec-movie .video-wrap.is-play .movie-thumb {
  opacity: 0;
}
.sec-movie .video-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #9A7D66;
  display: block;
  opacity: 0.3;
  z-index: 3;
}
.sec-movie .ly-container {
  width: 100%;
  height: 100%;
}
.sec-movie .text_wrap {
  color: #FFF;
}
.sec-movie a {
  color: #FFF;
  position: relative;
}

@media screen and (min-width: 768px) {
  .sec-movie {
    min-height: clamp(610px, 54vw, 3000px);
  }
  .sec-movie .text_wrap {
    position: absolute;
    left: 4.1666666667vw;
    top: 4.1666666667vw;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    color: #FFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .sec-movie .text_wrap .sec-title {
    font-size: max(2.75vw, 32px);
    letter-spacing: 0.25vw;
    margin-right: 1vw;
    line-height: 1.6;
  }
  .sec-movie .text_wrap .text {
    max-height: unset;
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  .sec-movie .text_wrap .text span {
    text-combine-upright: all;
    position: relative;
    left: -0.08em;
    margin-bottom: 0.2em;
  }
  .sec-movie a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 4.1666666667vw;
    bottom: 4.1666666667vw;
    color: #FFF;
    font-size: 2.5vw;
    letter-spacing: 0.25vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec-movie a img {
    width: 4vw;
    height: 4vw;
    display: block;
    margin-right: 0.6666666667vw;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-movie a:hover img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}
@media screen and (max-width: 767px) {
  .sec-movie .text_wrap {
    position: absolute;
    left: 1.875rem;
    top: 1.875rem;
    color: #FFF;
    padding: 5px 8px;
  }
  .sec-movie .text_wrap .sec-title {
    font-size: 5vw;
    letter-spacing: 0.1875rem;
    line-height: 1.4;
    margin-bottom: 6px;
  }
  .sec-movie .text_wrap .text {
    font-size: 15px;
  }
  .sec-movie a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 1.875rem;
    bottom: 1.875rem;
    color: #FFF;
    font-size: 24px;
    letter-spacing: 0.125rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec-movie a img {
    width: 32px;
    height: 32px;
    margin-right: 0.5rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
@media screen and (max-width: 576px) {
  .sec-movie {
    aspect-ratio: 16/20;
  }
  .sec-movie .text_wrap {
    left: 1.25rem;
    top: 1.5rem;
    color: #FFF;
  }
  .sec-movie .text_wrap .sec-title {
    font-size: 5.4166666667vw;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.375rem;
  }
  .sec-movie .text_wrap .text {
    font-size: 13px;
  }
  .sec-movie a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 3vw;
    bottom: 3vw;
    color: #FFF;
    font-size: min(6vw, 20px);
    letter-spacing: 0.125rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec-movie a img {
    width: 32px;
    height: 32px;
    margin-right: 0.5rem;
  }
}
/*------------------------
  職人紹介
------------------------*/
.sec-profile {
  background-color: #F7F5EF;
  z-index: 3;
  position: relative;
  background-image: url(../../assets/images/tsubame/bg_wh.png);
  background-repeat: repeat;
  background-size: 110% auto;
}
.sec-profile::before {
  content: "";
  background-image: url(../../assets/images/tsubame/section_border_beige.png);
  left: 0;
  right: 0;
  top: -0.6875rem;
  height: 0.75rem;
  position: absolute;
  background-repeat: repeat-x;
  background-size: auto 100%;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}
.sec-profile::after {
  content: "";
  background-image: url(../../assets/images/tsubame/section_border_beige.png);
  left: 0;
  right: 0;
  bottom: -0.6875rem;
  height: 0.75rem;
  position: absolute;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.sec-profile .ly-container {
  padding: 11.25rem 0 12.5rem;
}
.sec-profile .ly-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sec-profile .text_wrap .text {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.sec-profile .text_wrap a {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.sec-profile .prof_img {
  z-index: 2;
}
.sec-profile .prof_img .pc {
  display: none;
}
.sec-profile .profile_cloud_01, .sec-profile .profile_cloud_02, .sec-profile .profile_tsubame {
  position: absolute;
}
.sec-profile .profile_cloud_02 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

@media screen and (min-width: 768px) {
  .sec-profile .ly-container {
    padding: 15.8333333333vw 0 13.3333333333vw;
  }
  .sec-profile .ly-wrapper {
    padding: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec-profile .text_wrap {
    width: 60%;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    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-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sec-profile .text_wrap .sec-title {
    margin-top: -2.5vw;
    font-size: clamp(24px, 32vw, 30px);
    letter-spacing: 0.1666666667vw;
    margin-left: 1vw;
  }
  .sec-profile .text_wrap .sec-title span {
    font-size: 24px;
  }
  .sec-profile .text_wrap .text {
    max-height: clamp(410px, 35.5vw, 500px);
  }
  .sec-profile .text_wrap a {
    padding: 1vw;
    -ms-flex-item-align: end;
        align-self: flex-end;
    font-size: clamp(16px, 18vw, 20px);
    margin-right: 0.8333333333vw;
    color: #231815;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: -4.1666666667vw;
    letter-spacing: 0.1666666667vw;
    font-weight: 600;
  }
  .sec-profile .text_wrap a::after {
    content: "";
    display: block;
    width: 1vw;
    height: 3.3333333333vw;
    background-image: url(../../assets/images/tsubame/arrow_vertical.svg);
    margin-top: 0.6666666667vw;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-profile .text_wrap a:hover::after {
    -webkit-transform: translate(0, 0.8333333333vw);
            transform: translate(0, 0.8333333333vw);
  }
  .sec-profile .prof_img {
    width: 45%;
  }
  .sec-profile .prof_img .pc {
    display: block;
  }
  .sec-profile .prof_img .sp {
    display: none;
  }
  .sec-profile .profile_cloud_01 {
    width: 19%;
    top: 6%;
    left: 45%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .sec-profile .profile_cloud_02 {
    width: 15%;
    top: 3%;
    left: 28%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .sec-profile .profile_tsubame {
    width: 20%;
    bottom: 4%;
    left: 3%;
  }
}
@media screen and (max-width: 767px) {
  .sec-profile .ly-container {
    padding: 7.5rem 0 5rem;
  }
  .sec-profile .ly-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    max-width: 600px;
  }
  .sec-profile .text_wrap {
    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;
  }
  .sec-profile .text_wrap .sec-title {
    font-size: 1.875rem;
    letter-spacing: 0.125rem;
    margin-bottom: 0.5rem;
  }
  .sec-profile .text_wrap .sec-title span {
    font-size: 1.5625rem;
  }
  .sec-profile .text_wrap .text {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0.0625rem;
    line-height: 1.8;
  }
  .sec-profile .text_wrap a {
    padding: 0.75rem;
    -ms-flex-item-align: end;
        align-self: flex-end;
    font-size: 16px;
    margin-right: 0.625rem;
    color: #231815;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: -1.875rem;
    letter-spacing: 0.0625rem;
    font-weight: 600;
  }
  .sec-profile .text_wrap a::after {
    content: "";
    display: block;
    width: 3.125rem;
    height: 0.5rem;
    background-image: url(../../assets/images/tsubame/arrow_horizontal.svg);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    background-position: right;
    margin-bottom: 0.1875rem;
    margin-left: 0.5rem;
  }
  .sec-profile .text_wrap a:hover::after {
    -webkit-transform: translate(0.5rem, 0);
            transform: translate(0.5rem, 0);
  }
  .sec-profile .prof_img {
    margin-bottom: 1.5rem;
  }
  .sec-profile .profile_cloud_01 {
    width: 26%;
    top: 4%;
    right: 3%;
  }
  .sec-profile .profile_cloud_02 {
    width: 20%;
    top: 2%;
    right: 30%;
  }
  .sec-profile .profile_tsubame {
    width: 25%;
    bottom: 4%;
    left: 3%;
  }
}
@media screen and (max-width: 576px) {
  .sec-profile::before {
    top: -0.25rem;
    height: 0.375rem;
  }
  .sec-profile::after {
    bottom: -0.25rem;
    height: 0.375rem;
  }
  .sec-profile .ly-container {
    padding: 5rem 0 1.25rem;
  }
  .sec-profile .text_wrap .sec-title {
    font-size: 24px;
  }
  .sec-profile .text_wrap .sec-title span {
    font-size: 19px;
  }
  .sec-profile .text_wrap .text {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0.0625rem;
    line-height: 1.8;
    font-size: 13px;
  }
  .sec-profile .text_wrap a {
    margin-right: -0.75rem;
    padding: 0.5rem;
  }
  .sec-profile .text_wrap a::after {
    margin-left: 0.25rem;
    width: 2.5rem;
  }
  .sec-profile .prof_img {
    margin-bottom: 1rem;
  }
  .sec-profile .profile_cloud_01 {
    width: 28%;
    top: 4%;
    right: 3%;
  }
  .sec-profile .profile_cloud_02 {
    width: 22%;
    top: 2%;
    right: 32%;
  }
  .sec-profile .profile_tsubame {
    width: 30%;
    bottom: 1%;
    left: 3%;
  }
}
/*------------------------
  ブランドラインナップ
------------------------*/
.sec-brand {
  background: #FFF;
  background-image: url(../../assets/images/tsubame/bg.png);
  background-repeat: repeat;
  background-size: 110% auto;
  z-index: 2;
}
.sec-brand::after {
  content: "";
  background-image: url(../../assets/images/tsubame/section_border_wh.png);
  left: 0;
  right: 0;
  bottom: -0.6875rem;
  height: 0.75rem;
  position: absolute;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.sec-brand .ly-wrapper {
  max-width: max(1200px, 60vw);
}
.sec-brand .sec-title {
  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;
  margin-bottom: 6.6666666667vw;
}
.sec-brand .sec-title span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 1.6666666667vw;
  font-size: max(2.5vw, 30px);
  letter-spacing: 0.25vw;
}
.sec-brand .sec-title img {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  width: max(5vw, 50px);
}
.sec-brand .brandlogo_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sec-brand .brandlogo_list a {
  display: block;
  height: 100%;
}
.sec-brand .brandlogo_list a img {
  height: 100%;
  width: auto;
}
.sec-brand .brandlogo_list a:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.sec-brand .brandlogo_list a:nth-child(3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.sec-brand .brandlogo_list a:nth-child(4) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.sec-brand .brand_list .brand_banner {
  display: block;
}
.sec-brand .brand_list .brand_banner img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sec-brand .brand_list .brand_banner:hover img {
  opacity: 0.5;
}
.sec-brand .brand_list::before {
  content: "";
  display: block;
  width: 100%;
  height: min(0.8333333333vw, 8px);
  background-size: auto 100%;
  background-image: url(../../assets/images/tsubame/dot_line.png);
  background-repeat: repeat-x;
  margin: max(80px, 6vw) 0;
}
.sec-brand .brand_list .brand_listitem:not(:last-child)::after {
  content: "";
  display: block;
  width: 100%;
  height: min(0.8333333333vw, 8px);
  background-size: auto 100%;
  background-image: url(../../assets/images/tsubame/dot_line.png);
  background-repeat: repeat-x;
  margin: max(80px, 6vw) 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

@media screen and (min-width: 768px) {
  .sec-brand .ly-container {
    padding: 10.8333333333vw 0;
  }
  .sec-brand .brandlogo_list a {
    height: min(6.7rem, 4.7vw);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brandlogo_list a img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brandlogo_list a:hover img {
    opacity: 0.4;
  }
  .sec-brand .brand_list .brand_listitem h3 {
    height: 8vw;
    width: calc((100% - min(6.6666666667vw, 90px)) / 2);
    text-align: center;
    margin-bottom: min(6.6666666667vw, 120px);
  }
  .sec-brand .brand_list .brand_listitem h3 img {
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem {
    width: calc((100% - min(6.6666666667vw, 90px)) / 2);
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem:not(:last-child) {
    margin-bottom: min(5vw, 90px);
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure {
    display: block;
    margin-bottom: min(1vw, 8px);
    overflow: hidden;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a .title {
    font-size: min(1.6666666667vw, 18px);
    font-weight: 600;
    color: #231815;
    letter-spacing: 0.1666666667vw;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a:hover figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .sec-brand .brand_list .brand_listitem .brand_banner {
    margin-top: 6.6666666667vw;
    display: block;
    -webkit-box-ordinal-group: 901;
        -ms-flex-order: 900;
            order: 900;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner img.sp {
    display: none;
  }
  .sec-brand .brand_list .brand_listitem:nth-child(2n-1) h3 {
    margin-left: auto;
    margin-right: 0;
  }
  .sec-brand .brand_list .brand_listitem:nth-child(2n-1) .brand_item_listitem:nth-child(2n-1) {
    margin-top: -10vw;
  }
  .sec-brand .brand_list .brand_listitem:nth-child(2n-1) .brand_item_listitem:only-child {
    margin-top: 0;
    width: 100%;
  }
  .sec-brand .brand_list .brand_listitem:nth-child(2n) .brand_item_listitem:nth-child(2n) {
    margin-top: -10vw;
  }
  .sec-brand .brand_list .brand_listitem:nth-child(2n) .brand_item_listitem:only-child {
    margin-top: 0;
    width: 100%;
  }
  .sec-brand .brand_list .brand_listitem:has(.brand_item_list > .brand_item_listitem:only-child) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .sec-brand .brand_list .brand_listitem:has(.brand_item_list > .brand_item_listitem:only-child) h3 {
    margin: 1.6666666667vw;
  }
  .sec-brand .brand_list .brand_listitem:has(.brand_item_list > .brand_item_listitem:only-child):nth-child(2n-1) h3 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .sec-brand .brand_list .brand_listitem:has(.brand_item_list > .brand_item_listitem:only-child) .brand_item_list {
    width: calc((100% - 6.6666666667vw) / 2);
  }
}
@media screen and (max-width: 767px) {
  .sec-brand .ly-container {
    padding: 10vw 0 8.3333333333vw;
  }
  .sec-brand .ly-wrapper {
    max-width: 600px;
  }
  .sec-brand .sec-title span {
    margin: 0 1vw;
    font-size: 3vw;
    letter-spacing: 0.1666666667vw;
  }
  .sec-brand .sec-title img {
    width: 7.5vw;
  }
  .sec-brand .brandlogo_list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .sec-brand .brandlogo_list a {
    height: min(11.7vw, 70px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    margin-bottom: 2.5vw;
  }
  .sec-brand .brandlogo_list a img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brandlogo_list a:hover img {
    opacity: 0.4;
  }
  .sec-brand .brand_list::before {
    height: 0.6666666667vw;
    margin: 2.6666666667vw 0 5vw;
  }
  .sec-brand .brand_list .brand_listitem:not(:last-child)::after {
    height: 0.6666666667vw;
    margin: 5vw 0;
    -webkit-box-ordinal-group: 10000;
        -ms-flex-order: 9999;
            order: 9999;
  }
  .sec-brand .brand_list .brand_listitem h3 {
    height: 11.6666666667vw;
    text-align: center;
    width: 100%;
    margin-bottom: 3.3333333333vw;
  }
  .sec-brand .brand_list .brand_listitem h3 img {
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner {
    margin-top: 10vw;
    display: block;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner img.pc {
    display: none;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner img.sp {
    display: block;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner:hover img {
    opacity: 0.5;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem:not(:last-child) {
    margin-bottom: 5vw;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure {
    display: block;
    margin-bottom: 1vw;
    overflow: hidden;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a .title {
    font-size: 20px;
    font-weight: 600;
    color: #231815;
    letter-spacing: 0.0833333333vw;
    text-align: center;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a:hover figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}
@media screen and (max-width: 576px) {
  .sec-brand .ly-container {
    padding: 13.3333333333vw 0;
  }
  .sec-brand .sec-title {
    margin-bottom: 50px;
  }
  .sec-brand .sec-title span {
    margin: 0 0.6666666667vw;
    font-size: 22px;
  }
  .sec-brand .sec-title img {
    width: 45px;
  }
  .sec-brand .brandlogo_list a {
    height: min(11vw, 70px);
    margin-bottom: 1.6666666667vw;
  }
  .sec-brand .brand_list::before {
    margin: 8.3333333333vw 0 8.3333333333vw;
  }
  .sec-brand .brand_list .brand_listitem:not(:last-child)::after {
    margin: 36px 0;
  }
  .sec-brand .brand_list .brand_listitem h3 {
    height: 12.5vw;
    width: 100%;
    margin-bottom: 3vw;
  }
  .sec-brand .brand_list .brand_listitem .brand_banner {
    margin-top: 36px;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem:not(:last-child) {
    margin-bottom: 6.6666666667vw;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure {
    display: block;
    margin-bottom: 0.5vw;
    overflow: hidden;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a figure img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a .title {
    font-size: 16px;
    letter-spacing: 0;
  }
  .sec-brand .brand_list .brand_listitem .brand_item_list .brand_item_listitem a:hover figure img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}
.sec-foot {
  position: fixed;
  left: 245px;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  background-color: #F7F5EF;
  background-image: url(../../assets/images/tsubame/bg_wh.png);
  background-repeat: repeat;
  background-size: 110% auto;
  aspect-ratio: 32/19;
}
@media screen and (max-width: 767px) {
  .sec-foot {
    left: 0px;
  }
}
@media screen and (max-width: 576px) {
  .sec-foot {
    aspect-ratio: 32/20;
  }
}
.sec-foot .foot_contents {
  position: absolute;
  inset: 0;
  background-image: url(../../assets/images/tsubame/mv_back.png);
  background-size: 100% auto;
  background-position: right bottom;
  background-repeat: no-repeat;
}
.sec-foot .foot_contents .copy_wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  aspect-ratio: 32/19;
  opacity: 0;
}
@media screen and (max-width: 576px) {
  .sec-foot .foot_contents .copy_wrap {
    aspect-ratio: 32/20;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sec-foot .foot_contents .copy_wrap p {
  position: absolute;
  font-size: clamp(1.125rem, 2vw, 2.625rem);
  font-weight: 700;
  bottom: 14%;
  right: 6%;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .sec-foot .foot_contents .copy_wrap p {
    font-size: 1.375rem;
    bottom: 15%;
    right: 7%;
  }
}
@media screen and (max-width: 576px) {
  .sec-foot .foot_contents .copy_wrap p {
    font-size: 5vw;
    position: relative;
    right: auto;
    bottom: unset;
    text-align: start;
    padding-top: 10%;
  }
}

.sec-foot.is-stop {
  position: absolute;
  left: 0;
  bottom: 0;
  aspect-ratio: unset;
}

.l-footer_test {
  position: relative;
  z-index: 10;
  background-color: #19191A;
  color: #FFF;
  padding: 4rem 3rem 1rem;
  margin-top: auto;
}
.l-footer_test .footer-menu {
  max-width: 560px;
  width: 100%;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-footer_test ul.menu {
  width: 30%;
}
.l-footer_test ul.menu li {
  margin: 1rem 0;
}
.l-footer_test ul.menu a {
  letter-spacing: 0.1em;
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFF;
}
.l-footer_test .footer-copy {
  font-size: 1.2rem;
  margin-top: 3.5rem;
  letter-spacing: 0.2em;
  text-align: center;
}