/*
Theme Name: AMUR
Theme URI:  https://www.wpserveur.net
Author:     AZ MANAGEMENT.,Co.Ltd
Author URI: https://az-create.co.jp/
Template:   swell
Version:    1.0
License:    GNU General Public License v2 or later
*/

/* ===================
ハンバーガーメニュー
====================== */
/* メニューアイコン（デフォルト時） */
.-menuBtn .c-iconBtn__icon {
	width: 24px;
	height: 2px;
	background-color: #fff;
	display: grid;
	place-items: center;
	transition: transform .3s;
	
	&::before,
	&::after {
		grid-area: 1 / 1;
		content: '';
		display: block;
		inset: 0;
		width: 24px;
		height: 2px;
		background-color: #fff;
		transition: transform .3s;
	}
	
	&::before {
		transform: translateY(-8px);
	}
	
	&::after {
		transform: translateY(8px);
	}
}

/* メニューアイコン（オープン時） */
[data-spmenu=opened] {
	
	.-menuBtn .c-iconBtn__icon::before {
		transform: rotate(45deg);
		background-color: #333 !important;
	}
	
	.-menuBtn .c-iconBtn__icon {
		background-color: transparent;
	}
	
	.-menuBtn .c-iconBtn__icon::after {
		transform: rotate(-45deg);
		background-color: #333 !important;
	}
}


/* ボタンラベル */
.l-header__menuBtn .c-iconBtn::after,
.p-spMenu__closeBtn .c-iconBtn::after {
	font-size: 10px;
	line-height: 10px;
	transform: translateY(12px);
}

/* ボタンラベル（開くボタン） */
.l-header__menuBtn .c-iconBtn::after {
/* 	content: 'MENU'; */
}

/* ボタンラベル（閉じるボタン） */
.p-spMenu__closeBtn .c-iconBtn::after {
/* 	content: 'CLOSE'; */
}

/* メニュー */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0)!important;
  opacity: 0;
  transition: opacity .5s ease-out!important;
}

/* メニュー（オープン時） */
[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}

/* 背景色をぼかす */
.p-spMenu__inner::before {
	background: rgb(255 255 255 / .8);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

/* メニューをフェードイン */
.p-spMenu__body {
	opacity: 0;
	transform: translateY(20px);
}

[data-spmenu="opened"] .p-spMenu__body {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 1s ease-in, transform .7s ease-out;
}

/* 既存のメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display:none;
}

/* リンクリストメニュー余白 */
.p-spMenu__body .swell-block-linkList {
	gap: 2em;
}

/* リンクリストメニュー中央寄せ */
.p-spMenu__body .swell-block-linkList__text {
	margin-inline: auto;
}

/* グローバルナビ削除 */
.c-gnav{
	display:none;
}

/* PC版ハンバーガーメニュー */
@media screen and (min-width: 960px) {
	.l-header__menuBtn {
		display: block!important;/*ハンバーガーメニューを表示*/
		right:16px;
    width: fit-content;
    margin: 5px 20px 0 0;
	}
	
.p-spMenu{
		display:block!important;/*ハンバーガーメニューを開いた時の中身を表示*/
	}
	.p-spMenu__inner {
    max-width: 100%;/*ハンバーガーメニューを開いた時の中身の幅を変える*/
    }  
}

/* PC版ハンバーガーメニュー固定 */
.l-header__menuBtn{
	position:fixed;
}


/* ヘッダートップ以外サイズ調整（PC） */
:root {
--logo_size_pc: 60px;
}
@media (min-width: 960px) {
    .top .c-headLogo {
        height:  120px!important;
    }
}

/* -------------------------------全体------------------------------- */
/* パンクズりすと */
#breadcrumb {
	display: none;
}
/* 縦書き */
.vertical-rl {
  writing-mode: vertical-rl;
}
/* border-radius */
.bdr-50 img {
  border-radius: 50px;
}
/* margin */
.mg-05 {
  margin-bottom: 0.5em;
}
.bdr-01 {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding: 5px 0;
  margin-bottom: 15px;
}
/* ------------------------------フッター------------------------------ */
#custom_html-6 .kb-svg-icon-wrap {
  padding: 5px !important;
}
.w-beforeFooter {
  margin: 0em auto 3em;
}
.l-content {
  margin: 0 auto;
}
/* カラムしたぞろえ */
.middle-box {
  margin-top: auto !important;
}

/*------------------------------ TOPページ ------------------------------*/
.mein-01-title {
  position: absolute;
  top: 120px;
  left: 25px;
	z-index: 100;
}
/* TOPメインビジュアル */
.p-mainVisual__textLayer {
  display: flex;
  justify-content: end;
  padding: 0 !important;
}
@media (min-width: 1440px) {
  .p-mainVisual__textLayer {
    justify-content: center;
  }
}

.top-mein-box {
  position: relative;
}
.p-blogParts .top-mein-box {
  margin-top: 50px !important;
}
.top-slider-text {
  position: absolute;
  top: 0;
  z-index: 100;
  margin: 24px 0 0 48px;
}
/* TOPスライダー */
.top .l-parent > :last-child,
.post_content > :last-child {
  margin-bottom: 15px !important;
}
.slider {
  width: 100%;
}

.slider-track {
  display: flex;
  animation: slide 40s linear infinite;
}
.slider-track::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 10000px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0) 60%, #111 90%);
}
.slider-track img {
  width: 350px;
  margin-right: 10px;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (max-width: 960px) {

	#main_visual {
		min-height: 100vh; 
		height: 750px !important;
	}
  .top-slider-text {
    margin: -40px 10px 15px;
  }
	.slider-track {
	  animation: slide 80s linear infinite; /* スライダースピード */
	}
	@keyframes slide {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-400%); 
		}
	}

  /* SP メインタイトル */
  .p-mainVisual__slideTitle {
	  margin-top: 150px !important;
  }

	/* 1. 縦書き全体を囲むブロック (.mein-02-title-sub) の設定を修正 */
	.mein-02-title-sub {
		top: -120px !important;
		/* その他の設定は維持 */
		display: flex !important;
		flex-direction: row-reverse !important;
		position: absolute !important;
		max-height: 55vh !important;
		overflow-y: hidden !important;
		overflow-x: scroll !important;
		-webkit-overflow-scrolling: touch;
	}
	/* 2. 縦書きの p タグ (.vertical-rl) の設定は維持 */
	.mein-02-title-sub .vertical-rl {
		width: max-content;
		margin-left: 10px;
	}
	
/* フルワイドブロック内部のコンテナ設定を調整 */
.swell-block-fullWide__inner {
  /* 通常のコンテナ幅を維持し、中央寄せ */
  margin-left: auto;
  margin-right: auto;
}

/* スマホ表示時の左右パディングを確保 */
  .l-container {
    padding-left: 15px !important; /* 左パディング */
    padding-right: 15px !important; /* 右パディング */
  }

  .swell-block-fullWide__inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* 画像ブロック（メニュー画像や紹介画像など）が左右いっぱいに広がらないように調整 */
  .post_content .wp-block-image {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
    .mein-04 .wp-block-media-text {
      margin-left: 0 !important;
    }

	/* EVENT画像のサイズ調整 */
  .mein-04-title.wp-block-image img {
    width: 80px !important; 
    height: auto !important; 
  }

  .mein-04-title {
    margin-left: 0 !important;
  }

  .mein-greeting-title.wp-block-image img {
    width: 80px !important; 
    height: auto !important; 
  }
	.mein-greeting-title {
		padding-top: 40px !important;
		position: relative; 
		z-index: 1000;
	}
	.mein-greeting-title + .wp-block-media-text {
		position: relative;
		top: -15px;
		margin-top: 0;
	}

	/* メニューページ スマホテーブル調整 */
	.page-id-814 td.has-text-align-right{
		width: 34%;
	}

	/* スケジュールテーブル */
	.schedule-table {
		table-layout: fixed;
		width: 100%;
	}
	.schedule-table tr td:first-child {
		width: 30% !important;
	}
}



/* ------------------------------ヘッダー ------------------------------*/
.w-header {
  align-items: start !important;
  padding-top: 16px;
  padding-right: 60px;
}
#custom_html-7 .kb-svg-icon-wrap {
  padding: 5px !important;
}

.mein-02-title {
  position: absolute;
  top: -150px;
  right: 25px;
}
.mein-02-title-sub {
  position: absolute;
  top: -100px;
  right: 130px;
  height: 95%;
}

.mein-03 {
  margin-top: 120px !important;
}
.mein-03-boxleft {
  position: relative;
}
.mein-03-boxleft .mein-03-text {
  position: absolute;
  width: fit-content;
  right: 0;
  bottom: -50px;
}
.mein-03-boxrigft {
  position: relative;
  position: absolute;
  right: 0;
  top: -200px;
}
.mein-03-boxrigft .mein-03-text {
  position: absolute;
  width: fit-content;
  right: 0;
  bottom: -50px;
}
.mein-03 .title-rigft {
  position: absolute;
  top: -50px;
  left: 30px;
}
.mein-03 .title-left {
  position: absolute;
  top: -50px;
  left: 30px;
}
.mein-greeting-title {
  position: absolute;
  top: -180px;
  right: 15px;
}

.mein-04 {
  margin-top: 100px !important;
}
.mein-04-title {
  position: absolute;
  top: -130px;
  left: 15px;
}
.mein-04 .wp-block-media-text {
  margin-left: 30px;
}
.mein-04 .wp-block-media-text__content {
  background: rgba(0, 0, 0, 0.6);
  padding: 0 50px;
}
/* ------------------------------SP------------------------------ */
/* TOP */

@media (max-width: 960px) {
	.mein-03 .title-left {
    top: 1200px;
	}
	.p-mainVisual__textLayer {
    justify-content: center;
}
} 
@media (max-width: 600px) {
		.p-mainVisual__textLayer {
    justify-content: end;
}
	.mein-02 {
		padding-bottom: 50px!important;
	}
  .mein-02-title-sub {
    right: 0;
    z-index: 100;
  }
  .mein-02-title {
    left: -50%;
  }
  .main-2-left-box {
    margin-top: 13px !important;
  }
  .mein-03 .title-left {
        left: 73.5%;
        top: 580px !important;
  }
	.mein-03 {
    margin-top: 0!important;
}
	.mein-03-textre {
	 position: absolute;
    top: 150px;
    right: 0;
		    border-radius: 10px 0 0 10px;
	}
	.mein-03-textle {
        position: absolute;
        top: 790px;
        left: 0;
        height: max-content;
		 border-radius:0 10px 10px 0;
	}
/* MENU */
	.title-sp {
    margin-bottom: -85px;
	margin-left: 20px;
    position: relative;
    z-index: 100;
}    
	
	.mein-02-title-sub {
		height: max-content;
	}
	}
