@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ================================================================================================================================ 
 * 共通パーツ
 * ================================================================================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
body{
	font-family: "Zen Old Mincho";
}
h2,h3{
	font-weight:400 !important;
}

.swell-block-fullWide{
	color:#efeceb;
}
div#content {
    padding-top: 0 !important;
	margin-bottom:0;
}
@media(min-width:600px){
	.wp-block-columns {
		gap: 6% !important;
	}
}
/* テキスト----------------------------------------------------------------- */
/* コンセプトタイトル */
h2.concept-title{
	font-size:32px;
}
@media(max-width:599px){
	h2.concept-title{
		font-size:22px;
	}
}

/* セクションタイトル */
h2.section-title{
	font-size:32px;
}
@media(max-width:599px){
	h2.section-title{
		font-size:24px;
	}
}


/*中央揃え------------------------------------------------------------------*/
@media(min-width:600px){
	.txt-center_pc{
	text-align:center !important;
	}
}

/* ボタン ------------------------------------------------------------------*/
/* 予約ボタン */
.fix-btn {
  position: fixed;
  bottom:20px;
  right: 20px; 
  z-index: 9999;  
}
.fix-btn a.swell-block-button__link{
	width: 125px;
    height: 125px;
	padding:1px;
    border-radius: 50%;
	display: flex;
    flex-direction: column;
    gap: .2em;
    justify-content: center;
 }

/* 上に戻るボタン */
.p-fixBtnWrap {
	left: 1rem !important;
	right: auto;
}


/* ================================================================================================================================ 
 * footer
 * ================================================================================================================================ */
div#before_footer_widget{
	margin-top:0 ;
	margin-bottom:0;
}
.l-footer__foot {
    background: #000;
    color: #efeceb;
}

/* ================================================================================================================================ 
 * TOP
 * ================================================================================================================================ */
/* FV ------------------------------------------------------------------*/

.l-header__inner.l-container {
    display: none;
}
@media(max-width:959px){
	.l-header__menuBtn.sp_{
		visibility:hidden;
	}
}


/* Message ------------------------------------------------------------------*/
h2.message-title{
	writing-mode: vertical-rl; 
	text-orientation: upright;     
	letter-spacing: 0.5rem;
	font-size:40px;
	font-weight:400;
}
.message-columns2-txt{
	line-height:2;
}
@media(min-width:600px){
	.message-titleColumn {
		gap: 4rem !important;
		display: flex;
		justify-content: center;
		padding-top: 250px !important;
	}
	
	#message .message-columns2-txt{
		margin-top: -120px !important;
	}
}

/* Course ------------------------------------------------------------------*/
#course button.c-tabList__button {
    background: var(--color_main) !important;
	color: #efeceb;
}
#course .c-tabBody {
    border: 4px solid var(--color_main) !important;
}
@media (max-width: 599px) {
	#course .swell-block-tab{
		padding: 0px;
		border-width: 2px;
	}
	#course .c-tabBody {
		border-width:2px;
	}
}

/* =========================================================
   無限ループアニメーション（整形＆簡素化版）
   * マウスホバーで一時停止
   * .-reverse で反転
   * 600px以上はCSSアニメ、未満は横スクロール＋スナップ
   ========================================================= */

/* ループ用キーフレーム */
@keyframes infinite-loop {
  to { transform: translateX(-100%); }
}

/* ベース */
.infiniteLoop {
	--item-mobile-width: 80vw;   /* スマホ時のアイテム幅 */
	--duration: 50s;             /* アニメーション速度 */
	--gap: 0rem;                 /* アイテム間隔 */
	--item-width:300px;
  /* 動作系（内部用） */
  --play-state: running;
  --direction: normal;
  --flex-direction: row;
}

/* 反転・一時停止 */
.infiniteLoop.-reverse { --direction: reverse; --flex-direction: row-reverse; }
/* .infiniteLoop:hover     { --play-state: paused; } */

/* ラッパーとトラックの基本形（既存のネスト構造を維持） */
.infiniteLoop > * {
  display: flex;
}

.infiniteLoop > * > * > * {
  /* アニメーションさせるトラック */
  display: flex;
  flex-wrap: nowrap !important;
  flex-direction: var(--flex-direction, row);
  gap: var(--gap);
  margin: 0 !important;
  padding-left: var(--gap) !important;
  overflow: hidden;
  transform: translateX(0);
}

.infiniteLoop > * > * > * > * {
  /* リスト（余白のリセット） */
  padding: 0 !important;
}

.infiniteLoop > * > * > * > * > * {
  /* 実アイテム */
  width:var(--item-width);
  margin-inline: auto;
}

/* --- CSSアニメでループ --- */

.infiniteLoop > * > * > * {
    animation: infinite-loop var(--duration) linear infinite both;
    animation-direction: var(--direction);
    animation-play-state: var(--play-state);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
 }
@media (max-width: 599px) {
  .infiniteLoop {
    --item-width: 180px;
  }
}

/* パララックス ------------------------------------------------------------------*/

/* .swell-block-fullWide {
  background-size: cover;
  background-position: center center; 
  background-repeat: no-repeat;
}

@media (min-width: 960px) {
  .swell-block-fullWide.-fixbg {
    background-attachment: fixed;
  }
} */

