/* Description: Master CSS file */

/**************************/
/*     General Styles     */
/**************************/
:root {
  --primary: #00a5e3;
  --primary02: #dcdddd;
  --secondary: #8fc31f;
  --gray: #555;
  --gradient: linear-gradient(to right, #0ee951, #00dabf);
}
* {
  outline: none;
  /* outline: 1px solid #e801ff; */
}
/* html {
  margin: 0;
} */
body {
  display: flex; /* フレックスボックスに有効に */
  flex-flow: column; /* 要素を縦に並べる */
  height: 100%;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #555;
  background-color: #fff;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

main {
  flex: 1; /* コンテンツが少ない場合にフレックスで拡張 */
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", "Poppins", sans-serif;
  line-height: 1.5;
}

h1 {
  font-size: 2rem;
  font-weight: 500;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button {
  font-family: "Noto Sans JP", sans-serif;
}

p,
ul,
h4 {
  margin: 0;
  padding: 0;
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  color: var(--secondary);
  text-decoration: none;
}

li {
  list-style-type: none;
}

.aka {
  color: var(--bs-red);
  border-bottom-color: var(--secondary) !important;
}

.ao {
  color: var(--bs-blue);
  border-bottom-color: var(--secondary) !important;
}
.pink {
  color: #ff6b6b;
  font-weight: 600;
}
.moji-kan {
  letter-spacing: 0.085rem;
}
.text-coler-0 {
  color: var(--secondary) !important;
}
.text-coler-1 {
  color: #555;
}
.text-coler-2 {
  color: #fff;
}
.table thead,
td {
  border-color: var(--primary);
}

/* Section Background */
.home,
.info,
.about,
.services,
.plans,
.work,
.contact {
  position: relative;
}

.services,
.work,
.contact,
.footer {
  background-color: var(--primary);
}

.about,
.map,
.testimonial,
.location {
  background-color: #fff;
}
.plans,
.company,
.newslette {
  background-color: var(--primary02);
}

.bottom {
  background-color: var(--secondary);
}

.wh-opt {
  background-color: white;
  opacity: 0.9;
  border-radius: 20px;
}
.footer {
  z-index: 50;
}
/* Gradient Border And Background On Icons
.home_text, */
.home .fas,
.plans .far,
.information .fas,
.work .fas,
.services .fas,
.location .far,
.location .fas {
  padding: 0;
  color: #00a5e3;
}

.footer a,
.footer i.far,
.footer i.fas {
  color: white !important;
}
.navbar-nav a:hover {
  cursor: pointer;
  color: #555 !important;
}

.footer a:hover {
  cursor: pointer;
  color: var(--secondary) !important;
}

.footer a[href*="tel:"] {
  color: white !important;
}
/**********************/
/*     Navigation     */
/**********************/
.navbar {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 0.875rem;
  background-color: white;
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.025);
}

.navbar .navbar-brand {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.navbar .logo-image img {
  width: auto;
  height: 48px;
}

.navbar .logo-text {
  color: var(--gray);
  font-weight: 500;
  line-height: 1rem;
  font-size: 1.35rem;
  text-decoration: none;
}

.offcanvas-collapse {
  position: fixed;
  top: 4.5rem; /* adjusts the height between the top of the page and the offcanvas menu */
  bottom: 0;
  left: 100%;
  width: 100%;
  overflow-y: auto;
  visibility: hidden;
  padding-right: 1rem;
  padding-left: 1rem;
  background-color: #fff;
  transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.offcanvas-collapse.open {
  visibility: visible;
  transform: translateX(-100%);
}

.navbar .navbar-nav {
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
}

.navbar .dropdown-menu {
  border: none;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  background-color: #fff;
}

.navbar .dropdown-item {
  color: #555;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 0.875rem;
  padding-top: 0.625rem;
  text-decoration: none;
  padding-bottom: 0.625rem;
}

.navbar .dropdown-item:hover {
  background-color: var(--primary);
}

.navbar .dropdown-divider {
  width: 100%;
  height: 1px;
  border: none;
  margin: 0.5rem auto 0.5rem auto;
  background-color: var(--primary02);
}

.navbar .nav-item .nav-link {
  color: var(--primary);
  text-decoration: none;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  transition: all 0.2s ease;
}

.navbar .nav-item .nav-link .fa-instagram {
  color: #e801ff;
  font-size: 1.125rem;
}
.navbar .nav-item .nav-link i,
.nav__tel i {
  color: var(--secondary);
}
.navbar .fa-stack {
  width: 2em;
  font-size: 0.75rem;
  margin-right: 0.25rem;
}

.navbar .fa-stack-2x {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#e4a972),
    to(#1e00ff)
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.2s ease;
}

.navbar .fa-stack-1x {
  color: #ffffff;
  transition: all 0.2s ease;
}

.navbar .fa-stack:hover .fa-stack-2x {
  color: var(--primary);
}

.navbar .fa-stack:hover .fa-stack-1x {
  color: var(--primary);
}

.navbar .navbar-toggler {
  padding: 0;
  border: none;
  font-size: 1.25rem;
}

/*.imgLogo:before{
	content:"";
	display: block;
	width:0;
	height:0;
	padding-bottom:16%;
	
}
.imgLogo imgLogochild{
	padding:0;
}*/

/****************/
/*     Home     */
/****************/
.home-slider-section {
  margin-top: 60px;
}

.homeSwiper {
  width: 100%;
  height: 100vh;
}

.homeSwiper .swiper-slide {
  position: relative;
  opacity: 0;
  transition: opacity 1s ease;
  background-size: cover;
  background-position: center;
  height: 100%;
}
/* オーバーレイ */
.swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0; /* top: 0; right: 0; bottom: 0; left: 0; と同じ */
  background: rgba(0, 0, 0, 0.4); /* 黒の透明オーバーレイ */
  z-index: 1;
}
.homeSwiper .swiper-slide-active,
.homeSwiper .swiper-slide-duplicate-active {
  position: relative;
  opacity: 1;
  z-index: 2;
}
.mv__slide1 {
  background-image: url("../assets/images/mv0001.jpg");
  background-size: cover;
  background-position: center top 20%;
}
.mv__slide2 {
  background-image: url("../assets/images/mv0002.jpg");
  background-size: cover;
  background-position: center;
}
.mv__slide3 {
  background-image: url("../assets/images/mv0003.jpg");
  background-size: cover;
  background-position: center top 100%;
}
/* .slide-caption {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2rem;
  text-align: center;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
  z-index: 3;
} */

.slide-caption.vertical-caption {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  position: absolute;
  right: 3vw;
  top: 40%;
  transform: translateY(-40%);
  color: #fff;
  font-size: 1.8rem;
  text-align: left;
  z-index: 3;
  line-height: 2;
  letter-spacing: 0.1em;
  white-space: nowrap;
  padding: 1vw 0.5vw;
  max-height: 90%;
  box-sizing: border-box;
  font-family: serif;
}
.slide-caption.vertical-caption br {
  display: block;
}

/* スマホなど幅が狭いときはレスポンシブで中央・横書き */
@media (max-width: 768px) {
  .slide-caption.vertical-caption {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 1.125rem;
    padding: 8px 12px;
    line-height: 1.8;
    border-radius: 8px;
    width: 90vw;
    max-height: none;
    letter-spacing: normal;
  }
  .slide-caption.vertical-caption br {
    display: block;
  }
}
/* Swiper ページネーション位置調整 */
.homeSwiper .swiper-pagination {
  bottom: 80px !important;
}

.homeSwiper .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  margin: 0 5px !important;
}

.homeSwiper .swiper-pagination-bullet-active {
  background: #ffffff;
}

.para {
  width: 50%;
}

.para-light {
  opacity: 0.9;
}

.para-dark {
  opacity: 1;
}
/***********************/
/*     Information     */
/***********************/
.information {
  padding-top: 50px;
  background-color: var(--primary);
}

.information h2,
.location h2 {
  font-size: 1.25rem;
}

.information .card {
  padding: 20px;
  border-radius: 10px;
  border: 1px solid white;
}

.information .container .row div:first-child {
  background-color: var(--primary);
}

.information .container .row div:last-child {
  background-color: var(--primary);
}

.information .container .row div:nth-child(2) {
  background-color: var(--primary);
}

/******************/
/*     Button     */
/******************/
.btn {
  color: var(--primary);
  border-radius: 30 !important;
  border-width: 2px;
  padding: 10px 30px;
  /*border-image-slice: 1;*/
  background-image: none;
  background: white;
  /*border-image-source: var(--gradient);
	box-shadow: 5px 5px 0px 0px var(--secondary);*/
}

.btn:hover {
  color: #555;
  box-shadow: none;
  border-radius: 30 !important;
  padding: 10px 30px;
  background: #ccc;
  /*transform: translate(5px, 5px);*/
}

/* Email - Newsletter Button */
.btn-secondary {
  color: black;
  border-width: 2px;
  padding: 10px 30px;
  border-image-slice: 1;
  background-image: none;
  background: transparent;
  border-image-source: var(--gradient);
}

.btn-secondary:hover {
  color: black;
  padding: 10px 30px;
  background-image: var(--gradient);
}

/* Other Pages Button */
.btn-other {
  color: white;
  border-width: 2px;
  padding: 10px 30px;
  /*border-image-slice: 1;*/
  background-image: none;
  background: var(--primary);
  /*border-image-source: var(--gradient);
	box-shadow: 5px 5px 0px 0px var(--secondary);*/
}

.btn-other:hover {
  color: var(--gray);
  border-width: 2px;
  border-color: var(--gray) !important;
  padding: 10px 30px;
  background: white;
  /*transform: translate(5px, 5px);*/
}

/********************/
/*     Services     */
/********************/
.services .card {
  padding: 20px;
  border-radius: 0;
  border: 2px solid white;
}

.services .card:hover {
  border: 10px solid;
  transform: scale(1.01);
  border-image-slice: 1;
  border-width: 2px;
  border-image-source: var(--gradient);
  box-shadow: 5px 5px 0px 0px #0ee951;
}

/*****************/
/*     Plans     */
/*****************/
.plans .card {
  padding: 20px;
  border: 2px solid white;
}

/************************/
/*     Testimonials     */
/************************/
.slider-1 {
  padding: 6rem 0;
}

.slider-1 .section-title {
  text-align: center;
}

.slider-1 .h2-heading {
  text-align: center;
  margin-bottom: 3rem;
}

.testimonial-card {
  position: relative;
  width: 250px;
  height: 250px;
  border: 2px solid var(--primary);
  margin: 0 auto;
}

/* 画像に対して指定する class */
.testimonial-card img {
  object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
}

/*-----------------------------------------------------------
  1)  レイアウトの骨組み
-----------------------------------------------------------*/

.slider-container {
  /* ラッパー：矢印用 */
  position: relative;
  overflow: visible; /* ボタンをはみ出させるため */
}

.slider-container .swiper {
  /* ビューポート */
  width: 100%;
  overflow: hidden; /* スライドだけをクリップ */
}
/*-----------------------------------------------------------
2)  スライドと画像
-----------------------------------------------------------*/
.slider-container .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.slider-container .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
}

/* WordPress が勝手に入れた <p> による余白をゼロに */
.slider-container p {
  margin-bottom: 0;
}

/*-----------------------------------------------------------
3)  カスタムナビゲーション
-----------------------------------------------------------*/
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;

  width: 48px;
  height: 48px;
  padding: 0; /* Bootstrap .btn の余白をリセット */
  line-height: 1;

  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.9);
  color: #212529;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

/* 左右位置（はみ出し 24px） */
.slider-prev {
  left: -24px;
}
.slider-next {
  right: -24px;
}

/* ホバー時の色反転（Bootstrap primary に合わせる） */
.slider-prev:hover,
.slider-next:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff !important;
}

/* 矢印アイコンを FontAwesome／Bootstrap Icons 等で入れる場合 */
.slider-prev i,
.slider-next i {
  font-size: 1.25rem;
}
.slider-prev:hover i,
.slider-next:hover i {
  font-size: 1.25rem;
  color: #fff !important;
}
/*-----------------------------------------------------------
4)  レスポンシブ調整
-----------------------------------------------------------*/
/* スマホ (〜767.98px) : ボタンを小さく・内側へ */
@media (max-width: 767.98px) {
  /* セクション全体 */
  .home-slider-section {
    margin-top: 0;
    height: 70vh;
  }

  /* Swiper本体とラッパーも高さ指定 */
  .homeSwiper,
  .homeSwiper .swiper-wrapper,
  .homeSwiper .swiper-slide {
    height: 70vh !important;
  }
  .mv__slide1 {
    background-position: left 40% top 45px !important;
  }
  .mv__slide2 {
    background-position: left 11% top 5% !important;
  }
  .mv__slide3 {
    background-position: right 30% top 60px !important;
  }
  /* キャプションなどテキスト位置・サイズ調整 */
  .slide-caption {
    position: absolute;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
  }
  .homeSwiper .swiper-pagination {
    bottom: 30px !important;
  }
  .homeSwiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
  .slider-1 {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
  .slider-prev,
  .slider-next {
    width: 40px;
    height: 40px;
  }
  .slider-prev {
    left: 8px;
  }
  .slider-next {
    right: 8px;
  }
}

/* 超ワイド (1400px〜) : さらに外側へ出す */
@media (min-width: 1400px) {
  .slider-prev {
    left: -32px;
  }
  .slider-next {
    right: -32px;
  }
}
/* Dropdown Menu */
.navbar .dropdown .dropdown-menu {
  animation: fadeDropdown 0.2s; /* required for the fade animation */
}

@-webkit-keyframes fadeDropdown {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeDropdown {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* Voice */
.voice-section {
  width: 100%;
  background: #f9f9f9;
  padding: 40px 0;
  margin-bottom: 80px;
}

.voice-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 32px;
  color: var(--primary);
  letter-spacing: 0.05em;
}

.voice-inner {
  max-width: 1024px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.voice-illust {
  width: 200px;
  min-width: 120px;
  margin-right: 40px;
}

.voice-illust img {
  width: 100%;
  height: auto;
  display: block;
}

.voice-info {
  flex: 1;
}

.voice-gender-age {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 16px;
  color: var(--gray);
}

.voice-comment p {
  font-size: 1em;
  color: #555;
  line-height: 1.7;
  margin: 0;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .voice-section {
    width: 100%;
    margin: 0 0 60px;
    padding: 0 12px;
  }
  .voice-title {
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-top: 20px;
  }
  .voice-inner {
    flex-direction: column;
    padding: 16px;
    text-align: center;
  }
  .voice-illust {
    margin: 0 auto 24px auto;
    width: 150px;
  }
  .voice-info {
    margin-right: 0;
  }
}
.instagram-gallery--logo img {
  margin-bottom: 1.125rem;
  width: auto;
  max-height: 48px;
  object-fit: cover;
}
/**********************/
/*     Newsletter     */
/**********************/
.form-control-input,
.form-control-textarea {
  width: 100%;
  appearance: none;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.5rem;
  padding-left: 1.5rem;
  padding-top: 0.775rem;
  padding-bottom: 0.775rem;
}

/******************************/
/*     Back To Top Button     */
/******************************/
#myBtn {
  z-index: 99;
  right: 20px;
  width: 52px;
  height: 52px;
  bottom: 20px;
  border: none;
  outline: none;
  display: none;
  position: fixed;
  cursor: pointer;
  border-radius: 50%;
  background-color: #323137;
}

#myBtn:hover {
  background-color: #0f0f11;
}

#myBtn img {
  width: 18px;
  /* margin-left: 0.125rem; */
  margin: 0 auto;
}

/***********************/
/*     Extra Pages     */
/***********************/
.ex-header {
  padding-top: 8rem;
  padding-bottom: 2rem;
  background-color: var(--primary);
}

.ex-header h1 {
  color: #fff;
}
.ex-basic-1 .faq {
  max-width: 1200px;
  margin: 0 auto;
}

.ex-basic-1 .contactimag {
  background-color: #fefefe;
}

.ex-basic-1 .list-unstyled .fas {
  font-size: 0.375rem;
  line-height: 1.625rem;
}

.ex-basic-1 hr {
  border: none;
  border-top: dotted 1px #00a5e3;
}
.ex-basic-1 .list-unstyled .flex-grow-1 {
  margin-left: 0.5rem;
}

.ex-basic-1 .text-box {
  padding: 1.25rem 1.25rem 0.5rem 1.25rem;
  background-color: #f7f9fd;
}

.ex-cards-1 .card {
  border: none;
  background-color: transparent;
}
.ex-cards-1--mw {
  max-width: 920px;
  margin: 60px auto;
}
.ex-cards-1 .card .fa-stack {
  width: 2em;
  font-size: 1.125rem;
}

.ex-cards-1 .card .fa-stack-2x {
  color: var(--secondary);
}

.ex-cards-1 .card .fa-stack-1x {
  width: 2em;
  color: #ffffff;
  font-weight: 700;
  line-height: 2.125rem;
}

.ex-cards-1 .card .list-unstyled .flex-grow-1 {
  margin-left: 2.25rem;
}

.ex-cards-1 .card .list-unstyled .flex-grow-1 h5 {
  margin-top: 0.125rem;
  margin-bottom: 0.5rem;
}

/* FAQ */
.qa-section-title {
  color: #555;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.qa-block {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.q-bubble,
.a-bubble {
  position: relative;
  max-width: 90%;
  padding: 1rem 1.2rem;
  border-radius: 1rem;
  line-height: 1.6;
  font-size: 1rem;
}

.q-bubble {
  background-color: var(--primary);
  align-self: flex-start;
  border-top-left-radius: 0;
  margin-left: 0.5rem;
  color: #fff;
}

.a-bubble {
  background-color: var(--secondary);
  align-self: flex-end;
  border-top-right-radius: 0;
  margin-right: 0.5rem;
  color: #000;
}

.q-label,
.a-label {
  font-weight: bold;
  font-size: 1.5rem;
  margin-right: 0.3em;
  color: #fff;
}

.q-bubble::before {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  border: 10px solid transparent;
  border-right-color: var(--primary);
  border-top: none;
  border-left: none;
  margin-top: 10px;
}

.a-bubble::before {
  content: "";
  position: absolute;
  top: 0;
  right: -10px;
  border: 10px solid transparent;
  border-left-color: var(--secondary);
  border-top: none;
  border-right: none;
  margin-top: 10px;
}

/* 404ページ全体を上下中央に配置 */
.error404 {
  background-color: #f8f8f8; /* 任意の背景色 */
}
/* この内側だけ幅を制限 */
.error404-inner {
  width: 100%;
  max-width: 800px;
  margin: 10rem auto;
  padding: 20px;
}

/* テキストを左寄せ */
.box404 {
  text-align: left;
}

/* 404 テキストのスタイル（任意） */
.box404 h2 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  color: #ff6b6b;
}

.box404 h3 {
  font-size: 1.5rem;
  margin-bottom: 20px;
}

.box404 p {
  font-size: 1rem;
  line-height: 1.8;
}

/* パンくずリスト */

.breadcrumbs {
  /* max-width: 1100px;
  margin: 0 auto; */
  padding: 20px 12px 0 0;
  font-size: 0.875rem;
}

.breadcrumbs a {
  text-decoration: none;
  color: var(--primary);
  transition: 0.3s ease-in-out;
}
.breadcrumbs a:hover {
  color: #ccc;
}
.breadcrumbs span.current {
  color: #555;
}

.badge-required {
  display: inline-block;
  background: #ff6b6b;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  border-radius: 0.7em;
  padding: 0.2em 0.8em;
  margin-left: 0.7em;
  vertical-align: middle;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.form-wrapper {
  max-width: 600px;
  margin: 0 auto;
  padding: 1.5em;
  background: #fafafd;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.form-group {
  margin-bottom: 1.5em;
}
/* ラベルとバッジを横並びに */
.form-label-row {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5em;
  gap: 0.5em;
}
input.form-control,
textarea.form-control {
  width: 100%;
  box-sizing: border-box;
  padding: 0.7em 1em;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  margin-top: 0.2em;
  transition: border-color 0.2s;
}
input.form-control:focus,
textarea.form-control:focus {
  border-color: #00a5e3;
  outline: none;
}
select.form-control {
  appearance: none; /* 標準の矢印を消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><polygon points="0,0 12,0 6,8" style="fill:%23333;" /></svg>')
    no-repeat right 0.75em center;
  background-size: 0.7em auto;
  padding-right: 2em;
  cursor: pointer;
}
.text-center {
  text-align: center;
}
[type="submit"].btn {
  padding: 0.8em 2em;
  background: rgba(0, 166, 227, 0.7);
  border: none;
  color: #fff;
  border-radius: 3em;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s;
}
[type="submit"].btn:hover {
  background: #00a5e3;
}

/* レスポンシブ対応（必要に応じて調整） */
@media (max-width: 599px) {
  .form-wrapper {
    padding: 0.8em;
  }
  .form-label,
  input.form-control,
  textarea.form-control,
  [type="submit"].btn {
    font-size: 0.97em;
  }
  .error404-inner {
    margin: 2.5rem auto;
    padding: 20px;
  }
  .box404 h2 {
    font-size: 2rem;
  }

  .box404 h3 {
    font-size: 1.2rem;
  }

  .box404 p {
    font-size: 0.95rem;
  }
}
/*************************/
/*     Media Queries     */
/*************************/

@media (min-width: 992px) {
  .slider-1 .swiper-container {
    width: 92%;
  }

  .slider-1 .swiper-button-prev {
    left: -16px;
    width: 22px;
    background-size: 22px 34px;
  }

  .slider-1 .swiper-button-next {
    right: -16px;
    width: 22px;
    background-size: 22px 34px;
  }

  /* Navigation */
  .navbar {
    box-shadow: none;
    transition: all 0.2s;
    padding-top: 1.75rem;
    /* background-color: transparent; */
  }

  .navbar.top-nav-collapse {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background-color: white;
    /*		background-color: var(--primary);*/
    box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.025);
  }

  .offcanvas-collapse {
    position: static;
    top: auto;
    bottom: auto;
    left: auto;
    width: auto;
    padding-right: 0;
    padding-left: 0;
    background-color: transparent;
    overflow-y: visible;
    visibility: visible;
  }

  .offcanvas-collapse.open {
    transform: none;
  }

  .navbar .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
  }

  .navbar .nav-link {
    display: flex;
    align-items: center;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    line-height: 1;
    font-size: 0.875rem;
  }

  /* テキストが長くても折り返さない */
  .navbar .nav-link {
    white-space: nowrap;
  }

  .navbar .dropdown-menu {
    padding-top: 0.75rem;
    padding-bottom: 0.875rem;
    box-shadow: 0 3px 3px 1px rgba(0, 0, 0, 0.08);
  }

  .navbar .dropdown-divider {
    width: 90%;
  }

  .navbar .social-icons {
    margin-left: 0.5rem;
  }

  .navbar .fa-stack {
    margin-right: 0;
    margin-left: 0.25rem;
  }
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: var(--primary) !important;
  }
}

@media only screen and (max-width: 540px) {
  h1 {
    font-size: 30px;
  }

  .para {
    width: 100%;
  }

  .swiper-container {
    width: 92%;
  }

  .swiper-button-prev {
    left: -16px;
    width: 22px;
    background-size: 22px 34px;
  }

  .swiper-button-next {
    right: -16px;
    width: 22px;
    background-size: 22px 34px;
  }

  .instgram::after {
    content: " Instgram";
  }
  .ex-header {
    padding-top: 6rem;
  }
}

.pc-only,
.sp-only {
  display: none; /* 初期値で非表示 */
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: block; /* PCサイズで表示 */
  }
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block; /* スマホサイズで表示 */
  }
}
