@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=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;600;700&display=swap');

body {
  font-size: 15px;
  line-height: 1.7;
  font-family:
    "Helvetica Neue",
    "Helvetica",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Arial",
    "Yu Gothic",
    "Meiryo",
    sans-serif;

  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4,
.page-title,
.menu-section-title,
.point,
.overview-explain,
.treatment .treatment-features .container .title ,
.overview-center-alignment .treatment-features .container .title ,
.lt-content-title ,
.lt-contents,
.bfore-after-container,
.step-list .step,
.p-mainVisual__textLayer,
.tab-list,
.round-btn-rt-arrow,
.content-title,
.menu-category,
.treatment-name,
.clinic-info{
  font-family: "Shippori Mincho", serif;
}

h2,
.menu-section-title .jp,
.worries .lt-contents .title{
  font-weight: 600;
}

h3{
  font-weight: 500;
}

.catch-copy p,
.text-area p,
.text-only p,
.text-area li,
.features-content p{
	font-size: 13px;
	font-feature-settings: "palt";
	line-height: 2.4;
	letter-spacing: .05em;
	margin-bottom: 30px;
}
.flow-container p,
.campaign-list p{
	font-size: 13px;
	font-feature-settings: "palt";
	line-height: 2;
	letter-spacing: .05em;
}

/* ================================================
 *
 * ス マ ホ ハ ン バ ー ガ ー メ ニ ュ ー
 *
 * ============================================= */
.p-spMenu__inner {
	padding: 10vw 0 15vw;
}

.l-header__inner {
	height: 70px;
	background: #f5ece8;
}

.l-header__menuBtn {
	color: #fff;
	border-radius: 100vmax;
	background: #2d2e54;
}

.p-spMenu__body {
	/* メニュー上部のテキストを非表示 */
	& .c-widget__title.-spmenu, .p-spMenu__nav {
		display: none;
	}
	& .hamburger-menu {
		font-family: "Shippori Mincho", serif;
		& h5.link-category {
			margin-bottom: 15px;
			font-size: 3.2vw;
			color: #bdae61;
		}
		& ul.link-item {
			margin-bottom: 30px;
			padding: 0;
			list-style: none;
			border-bottom: 2px solid #2d2e54;
			& a {
				padding: 10px .5em;
				display: block;
				font-weight: 600;
				position: relative;
				&::after {
					content: '';
					width: 0;
					height: 0;
					margin: auto;
					border-top: 6px solid transparent;
					border-right: 0 solid #2d2e54;
					border-left: 9px solid #2d2e54;
					border-bottom: 6px solid transparent;
					box-sizing: border-box;
					position: absolute;
					top: 0;
					bottom: 0;
					right: .5em;
				}
			}
		}
		& ul.banner-slider {
			width: 100%;
			margin-bottom: 30px;
			padding: 0;
			list-style: none;
			display: flex;
			overflow-x: auto;
			li {
				width: 96%;
			  margin-right: 12px;
			  flex-shrink: 0;
				& a img {
					width: 100%;
				}
			}
		}
		& ul.bg-list-item {
			margin-bottom: 30px;
			padding: 20px 17px;
			list-style: none;
			border-radius: 8px;
			background: #fff;
			& a {
				padding: 10px .5em;
				font-weight: 600;
				display: block;
				border-bottom: 1px solid #eee;
			}
		}
	}
}

/* ================================================
 *
 * 投稿 一覧画像下マージン
 *
 * ============================================= */

.archive-panel-item .campaign-list li article a img.attachment-large.size-large{
    margin-bottom: 15px;
}
.archive-panel-item .campaign-list li article a img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image{
    margin-bottom: 15px;
}


/* ================================================
 *
 * 共 通 設 定
 *
 * ============================================= */
img {
	vertical-align: middle;
}

/* f a　d　e
-------------------------------------------------*/	
.fade {
  opacity: 0;
  transition: opacity .45s ease;
}
.fade.show {
  opacity: 1;
}

/* 画像用 */
.fade-up{
  opacity: 0;
  transform: translateY(24px);
  transition:
  opacity 2.2s cubic-bezier(.22,.61,.36,1),
  transform 1.8s cubic-bezier(.22,.61,.36,1);
}
.fade-up.show{
  opacity: 1;
  transform: translateY(0);
}

/* ===== キラッと見出し ===== */
.shine {
  position: relative;
  display: inline-block;

  background: linear-gradient(
    270deg,
    rgba(0,0,0,0) 20%,
    #2d2e54 30%,
    rgba(45,46,84,0.1) 40%,
    #2d2e54 70%
  );
  background-size: 800%;
  background-position: 85% 0;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  opacity: 0;
  transition:
    opacity 1.2s cubic-bezier(.39,.575,.565,1),
    background-position 1.6s cubic-bezier(.4,.32,1,1);
}

/* スクロールで表示されたら */
.shine.show {
  opacity: 1;
  background-position: 30% 0;
}

/* ス マ ホ の み 非 表 示
-------------------------------------------------*/
.hide-sp { display: none; }

.hide-pc { display: block; }

/* ヘ ッ ダ ー 共 通
-------------------------------------------------*/
.c-gnav .menu-item a {
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	color: #2d2e54;
	& .c-smallNavTitle {
		color: #d69a90;
	}
}

/* WEB予約ボタン */
.c-gnav li:last-child a span.ttl {
	padding: 14px 30px;
	color: #fff;
	border-radius: 100vmax;
	background:  #2d2e54;
	&::before {
		content: '\f073';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		padding: 0 7px 0 0;
		color: #bdae61;
	}
}

/* ご 予 約 キ ャ ン セ ル に つ い て(テンプレートパーツ)
-------------------------------------------------*/	
.cancel-policy {
	padding: 20px 1.5em;
	border-top: 1px solid #baaf5a;
	border-radius: 0 0 10px 10px;
	background: #fff;
	& h3 {
		width: 100%;
		margin-bottom: 1em;
		padding-left: 22px;
		font-weight: 600;
		color: #2b2b2d;
		display: inline-block;
		border-bottom: 1px solid #dfe3ea;
		position: relative;
		&::before {
			content: '';
			width: 18px;
			height: 18px;
			background: #baaf5a;
			border-radius: 50%;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			margin: auto;
		}
		&::after {
			content: '';
			position: absolute;
			top: 50%;
			left: 5px;
			width: 6px;
			height: 6px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			transform: translateY(-50%) rotate(45deg);
		}
	}
}

/* 各 ペ ー ジ の ヘ ッ ダ ー 画 像
-------------------------------------------------*/
#page-head {
	width: 100%;
	height: 400px;
	& .page-title {
		max-width: 1200px;
		height: 400px;
		margin: 0 auto;
		color: #fff;
		line-height: 1.2;
		display: flex;
		justify-content: center;
		flex-direction: column;
		& .en {
			font-size: 28px;
			font-weight: 400;
			letter-spacing: .2em;
		}
		& .jp {
			font-size: 18px;
			font-weight: 400;
			letter-spacing: .2em;
		}
	}
}

/* お知らせページのヘッダー画像 */
#page-head.topics {
	background: url('images/page_h_topics.jpg') no-repeat center bottom;
	background-size: cover;
}

/* 記 事 一 覧 系 の ペ ー ジ
-------------------------------------------------*/
.main-container {
	padding: 60px 17px;
	display: grid;
	& .lt-content {
		border-radius: 16px;
		background: #fff;
		& .c-postTitle__ttl {
			color: #2d2e54;
		}
		& .post_content {
			padding-top: 40px;
		}
	}
}

.side-bar {
	& ul.sidebar-campaign {
		display: grid;
		row-gap: 40px;
		& li {
			border-radius: 20px;
			box-shadow: 0 0 8px #ccc;
		}
		& img {
			border-radius: 20px 20px 0 0;
		}
		& .body {
			background: #ede2dd;
			& a {
				padding: .5em;
				font-size: 18px;
				font-weight: 600;
				display: block;
				border-bottom: 1px solid #fff;
				position: relative;
				color: #2d2e54;
				&::after {
					content: '';
					position: absolute;
					top: 0;
					bottom: 0;
					right: 10px;
					width: 0;
					height: 0;
					margin: auto;
					border-top: 6px solid #ede2dd;
					border-right: 0 solid #2d2e54;
					border-left: 9px solid #2d2e54;
					border-bottom: 6px solid #ede2dd;
					box-sizing: border-box;
				}
			}
			& p {
				padding: 1.5em;
				color: #2d2e54;
			}
		}
	}
}

.pagination {
	margin-top: 40px;
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  gap: 6px;
  flex-wrap: nowrap;
  overflow-x: auto; /* スマホで横スクロール */
  padding-bottom: 5px;
}

.pagination a,
.pagination span {
  display: block;
  padding: 8px 12px;
  background: #bdae61;
  text-decoration: none;
  color: #fff;
  border-radius: 4px;
  text-align: center;
  min-width: 36px;
}

/* 現在ページ */
.pagination .current {
  background: #2d2e54;
  color: #fff;
}

/* hover */
.pagination a:hover {
  background: #ccc;
}



/* 左 に 横 線 の コ ン テ ン ツ タ イ ト ル
-------------------------------------------------*/
.lt-content-title {
	margin-bottom: 30px;
	.en {
		font-weight: 600;
		padding-left: 0;
		font-size: 8.5vw;
		color: #2d2e54;
		line-height: 1.3;
		position: relative;
		letter-spacing: 0.15em;
		margin-bottom: 7px;
		&::before {
			content: "";
			width: 11%;
			height: 1px;
			position: absolute;
			top: 25px;
			left: -1.1em;
			background: #2d2e54;
		}
	}
	.jp {
		padding-left: 0;
		font-size: 3vw;
		color: #bdae61;
		letter-spacing: 0.15em;
	}
}

/* 中 央 配 置 の コ ン テ ン ツ タ イ ト ル
-------------------------------------------------*/
.content-title {
	margin-bottom: 35px;
	text-align: center;
	& .en {
		font-size: 8vw;
		color: #2d2e54;
		line-height: 1.2;
	}
	& .jp {
		font-size: 3.6vw;
		color: #bdae61;
	}
}

/* 角 丸 矢 印 ボ タ ン
-------------------------------------------------*/
.round-btn-rt-arrow a { max-width: 240px; width: 100%; margin: 30px auto 0px; font-size: 15px; color: #2d2e54; border: 1px solid #2d2e54; border-radius: 100vmax; display: block; text-align: center; text-decoration: none; position: relative; padding: 12px 0px; } .round-btn-rt-arrow a::before, .round-btn-rt-arrow a::after { content: ""; position: absolute; top: 0; bottom: 0; right: 10px; margin: auto; vertical-align: middle; } .round-btn-rt-arrow a::before { width: 16px; height: 16px; -webkit-border-radius: 50%; border-radius: 50%; background: #f5ece8; } .round-btn-rt-arrow a::after { right: 16px; width: 6px; height: 6px; border-top: 1px solid #2d2e54; border-right: 1px solid #2d2e54; transform: rotate(45deg); }



/* =========================
   ROUND BUTTON HOVER（修正版）
   ========================= */
.round-btn-rt-arrow a{
  transition:
    background-color .25s ease,
    color .25s ease;
}

/* hover時 */
.round-btn-rt-arrow a:hover{
  background: #2d2e54;
  color: #fff;
}

/* 丸背景 */
.round-btn-rt-arrow a:hover::before{
  background: #fff;
  transition: background-color .25s ease;
}

/* ＞ 矢印：背景色にする（重要） */
.round-btn-rt-arrow a:hover::after{
  border-top: 1px solid #2d2e54;
  border-right: 1px solid #2d2e54;
  transition: border-color .25s ease;
}

/* ピ ッ ク ア ッ プ バ ナ ー
-------------------------------------------------*/
.pick-up-banner {
	display: none;
}
/* ハンバーガーメニュー内 */
.hamburger-menu {
	& .banner-list {
		width: 100%;
		margin-bottom: 30px;
		display: flex;
		overflow-x: auto;
		& .banner-item {
			width: 96%;
			margin-right: 12px;
			flex-shrink: 0;
			& a img {
				width: 100%;
				height: auto;
				display: block;
				border-radius: 8px;
			}
		}
	}
}

/* メ イ ン ビ ジ ュ ア ル の コ ピ ー
-------------------------------------------------*/
.p-mainVisual__textLayer {
	justify-content: end;
	text-shadow: none;
}

.p-mainVisual__slideTitle {
	font-size: 4vw;
	font-weight: 600;
	color: #2d2e54;
	text-align: left;
}

.p-mainVisual__slideText {
	margin: 0;
	padding-bottom: 30px;
	font-size: 14vw;
	font-weight: 600;
	color: #2d2e54;
	line-height: 1.2;
	text-align: left;
}


/* ================================================
 *
 * W H A T' S V I S T A  (SP)
 *
 * ============================================= */
#concept-wrap{
  padding: 60px 17px;
  background: url("images/bg_vista.png") repeat;
  background-size: cover;
  background-color: #fff;

}

/* SP：縦並び（まず崩れない形） */
#concept-wrap .concept-inner{
  width: 90%;
  margin: 0 auto;
  padding: 35px 0;
    position: relative;	
}


/* タイトル文字 */
#concept-wrap .catch-copy p:first-child{
  font: 600 4.2vw/1.8 "Shippori Mincho", serif;
}

/* バナー */
#concept-wrap .banner-area{
  width: 90%;
  margin: 0 auto;
}
#concept-wrap .banner-area img{
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* 遅延：HTMLの style="--d:.10s" を使う（既存fade-upに足すだけ） */
.fade-up{
  transition-delay: var(--d, 0s);
}

/* タイトルの上に乗せたい要素があっても文字が負けないように */
#concept-wrap .lt-content-title .en,
#concept-wrap .lt-content-title .jp{
  position: relative;
  z-index: 2;
}

/* ===========================
   ✅ ここからが「SPの位置入れ替え本体」
   =========================== */
@media screen and (max-width: 959px){

  /* タイトルエリアをabsoluteの基準にする */
  #concept-wrap .lt-content-title{
    position: relative;
    overflow: visible;
  }

  /* ✅ SPで女性2枚を右上に出す（今機器がいる場所へ） */
  #concept-wrap .vista-side{
    display: block;         
    position: absolute;
    top: -40px;
    right: -38px;

    width: 140px;
    height: 160px;
    z-index: 1;
  }

  #concept-wrap .vista-side .vista-photo{
    position: absolute;
    margin: 0;
    overflow: hidden;
    border-radius: 5px;
  }

  #concept-wrap .vista-side .vista-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* 後ろ（上） */
  #concept-wrap .vista-side .vista-photo--back{
    top: 0;
    right: 0;
    width: 120px;
    height: 140px;
    z-index: 1;
  }

  /* 前（少し重ねる） */
  #concept-wrap .vista-side .vista-photo--front{
    top: 107px;
    right: 45px;
    width: 120px;
    height: 140px;
    z-index: 2;
  }

  /* ✅ SP：機器を「文字とボタンの間」に出す（HTML側で .vista-device-sp を追加している前提） */
  #concept-wrap .vista-device-sp{
    display: block;
    width: 240px;
    margin: 18px auto 10px;
  }

  #concept-wrap .vista-device-sp img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px;
  }
}

 /* タイトル文字は必ず前 */
  #concept-wrap .lt-content-title .en,
  #concept-wrap .lt-content-title .jp{
    position: relative;
    z-index: 10 !important;
  }

  /* 説明文も前にしたいなら（必要ならON） */
  #concept-wrap .catch-copy{
    position: relative;
    z-index: 10 !important;
  }

  /* 女性2枚は背面へ */
  #concept-wrap .vista-side{
    z-index: 1 !important;
    pointer-events: none; /* タップ/スクロールの邪魔しない */
  }

/* ================================================
 *
 * P I C K  U P
 *
 * ============================================= */
#pick-up {
	& .tab-list {
  	display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: .2em;
		row-gap: 10px;
		& .home-tab-item {
			padding: 10px 0;
			border-top: 4px solid #2d2e54;
			border-radius: 6px 6px 0 0;
			background-color: #2d2e54;
			color: #bdae61;
			text-align: center;
			cursor: pointer;
			transition: .4s ease-in-out;
			& span {
				font-size: 3.2vw;
				color: #FFF;
			}
		}
		& .home-tab-item.is-active {
			display: block;
			color: #2d2e54;
			border-top: 4px solid #2d2e54;
			background: #f7f4f2;
			animation: panel-show .9s ease-in-out forwards;
			& span {
				color: #2d2e54;
			}
		}
	}
	& .panel-list {
		padding: 35px 0;
		background: #f7f4f2;
		& .home-panel-item {
		  width: 94%;
			margin: 0 auto;
		  display: none;
			& ul.campaign-list {
				display: grid;
				row-gap: 1em;
				& .list-item {
					display: flex;
					justify-content: center;
					& .list-images {
						width: 50%;
						height: 100px;
						border-radius: 6px 0 0 6px;
						background: #ccc;
					}
					& .list-text {
						width: 50%;
						font-size: 3.2vw;
						color: #2d2e54;
						display: flex;
						justify-content: center;
						align-items: end;
						border-radius: 0 6px 6px 0;
						background: #f5ece8;
					}
				}
			}
		}
		& .home-panel-item.is-active {
			display: block;
			animation: panel-show .9s ease-in-out forwards;
		}
	}

	/* パネル切り替えのアニメーション */
	@keyframes panel-show {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
}

/* ================================================
 *
 * L A T E S T  W Q U I P M E N T
 *
 * ============================================= */
#medical {
	& .medical-inner {
		width: 90%;
		margin: 0 auto;
		padding: 35px 0;
	}
	& .swiper-container {
		padding-bottom: 30px;
		position: relative;
		& .swiper-slide {
			opacity: .3;
			transform: scale(.7) !important;
			transition: .7s;
			text-align: center;
			& a {
				display: grid;
				justify-content: center;
			}
			& img {
				width: auto;
				height: auto;
			}
			& ruby, ruby rt {
				opacity: 0;
			}
		}
		& .control-btn {
			width: 30%;
			height: 60px;
			margin: 0 auto;
			padding-bottom: 30px;
			position: absolute;
			left: 0; right: 0; bottom: -10px;
		}
		& .swiper-slide-active {
			opacity: 1;
			transform: scale(1) !important;
			z-index: 1;
			& a{
				display: inline-grid;
			}
			& ruby {
				font-weight: 500;
				font-size: 15px;
				line-height: 150%;
				text-align: center;
				letter-spacing: .08em;
				margin-top: 30px;
				opacity: 1;
				color: #2d2e54;
				& rt {
					opacity: 1;
					margin-bottom: 5px;
					font-size: 50%;			
        text-align: center;
				}
			}
		}
	}
}


  /* swiperの中身が伸びても「均等配置」にならないように */
  .equipment-swiper .swiper-wrapper{
    justify-content: flex-start; /* 念のため */
  }

  /* ここがキモ：スライドの幅を固定 */
  .equipment-swiper .swiper-slide.equipment-box{
    width: 260px;     /* 好みで調整（240〜320くらい） */
    flex: 0 0 260px;  /* 念のため */
  }







.swiper-navigation-icon {
	display: none;
}

.swiper-button-prev::before, .swiper-button-prev::after,
.swiper-button-next::before, .swiper-button-next::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 40px;
	margin: auto;
	vertical-align: middle;
}
.swiper-button-prev::before {
	width: 30px;
	height: 30px;
	border-radius: 100vmax;
	border: 1px solid #2d2e54;
	background: #fff;
	right: 2px;
}
.swiper-button-prev::after {
	right: 10px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #2d2e54;
	border-right: 1px solid #2d2e54;
	transform: rotate(-135deg);
}
.swiper-button-next::before {
	width: 30px;
	height: 30px;
	border-radius: 100vmax;
	border: 1px solid #2d2e54;
	background: #fff;
	right: 2px;
}
.swiper-button-next::after {
	right: 15px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #2d2e54;
	border-right: 1px solid #2d2e54;
	transform: rotate(45deg);
}





/* 治 療 機 器 モ ー ダ ル
-------------------------------------------------*/
.equipment-box {
	display: none;
}

.equipment-container {
	display: grid;
	& .equipment-images {
		margin-bottom: 20px;
		text-align: center;
	}
	& .equipment-text {
		& ruby {
			font-size: 4.8vw;
			font-weight: 400;
			color: #2d2e54;
			rt {
				margin-bottom: 5px;
			}
		}
		& ul.efficacy {
			margin-bottom: 10px;
			display: flex;
			& li {
				margin-right: 10px;
				padding: 0 1.2em;
				color: #fff;
				border-radius: 100vmax;
				background: #25289d;
			}
		}
		& .copy {
			margin-bottom: 30px;
			font-weight: 500;
			color: #2d2e54;
		}
		& .detail {
			margin-bottom: 10px;
		}


		& a {
			width: 90%;
			margin: 0 auto;
			padding: 10px 0;
			position: relative;
			display: block;
			border-radius: 8px;
			font-size: 14px;
			color: #2d2e54;
			text-decoration: none;
			text-align: center;
			background-color: #fff;
			&::before {
				content: '';
				position: absolute;
				top: 0;
				bottom: 0;
				right: 20px;
				width: 22px;
				height: 22px;
				margin: auto;
				border-radius: 20px;
				background-color: #eee;
			}
			&::after {
				content: '';
				position: absolute;
				top: 0;
				bottom: 0;
				right: 25px;
				width: 0;
				height: 0;
				margin: auto;
				border-top: 6px solid transparent;
				border-right: 0 solid transparent;
				border-left: 9px solid #333;
				border-bottom: 6px solid transparent;
				box-sizing: border-box;
			}
		}
	}
}


.banner-first {
	padding-top: 40px;
	margin: 0 auto;
	width: 90%;
}
.banner-first img{
	    margin: 60px auto;
}

/* ================================================
 *
 * M E N U
 *
 * ============================================= */
 #menu {
	background: #f9f5f3;
	& .menu-inner {
		width: 90%;
		margin: 0 auto;
		padding: 35px 0;
	}
 }

.menu-category {
	display: grid;
	grid-template-columns: 23% 23% 23% 31%;
	& .category-name {
		color: #2d2e54;
		text-align: center;
		letter-spacing: 0em;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		border-bottom: 2px solid #e0d7d5;
		transition: .4s ease-in-out;
	}
	& .category-name.is-active {
		border-color: #2d2e54;
	}
}

.panel-list {
	& .category-body {
		padding: 25px 0;
		display: none;
		& ul.menu-list {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 10px .5em;
			& li {
				padding: 15px;
				border: 1px solid #e1dacc;
				border-radius: 4px;
				background: #fff;
				position: relative;
				border-radius: 10px;
				& .purpose-wrap {
					margin-bottom: 5px;
					display: flex;
					gap: 5px;
					& span.purpose {
						padding: .3em .8em;
						font-size: 1.5vw;
						color: #fff;
						letter-spacing: -.1em;
						border-radius: 100vmax;
					}
					& .purple {
						background: #ab9dac;
					}
					& .ocher {
						background: #cabd85;
					}
					& .gray {
						background: #ccc;
					}
					& .brown {
						background: #b6a58e;
					}
					& .salmon {
						background: #d6a38f;
					}
					& .rose {
						background: #c9a3a3;
					}
					& .sage {
						background: #9fb7a3;
					}
					& .bluegray {
						background: #9fb3c1;
					}					
				}
				.explain {
					font-size: 1.75vw;
					color: #ab9dac;
				}
				.treatment-name {
					font-weight: bold;
					color: #2d2e54;
					font-size: 2.2vw;
					line-height: 1.5;
				}
			}
			& li::before, li::after {
				content: "";
				position: absolute;
				top: 0;
				bottom: 0;
				right: 40px;
				margin: auto;
				vertical-align: middle;
			}
			& li::before {
				width: 20px;
				height: 20px;
				border-radius: 100vmax;
				background: #f5ece8;
				right: 15px;
			}
			& li::after {
				right: 22px;
				width: 8px;
				height: 8px;
				border-top: 1px solid #2d2e54;
				border-right: 1px solid #2d2e54;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
			}
		}
	}
	& .category-body.is-active {
		display: block;
		animation: panel-show .9s ease-in-out forwards;
	}
	@keyframes panel-show {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
}

/* ================================================
 *
 * C A M P A I G N
 *
 * ============================================= */
#slider {
	margin-bottom: 60px;
	& .swiper {
		width: 96%;
		& .swiper-slide {
			width: 86%;
			& p {
				padding: 5px 2em;
			}
		}
	}
}

/* ================================================
 *
 * T O P I C S
 *
 * ============================================= */
#topics {
	background: #f9f5f3;
	& .topics-inner {
		width: 90%;
		margin: 0 auto;
		padding: 35px 0;
		& ul.topics-list {
			display: grid;
			& li {
				border-top: 1px solid #e0d7d5;
				& .date {
					padding: 2px 1em;
					display: inline-block;
					font-size: 14px;
					color: #fff;
					background: #2d2e54;
				}
				& a {
					padding: 20px 0;
					color: #2d2e54;
					display: block;
				}
			}
			& li:last-child {
				border-bottom: 1px solid #e0d7d5;
			}
		}
	}
	& .round-arrow-btn a {
		max-width: 320px;
		width: 100%;
		margin: 40px auto;
		padding: 10px 2em;
		font-size: 15px;
		color: #fff;
		line-height: 1.2;
		border: 1px solid #2d2e54;
		border-radius: 100vmax;
		display: block;
		text-decoration: none;
		background: #2d2e54;
		position: relative;
		& span {
			font-size: 12px;
			color: #bdae61;
		}
	}
	& .round-arrow-btn a::before,
	& .round-arrow-btn a::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
		vertical-align: middle;
	}
	& .round-arrow-btn a::before {
		width: 16px;
		height: 16px;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		background: #fff;
	}
	& .round-arrow-btn a::after {
		right: 16px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #2d2e54;
		border-right: 1px solid #2d2e54;
		transform: rotate(45deg);
	}
}

/* ================================================
 *
 * A C C E S S
 *
 * ============================================= */

 /* Google Map
-------------------------------------------------*/
#access-wrap {
	width: 90%;
	margin: 0 auto 40px;
	padding: 60px 0;
	& .clinic-name {
		margin-bottom: 20px;
		font-size: 5vw;
		font-weight: bold;
	}
	& p {
		margin-bottom: 20px;
		font-weight: bold;
	}
	& p.access-info {
		margin-bottom: 20px;
		color: #d69a90;
	}
}

.access-table{
  width: 100%;
  max-width: 420px;
  border-collapse: collapse;
  font-size: 14px;
  color: #232121;
  font-family:
    "Helvetica Neue",
    "Helvetica",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Arial",
    "Yu Gothic",
    "Meiryo",
    sans-serif;

  -webkit-text-size-adjust: 100%;	
}

.access-table th,
.access-table td{
  padding: 10px 0;
  border-bottom: 1px solid #e0d7d5;
}

.access-table th{
  width: 90px;
  font-weight: 600;
  color: #232121;
  text-align: left;
  vertical-align: middle; /* ←ここ */
}

.access-table td{
  padding-left: 10px;
  line-height: 1.7;
  vertical-align: top; /* 右は上のまま */
}


.access-table small{
  color: #d69a90;
  font-size: 12px;
}



.google-map {
	width: 100%;
	height: auto;
	padding-top: 56.25%;
	position: relative;
	iframe {
		width: 100%;
		height: 100%;
		border-radius: 10px;
		position: absolute;
		top: 0; left: 0;
	}
}

/* ================================================
 *
 * F O O T E R
 *
 * ============================================= */
#footer-wrap {
	padding-bottom: 80px;
	background: #2d2e54;
	.footer-inner {
		padding: 60px 25px;
		& .action-link {
			& p {
				text-align: center;
				color: #fff;
			}
			& ul.action-link-content {
				padding: 25px 0;
				display: grid;
				gap: 20px;
				& a.btn-arrow-right {
					width: 86%;
					margin: 0 auto;
					padding: 10px 0;
					display: flex;
					align-items: center;
					color: #fff;
					text-decoration: none;
					border-radius: 100vmax;
					position: relative;
					& .link-text {
						line-height: 1.2;
						& span.en {
							font-size: 5vw;
						}
						& span.jp {
							font-size: 3.4vw;
						}
					}
				}
			}
		}
	}
	/* スマホ用フッター固定バナー */
& .follow-banner-sp {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 2px;
  z-index: 9999;
  padding-bottom: env(safe-area-inset-bottom);

  & ul {
    width: min(96%, 640px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);

    & li {
      background: #2d2e54;
      border-right: 1px solid rgba(255, 255, 255, 0.18);
      min-height: 64px;
    }

    & li:last-child {
      border-right: none;
    }

    & li:first-child {
      background: #baaf5a;

      & a {
        color: #2d2e54;

        & p span {
          background: #2d2e54;
          color: #fff;
        }
      }
    }

    & li:last-child {
      & p span {
        background: #baaf5a;
        color: #2d2e54;
      }
    }

    & a {
      display: grid;
      grid-template-columns: 36px 1fr;
      align-items: center;
      gap: 2px;

      padding: 12px 10px;
      height: 100%;
      box-sizing: border-box;
      text-decoration: none;
      color: #fff;

      -webkit-tap-highlight-color: transparent;
      min-width: 0;
    }

    & img {
      width: 32px;
      height: 32px;
      object-fit: contain;
    }

    & p {
      margin: 0;
      line-height: 1;
      font-weight: 600;
      letter-spacing: 0.02em;
      font-size: 13px;
    }

    & p span {
      display: inline-block;
      padding: 3px 6px;
      border-radius: 6px;
      font-size: 8.5px;
      line-height: 1;
      margin-bottom: 4px;
      font-weight: 700;

      background: rgba(255, 255, 255, 0.2);
      color: #fff;
    }
  }
}
	
}
  .p-fixBtnWrap{
    bottom: 75px; /* 追従メニュー分だけ上げる */
    right: 12px;
    z-index: 10000;
  }

#footer-wrap .action-link ul.action-link-content li.btn,
#footer-wrap .action-link ul.action-link-content li.btn-arrow-right {
	/* ボタンのスタイル */


	/* 「く」の字アイコンのスタイル */
	a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 27px;
		width: 9px;
		height: 9px;
		margin: auto;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		box-sizing: border-box;
	}

	/* 予約ボタン */
	a.reservation {
		background: #bdae61;
	}

	a.reservation::before {
		content: "";
		display: inline-block;
		background-image: url("images/icon_calendar.png");
		background-size: cover;
		background-repeat: no-repeat;
		width: 42px;
		height: 42px;
		margin: 0 .5em 0 1em;
	}

	/* お問い合わせボタン */
	a.contact {
		background: #636684;
	}

	a.contact::before {
		content: "";
		display: inline-block;
		background-image: url("images/icon_mail.png");
		background-size: cover;
		background-repeat: no-repeat;
		width: 42px;
		height: 42px;
		margin: 0 .5em 0 1em;
	}

	/* 電話ボタン */
	a.phone {
		background: #636684;
	}

	a.phone::before {
		content: "";
		display: inline-block;
		background-image: url("images/icon_phone.png");
		background-size: cover;
		background-repeat: no-repeat;
		width: 42px;
		height: 42px;
		margin: 0 .5em 0 1em;
	}
}

/* footer-nav */
ul.footer-nav-list {
	margin-bottom: 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px 5%;
	& li {
		padding: .5em 10px;
		border-bottom: 1px solid #fff;
		& a {
			color: #fff;
		}
	}
}

ul.footer-menu-list {
	  display: grid;
	  grid-template-columns: repeat(2, auto);
	  gap: 6px 24px; /* 行間 / 列間 */
	  margin-top: 14px;
	& a {
		  font-size: 13px;
		  color: rgba(255,255,255,0.9);
		  text-decoration: none;
		  line-height: 1.8;
		  letter-spacing: 0.04em;
	}
}

.footer-menu-list{
  margin-top: 12px;
}

.footer-menu-list li{
  margin: 0;
}

.footer-menu-list a{
  display: block;
  font-size: 13px;
  color: #ffffff;
  opacity: 0.9;
  text-decoration: none;
  line-height: 1.8;
  letter-spacing: 0.04em;
  padding-left: 2px;
  transition: opacity .2s ease;
}

.footer-menu-list a:hover{
  color: #fff;
}


/* C o p y r i g h t
-------------------------------------------------*/
.copy-wrap {
	padding: 20px;
	background: #f5e5df;
	font-size: 12px;
	ul.copy-link {
		display: flex;
		column-gap: 10px;
		& a {
			color: #2d2e54;
		}
	}
}


/* ****************************************************

		 　D e s k T o p C S S

***************************************************** */
@media screen and (min-width: 960px) {
	/* デ ス ク ト ッ プ の み 非 表 示
	-------------------------------------------------*/
	.hide-pc { display: none; }

	.hide-sp { display: block; }

	/* ================================================
	*
	* TOP人気背術メニューpick UP PCのみ
	*
	* ============================================= */
	& .pick-up-banner {
		width: 960px;
		margin: 0 auto;
		display: block;
		position: absolute;
		top: -80px;
		left: 50%;
		transform: translate(-50%, -50%);
		& img.pick-up-title {
			width: 160px;
		}
		& .banner-area {
			display: flex;
			justify-content: space-evenly;
			align-items: center;
			& .banner-list {
				display: flex;
				justify-content: center;
				column-gap: 10px;
				& .banner-item {
					width: 210px;
				}
			}
		}
	}

	/* 追従ヘッダー（pc only）
	-------------------------------------------------*/
	& #fix_header.l-fixHeader {
		height: 90px;
	}

  & #fix_header.l-fixHeader::before {
    content: "";
    position: absolute;
    inset: 0; 
    display: block;
    background: linear-gradient(
      to bottom,
      rgba(246, 224, 221, 1.00) 0%,	
      rgba(245, 236, 232, 1.00) 30%,		
      rgba(245, 236, 232, 0.90) 40%,
      rgba(245, 236, 232, 0.80) 50%,
      rgba(245, 236, 232, 0.70) 60%,
	  rgba(245, 236, 232, 0.00) 100%
    ) !important;

    pointer-events: none;
  }

  & #fix_header.l-fixHeader {
    background: transparent !important;
    box-shadow: none !important; /* 影を残したい場合は削除 */
  }

  & #fix_header .l-fixHeader__inner {
    position: relative;
    z-index: 1;
  }

	/* デ ス ク ト ッ プ 用 追 従 バ ナ ー
	-------------------------------------------------*/
	& body.home #main-area {
		position: relative;
	}
	& .follow-banner {
		padding: 5px 0 5px 10px;
		display: grid;
		grid-template-columns: 3fr 1fr 1fr;
		border-radius: 100vmax;
		background: #bdae61;
		position: fixed;
		bottom: 100px; right: 10px;
		z-index: 2;
		& a:first-child img {
			width: 32px;
		}
		& a {
			display: flex;
			justify-content: center;
			align-items: center;
			& img {
				width: 60px;
				margin-right: 5px;
			}
			& .number {
				font-size: 24px;
				font-weight: 600;
				color: #2d2e54;
				font-family: "Shippori Mincho", serif;;
				line-height: 1.2;
				letter-spacing: 1px;
				& .hours {
					font-size: 12px;
					letter-spacing: 0;
				}
			}
		}
		& img {
			width: 80px;
		}
	}

	.hide-sp { visibility: visible; }
	.hide-pc { display: none; }

	.content-title {
		& .en {
			font-size: 34px;
			font-family: "Shippori Mincho" ;
			margin-bottom: 15px;
				
		}
		& .jp {
			font-size: 11px;
			letter-spacing: 0.3em;
		}
	}
	#body_wrap {
		background: #f5ece8;
	}
	.l-header {
		box-shadow: none;
		background: #f5ece8;
	}
	#main_visual {
		width: 96%;
		margin: 0 auto;
		border-radius: 20px;
	}



	.p-mainVisual__textLayer {
		justify-content: center;
	}

.p-mainVisual__slideTitle,
.p-mainVisual__slideText {
	text-align: center;
}





	.p-mainVisual__slideTitle {
		font-size: 26px;
		color: #2d2e54;
	}
	.p-mainVisual__slideText {
		margin-top: 20px;
		font-size: 5vw;
		color: #2d2e54;
		line-height: 1.2;
	}

	.lt-content-title {
		& .en {
			margin-bottom: 15px;
            line-height: 1.4;
			padding-left: 60px;
			font-size: 39px;
			letter-spacing: .2em;
			&::before {
				width: 10%;
			}
		}
		& .jp {
			padding-left: 60px;
			font-size: 12px;
			letter-spacing: 0.3em;
			margin-bottom: 80px;
		}
	}

	/* ================================================
	*
 	* P I C K U P
 	*
 	* ============================================= */
	#pick-up {
    position: relative;   /* z-index等に必要なら残す */
    top: auto;            /* ← topは無効化 */
    margin-top: -30px;   /* ← これで上に被せつつ、下の空白も消える */
		margin-bottom: 90px;
    z-index: 2;           /* 必要なら（メイン画像の上に） */
		& .pick-up-inner {
			max-width: 900px;
			margin: 0 auto;
			& .content-title {
				display: none;
			}
		}
		& .tab-list {
			grid-template-columns: repeat(3, 1fr);
			& .home-tab-item {
				& span {
					font-size: 14px;
				}
			}
		}
		& .panel-list {
			& .home-panel-item {
				& ul.campaign-list {
					grid-template-columns: repeat(2, 1fr);
					column-gap: 1em;
					& li {
						padding: 0;
						box-shadow: 0px 0px 20px 0px rgba(204, 153, 142, 0.36);
					}
					& .list-item {
						& .list-text {
							font-size: 15px;
						}
					}
				}
			}
		}
	}

/* ================================================
 *
 * W H A T' S V I S T A  (PC)
 *
 * ============================================= */


  /* PCでは表示切替を反転 */
  .hide-pc { display: none; }
  .hide-sp { display: block; }

  #concept-wrap{
    padding: 0;
  }

  #concept-wrap .concept-inner{
    max-width: 1200px;
    margin: 0 auto;
    padding: 120px 0 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 400px;
    column-gap: 40px;
    position: relative;
    overflow: visible;
  }


  #concept-wrap .catch-copy p:first-child,
#medical .catch-copy h3{
    margin-bottom: 20px;
    font: 600 18px/1.6 "Shippori Mincho", serif;
  }

  /* ✅ 右側2枚（PCの見た目を固定） */
  #concept-wrap .vista-side{
    display: block;
    position: relative;
    width: 400px;
    height: 520px;
    overflow: visible;
    justify-self: end;
    align-self: start;
    transform: translateX(60px);
  }

  /* ★ここが重要：positionがstaticに上書きされるのを潰す */
  #concept-wrap .vista-side .vista-photo{
    margin: 0;
    position: absolute !important;
    overflow: hidden;
  }

  #concept-wrap .vista-side .vista-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 5px;
  }

  /* 後ろ（上・右） */
  #concept-wrap .vista-side .vista-photo--back{
    top: -25px;
    right: -60px;
    width: 245px;
    height: 360px;
    z-index: 1;
  }

  /* 前（下・左にかぶせる） */
  #concept-wrap .vista-side .vista-photo--front{
    top: 60px;
    left: -35px;
    width: 270px;
    height: 360px;
    z-index: 2;
  }

  /* バナー（PC） */
  #concept-wrap .banner-area{
    max-width: 1200px;
    margin: 0 auto;
	padding-bottom: 110px;
  }

  /* ここは display:block を書かない（hideの判定を壊す） */
  #concept-wrap .banner-area img{
    margin: 0 auto;
  }

  /* ✅ 左の機器：PCで表示（現状維持） */
  #concept-wrap .lt-content-title{
    position: relative;
    overflow: visible;
  }

  #concept-wrap .vista-device{
    display: block;
    position: absolute;
    top: -20px;
    left: -120px;
    width: 270px;
    margin: 0;
    z-index: 0;
  }

  #concept-wrap .vista-device img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px;
  }


	/* ================================================
	*
 	* M E N U
 	*
 	* ============================================= */
	#menu {
		& .menu-inner {
			max-width: 1200px;
			margin: 0 auto;
			padding: 60px 0;
		}
		.panel-list {
			& .category-body {
				& ul.menu-list {
					grid-template-columns: repeat(4, 1fr);
					& li {
						& .purpose-wrap {
							& span.purpose {
								padding: 2px .6em;
								font-size: 11px;
							}
						}
						& .explain {
							font-size: 12px;
						}
						& .treatment-name {
							font-size: 16px;
							
						}
					}
				}
			}
		}
	}


	/* ================================================
	*
 	* L A T E S T W Q U I P M E N T
 	*
 	* ============================================= */
	#medical {
		     padding: 60px 0px 120px 0px;
		& .medical-inner {
			max-width: 1200px;
			margin: 0 auto;
			padding: 60px 0px 30px 0px;
			
			& .catch-copy{
			text-align: center;
			margin: 0 auto;
			width: 600px;
			}
		}
	}

	.swiper-slide-active {
		& ruby {
			font-size: 22px;
		}
	}

	.swiper-container {
		& .control-btn {
			width: 30%;
			bottom: 0;
		}
	}

	.banner-first img {
		margin: 0 auto;
	}	

	/* 治 療 機 器 モ ー ダ ル
	-------------------------------------------------*/
	.equipment-container {
		grid-template-columns: 1fr 2fr;
		& .equipment-images {
			margin: 0;
		}
		& .equipment-text {
			& ruby {
				font-size: 22px;
			}
			& a {
				width: 50%;
				margin: 0;
			}
		}
	}

	/* ================================================
	*
 	* C A M P A I G N
 	*
 	* ============================================= */
	#campaign {
		background: #fff;
		& .campaign-inner {
			max-width: 1020px;
			margin: 0 auto;
			padding: 60px 0;
			& #slider {
			  & .swiper-button-prev, .swiper-button-next {
			    display: none;
 				}
			  & .swiper-wrapper {
			    display: flex;
			    gap: 24px;
			  }
			  & .swiper-slide {
			    width: calc(33.333% - 16px);
				& img {
						border-radius: 20px;
					}
			  }
			}
		}
	}

	/* ================================================
	*
 	* T O P I C S
 	*
 	* ============================================= */
	#topics {
		& .topics-inner {
			max-width: 1200px;
			margin: 0 auto;
			padding: 60px 0;
			& .contents-wrap {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
			}
			& .btn-container {
				width: 720px;
				margin: 30px auto 0;
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				place-content: center;


				& .round-arrow-btn a {
					max-width: 320px;
					width: 100%;
					margin: 40px auto;
					padding: 10px 2em;
					font-size: 15px;
					color: #fff;
					line-height: 1.2;
					border: 1px solid #2d2e54;
					border-radius: 100vmax;
					display: block;
					text-decoration: none;
					background: #2d2e54;
					position: relative;
					& span {
						font-size: 12px;
						color: #bdae61;
					}
				}

				& .round-arrow-btn a::before,
				& .round-arrow-btn a::after {
					content: "";
					position: absolute;
					top: 0;
					bottom: 0;
					right: 10px;
					margin: auto;
					vertical-align: middle;
				}

				& .round-arrow-btn a::before {
					width: 16px;
					height: 16px;
					-webkit-border-radius: 50%;
					border-radius: 50%;
					background: #fff;
				}

				& .round-arrow-btn a::after {
					right: 16px;
					width: 6px;
					height: 6px;
					border-top: 1px solid #2d2e54;
					border-right: 1px solid #2d2e54;
					transform: rotate(45deg);
				}
			}
		}
	}

	/* 記 事 一 覧 系 の ペ ー ジ
	-------------------------------------------------*/
	.main-container {
		max-width: 1200px;
		margin: 0 auto;
		padding: 60px 0;
		display: flex;
		justify-content: space-evenly;
		& .lt-content {
			width: 840px;
			padding: 35px;
			border-radius: 16px;
			background: #fff;
			& .c-postTitle__ttl {
				color: #2d2e54;
			}
			& .post_content {
				padding-top: 40px;
			}
		}
	}

	.side-bar {
		max-width: 300px;
		& ul.sidebar-campaign {
			display: grid;
			row-gap: 40px;
			& li {
				border-radius: 20px;
				box-shadow: 0 0 8px #ccc;
			}
			& img {
				border-radius: 20px 20px 0 0;
			}
			& .body {
				background: #ede2dd;
				& a {
					padding: .5em;
					font-size: 18px;
					font-weight: 600;
					display: block;
					border-bottom: 1px solid #fff;
					position: relative;
					&::after {
						content: '';
						position: absolute;
						top: 0;
						bottom: 0;
						right: 10px;
						width: 0;
						height: 0;
						margin: auto;
						border-top: 6px solid #ede2dd;
						border-right: 0 solid #2d2e54;
						border-left: 9px solid #2d2e54;
						border-bottom: 6px solid #ede2dd;
						box-sizing: border-box;
					}
				}
				& p {
					padding: 1.5em;
					color: #2d2e54;
				}
			}
		}
	}








	/* ================================================
	 *
 	* A C C E S S
 	*
 	* ============================================= */
	#access-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 60px 0;
		background: #fff;
		& .access-inner {
			max-width: 1200px;
			margin: 0 auto;
			padding: 60px 0;
			display: grid;
			grid-template-columns: 1.25fr 1.75fr;
		}
		& .address-wrap {
			padding-left: 50px;
			padding-right: 50px;
			& .clinic-info {
				& .clinic-name {
					margin-bottom: 10px;
					font-size: 24px;
				}
			}
		}
	}
	/* ================================================
	 *
 	* F O O T E R
 	*
 	* ============================================= */
	#footer-wrap {
		padding: 0;
		.footer-inner {
			max-width: 1200px;
			margin: 0 auto;
			& .footer-logo {
				text-align: center;
			}
			& .action-link {
				& ul.action-link-content {
					grid-template-columns: repeat(2, 1fr);
					& a.btn-arrow-right {
						& .link-text {
							& span.en {
							font-family: "Shippori Mincho", serif;
							font-size: 20px;
							}
							& .link-text span.jp {
								font-size: 15px;
								font-family: "Shippori Mincho", serif;
							}
						}
					}
				}
			}
			& ul.footer-nav-list {
				max-width: 930px;
				margin: 15px auto;
				text-align: center;
				grid-template-columns: repeat(6, 1fr);
				column-gap: 0;
				& li {
					padding: .5em 0;
					border: none;
				}
			}
			& .footer-menu-list {
				max-width: 600px;
				margin: 0 auto;
				grid-template-columns: repeat(5, 1fr);
			}
		}
	}

	/* C o p y r i g h t
	-------------------------------------------------*/
	.copy-inner {
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
}