@charset "utf-8";

/* 250515追加　メニューアニメーション（英語→日本語） */

.site-menu ul li {
  display: flex;
  align-items: center;
}

.site-menu a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  padding: 0 8px;
  height: 100%;
}

.site-menu a .jp-text {
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  text-align: center;
  color: #000;
  font-size: 0.9em;
  transition: all 0.7s ease; /* ← 0.3s → 0.7s に変更（ゆっくりに） */
  pointer-events: none;
  white-space: nowrap;
}

.site-menu a:hover {
  color: transparent; /* 英語を透明に */
}

.site-menu a:hover .jp-text {
  bottom: 0; /* 日本語が下からスライドイン */
}

/* ===== フッターメニュー用（白文字） ===== */

.footer .site-menu a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: #fff; /* 英語を白に */
  text-decoration: none;
  height: 1.5em;
  line-height: 1.5em;
  padding: 0 8px;
}

.footer .site-menu a .jp-text {
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  text-align: center;
  color: #fff; /* 日本語も白に */
  font-size: 0.9em;
  transition: all 0.7s ease-in-out;
  pointer-events: none;
  white-space: nowrap;
}

.footer .site-menu a:hover {
  color: transparent; /* 英語を透明に */
}

.footer .site-menu a:hover .jp-text {
  bottom: 0; /* 日本語をスライドイン */
}

/* ハンバーガーメニューを開いた時文字色を白に*/
.header-site-menu.is-show .site-menu ul li a {
  color: #fff;
}

.header-site-menu.is-show .site-menu ul li a .jp-text {
  color: #fff;
}
.header-site-menu.is-show .site-menu a:hover {
  color: transparent; /* 英語を透明に */
}

.header-site-menu.is-show .site-menu a:hover .jp-text {
  bottom: 0; /* 日本語をスライドイン */
}

/* ヘッダー周りの調整
.header-inner {
  max-width: 1200px;
  height: 110px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}*/

/* NEWSページ */

#news {
  background-image: url("../images/bg-section-news.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
}
#news .news {
  margin: 6% auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  max-width: 960px;
  text-align: left;
}
#news .news-item {
  padding: 10px 3.125%;
  width: 33.33333%;
  letter-spacing: 0.2em;
}
#news .news-item:not(:first-child) {
  border-left: 1px solid #d0d0d0;
}
#news .news-item .detail-link {
  text-decoration: none;
}
#news .news-item .detail-link:hover .title,
#news .news-item .detail-link:hover .news-text {
  text-decoration: underline;
}
#news .news-item .time {
  font-size: 1rem;
  color: #787878;
}
#news .news-item .title {
  margin-top: 15px;
  font-size: 1.5rem;
}
#news .news-item .news-text {
  margin-top: 22px;
  font-size: 1rem;
  line-height: 2;
}

#pg-news .main-container {
  width: 100%;
  background-image: url("../images/bg-news.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
#pg-news .main-container .main-wrapper {
  margin: 0 auto;
  padding: 4% 0 120px;
  max-width: 960px;
}

#pg-news .newsLists .news-link {
  display: block;
}
#pg-news .newsLists .news-link:hover .title {
  text-decoration: underline;
}

#pg-news .newsLists .news-body {
  padding: 16px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  border-bottom: 1px solid #d0d0d0;
}
#pg-news .newsLists .news-body .release {
  width: 15%;
  color: #787878;
}
#pg-news .newsLists .news-body .title {
  width: 85%;
}
#pg-news .newsLists .news-body .capton {
  display: none;
}

#pg-news .pager {
  margin: 6.5% auto 0;
}
#pg-news .pager .pagerList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#pg-news .pager .pagerList-item {
  margin: 0 6.5px;
  width: 36px;
  height: 36px;
  text-align: center;
  border: 1px solid #d0d0d0;
  position: relative;
}
#pg-news .pager .pagerList-item.current {
  border: 1px solid #343434;
  background-color: #343434;
}
#pg-news .pager .pagerList-item.current a {
  color: #fff;
}
#pg-news .pager .pagerList-item.ellipsis a,
#pg-news .pager .pagerList-item.ellipsis span,
#pg-news .pager .pagerList-item.next a,
#pg-news .pager .pagerList-item.next span {
  text-indent: -9999em;
  background-position: center;
  background-repeat: no-repeat;
}
#pg-news .pager .pagerList-item.ellipsis {
  width: 14px;
  border: none;
}
#pg-news .pager .pagerList-item.ellipsis span {
  display: block;
  width: inherit;
  height: inherit;
  background-image: url(../images/svg/icon-three-dots.svg);
  background-size: contain;
}
#pg-news .pager .pagerList-item.next a {
  background-image: url(../images/svg/icon-rightArrow-black.svg);
  background-size: 6px 11px;
}
#pg-news .pager .pagerList-item a {
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  line-height: 36px;
}

#pg-newsDetail .main-container {
  width: 100%;
  background-image: url(../images/bg-news.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
#pg-newsDetail .main-container .main-wrapper {
  margin: 0 auto;
  padding: 3.4% 0 120px;
  max-width: 960px;
}

#pg-newsDetail .news .release {
  padding-left: 2px;
  font-size: 1.4rem;
  color: #787878;
}

#pg-newsDetail .news .title {
  margin-top: 1.2%;
  padding-left: 2px;
  font-size: 2.2rem;
  font-weight: 700;
}

#pg-newsDetail .news .news-body {
  margin-top: 2.5%;
  padding-bottom: 4%;
  border-bottom: 1px solid #d0d0d0;
}
#pg-newsDetail .news .news-body p {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
#pg-newsDetail .news .news-body p + p {
  margin-top: 3%;
}

#pg-newsDetail .more-news {
  margin-top: 1.5%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#pg-newsDetail .more-news .prev .another-link,
#pg-newsDetail .more-news .next .another-link {
  font-size: 1.4rem;
  font-family: "Vollkorn", serif;
  font-style: italic;
}
#pg-newsDetail .more-news .prev .another-link {
  padding-left: 74px;
}
#pg-newsDetail .more-news .prev .another-link::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 62px;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/svg/icon-prev.svg");
}
#pg-newsDetail .more-news .prev .another-link:hover {
  color: #127dd6;
}
#pg-newsDetail .more-news .prev .another-link:hover::before {
  background-image: url("../images/svg/icon-prev-hover.svg");
}
#pg-newsDetail .more-news .next .another-link {
  padding-right: 74px;
}
#pg-newsDetail .more-news .next .another-link::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  width: 62px;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/svg/icon-next.svg");
}
#pg-newsDetail .more-news .next .another-link:hover {
  color: #127dd6;
}
#pg-newsDetail .more-news .next .another-link:hover::after {
  background-image: url("../images/svg/icon-next-hover.svg");
}

/* --------------------------------
 * smart phone
 * -------------------------------- */
@media screen and (max-width: 769px) {
  #news .news {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 6% auto 0;
  }
  #news .news-item {
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid #d0d0d0;
  }
  #news .news-item:not(:first-child) {
    border-left: none;
  }
  #news .news-item .time {
    color: #787878;
  }
  #news .news-item .title {
    margin-top: 15px;
    font-weight: 700;
  }
  #news .news-item .news-text {
    margin-top: 15px;
    line-height: 1.5;
  }
  #pg-news .main-container {
    background-size: cover;
    background-position: center;
  }
  #pg-news .main-container .main-wrapper {
    padding: 4% 4% 60px;
  }
  #pg-news .newsLists .news-body {
    padding: 14px 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #pg-news .newsLists .news-body .release {
    width: 100%;
  }
  #pg-news .newsLists .news-body .title {
    margin-top: 3px;
    width: 100%;
  }
  #pg-news .newsLists .news-body .capton {
    display: block;
    margin-top: 4px;
    line-height: 1.6;
  }
  #pg-news .pager {
    margin: 12% auto 0;
  }
  #pg-newsDetail .main-container {
    background-size: contain;
    background-position: bottom center;
  }
  #pg-newsDetail .main-container .main-wrapper {
    padding: 6% 4% 60px;
  }
  #pg-newsDetail .news .release {
    padding-left: 0;
    font-size: 1.2rem;
  }
  #pg-newsDetail .news .title {
    margin-top: 0.5%;
    padding-left: 0;
    font-size: 1.6rem;
  }
  #pg-newsDetail .news .news-body {
    margin-top: 3%;
    padding-bottom: 10%;
  }
  #pg-newsDetail .news .news-body p {
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  #pg-newsDetail .news .news-body p + p {
    margin-top: 4%;
  }
  #pg-newsDetail .more-news {
    margin-top: 9.4%;
  }
  #pg-newsDetail .more-news .prev,
  #pg-newsDetail .more-news .next {
    position: relative;
  }
  #pg-newsDetail .more-news .prev .another-link,
  #pg-newsDetail .more-news .next .another-link {
    font-size: 1rem;
  }
  #pg-newsDetail .more-news .prev .another-link {
    padding-left: 37px;
  }
  #pg-newsDetail .more-news .prev .another-link::before {
    width: 30px;
    background-image: url("../images/svg/icon-prev-short.svg");
  }
  #pg-newsDetail .more-news .next .another-link {
    padding-right: 37px;
  }
  #pg-newsDetail .more-news .next .another-link::after {
    width: 30px;
    background-image: url("../images/svg/icon-next-short.svg");
  }
  .wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*削除
.page-contents {
	padding-top: 93px;
	position: relative;
}*/

.page-contents .page-head {
  width: 100%;
  height: 330px;
  text-align: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
.page-contents .page-head .wrapper {
  position: absolute;
  top: 30%;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-50%);
  color: #fff;
}

.page-contents .page-head .wrapper .page-title-en {
  font-size: 2.2rem;
  font-family: "Vollkorn", serif;
  font-style: italic;
}

.page-contents .page-head .wrapper .page-title {
  /*250516変更
  margin-top: 12px;
  font-size: 3.8rem;
  font-family: "Noto Sans Japanese", sans-serif;
  font-weight: 400;
  line-height: 1;
  */
  font-family: "Montserrat", sans-serif;
  font-size: 3rem;
  font-weight: bold;
}

/*メイン画像上の文字*/

.page-head {
  position: relative;
  width: 100%;
  height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.page-head .page-title {
  font-size: 30px;
  color: white;
  text-align: center;
  max-width: 1200px;
  padding: 0 40px; /* 左右均等の余白に調整 */
  font-weight: bold;
  text-shadow: 1px 1px 10px #4b2c14;
}

.page-contents .page-container {
  width: 100%;
  position: relative;
}
.page-contents .page-container .Breadcrumbs {
  margin: auto;
  padding: 14px 0;
  width: 960px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}
.page-contents .page-container .Breadcrumbs-item {
  margin-right: 15px;
  z-index: 1;
}
.page-contents .page-container .Breadcrumbs-item:not(:first-child) {
  padding-left: 20px;
  position: relative;
}
.page-contents .page-container .Breadcrumbs-item:not(:first-child)::before {
  content: "/";
  position: absolute;
  left: 0;
}
.page-contents .page-container .Breadcrumbs-item .page-name {
  font-size: 1.3rem;
}
.page-contents .page-container .Breadcrumbs-item .page-name.active {
  color: #bdbdbd;
  pointer-events: none;
}
.page-contents .page-container .Breadcrumbs-item .page-name:hover {
  text-decoration: underline;
}
.page-contents .page-inner {
  margin: auto;
  max-width: 960px;
  position: relative;
}
.page-contents .page-inner.full-width {
  max-width: 100vw;
}
.page-contents .page-inner.full-width .page-main {
  padding: 0 0 0;
}
.page-contents .page-inner.two-column {
  max-width: 972px;
  background-image: url(../images/bg-news.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.page-contents .page-inner.two-column .content {
  margin-top: 4.2%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.page-contents .page-inner.two-column .content-main {
  width: calc(100% - 319px);
}
.page-contents .page-inner.two-column .content-side {
  width: 319px;
}
.page-contents .page-inner .page-main {
  padding: 0 0 120px;
}

/*250528追加*サブタイトル*/
.page-subtitle {
  font-size: 24px;
  margin-top: 2%;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  text-shadow: 1px 1px 10px #4b2c14;
}

/* --------------------------------
 * smart phone
 * -------------------------------- */
@media screen and (max-width: 959px) {
  .page-contents {
    padding-top: 50.48px;
  }
}

@media screen and (max-width: 769px) {
  .page-contents .page-head .wrapper .page-title-en {
    font-size: 1.65rem;
  }
  .page-contents .page-head .wrapper .page-title {
    margin-top: 5px;
    font-size: 2.1rem;
  }
  /*250528追加*サブタイトル*/
  .page-subtitle {
    margin-top: 2%;
    font-size: 1.2rem;
    text-shadow: 1px 1px 10px #4b2c14;
  }
}

.page-contents .page-container .Breadcrumbs {
  display: none;
}
.page-contents .page-inner.two-column {
  max-width: 972px;
}
.page-contents .page-inner.two-column .content {
  margin-top: 7%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.page-contents .page-inner.two-column .content-main {
  width: 100%;
}
.page-contents .page-inner.two-column .content-side {
  margin-top: 9%;
  width: 100%;
}
.page-contents .page-inner .page-main {
  padding: 0 0 60px;
}

/*PROFILE表*/
.wp-block-table th {
  background: #d3d3d3;
  border: solid 1px #fff;
  color: #000;
  padding: 10px;
  font-weight: lighter;
  width: 30vw;
}

.wp-block-table td {
  padding: 10px;
  background: #f5f5f5;
  border: solid 1px #fff;
  width: 70vw;
}

div.lead-inner {
  width: 90%;
  margin: 20px auto;
  line-height: 26px;
}

/*PROFILE表スマホ表示*/
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #fff;
    width: 100%;
  }

  .wp-block-table th,
  .wp-block-table td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

/*メイン画像を細長くトリミング追加*/
.page-head img {
  height: 310px;
  width: 100%;
  object-fit: cover;
}

/* スマホの時、NEWS本文の上にスペースを入れる */
@media screen and (max-width: 769px) {
  .wp-block-media-text > .wp-block-media-text__content {
    margin: 8% 0;
  }
}

/*==================================================
ギャラリーのためのcss
===================================*/
.gallery {
  columns: 4;
  /*段組みの数*/
  padding: 0 15px;
  /*ギャラリー左右に余白をつける*/
}

.gallery li {
  margin-bottom: 20px;
  /*各画像下に余白をつける*/
}

/*ギャラリー内のイメージは横幅100%にする*/
.gallery img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  /*画像の下にできる余白を削除*/
}

/*　横幅900px以下の段組み設定　*/
@media only screen and (max-width: 900px) {
  .gallery {
    columns: 3;
  }
}

@media only screen and (max-width: 768px) {
  .gallery {
    columns: 2;
  }
}

/*========= レイアウトのためのCSS ===============*/
.wrapper {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
/*  
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: #333;
}

a:hover,
a:active {
  text-decoration: none;
}

/*  
h1 {
  text-align: center;
  font-size: 6vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 30px 0;
}

p {
  margin: 0 10px 10px 10px;
  word-wrap: break-word;
}

/*画像を出現させるアニメーションCSS*/

.flipLeft {
  animation-name: flipLeft;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  perspective-origin: left center;
  opacity: 0;
}

@keyframes flipLeft {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }

  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}

/*250516追加トップページボタン*/
.button.button-ghost {
  background-color: #191970;
  display: inline-block;
  min-width: 180px;
  line-height: 48px;
  border-radius: 8px;
  font-family: "Montserrat", sans-serif;
  color: #ffffff;
  font-size: 14px;
  border: none;
}

.button.button-ghost:hover {
  background-color: #1e90ff;
}

.section-buttons {
  text-align: center;
  margin-top: 40px;
}
.wrapper {
  max-width: 100%;
  margin: 60px auto;
}

.section-title {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.section-title::after {
  content: "";
  display: block;
  width: 36px;
  height: 3px;
  background-color: #000000;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

/*250519追加メールフォーム*/

#pg-contact {
  text-align: center;
}
#pg-contact .lead {
  margin-top: 5%;
  font-size: 1rem;
}
#pg-contact .lead strong {
  font-weight: 700;
}
#pg-contact .lead a {
  text-decoration: underline;
}
#pg-contact .lead a:hover {
  color: #127dd6;
}
#pg-contact .form-inner {
  margin: 8% auto 5%;
  width: 75%;
}
#pg-contact .form-inner .contact-form {
  margin: auto;
}
#pg-contact .form-inner .contact-form .input-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  text-align: left;
}
#pg-contact .form-inner .contact-form .input-box:not(:first-child) {
  margin-top: 6.7%;
}
#pg-contact .form-inner .contact-form .input-box .label-area {
  padding: 6px 0;
  width: 25%;
  font-size: 1rem;
}
#pg-contact .form-inner .contact-form .input-box .input-area {
  width: 75%;
  color: #d0d0d0;
  position: relative;
}
#pg-contact .form-inner .contact-form .input-box .input-area input {
  padding: 9px 12px;
  width: 100%;
  font-size: 1.6rem;
  color: #d0d0d0;
  border: 1px solid #d0d0d0;
}
#pg-contact .form-inner .contact-form .input-box .input-area textarea {
  resize: none;
  padding: 9px 12px;
  width: 100%;
  height: 243px;
  font-size: 1.6rem;
  color: #d0d0d0;
  border: 1px solid #d0d0d0;
}
#pg-contact .form-inner .contact-form .input-box .input-area input:focus,
#pg-contact .form-inner .contact-form .input-box .input-area textarea:focus {
  outline: none;
  color: #343434;
  border: 1px solid #127dd6;
  box-shadow: 0 0 1px 0 rgba(18, 125, 214, 0.45);
}
#pg-contact .form-inner .contact-form .input-box .input-area .input-error {
  display: none;
  position: absolute;
  bottom: -30px;
  left: 0;
  color: #c00;
}
#pg-contact
  .form-inner
  .contact-form
  .input-box
  .input-area
  .input-error.wpcf7-not-valid-tip {
  display: block;
}
#pg-contact .form-inner .contact-form .action-box {
  margin-top: 7%;
}
#pg-contact .form-inner .note {
  margin-top: 4%;
}
#pg-contact .form-inner .note small {
  font-size: 1rem;
  line-height: 2.4;
  letter-spacing: 0.2em;
}

/* --------------------------------
 * smart phone
 * -------------------------------- */
@media screen and (max-width: 769px) {
  #pg-contact .lead {
    margin-top: 8.8%;
    font-size: 1.2rem;
  }
  #pg-contact .form-inner {
    margin: 18% auto 0;
    width: 100%;
  }
  #pg-contact .form-inner .contact-form .input-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #pg-contact .form-inner .contact-form .input-box:not(:first-child) {
    margin-top: 6.7%;
  }
  #pg-contact .form-inner .contact-form .input-box .label-area {
    padding: 6px 0;
    width: 100%;
    font-size: 1.6rem;
  }
  #pg-contact .form-inner .contact-form .input-box .input-area {
    width: 100%;
  }
  #pg-contact .form-inner .contact-form .input-box .input-area input {
    padding: 13px 18px;
    font-size: 1.4rem;
  }
  #pg-contact .form-inner .contact-form .input-box .input-area textarea {
    padding: 13px 18px;
    height: 160px;
    font-size: 1.4rem;
  }
  #pg-contact .form-inner .contact-form .input-box .input-area .input-error {
    padding: 0 18px;
    bottom: -20px;
    font-size: 1.1rem;
  }
  #pg-contact .form-inner .contact-form .action-box {
    margin-top: 9%;
  }
  #pg-contact .form-inner .note {
    margin-top: 10%;
  }
  #pg-contact .form-inner .note small {
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 1px;
  }
}

input[type="submit"] {
  text-align: center;
  margin-top: 40px;
  font-size: 14px;
}

input[type="submit"] {
  background-color: #191970;
  display: inline-block;
  min-width: 180px;
  line-height: 48px;
  border-radius: 8px;
  font-family: "Montserrat", sans-serif;
  color: #ffffff;
  font-size: 14px;
  border: none;
}
input[type="submit"]:hover {
  background-color: #1e90ff;
}
input[type="submit"]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: -webkit-linear-gradient(left, #127dd6, #4ec9e5);
  background: linear-gradient(to right, #127dd6, #4ec9e5);
  z-index: -1;
  opacity: 0;
  -webkit-transition: all 0.3s ease 0.2s;
  transition: all 0.3s ease 0.2s;
}

/* PC表示時の文字中央寄せ（少し下へ） */
.swiper-slide .text-wrapper {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center; /* 子要素を中央に配置 */
  justify-content: center;
  gap: 1em;
  text-align: center; /* テキストを中央揃え */
  color: #fff;
  z-index: 2;
  text-shadow: 1px 1px 10px #000;
  max-width: 90%;
  width: 100%; /* 幅を確保 */
  padding: 0 2vw;
  box-sizing: border-box;
}

.swiper-slide .text-wrapper .mainp,
.swiper-slide .text-wrapper .subp {
  margin: 0 auto;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  width: 100%;
}

/* mainp 用フォント調整 */
.swiper-slide .text-wrapper .mainp {
  font-size: clamp(24px, 3vw, 4.5rem);
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  line-height: 1.3;
}
/* subp 用フォント調整 */
.swiper-slide .text-wrapper .subp {
  font-size: 1.3rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/* 幅1365px以下（PC表示が狭くなった場合） */
@media (max-width: 1365px) {
  .swiper-slide .text-wrapper .mainp {
    font-size: clamp(20px, 2.5vw, 3.5rem); /* 最小も中間も少し大きめに */
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }
}

/* 通常のスタイルはそのままに、レスポンシブ対応の追加スタイル */
@media (max-width: 800px) {
  .sp .text-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 5%;
    width: 100%;
    max-width: 100%;
    z-index: 2;
    color: #fff;
    text-shadow: 1px 1px 10px #000;
    box-sizing: border-box;
    overflow-wrap: break-word; /* ✅ 英語対応 */
    word-break: break-word; /* ✅ 英語対応 */
  }

  .swiper-slide .text-wrapper .mainp {
    font-size: clamp(22px, 7vw, 34px); /* モバイルも調整可能 */
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    margin: 0;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .sp .mainp {
    font-size: clamp(22px, 6vw, 30px);
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    margin: 0;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word; /* ✅ ここも必須 */
    overflow-wrap: break-word;
  }

  .sp .subp {
    font-size: clamp(14px, 4.5vw, 20px);
    margin-top: 8px;
    line-height: 1.6;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }
}

/* PCでは .sp を非表示 */
.sp {
  display: none !important;
}
/* SPでは .first-view を非表示 */
.first-view {
  display: none !important;
}

/* 250530追加　TOPへ戻るのCSS */
#page-top {
  position: fixed;
  right: 10px;
  bottom: 30px;
  z-index: 2;
  opacity: 0;
  transform: translateY(150px);
  transition: all 0.3s ease;
}

/* 上に上がる動き */
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(150px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 下に下がる動き */
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(150px);
  }
}

/* 通常時のボタン */
#page-top a {
  display: block;
  width: 150px;
  height: 195px;
  color: #333;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  background: url("http://soneomao.com/wp-content/uploads/2025/06/tophemodoru01main.png")
    no-repeat center;
  background-size: contain;
  position: relative;
}

/* 浮遊アニメーション（クリック後） */
#page-top.floatAnime a {
  width: 150px;
  height: 195px;
  background: url("http://soneomao.com/wp-content/uploads/2025/06/tophemodoru02main.png")
    no-repeat center;
  background-size: contain;
  animation: floatAnime 2s linear infinite;
  opacity: 1;
}

@keyframes floatAnime {
  0% {
    transform: translateX(0);
    opacity: 0;
  }
  25% {
    transform: translateX(-6px);
    opacity: 1;
  }
  50% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(6px);
    opacity: 1;
  }
}

/* Page Topテキスト */
#page-top span {
  position: absolute;
  bottom: -20px;
  right: 20px;
  color: #666;
}
@media screen and (max-width: 768px) {
  #page-top {
    right: 15px;
    bottom: 25px;
    width: 100px;
    height: 100px;
    z-index: 9999; /* 競合防止 */
    position: fixed;
  }

  #page-top a {
    width: 100px;
    height: 100px;
    background-size: contain;
  }

  #page-top.floatAnime a {
    width: 100px;
    height: 100px;
    background-size: contain;
    opacity: 1;
  }

  #page-top span {
    font-size: 0.65rem;
    right: 15px;
    bottom: -18px;
  }
}
