@charset "utf-8";
/*
Theme Name: LBC
Theme URI: https://labisboccia-club.tokyo/
Author: LEMONA DESIGN
Author URI: https://labisboccia-club.tokyo/
Description: A custom theme for LBC website.
Version: 1.0
License: GNU General Public License v2 or later
License: Proprietary (see license.txt for more information)
Text Domain: GiFT
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
#content {
  padding: 0px;
  min-height: 100vh;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
  font-family: "Spectral SC", serif;
}
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  height: auto;
  vertical-align: top;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input { /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select { /* 1 */
  text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"], [type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */ ::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
figure {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: .05em;
  text-align: justify;
  font-size: 16px;
  font-weight: 300;
  background: #d8d1c5;
  padding-top: 80px;
  text-align: justify;
  overscroll-behavior: none;
  line-height: 1.6;
}
body.home {
 padding-top:0;
}
.translated-ltr body{
	text-align:left;
}


h1, .h1 {
  font-size: 1.75em; /* 28px */
  margin-top: 1.5em; /* 上のマージンをさらに広げる */
  margin-bottom: 1em; /* 下のマージン */
  font-weight: 600;
  line-height: 1.2;
	 font-family: "Spectral SC", serif;
}
h2, .h2 {
 
	  font-size: 1.5em; /* 24px */
  margin-top: 1.5em;
  margin-bottom: 1em;
  font-weight: 600;
  line-height: 1.25;
	 font-family: "Spectral SC", serif;
}
h3, .h3 {

	 font-size: 1.25em; /* 20px */
  margin-top: 2.5em;
  margin-bottom: 1em;
  font-weight: 600;
  line-height: 1.3;
	 font-family: "Spectral SC", serif;
}
h4, .h4 {
 
	 font-size: 1.1em; /* 17.6px */
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-weight: 600;
  line-height: 1.35;
}
h5, .h5 {
 
	 font-size: 1em; /* 16px */
  margin-top: 1.5em;
  margin-bottom: 0.73em;
  font-weight: 600;
  line-height: 1.5;
}
h6, .h6 {
  font-size: 1em; /* 16px */
  margin-top: 1.5em;
  margin-bottom: 0.67em;
  font-weight: 600;
  line-height: 1.6;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong{font-weight: 500;}
/* フレックスボックスコンテナの設定 */
.row {
  display: flex;
  flex-wrap: wrap; /* コンテンツが多すぎる場合は折り返し */
  margin-right: -2%;
  margin-left: -2%;
}
.row.wide {
  display: flex;
  flex-wrap: wrap; /* コンテンツが多すぎる場合は折り返し */
  margin-right: -40px;
  margin-left: -40px;
}
.row.tite {
  display: flex;
  flex-wrap: wrap; /* コンテンツが多すぎる場合は折り返し */
  margin-right: -10px;
  margin-left: -10px;
}
/* 全ての列のベーススタイル */
[class*="col_"] {
  position: relative;
  width: 100%;
  padding-right: 2%; /* 右のパディング */
  padding-left: 2%; /* 左のパディング */
  flex-basis: 0; /* フレックスアイテムの初期幅を0に設定 */
  flex-grow: 1; /* 空いているスペースをフレックスアイテムで埋める */
  max-width: 100%; /* 最大幅を100%に設定 */
  display: flex;
  align-items: stretch;
}
.wide [class*="col_"] {
  position: relative;
  width: 100%;
  padding-right: 40px; /* 右のパディング */
  padding-left: 40px; /* 左のパディング */
  flex-basis: 0; /* フレックスアイテムの初期幅を0に設定 */
  flex-grow: 1; /* 空いているスペースをフレックスアイテムで埋める */
  max-width: 100%; /* 最大幅を100%に設定 */
}
.tite [class*="col_"] {
  /* position: relative; */
  /* width: 100%; */
  /* padding-right: 10px; */ /* 右のパディング */
  /* padding-left: 10px; */ /* 左のパディング */
  /* flex-basis: 0; */ /* フレックスアイテムの初期幅を0に設定 */
  /* flex-grow: 1; */ /* 空いているスペースをフレックスアイテムで埋める */
  /* max-width: 100%; */ /* 最大幅を100%に設定 */
  flex-direction: column;
}
/* Default styles for all devices */
.col_1 {
  flex: 0 0 8.33%;
  max-width: 8.33%;
}
.col_2 {
  flex: 0 0 16.66%;
  max-width: 16.66%;
}
.col_3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col_4 {
  flex: 0 0 33.33%;
  max-width: 33.33%;
}
.col_5 {
  flex: 0 0 41.66%;
  max-width: 41.66%;
}
.col_6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col_7 {
  flex: 0 0 58.33%;
  max-width: 58.33%;
}
.col_8 {
  flex: 0 0 66.66%;
  max-width: 66.66%;
}
.col_9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col_10 {
  flex: 0 0 83.33%;
  max-width: 83.33%;
}
.col_11 {
  flex: 0 0 91.66%;
  max-width: 91.66%;
}
.col_12 {
  flex: 0 0 100%;
  max-width: 100%;
}
/* Tablet (tb) styles */
@media (max-width: 1024px) {
	body{
		 font-size: 15px;
	}
	.tb_hide{
	display:none!important;}
	
  .tb_1, .col-md-1 {
    flex: 0 0 8.33%;
    max-width: 8.33%;
}

.tb_2, .col-md-2 {
    flex: 0 0 16.66%;
    max-width: 16.66%;
}

.tb_3, .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.tb_4, .col-md-4 {
    flex: 0 0 33.33%;
    max-width: 33.33%;
}

.tb_5, .col-md-5 {
    flex: 0 0 41.66%;
    max-width: 41.66%;
}

.tb_6, .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.tb_7, .col-md-7 {
    flex: 0 0 58.33%;
    max-width: 58.33%;
}

.tb_8, .col-md-8 {
    flex: 0 0 66.66%;
    max-width: 66.66%;
}

.tb_9, .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.tb_10, .col-md-10 {
    flex: 0 0 83.33%;
    max-width: 83.33%;
}

.tb_11, .col-md-11 {
    flex: 0 0 91.66%;
    max-width: 91.66%;
}

.tb_12, .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

}
/* Smartphone (sp) styles */
@media (max-width: 768px) {
	body{
		 font-size: 14px;
	}
	.sp_hide,
	.sm_hide{
	display:none!important;}
	
  .sp_1, .col-sm-1 {
    flex: 0 0 8.33%;
    max-width: 8.33%;
}

.sp_2, .col-sm-2 {
    flex: 0 0 16.66%;
    max-width: 16.66%;
}

.sp_3, .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.sp_4, .col-sm-4 {
    flex: 0 0 33.33%;
    max-width: 33.33%;
}

.sp_5, .col-sm-5 {
    flex: 0 0 41.66%;
    max-width: 41.66%;
}

.sp_6, .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.sp_7, .col-sm-7 {
    flex: 0 0 58.33%;
    max-width: 58.33%;
}

.sp_8, .col-sm-8 {
    flex: 0 0 66.66%;
    max-width: 66.66%;
}

.sp_9, .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.sp_10, .col-sm-10 {
    flex: 0 0 83.33%;
    max-width: 83.33%;
}

.sp_11, .col-sm-11 {
    flex: 0 0 91.66%;
    max-width: 91.66%;
}

.sp_12, .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
}


	
.wp-block-columns{
	flex-direction:column;
}
	
}
ul {
  list-style: none; /* デフォルトのリストスタイルを無効化 */
  padding: 0; /* デフォルトのパディングをリセット */
  margin: 1em 0; /* デフォルトのマージンをリセット */
}
ul.line li, ol.line li {
  border-bottom: solid 1px #ddd;
  padding-top: 10px;
  position: relative;
  padding-bottom: 10px;
  line-height: 1.5;
}
ul.line li:last-child, ol.line li:last-child{
	border-bottom:none;
}

.dot li {
  padding-left: 20px;
  position: relative;
  padding-bottom: 10px;
  line-height: 1.5;
}
.dot li:before {
  content: "-";
  position: absolute;
  left: 0;
}
.container {
}

/* 小さいデバイス向けのスタイル */
@media (max-width: 1200px) {
  .container {
  }
}
@media (max-width: 1024px) {
  .menu {
    display: none !important;
  }
  .container {
    /* max-width: 720px; */ /* 992px未満では720pxの最大幅 */
  }
}
@media (max-width: 768px) {
  .container {
    /* max-width: 540px; */ /* 768px未満では540pxの最大幅 */
  }
}
@media (max-width: 576px) {
  .container {
    max-width: 100%; /* 576px未満では画面幅にフィット */
     /* 右のパディングを調整 */
     /* 左のパディングを調整 */
  }
}
.nav-home {
  display: none;
  opacity: 0;
}
.menu-target{
  display:flex;
  align-items:center;
  flex-direction:row;
  gap:40px;
  justify-content: end;
  padding: 0 5vw 3vw;
  position: relative;
  z-index: 10;
}

.menu-target a {
  text-decoration: none;
  color: #fff;
  padding: 20px 0px 5px; /* パディングを調整 */
  /* margin: 0 15px; */
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
}
.menu-target a::after {
  bottom: 12px;
}



/* ホバー時のスタイル */
.menu-target a:hover::after {
  width: 100%; /* アンダーラインを100%の幅に */
}
/* after疑似要素で下線を作成 */
.menu-target a::after {
  content: ''; /* 内容は空 */
  position: absolute; /* 絶対位置 */
  bottom: -1px; /* 下から1pxの位置 */
  left: 0; /* 左から0 */
  width: 0; /* 幅0から始める */
  height: 2px; /* 下線の厚さ */
  background-color: #fff; /* 下線の色 */
  transition: width 0.3s cubic-bezier(0, 0, 0.18, 0.99); /* トランジションで動きをつける */
  z-index: 1001;
}
/* リンクにフォーカスされた時も同様のスタイルを適用 */
.menu-target a:focus::after {
  width: 100%;
}






.concept-wrapper {
  position: relative;
  font-size: 16px;
  font-weight: 600;
}
.concept-wrapper a {
  text-decoration: none;
  color: #222;
  text-decoration: none;
}
.concept {
  line-height: 16px;
}
a {
  text-decoration: none; /* 下線を消す */
  color: #900; /* リンクの色 */
  position: relative; /* 位置を相対位置に設定 */
  /* overflow: hidden; */ /* はみ出した部分を非表示 */
  cursor: pointer;
  transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
  cursor: pointer;
}
/* ホバー時のスタイル */
header a:hover::after {
  width: 100%; /* アンダーラインを100%の幅に */
}

.nav-list a::after,
.nav-side a::after{
  content: ''; /* 内容は空 */
  position: absolute; /* 絶対位置 */
  bottom: -1px; /* 下から1pxの位置 */
  left: 0; /* 左から0 */
  width: 0; /* 幅0から始める */
  height: 1px; /* 下線の厚さ */
  background-color: #900; /* 下線の色 */
  transition: width 0.3s cubic-bezier(0.22, 0.22, 0.09, 0.99); /* トランジションで動きをつける */
  z-index: 1001;
}
.nav-list a.current::after,
.nav-side a.current::after{
  width: 100%; 
}
/* リンクにフォーカスされた時も同様のスタイルを適用 */
header a:focus::after {
  width: 100%;
}
.nav-home {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-home a {
  color: #222;
  line-height: 32px;
}
.nav {
  padding: 0 24px;
}
.nav-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.open {
  cursor: pointer;
}
.close {}


.char {
  transform: translateY(100px);
  transition: transform 0.5s;
}
.menu-toggle {
  cursor: pointer;
  position: fixed;
  right: 22px;
  top: 20px;
}
.pager {
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
}
.site-container {
	display:flex;
}
.container p {}
.navbar {
  transition: all 0.5s ease;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  height: 100vh;
  width: 380px;
  flex-direction: column;
  z-index: 100;
}
.navbar.navbar-hidden{
	top: -120px;
}
.fixed-header{
  position: fixed;
  top: 0;
  background: #d8d1c5;
  background: rgba(215,209,198,.7);
  width: 100vw;
  z-index:100;
  padding: 12px 24px;
  backdrop-filter: blur(5px);
  /* height: 74px; */
  }


.navbar-inner {
  display: flex;
  align-items:center;
  justify-content: space-between;
  flex-direction: row;
}

.navbar-container {}



.navbar-left, .navbar-right {
  flex: 1;
  display: flex;
  justify-content: end;
}
.logo {
  position: relative;
  z-index: 1001;
  padding: 12px 0;
  /* left: 5vw; */
  /* background: #eee; */
  /* overflow: visible; */
  /* top: -20px; */
  margin: 0;
}
.logo a{
	overflow:visible;
}
.logo img {
  /* position: relative; */
  /* top: 0px; */
  transition: width 0.5s ease, top 0.3s ease; /* トランジションを追加 */
  width: 210px;
}

.page-template-page-front .logo-large img {
 width: 19vw;
 max-width: 260px;
	
}
.page-template-page-front .logo{
	/* min-height:200px; */
	/* line-height: normal; */
	/* background: #ddd; */
	overflow: visible;
}
.page-template-page-front .navbar-scrolled .logo img, .page-template-page-front .navbar-hidden .logo img {
  /* width: 140px; */
  /* top: 45px; */
}


.profile-header {
    width: 92vw;
    max-width: 900px;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    top: 80px;
    position: relative;
}

.cover-photo {
    width: 100%;
    height: 400px;
    position: relative;
    overflow: hidden;
}

.cover-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85); /* 少し暗くする */
}

.user-profile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
     /* カバー写真に少し重なるように */
}
.mobile-menu .user-profile{
	margin-bottom:40px;
}
.mobile-menu .user-profile .user-info {
	/* flex-direction:column; */
	/* justify-content: left; */
}
.mobile-menu .user-profile .user-info img{
	/* width:80px; */
	/* height:80px; */
	margin-bottom:10px;
}


.user-info img {
    border-radius: 50%;
    border: 2px solid #fff;
    width: 48px;
    height: 48px;
    object-fit: cover;
}

.user-info span {
    color: #333;
    margin-left: 12px;
}


.login-container {
    width: 100%;
    text-align: center;
    position: absolute;
    z-index: 10000;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.login-container .inner{
	 width:300px;
	 text-align: left;
	 background-color: rgba(0 ,0 ,0 ,0.25);
	 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	 border-radius: 8px;
	 padding: 20px;
	 backdrop-filter: blur(15px);
}

.login-container .logo img {
    width: 260px;
    height: auto;
    margin-bottom: 16px;
    max-width: 100%;
}

.login-container p {
    margin: 8px 0;
    color: #ffffff;
}

.login-container form p {
    margin: 12px 0;
    display: inline-block;
    width: 100%;
}

.login-container label {
    display: inline-block;
    font-size: 14px;
    color: #ffffff;
    margin-bottom: 8px;
}

.login-container input[type="text"],
.login-container input[type="password"] {
    width: 100%;
    padding: 8px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.login-container input[type="submit"] {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    background-color: #900000;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 8px;
}

.login-container input[type="submit"]:hover {
    background-color: #b20000;
}

.login-container a {
    display: inline-block;
    margin-top: 12px;
    font-size: 14px;
    color: #ffffff;
    text-decoration: none;
}

.login-container a:hover {
    text-decoration: underline;
}
.password-c{
	position:relative;
}
#password {
  padding-right: 40px; /* アイコン分の余白を追加 */
}

#togglePassword {
  position:absolute;
  right:0px;
  top: 7px;
  background: none;
  border: none;
  cursor: pointer;
  color: #222222;
}
@media screen and (max-width: 1024px) {
.navbar-inner {
}
	
	
}

@media screen and (max-width: 768px) {


	
    .cover-photo {
        height: 180px;
    }

    .user-info img {
        /* width: 64px; */
        /* height: 64px; */
    }

    .user-info span {
        font-size: 14px;
    }
}



@media (min-width: 1601px) {
.navbar-container {
		max-width: 1600px;
  margin: auto;
	}
.logo {
  /* left: 0vw; */
}
}


@media(min-width:1025px) {
.page-template-page-front .logo-large{
	top:40px;
}
}


@media(min-width:1024px) {
	#menuToggle {
		display:none;
}

}
@media(min-width:768px) {
		.button-reserve{
		display:none;
	}
}


.button-reserve{
	position:fixed;
	bottom:32px;
	right:20px;
	font-family:"Spectral SC", serif;
	z-index:100;
}
.button-reserve a{
	color:#990001;
	padding:10px 20px;
		background:#990001;
	color:#fff;
}
.button-reserve a:hover{
	background:#990001;
	color:#fff;
}

@media(max-width:1024px) {
		header .user-profile {
		display:none;
	}
  .page-template-page-front .logo img {
    width: 17vw;
    top: 10px;
    min-width: 120px;
  }
}
.logo a:after {
  display: none;
}
* {
  box-sizing: border-box;
}
.menu.fixed {
  transform: translateY(0%);
  height: auto;
  max-height: 100vh;
  overflow-y: auto;
}
.open + .menu {
  transform: translateY(0%);
}
.close + .menu {
  transform: translateY(-100%);
}
#menuToggle {
  cursor: pointer;
  z-index: 10000000;
}
main h1 {
}
main p {
  margin: 0 0 1rem 0;
  text-align: justify;
  line-height: 1.62;
}
#footer {
  padding: 0;
  /* background: #d1221a; */
  position: relative;
  font-size: 13px;
  /* color: #fff; */
  width: 100%;
  min-height: 120px;
}
#footer a {
  color: #111;
}
#google_translate_element a {
  color: #111;
}
#google_translate_element a:after {
  display: none;
}
#footer .social{
	display:flex;
	font-size: 30px;
	gap:20px;
	align-items:center;
	justify-content:center;
}
#footer .social .twitter{
	font-size: 35px;
}

.nav-footer{
	font-size: 12px;
	display:flex;
	gap:20px;
	position:absolute;
	bottom: 40px;
	margin: 0;
	right: 30px;
}
.nav-footer{
	white-space:nowrap;
}
address{
font-style:normal;
}

#copyright {
  text-align: center;
  display: inline-block;
  left: 50px;
  bottom: 41px;
  position: absolute;
  font-size: 10px;
}

#copyright.home {
	position:fixed;
	bottom: 15px;
	right: 18px;
	z-index:1;
	color: rgb(255 255 255 / 60%);
	left:auto;
	padding: 0;
}


/* 最初の画像コンテンツのみ初期状態で表示 */
.content-img:first-of-type img {
  opacity: 1;
}
/* 2番目以降の画像コンテンツは非表示に */
.content-img:nth-of-type(n+2) img {
  opacity: 0;
}
/* スマホ表示用の基本スタイル */
.content-img {}
/* PC表示用のスタイルを調整 */
@media (max-width: 768px) {	
	
	#footer{
		display:flex;
		flex-direction:column;
		height:auto;
		padding:8vw;
	}
						   #copyright{
							   position:static;
							   padding:20px 0;
						   }

						   .nav-footer{
							   position:static;
							   padding:20px 0;
							   flex-wrap:
								   wrap;
							   justify-content: left;
							   }
						      .nav-footer li{
								  width:50%;
								  text-align: left;
								 }
	
						  }

@media (min-width: 769px) {

  .content {
    padding: 0;
    display: flex;
    /* flex-direction: column; */
    /* align-items: end; */
    /* width: 100%; */
    position: relative;
    background: #fff;
    margin: 0 2vw;
    padding: 20px;
    border-radius: 10px;
  }
  .content-img {
    position: fixed;
    top: 0%;
    left: 0;
    max-width: 50%; /* 適切なサイズに設定 */
    /* 画面の高さに合わせる */
    z-index: 1; /* テキストより前面に */
    padding: 4%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50%;
  }
  .content-img img {
    max-height: 700px;
  }
  .content-text {
    position: relative;
    /* テキストコンテンツを右側に配置 */
    z-index: 5;
    width: 50%;
  }
}






.split {
  display: flex;
  align-items: center;
  position: relative;
  margin: 10px 0;
}
.split:before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #ddd;
  position: absolute;
  left: 50%;
}
.split-left {
  width: 50%;
  padding: 20px 40px;
  position: relative;
}
.split-left img {
  margin: 40px 0;
}
.split-right {
  width: 50%;
  padding: 0 40px;
  position: relative;
}


.images-block{
	display:flex;
	gap:2vw;
}
.images-block .image{
	 flex: 1;
	 overflow: hidden;
}

.images-block .text{
	font-size: 12px;
	margin: 0.5em 0 1em;
}

 .menu-container {
            display: flex;
            justify-content: space-between;
            /* max-width: 900px; */
            margin: auto;
            background: #fff;
            padding: 6vw;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            width: 100%;
        }
  .menu-container   .column {
            width: 48%;
	  gap:20px;
        }
 .menu-container h2{
	 margin-bottom: 20px;
	 width: 100%;
	}
 .menu-container h3{
	 margin: 0px 0 -10px;
	 width: 100%;
	 color: #a2a2a2;
	}

.menu-container ul{
	margin-top:0;
	width: 100%;
}
.menu-container ul li{
	padding: 6px 0;
	line-height: 1.2;
}


@media screen and (max-width: 900px) {
	.menu-container{
	flex-direction: column;
	}
  .menu-container   .column {
      width: 100%;
      gap: 0px;
      }
.images-block{
		flex-direction:column;
}}

@media screen and (max-width: 768px) {
 
  #menu-gnavi {
    /* display: flex; */
    /* flex-direction:column; */
    /* align-items: baseline; */
    /* justify-content: center; */
    height: 100vh;
    /* position: fixed; */
    /* top: 0; */
    /* bottom: 0; */
    padding: 100px 0 0 0;
  }
  #menu-gnavi li {}
  .sub-menu {
    right: 0;
    top: 0;
    position: absolute;
  }
  header .logo {
    /* position: absolute; */
    /* left: 4vw; */
    /* transform: translateX(0%); */
    /* min-width: 100px; */
    /* z-index: 10000; */
    width: 70%;
  }
  .menu {
    background-color: #ffffff;
    color: #111;
    position: fixed;
    top: 0;
    z-index: 1000;
    height: 100vh;
    display: flex;
    flex-direction: column;
    width: 160px;
  }
  .nav-list {
    list-style: none;
    padding: 0px;
    margin: auto;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 700;
    width: 100%;
    /* overflow: auto; */
  }
  .nav-list a {
    text-decoration: none;
    color: #111;
    padding: 10px 20px;
    margin: 0;
    /* width: 100%; */
    /* display: block; */
  }
  .nav-list a:hover {
    /* background: #fff; */
  }
  .nav-list li {
    margin: 0;
    width: 100%;
    display: flex;
    padding: 0;
  }
  .sub-menu {
    padding: 0;
    /* margin: 0 0px 0 -20px; */
    width: 100%;
    /* background-color: #e7d7d7; */
    color: #111;
    position: fixed;
    /* top: 50%; */
    z-index: 1000;
    height: 100vh;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    /* width: 100%; */
    left: 100%;
    /* transform: translateY(-50%); */
    padding: 100px 0 0 0;
  }
  .nav-link:hover .sub-menu {
    /* display: block; */
  }
  .sub-menu .nav-link {
    /* padding: 12px 20px; */
    margin: 0;
  }
  .sub-menu {
    max-height: 0;
    overflow: hidden;
    /* transition: max-height 0.3s ease-out; */
  }
  .nav-link:hover > .sub-menu {
    /* display: block; */
    /* max-height: 500px; */
    /* font-weight: 400; */
    background: #fff;
    width: 200px;
  }
}






.mobile-menu {
  display: none; /* 初期状態で非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1000;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: auto;
  align-items: baseline;
  padding: 5vw;
  background: #d8d1c5;
  background: rgba(215,209,198,.9);
  backdrop-filter: blur(5px);
}
.mobile-menu.open {
  display: flex; /* トグル時に表示 */
}
@media screen and (min-width: 768px) {
  .menu-toggle {
    display: none;
  }
}
.menu {
}
.nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  font-size: 15px; /* メニューアイテムの文字サイズを大きく */
  line-height: 1.5;
  font-weight: 800;
  gap: 30px;
  flex-direction: row;
}
.nav-list a{
	  color: #111;
	font-family:"Spectral SC", serif;
}

.navbar a {
  text-decoration: none;
  color: #111;
  font-weight: 700;
  line-height: 1;
  white-space:nowrap;
}
.nav-list a::after {
  bottom: 0px;
}
.sub-menu {
  position: absolute;
  background-color: #f5f3ed;
  min-width: 200px;
  list-style: none;
  padding: 10px 0;
  margin-top: 10px;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  /* border-radius: 0 0 10px 10px; */
}
.sub-menu a::after {
  height: 1px; /* 下線の厚さ */
  bottom: 15px;
}
.nav-link:hover > .sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.sub-menu .nav-link {
  padding: 10px 20px;
  margin: 0;
}
.mobile-menu .nav-list {
    flex-direction: column;
    gap: 0px;
    align-items: baseline;
}
.mobile-menu .nav-list li {
    margin: 0;
}
.mobile-menu .nav-list li .sub-menu{
    left: 170px;
    margin-top: -40px;
}
.mobile-menu .nav-list li a{
    padding: 10px 0;
}

.mobile-menu .nav-sub a{
	color:#111;
	display:inline-block;
	padding:8px 0;
	font-size:13px;
}

.mobile-menu .nav-list a::after {
  bottom: 11px;
}

#content.dimmed {
  transition:opacity 0.4s ease;
  opacity: 0.5;
  background: #e7e2db;
}
/* バーガーメニューのベーススタイル */
.menu-toggle {
  cursor: pointer;
  width: 30px; /* ボタンの幅 */
  height: 30px; /* ボタンの高さ */
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  transition: transform 0.3s ease; /* ホバー時の動きの基本 */
}
/* バーガーラインのスタイル */
.burger-line {
  background-color: #000; /* ラインの色 */
  height: 2px; /* ラインの高さ */
  width: 100%; /* ラインの幅 */
  transition: transform 0.3s ease; /* アニメーションの適用 */
}
.menu-toggle .burger-line:first-child, .menu-toggle .burger-line:last-child {
  width: 80%;
  transform: translateX(4px);
}
/* ホバー時のアニメーション */
.menu-toggle:hover .burger-line:first-child, .menu-toggle:hover .burger-line:last-child {
  width: 100%;
  transform: translateX(-4px); /* 1, 2番目のラインが右に動く */
}
.menu-toggle:hover .burger-line:nth-child(2) {
  width: 80%;
}
/* メニュー開閉時のアニメーション */
.menu-toggle.open .burger-line:first-child {
  transform: translateY(8px) rotate(45deg); /* 1番目のラインが回転して下に */
  width: 100%;
}
.menu-toggle.open .burger-line:last-child {
  width: 100%;
}
.menu-toggle.open .burger-line:nth-child(2) {
  transform: translateX(-4px);
  opacity: 0; /* 2番目のラインが透明に */
  width: 80%;
}
.menu-toggle.open .burger-line:last-child {
  transform: translateY(-12px) rotate(-45deg); /* 3番目のラインが回転して上に */
}
/* パンくずリスト */
#breadcrumbs {
  list-style: none;
  padding: 0vw 5vw 1vw;
   /* 適切なフォントサイズで調整 */
  line-height: 1.5; /* 高さのズレを防ぐため行間を設定 */
  margin: auto;
  max-width: 1600px;
  right: 0;
  /* position: absolute; */
}
#breadcrumbs li {
  display: inline;
  margin-right: 5px;
  position: relative;
  padding-right: 20px; /* アイコンのスペースを確保 */
  line-height: 1;
  font-size: 11px;
  color: #555;
}
#breadcrumbs li:not(:last-child)::after {
  content: ">";
  color: #555; /* 矢印の色 */
  position: absolute;
  right: 5px; /* 右端に配置 */
  top: 3px; /* 項目と同じ高さに設置 */
}
#breadcrumbs li a {
  color: #555;
}
#breadcrumbs li a:hover {}
/* このページをシェア */
.share-this-page{
	display:flex;
	justify-content:center;
}
.share-this-page button {
  color: #111;
  border: none;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 11px;
  margin: 4px 2px;
  cursor: pointer;
  border-radius: 40px;
  background: #eee;
  font-weight: 500;
}
.content-footer {
  padding: 0px 2px 0;
  /* border-top: 1px solid #eee; */
  margin: 50px 0;
  display: flex;
  justify-content: end;
  align-items: center;
}
#content a:hover::after, #content a:focus::after {
  opacity: 1; /* ホバー時に下線を表示 */
}
#content .slideshow a:after {
}
.wp-block-media-text {
  display: grid;
  grid-template-columns: 40% auto;
  align-items: center;
  gap: 20px; /* お好みで隙間を調整 */
}
.wp-block-media-text__media img {
  width: 100%;
  height: auto;
}
.wp-block-media-text__content {
  display: block;
}
.table-wrapper {
            overflow-x: auto;
            position: relative;
            padding-bottom: 1em;
            /* margin-right: -8vw; */
        }
.table-wrapper table{
	width:auto;
}

.table-wrapper td{
	white-space:nowrap
}

.scroll-hint {
            display: none;
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            background-color: rgba(0, 0, 0, 0.5);
            color: white;
            padding: 5px;
            border-radius: 50%;
            font-size: 20px;
            z-index: 10;
        }
  @media (max-width: 768px) {
            .scroll-hint {
                display: block;
            }
        }

table {
  border-collapse: collapse;
  line-height: 1.4;
  font-size: 15px;
  /* width: 100%; */
}
table td{
	/* background:#f8f8f8; */
}
table th {
  text-align: left;
  line-height: 1;
  padding: 4px 10px;
}

table tbody th {
  text-align: left;
	 border-bottom: 1px solid #ccc;
  line-height: 1;
	white-space:nowrap;
}
table tbody th:last-child{
	 border-bottom:none;
}


table td {
  padding: 15px 8px;
	
}
table.hover tr:hover {
  background: #fff;
}
table thead th {
  border-bottom: 2px solid #333; /* ヘッダーの下線を濃く表示 */
  font-size: 11px;
  white-space: nowrap;
}
table tbody td {
  border-bottom: 1px solid #ccc; /* ボディの行に薄い横線を入れる */
}
table tbody tr:last-child th,
table tbody tr:last-child td{
  /* border-bottom: none; */ /* 最後の行の下線を消す */
}


dl {
	margin: 3rem 0;
	width: 100%;
	display: grid;
	grid-template-columns: 30% 70%;
}

dl dt, dl dd {
	padding: 36px 8px 10px;
	margin: 0;
	border-bottom: solid 1px #b7b1b0;
	display: flex;
	align-items: center; /* 中央揃えで高さを統一 */
	position: relative;
	text-align: left;
	position: relative;
}

.column{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:36px;
}

#contact_form {
    width: 100%;
    /* max-width: 800px; */
    margin: 0 auto 40px;
    /* padding: 20px; */
    box-sizing: border-box;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.row.center {
	justify-content:center;
}

.row dt {
    width: 30%;
    margin-right: 0px;
    display: flex;
    align-items: center;
    justify-content: left;
}

.row dd {
    width: 70%;
    margin: 0;
}

input[type="text"],
input[type="email"],
textarea {
    max-width: 100%!important;!importan;!importa;!import;!impor;!impo;!imp;!im;!i;!;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

textarea {
    resize: vertical;
}

.red {
    color: #a00;
    margin-left: 5px;
    font-size: 14px;
}

.mwform-tel-field input {
    width: calc(33% - 10px);
    margin-right: 5px;
    margin-bottom: 10px;
}

#contact_submit {
    text-align: center;
    margin-top: 20px;
}

#contact_submit input[type="submit"] {
    padding: 10px 20px;
    font-size: 18px;
    border: 1px solid #ccc;
    background-color: #f5f5f5;
    border-radius: 4px;
    cursor: pointer;
}

#contact_submit input[type="submit"]:hover {
    background-color: #e0e0e0;
}

@media (max-width: 768px) {
    .row dt, .row dd {
        width: 100%;
        margin-bottom: 10px;
    }

    .mwform-tel-field input {
        width: calc(100% - 10px);
    }

	.mw_wp_form dl{
	display: flex;
	flex-direction: column;
	width: 100%;
	}
	.mw_wp_form dl dt{
    border: none;
    width: 100%;
}
	.mw_wp_form dl dd{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    padding: 0px 8px 20px;
    overflow: hidden;
}
	body .mw_wp_form .error{
		position: static!important;
	}
}






.mw_wp_form span.red{
	font-size:.7rem;
	margin-left:.5rem;
	color: #d1221a;
	padding:.2rem;
	font-weight:300;
	border-radius: 2px;
	white-space: nowrap;
}
/* 線 */
.line-container:first-child{
	margin-top:0;
}
.line-container {
  width: 100%;
  height: 20px;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  top: 30px;
  margin-top: 3em;
}
.line-container .line {
  width: 120px;
  height: 4px;
  background-color: #d1221a;
  transform: scaleX(0);
  transform-origin: left center;
}

.fade-left {
  opacity: 0;
  transform: translateX(-100px); /* 左から右への移動 */
  transition: opacity 1s ease, transform 1s ease;
}

.fade-left.visible {
  opacity: 1!important;
  transform: translateX(0)!important; /* 最終位置に戻る */
}

.fade-right {
  opacity: 0;
  transform: translateX(100px); /* 右から左への移動 */
  transition: opacity 1s ease, transform 1s ease;
}

.fade-right.visible {
  opacity: 1!important;
  transform: translateX(0)!important; /* 最終位置に戻る */
}


/* ------------------------------------ */
/* アコーディオンの基本スタイル */
ul.accordion {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

ul.accordion > li {
  margin-bottom: 10px;
  border-radius: 5px;
  background: #f9f8f7;
}

ul.accordion > li h4 {
  cursor: pointer;
  background-color: #eee9e0;
  margin: 0;
  padding: 10px;
  border-radius: 4px;
}

ul.accordion > li h4:hover,
ul.accordion > li.collapsable h4 {
  background: #ffd6d6;
}

ul.accordion ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  max-height: 0; /* 開始時は高さ0 */
  overflow: hidden; /* 内容が隠れるようにする */
  transition: max-height 0.5s ease-in-out; /* トランジションの効果 */
}

ul.accordion ul li {
  padding: 10px;
}

ul.accordion dl {
  display: grid;
  grid-template-columns: 20% 1fr; /* dtを20%、ddを残りに */
  grid-gap: 0px; /* dtとddの間に余白を作成 */
  margin: 0;
  padding: 0;
}

ul.accordion dt {
  text-align: left;
  padding: 5px;
  box-sizing: border-box; /* 余白が幅に影響しないようにする */
  width: auto;
  margin: 0;
}

ul.accordion dd {
  margin: 0;
  padding: 10px 5px;
  box-sizing: border-box;
  width: auto;
}

dl.row .center {
  text-align: center;
}

ul.accordion dl dt:last-of-type,
ul.accordion dl dd:last-of-type{
	border-bottom:none!important;
}
 
/* アコーディオンの展開状態 */
ul.accordion li.collapsable > ul {
  max-height: 500px; /* 高さを大きめに設定し、コンテンツに合わせて伸び縮みする */
}
@media(max-width:768px){
	ul.accordion dt {
		font-size:11px;
	}
}
/* ------------------------------------ */
@media (min-width: 768px) {
  .search-icon {
    cursor: pointer;
    width: 40px; /* アイコンのサイズ */
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
  }
  .search-icon img {
    transition: transform 0.3s ease;
  }
  .search-icon:hover img {
    transform: scale(1.1); /* アイコンのサイズを少し大きくする */
  }
  /* クリック時に表示される検索バー */
  /* 検索コンテナのスタイル */
  .search-container {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 20px;
  }
  /* 検索アイコンのスタイル */
  .search-icon {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: transform 0.3s ease;
  }
  .search-icon:hover {
    transform: scale(1.1);
  }
  /* 検索バーのスタイル */
  .search-bar {
    width: 0;
    overflow: hidden;
    transition: width 0.3s ease;
  }
  .search-bar.active {
    width: 200px; /* 検索バーの幅を調整 */
  }
  .search-form {
    display: flex;
  }
  .search-field {
    border: none;
    padding: 10px;
    width: 100%;
  }
  .search-submit {
    display: none; /* デフォルトの検索ボタンは非表示 */
  }
}
.entry-text .line-container {
  display: none;
}
/* Archive Header */
.archive-header {
  text-align: left;
  margin-bottom: 30px; /* 適度な余白 */
}
.archive-title {
  font-size: 2rem; /* タイトルを強調 */
  font-weight: 700;
  color: #111; /* 高いコントラスト */
  margin-bottom: 5px; /* タイトル下の余白を縮小 */
}
.archive-description {
  font-size: 1rem; /* サブテキストは控えめに */
  color: #555; /* 微妙なグレーで差別化 */
}
/* Post List */
.post-list {
  display: flex;
  flex-direction: column;
  gap: 40px; /* 記事間の余白を適度に確保 */
}
/* Post Article */
.entry-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* テキストは左寄せ */
  gap: 2vw; /* 画像とテキスト間の余白 */
}
.post-thumbnail{
  overflow: hidden; /* 画像がマスクされるようにする */
  flex: 1;
  transition: transform 0.3s ease, opacity 0.3s ease; /* エフェクトを適用 */
  border-radius: 0px;
  object-fit: contain;
  width: 100%;
}
a:hover .post-thumbnail img{
  transform: scale(1.03); /* 10%ほど大きくする */
  opacity: 0.9;
}
a:hover .post-thumbnail.post-thumbnail:before{
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.00);
}
.post-thumbnail img{
  width: 100%; /* 画像はコンテナ幅に合わせる */
  height: auto;
  transition: transform 2s ease, opacity .3s ease; /* ふわっとしたエフェクト */
  margin: 0!important;
  
}
.entry-text {
  text-align: left;
  padding: 0; /* 内側の余白を排除 */
  background: none; /* 背景色を排除 */
  box-shadow: none; /* シャドウを排除 */
}
.entry-title {
  font-size: 1.5rem; /* タイトルを少し強調 */
  font-weight: 600;
  color: #111; /* 高いコントラストで明瞭に */
  margin: 0 0 10px 0; /* 上下に最小限の余白 */
}
.custom-text {
  font-size: 14px; /* 補足テキストは控えめに */
  color: #111; /* ソフトなグレー */
  margin-bottom: 5px; /* 下にわずかな余白 */
}
/* Entry Summary */
.entry-summary {
  font-size: 1rem; /* テキストサイズを統一 */
  color: #333; /* メインテキストも明瞭に */
  margin-top: 10px;
}
/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.pagination a {
  margin: 0 5px; /* 最小限の余白 */
  padding: 5px 10px; /* ボタンをコンパクトに */
  font-size: 1rem;
  color: #0073e6;
  text-decoration: none;
   /* 薄いボーダー */
  border-radius: 0; /* 角丸を排除 */
  transition: background-color 0.2s ease, color 0.2s ease;
}
.pagination a:hover {
  background-color: #0073e6; /* 背景色を付ける */
  color: #fff; /* テキストを白に */
}
/* Responsive Design */
@media (min-width: 768px) {
  .entry-content-wrapper {
    flex-direction: row; /* PCでは横並びに */
    align-items: center;
  }
  .post-thumbnail {
  }
  .entry-text {
    flex: 2;
  }
}
.post-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}
.post-thumbnail-wrapper {
  /* flex: 1; */
  /* margin-right: 20px; */
  /* width: 40%; */
  /* background: #e2dbd0; */
  min-height: 15vw;
}
.post-thumbnail.large img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.post-content-wrapper {
  flex: 2;
  width: 70%;
}
.entry-header {
    padding: 40px 0 20px;
}
.archive .entry-title {
  font-size: 17px;
  margin: 10px 0;
  font-weight: 700;
  color: #333;
  font-weight: 500;
  line-height: 1.5;
  /* display: block; */
  text-align: left;
}
.subtitle{
	color: #888;
	font-size:14px;
}
.entry-meta {
  font-size: 13px;
  /* color: #666; */
}
.post-categories{
	color:#900;
	font-weight:700;
	margin-right:2px;
}
.meta {
	position:absolute;
	top: 0px;
	left: -5px;
	transform: rotate(90deg);
	transform-origin: top left;
	font-family:"Spectral SC", serif;
}
.post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0em 0;
    padding: 1vw;
    background-color: #eee9e0;
    border-radius: 4px;
}

.nav-item {
    flex: 1;
    text-align: center;
}

.nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5em 1em;
    background-color: #f5f3ed;
    color: #111;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-family: "Spectral SC", serif;
}

.nav-button:hover,
.nav-button:focus {
    background-color: #ffffff;
}

.nav-text {
    display: inline-block;
    padding: 0.5em 1em;
    color: #111;
    /* font-style: italic; */
    font-size: 13px;
}

.nav-end {
    color: #999;
}

.category-button {
    /* background-color: #4CAF50; */
    color: #111;
    background: no-repeat;
}

.category-button:hover,
.category-button:focus {
    background-color: #ffffff;
}

.nav-arrow {
    font-size: 1.2em;
    margin: 0 0.3em;
}

.nav-previous {
    text-align: left;
}

.nav-next {
    text-align: right;
}

.no-category {
    color: #999;
}
@media (max-width: 768px) {
	.post-thumbnail-wrapper{
		min-height:40vw;
	}
	.archive .entry-title {
		font-size: 16px;
		margin-top: 0;
		line-height: 1.5;
	}
  .post-layout {
    flex-direction: column;
  }
  .post-thumbnail-wrapper {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .post-content-wrapper {
    text-align: center;
  }
	.entry-meta, .post-categories, .post-date{
		font-size:11px;
		/* color:#999; */
	}
}
.archive-container{
	display:flex;
	padding: 2vw 5vw;
	margin: auto;
}
.archive-container .main{
	width: 100%;
	order: 2;
}

.archive-container .side{
	width:20%;
	position: sticky;
	height: 100%;
	top: 10vw;
}
.single-container{
	display:flex;
	margin: auto;
	max-width:1600px;
	gap: 2vw;
}
.single-container .main{
	background:#fff;
	width: 65%;
}
.single-container .main-inner{
	padding: 0px 4vw;
}

.single-container img{
	max-width:100%;
	margin: 1vw 0;
}

.single-container .side{
	width: 35%;
	position: sticky;
	height: 100%;
	top: 10vw;
	}

/* サイドバー関連記事のスタイル */
.side .news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.side .news-list li {padding: 0;margin: 0;}

.side .news-list li a {
    display: block;
    text-decoration: none;
    color: #333;
    transition: background-color 0.3s ease;
    padding: 0 0 20px 0;
    margin: 0;
}

.side .news-list li a:hover {
}

.side .news-list .post {
    display: flex;
    align-items: center;
    gap: 2vw;
}

.side .news-list .thumbnail {
    width: 25%;
    /* height: 80px; */
    overflow: hidden;
    /* margin-right: 15px; */
    border-radius: 4px;
}

.side .news-list .thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin: 0;
}

.side .news-list .text{
    flex-grow: 1;
    width: 75%;
}

.side .news-list .date {
    font-size: 11px;
    margin-bottom: 5px;
    font-weight: 300;
}

.side .news-list h4 {
    font-size: 1em;
    margin: 0;
    line-height: 1.4;
    font-weight: 400;
    transition: color 0.3s ease;
}

.side .news-list h4:hover {
}

.entry-footer{
padding:4vw 0 0;
	font-size:13px;
	color:#aaa;

	
}
.entry-tags{
		   display:flex;
		   justify-content: left;
		   gap:10px;
		   flex-wrap: wrap;
		   }


.entry-tags a{
	color:#111;
	background:#f5f3ed;
	padding: 5px 10px;
	border-radius:50px;
	white-space:nowrap;
	line-height: 1;
}
@media (max-width: 1024px) {
	.single-container{
		flex-direction:column;
	}
	.single-container .main{
		width:100%;
	}
	.single-container .side{
		width:100%;
		padding: 3vw;
	}
	
}

@media (max-width: 768px) {
	
	.archive-container{
		flex-direction:column;
	}
	.archive-container .main{
		width:100%;
	}
	.archive-container .side{
		position: static;
		width: 100%;
	}
	.post-link{flex-direction:column;}
	
	
}
@media (max-width: 1600px) {
	.single-container{padding:0 5vw;
}}


@media (min-width: 1601px) {
	.archive-container{
		padding: 2vw 5vw;
		max-width: 1600px;
	}

	#breadcrumbs {
  /* padding: 20px 0vw; */
}
	
}


.post-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}
.post-link {
  max-width: 39vw;
  text-decoration: none;
  color: inherit;
  margin-bottom: 2vw;
  flex: 1 1 calc(31.333% - 30px);
}
.post-txt {
  width: 70%;
}
.post-content-wrapper {
  flex: 2;
  width: 70%;
}
.entry-header {
  text-align: left;
}
.entry-title {
  font-size: 1.5rem;
  margin-bottom: 10px;
  font-weight: 700;
  color: #333;
}
.entry-meta {
  /* font-size: 0.9rem; */
  /* color: #666; */
  padding: 0vw;
  font-family: "Spectral SC", serif;
}
.entry-meta .category{
	margin-right:8px;
	font-weight:700;
}
.entry-meta .date{
	font-weight:normal;
}

.archive-container .entry-meta{
	width: 80%;
}
.archive.main{
	padding: 50px 6vw;
	display: flex;
	gap: 4vw;
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	.archive.main{
		flex-direction:column;
}
  .post-layout {
    flex-direction: column;
  }
.archive-container .entry-meta{
	width: 100%;
}
	.post-link{width:100%;max-width: 100%;}
  .post-thumbnail-wrapper {
    margin-right: 0;
    margin-bottom: 10px;
    width: 100%;
  }
  .post-content-wrapper {
    text-align: center;
  }
}
/* Hover and Scroll Effects */
.no-touch .btn--round:hover:after {
  border-radius: 5px;
  transform: translate(0) scale(1);
}
.no-touch .btn--round:hover > span:before {
  opacity: 0;
  transform: translateY(-2em);
}
.no-touch .btn--round:hover > span:after {
  opacity: 1;
  transform: translate(0);
}
/* Arrow Hover Animations */
.no-touch .btn--arrow-right:hover::before {
  transform: translateX(5px); /* 右方向に動く */
	color:#d1221a
}
.no-touch .btn--arrow-left:hover::before {
  transform: translateX(-5px); /* 左方向に動く */
}
.no-touch .btn--arrow-down:hover::before {
  transform: translateY(5px); /* 下方向に動く */
}
.no-touch .btn--arrow-up:hover::before {
  transform: translateY(-5px); /* 上方向に動く */
}
.space {
  padding: 40px 0;
}
.mT {
  margin-top: 3rem !important;
}
.mB {
  margin-bottom: 3rem !important;
}
.mT0 {
  margin-top: 3rem !important;
}
.mT0 {
  margin-bottom: 3rem !important;
}
.pT {
  padding-top: 3rem !important;
}
.pT0 {
  padding-top: 0 !important;
}
.pB0 {
  padding-bottom: 0 !important;
	}
.taC{
	text-align:center!important;}
.taR{
	text-align:right!important;}
.taL{
	text-align:left!important;}

.container-small{
	max-width: 800px;
	margin-right: auto!important;
	margin-left: auto!important;
	width: 100%;
}

.size-full img,.size-full,.full-width{
	width: 100%!important;!importan;!importa;!import;!impor;!impo;!imp;!im;!i;!;
}

	
.center {
  text-align: center;
}


.page-template-page-front {
  background: #f5f3ed;
}
.page-template-page-front main{
	background:none;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* 通常のレイアウト */
.parallax-section {
  position: relative;
  width: 100%;
  /* background: #fff; */
  padding: 10vw 0px;
  overflow: hidden;
  /* height: 100vh; */
  align-items: center;
  display: flex;
}
.parallax-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 35vw;
  height: 100vh;
  overflow: hidden;
}
.image-container {
  height: 100%;
}
.image-container img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.parallax-content {
  position: relative;
  width: 100%;
  padding: 0 10.9375vw;
}
.parallax-body {
  max-width: 1250px;
  margin: 0 auto;
  padding-top: 0;
  position: relative;
  z-index: 1;
}
.parallax-text-wrap {
  padding-left: 40%;
}
.parallax-text-body .text-description {
  line-height: 1.8;
  margin-bottom: 1rem;
  padding-right: 6em;
}
@media(max-width:768px){
	.parallax-text-body .text-description{
		padding-right:0;
	}
}
/* reverse-layoutクラスを持つ場合 */
.reverse {
  display: flex;
  flex-direction: row-reverse; /* レイアウトを逆に */
}
.reverse .parallax-image-wrap {
  left: auto;
  right: 0; /* 画像を右に配置 */
}
.reverse .parallax-text-wrap {
  padding-left: 0;
  padding-right: 40%; /* テキストを右側に配置 */
}
/* スマホ表示用 */
@media screen and (max-width: 768px) {
.parallax-section {
	flex-direction:column;
}
  .parallax-text-wrap {
    padding-left: 0;
    padding-top: 2rem;
  }
  .parallax-image-wrap {
    position: relative;
    width: 100%;
    height: auto;
    height: 50vh;
  }
  .parallax-body {
    padding-top: 0;
  }
  .parallax-content {
    background: #f5f3ed;
  }
  /* reverse-layout時もスマホ表示では縦並びにする */
  .reverse {
    flex-direction: column;
  }
  .reverse .parallax-text-wrap {
    padding-right: 0;
  }
}
/* パララックスコンテナのスタイル */
.parallax-wrapper {
  position: relative;
  overflow: hidden; /* 画像のオーバーフローを隠す */
  height: 100%; /* スライドと同じ高さに合わせる */
}
/* パララックス画像のスタイル */
.parallax-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%; /* 画像の幅を大きくしてパララックス効果を強調 */
  height: auto;
  transform: translate(-50%, -50%); /* 中央に配置 */
  will-change: transform;
}
/* スライドのスタイル */
.slideshow-swiper .swiper-slide {
  overflow: hidden; /* 親要素で画像をマスク */
}

.slideshow-img {
    width: 100vw;
    height: 90%;
    overflow: hidden;
  }
.home .slideshow-img{
	 height: 90%;
}
.logged-out .slideshow-img{
	 height: 100%;
}

.slideshow-swiper .swiper-slide img {
  width: 100vw;
  height: 100vh;
  /* display: block; */
  transform: scale(1.1); /* 初期状態を110%に設定 */
  transition: transform 15s ease-out; /* 15秒でズームアウト */
}

/* アクティブなスライドの画像にズームアウトを適用 */
.slideshow-swiper .swiper-slide-active img {
  transform: scale(1); /* アクティブなスライドではズームアウト */
}

/* 非アクティブなスライドのリセット */
.slideshow-swiper .swiper-slide:not(.swiper-slide-active) img {
  transform: scale(1.1); /* 切り替え時にズームイン状態を維持 */
}

/* Swiperの全画面表示スタイル */
.slideshow-swiper {
  width: 100vw; /* ビューポートの幅全体 */
  height: 100vh; /* ビューポートの高さ全体 */
}

.slideshow-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 90%;
}
.home .slideshow-swiper .swiper-slide {
	 height: 100%;
}

.slideshow-caption{
		max-width:100%;
	width: 50%;
	overflow:hidden;
	position:absolute;
	z-index:1000;
	bottom:0;
	right:0;
}
.slideshow-caption-inner{
	background: #fff;
	background: rgb(255 255 255 / 70%);
	
	backdrop-filter: blur(5px);
	max-width:100%;
	position:relative;

}
.slideshow-caption a,
.slideshow-caption h3{
	color:#111;
	margin:0;
	padding:0;
	font-size:16px;
	width:100%;
	position:relative;
	padding: 1.5vw;
	width:100%;
	display:block;
}
.slideshow-caption a:before{
	content:"〉";
	color:#900;
	position:absolute;
	right: -0px;
	top:40%;
	transition: right 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.slideshow-caption a:hover:before{
	right:-6px;
}

/* ズームアウトアニメーション */
@keyframes zoomOut {
  0% {
    transform: scale(1.1); /* 初期状態 */
  }
  100% {
    transform: scale(1); /* 最終状態 */
  }
}
@media(max-width:1024px) {
  
.slideshow-text h1 {
    font-size: 30px;
  }

.bg {
    top: 40px;
  }

.slideshow-text{
    left: 3vw;
    bottom: 10%;
  }
}
@media(max-width:768px) {

	.slideshow-caption a:before{right: -30px;}
.slideshow-caption a:hover:before{right: -36px;}
	
	
	.slideshow-img,
	.slideshow-swiper .swiper-slide{
		height:60%;
	}
	.slideshow-caption{
		width:80%;
	}
	.slideshow-caption-inner{
	
		padding:20px 40px 20px 20px;
	
	}
.slideshow-caption a,
.slideshow-caption h3{
		font-size:14px;
	}
	.slideshow-swiper .swiper-slide img{
		height:100%;
	}

	
  #home-slideshow .slideshow-text h1 {
    font-size: 20px;
  }
}
.fade {
  opacity: 0; /* 初期状態は非表示 */
  transition: opacity 1s ease-in-out; /* 1秒かけてフェードイン */
}



.banner-main .post-title {
  padding: 15px 20px 20px 20px;
}
.banner-main a {
  color: #111;
  font-size: 16px;
  display: block;
}
.banner-main img {
  margin-bottom: 0px;
  border-radius: 8px;
}
.highlight-post {}
.highlight-post a {
  display: block;
}
.highlight-post .post-title {
  padding: 8px 4px 18px 4px;
  font-weight: 400;
}
@media (max-width: 1024px) {
  .c-home-news .inner {
    flex-direction: column;
  }
  .banner-main {
    width: 100%;
    order: 2;
  }
  .latest-news {
    width: 100%;
    order: 1;
  }
}
.c-swiper-container {
  overflow: hidden;
}
.swiper-container {
  width: 90vw;
  padding: 0px 0;
  position: relative;
  overflow: visible;
  padding: 0px 6vw;
}
.swiper-container .swiper-wrapper {
  padding: 6vw 4vw;
  width: 100%;
}
/* スライドのスタイル */
.swiper-container .swiper-slide {
  /* スライドの背景色 */
  display: flex;
  align-items: center;
  justify-content: center;
  /* スライドの枠線 */
  /* 角を丸める */
  padding: 0px;
  box-sizing: border-box;
}
.swiper-container .highlight-post a {
  color: #111;
  line-height: 1.5;
}
/* .topics-swiper-container 内のサムネイル画像のスタイル */
.swiper-container .post-thumbnail {
  width: 100%;
  object-fit: cover; /* 画像をスライド内で適切に調整 */
  margin-bottom: 2px;
  position: relative;
  border-radius: 8px;
}
.swiper-container .post-thumbnail:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.04);
  pointer-events: none;
}
/* 次へ/前へボタン */
.slideshow-controls {
  top: 0;
  position: absolute;
  height: 100%;
  width: 96vw;
  /* z-index: 31; */
  margin-left: -3vw;
  overflow: visible;
  background: #fff;
}
.button-next, .button-prev {
  width: 5vw;
  height: 100%;
  /* background-size: 20px 20px; */
  /* background-repeat: no-repeat; */
  background-position: center;
  background-color: #f5f3ed;
  border: none;
  cursor: pointer;
  margin: auto;
  display: flex;
  color: #d1101c;
  position: absolute;
  top: 0;
  z-index: 100;
  align-items: center;
  display: flex;
  justify-content: center;
  font-size: 30px;
}
.button-next i, 
.button-prev i {
  transition: all 0.3s;
}
.button-next:hover i {
  margin-left: 10px;
}
.button-prev:hover i {
  margin-right: 10px;
}
.button-next.swiper-button-disabled:hover i, .button-prev.swiper-button-disabled:hover i {
  margin: 0
}
.swiper-button-disabled {
  color: #ddd;
}
.button-next {
  right: -1vw;
}
.button-prev {
  left: -3vw;
}
.button-next:hover, .button-prev:hover {
  /* background-color: rgba(0, 0, 0, 1); */
}
/* ページネーション（ドット）のスタイル */
.topics-swiper-pagination {
  margin-top: 10px;
}
.topics-swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #ddd;
  opacity: 1;
  margin: 0 5px;
  border-radius: 50%;
}
.topics-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #333;
}
.c--swiper-container {
  overflow: hidden;
  background: #f8f8f8;
}







.c-banner{
	padding: 4vw 5vw 0vw;
	background: #eee9e0;
	margin: auto;
}
.c-banner .row{
	max-width: 1400px;
	margin:auto;
	/* padding: 0 2vw; */
}
.banner{
	background:#fff;
	border-radius: 8px;
	overflow: hidden;
	align-items: stretch;
	width: 100%;
	object-fit: cover;
	position: relative;
	transition: transform 0.3s ease, opacity 0.3s ease; /* エフェクトを適用 */
	margin: 0 0 4vw 0;
}
.banner-text{
	font-weight: 400;
	padding: 5%;
	line-height: 1.5;
	margin: 0;
}
.banner:hover img{
  transform: scale(1.03); /* 10%ほど大きくする */
  opacity: 0.9;
}
banner:hover :before{
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.00);
}
.banner img{
  width: 100%; /* 画像はコンテナ幅に合わせる */
  height: auto;
  transition: transform 0.3s ease, opacity 0.3s ease; /* ふわっとしたエフェクト */
}

img.fade-left.wp-post-image.visible {}


.page-container{
	display:flex;
	justify-content:space-between;
	flex-direction:row;
	padding: 0px 5vw;
	max-width: 1600px;
	margin: auto;
}

.page-container .main{
	margin-top: -2vw;
	order: 2;
	width: 70vw;
}
.page-container .main.full-width{
	width: 100%!important;
	max-width: 1200px;
	margin: auto;
}
.page-container .main.full-width .main-inner{
	width: 100%!important;!
;
	max-width: 900px;
	margin: auto;
}


.page-container .main-inner{
	padding: 2vw 0;
	/* background: #fff; */
	width: 70vw;
}
.single-service-content .main-inner{
	padding-bottom:1px;
}

.page-container .side{
	width: 30vw;
	padding: 0 4vw 0 0vw;
	position:sticky;
	height: 100%;
	top: 10vw;
}

.side li{
	padding:0 0 20px
}
.side li a{
  text-decoration: none;
  color: #111;
  padding: 5px 0px; 
  margin: 30px 0;
  font-weight: 700;
  line-height: 1.1;
}
.single-category-description{
	padding: 0 0vw 0vw;
}

@media screen and (max-width: 768px) {
  .cta-container {
    flex-direction: column;
  }
  .cta-content {/* justify-content: center; */display: flex;flex-direction: column;align-items: center;}

  .cta-image {
    margin-bottom: 20px;
    margin-right: 0;
  }
}




@media (max-width: 1024px) {

	.page-container.default .side{
	width: 100vw;
}
.page-container.default .main{
	width: 100vw;
}

	
	.page-header .eyecatch.has-one-image .eyecatch2{
    width: 100%;
}
	.page-header{
		flex-direction: column;
		padding: 0 5vw 10vw;
		/* align-items: center; */
	}
	.page-header .text{
		width:100%;
		/* position:static; */
		padding: 5vw 0vw;
		order: 2;
	}
	.page-header .text h1{
		font-size:22px;
	}
	.page-header .eyecatch{
		width:100%;
		top: 0;
	}
	.page-container {
		width:100%;
		position:static;
		display: block;
		padding: 0;
	}
	.page-container .main{
		width: 100%;
		padding: 5vw;
		/* background: #fff; */
	}
	.page-container .main-inner{
		width: 100%;
	}
	
	.page-container .side {
		width:100%;
		padding: 5vw;
	}
	h2{
		font-size:20px;
	}

	h3{
		font-size:17px;
	}
	h4{
		font-size:15px;
	}
	
}

.submit{
	background:#900;
	border:none;
	padding: 20px 20px;
	border-radius:8px;
	color:#fff;
	width: 125px;
}
.submit.back{
	background:#c9c2b6;
	color:#111;
}
.am-cat__wrapper{
	border-radius:0!important;
}
.am-button--default.am-button--primary{
	background:#900000!important;
	border:none!important;
	color:#fff!important;
}
.am-button--default.am-button--secondary{
	background:rgba(0,0,0,0.3)!important;
	border:none!important;
	color:#fff!important;
}

.amelia-v2-booking #amelia-container .am-fcis__mini-info__inner span:before{
color:#900000!important;
}

.am-fcis__info-tab.am-active{
	color:#900000!important;
	border-bottom:solid 2px #900000!important;
	padding:5px 0!important
}


.um-header{
	border-bottom:none!important;
	max-width:300px;
	margin:auto;
					}
.am-fcis__info-service__desc{
	text-align:justify;
}

.slideshow-caption-inner {
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 2s ease, transform 2s ease;
}

.slideshow-caption-inner.active {
    opacity: 1;
    transform: translateX(0);
}

.um a.um-button,.um input[type=submit].um-button{
    background: #900!important;
}
.um a.um-button:hover,.um input[type=submit].um-button:hover {
    background-color: #B00!important;
					}
.um a.um-button.um-alt,.um input[type=submit].um-button.um-alt{
    background: #fff!important;
}
.um a.um-button.um-alt:hover,.um input[type=submit].um-button.um-alt:hover {
    background-color: #fff!important;
					}
.um a.um-link {
    color: #900!important;
					}
			.um-account-side li a.current span.um-account-icon,{
						 color: #900!important;
					}
.am-fcis__header-text .am-fcis__header-name{
	text-align:left;
	
}






/**
 * error message
 */
body .mw_wp_form .error {
	font-size: 13px;
	color: #a00;
	display : block;
	position: absolute;
	top: 16px;
}



/**
 * error message of akismet
 */
body .mw_wp_form .akismet_error {
	display: block;
}

/**
 * vertical style of radio and checkbox
 */
body .mw_wp_form .vertical-item {
	display: block;
}
body .mw_wp_form .vertical-item + .vertical-item {
	margin-top: 5px;
}

/**
 * horizontal style of radio and checkbox
 */
body .mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 10px;
}

/**
 * radio and checkbox
 */
body .mwform-checkbox-field label,
body .mwform-radio-field label {
	font-weight: normal;
	margin-bottom: 0;
}
body .mwform-checkbox-field input,
body .mwform-radio-field input {
	margin-right: 5px;
}

/**
 * datepicker
 */
body .mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
body .mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
	width: 40%;
	margin: 0 5px;
}

/**
 * deprecated message
 */
body .mw-wp-form-deprecated-message {
	background: #fdeeee;
	border: 1px solid #f7bdb8;
	border-radius: 5px;
	color: #af4040;
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 10px;
	padding: 1em;
}

/**
 * file
 */
body .mw_wp_form input[type="file"] {
	display: inline-block;
}

/**
 * file delete button
 */
body .mwform-file-delete {
	cursor: pointer;
	visibility: hidden;
}

/**
 * tel and zip
 */
body .mwform-tel-field input[type="text"],
body .mwform-zip-field input[type="text"] {
	display: inline-block;
	width: auto;
}
::placeholder {
  color: #ccc; 
					}
					
.scroll-text {
	position: absolute;
	bottom: 10%;
	left: 0px;
	text-align: center;
	font-family: Arial, sans-serif;
	color: rgb(255 255 255 / 60%);
	font-size: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1;
	font-family:"Spectral SC", serif;
}

.scroll-text span {
	transform: rotate(90deg);
	margin-bottom: 40px; /* 矢印との間隔を調整 */
}

.scroll-arrow {
	width: 10px;
	height: 10px;
	border-bottom: 2px solid rgb(255 255 255 / 60%);
	border-right: 2px solid rgb(255 255 255 / 60%);
	transform: rotate(45deg);
	animation: downArrow 1s infinite;
}

@keyframes downArrow {
	0%, 100% {
		transform: translateY(0) rotate(45deg);
	}
	50% {
		transform: translateY(5px) rotate(45deg);
	}
}


.am-advsc__slots-item,
.am-advsc__slots-heading,
.congrats-info-app-employee,
.am-fs__congrats-info-app-employee{
	display:none!important;
}
					
					.pagination {
						  font-family: "Spectral SC", serif;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    list-style: none;
}

.pagination a, .pagination span {
    margin: 0 5px;
    padding: 10px 15px;
    text-decoration: none;
    color: #333;
    background: #eee9e0;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.pagination a:hover {
    background: #900;
    color: #fff;
}

.pagination .current {
    font-weight: bold;
    background: #900;
    color: #fff;
}

.contact-phone{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	align-items:center;
}
.phone{
	font-size:40px;
}

#terms-container{
	overflow: scroll;
	background: #e8e2d8;
	height: 50vh;
	padding: 2vw;
	margin-bottom:20px;
}