@charset "UTF-8";
/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width: 1600px) {
	.top-slider-content-inner {
		padding: 15px 15px 20px 45px;
	}

	.top-slider-logo {
		font-size: 56px;
	}

	.top-slider-logo span {
		font-size: 26px;
	}

	.content01-inner {
		padding: 100px 45px;
	}

	.content02-inner {
		padding: 0 45px 180px;
	}

	#index-points .content02-inner {
		padding: 0 45px;
	}

	.content01-title {
		font-size: 36px;
	}

	.contact-text .contact-tel {
		font-size: 50px;
	}

	.content02-title {
		font-size: 24px;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.content02-button {
		font-size: 20px;
	}

	#index-text-2 .content01-inner {
		padding-left: 45px;
		padding-right: 45px;
	}

	#index-text-2 h2 {
		font-size: 45px;
	}

	#index-text-2 h2 strong {
		font-size: 50px;
	}

	.text02-button strong {
		font-size: 22px;
	}

	.text02-button span {
		font-size: 18px;
	}

	#index-text-2 .concept-left {
		padding-right: 30px;
		width: 45%;
	}

	#index-text-2 .concept-right {
		width: 55%;
	}

	#index-text-2 .open-title {
		padding: 0 10px;
	}

	.footer-inner {
		padding: 70px 45px;
	}
}

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

	.header-bar-fixed~.top-slider-wrapper,
	.header-bar-fixed~.signage {
		margin-top: 0 !important;
	}

	.admin-bar .header-bar-fixed~.top-slider-wrapper,
	.admin-bar .header-bar-fixed~.signage {
		margin-top: 0;
	}

	.header-bar {
		border-bottom: 0 !important;
		height: auto !important;
	}

	.header-bar-inner {
		align-items: center;
		display: flex !important;
		padding: 10px 30px;
	}

	.header-bar .logo {
		line-height: 40px;
		margin-left: 0;
		width: auto;
	}

	.header-bar .logo img {
		max-height: 31px;
	}

	.content01-inner {
		padding: 50px 15px;
	}

	.global-nav-button {
		border: 2px solid #fff;
		font-size: 15px;
		height: auto;
		line-height: 1;
		padding: 25px 8px 15px;
		position: relative;
		width: auto;
		z-index: 1000;
	}

	.global-nav-button::before,
	.global-nav-button::after {
		display: none;
	}

	.nav-toggle_line {
		top: 12px;width: 8px;height: 8px;
	}
	
	.nav-toggle_line._2 {
		margin-left: -4px;
	}

	.global-nav a {
		background: none;
	}

	.global-nav .sub-menu li:first-child a {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

	.global-nav .sub-menu li:last-child a {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	.global-nav .sub-menu a {
		font-size: 12px;
		line-height: 51px;
		color: #463722 !important;
		background: #fff !important;
		padding: 0 25px;
	}

	.global-nav a:hover,
	.global-nav .sub-menu a:hover {
		color: #8C7E64 !important;
		background: #fff !important;
	}

	.global-nav>ul>li>a::before,
	.global-nav .current-menu-item>a::before {
		opacity: 0.25;
	}

	.global-nav>ul>li>a:before {
		content: none !important;
	}

	.global-nav .menu-item-has-children>a span::before {
		color: #463722;
	}

	.header-bar-fixed .global-nav {
		top: 0;
	}

	.global-nav>ul>li>a {
		background-position: left 38px;
		height: 100px;
		padding: 0 0 0 44px;
	}

	.global-nav>ul>li>a::before,
	.global-nav .current-menu-item>a::before {
		top: 45px;
	}
}

@media only screen and (max-width: 991px) {
	.top-slider-wrapper {
		margin-left: 0;
		margin-right: 0;
	}

	.top-slider {
		height: calc(50vh - 55px) !important;
	}

	.top-slider-content {
		position: static;
	}

	.top-slider-content-inner {
		align-items: start;
		height: auto !important;
		padding: 15px 15px 20px 15px;
		width: 100% !important;
	}

	.top-slider-text {
		color: #6e6e6e !important;
		position: static;
	}

	.top-slider-wrapper .header-youtube,
	.top-slider-wrapper .header-video {
		/* height: calc(70vh - 55px); */
		height: 280px;
	}

	.vegas-video {
		height: 100% !important;
	}

	.top-slider-logo {
		color: #6e6e6e;
		font-size: 42px;
		order: 2;
		margin-left: 20px;
	}

}

@media only screen and (max-width: 767px) {
	.global-nav-button.active+.global-nav {
		width: 100%;
	}

	p {
		font-size: 16px;
		line-height: 2;
	}

	#index-text-1 .flex {
		flex-direction: column;
	}

	.content01-img,
	.content01-text {
		width: 100%;
	}

	body .content01-text {
		padding-top: 20px;
		padding-left: 0;
	}

	.contact-text {
		flex-direction: column;
	}

	.contact-text .contact-tel {
		font-size: 42px;
	}

	.content02-inner {
		padding: 0 15px 50px;
	}

	#index-points .content02-inner {
		padding: 0 15px 50px;
	}

	#index-text-2 .contact-text .contact-tel {
		font-size: 32px;
	}

	#index-text-2 .contact-text {
		font-size: 18px;
		margin-top: 30px;
	}

	#index-text-2 .open-title {
		padding: 0 20px;
		margin-top: 24px;
	}

	#index-3column .content02-item {
		margin-bottom: 60px;
	}

	.content02-button {
		height: 40px;
		line-height: 40px;
		max-width: none;
		margin: 0;
		width: 190px;
	}

	#index-text-2 {
		padding-bottom: 50px;
	}

	.content03-item:not(:last-child) {
		padding: 0 0 50px;
	}

	.content03-item,
	.content03-item:nth-child(2n+1) {
		flex-direction: column;
	}

	.content03-item .content03-img,
	.content03-item .content03-text {
		padding-left: 0;
		width: 100%;
	}

	.content03-item h2 em {
		font-size: 80px;
		margin-top: -60px;
		margin-left: -10px;
	}

	.content03-item h2 span {
		font-size: 20px;
		margin-left: -10px;
	}

	.content03-item:nth-child(even) .content03-img {
		padding-left: 0;
	}

	.content03-item .content03-title {
		font-size: 24px;
		margin: 20px 0;
	}

	.content03-item .content03-title span {
		font-size: 16px;
		letter-spacing: 1px;
	}

	#index-blog .inner,
	#index-instagram .inner {
		padding: 0 15px;
	}

	.article03 {
		background: #fff !important;
	}

	.article03 .article03-content {
		padding: 10px !important;
	}

	.headline-primary span {
		display: block;
	}

	.top-slider-text {
		font-size: 18px !important;
	}

	#content01 .content01-img {
		text-align: center;
	}

	#index-blog {
		padding-top: 30px;
	}

	#index-blog .headline-primary {
		font-size: 32px;
		margin: 0 0 24px;
	}

	.blog-inner .headline-primary span {
		font-size: 18px;
	}

	#index-text-2 .content01-inner {
		padding-left: 15px;
		padding-right: 15px;
	}

	#index-text-2 .flex {
		flex-direction: column;
	}

	#index-text-2 h2 {
		font-size: 34px;
	}

	#index-text-2 h2 strong {
		font-size: 36px;
	}

	#index-text-2 .concept-left,
	#index-text-2 .concept-right {
		width: 100%;
	}

	#index-text-2 .concept-right {
		height: 600px;
		margin-top: 50px;
	}

	#index-text-2 h2 {
		margin: 0 4px 0 18px;
	}

	#index-text-2 .concept-left {
		padding-right: 0;
	}

	#index-text-2 .content01-title {
		font-size: 30px;
	}

	#index-text-2 h3 {
		font-size: 18px;
		margin-top: 50px;
		writing-mode: horizontal-tb;
	}

	.content02-item h3 {
		font-size: 18px;
	}

	.content01-title {
		font-size: 28px;
		margin-bottom: 24px;
	}

	.content03-item:nth-child(2n+1) .content03-text {
		padding-left: 0;
		padding-right: 0;
	}
	
	.content03-item .content03-body {
		border-left: none;
	}

	.content03-item:nth-child(2n) .content03-text {
		padding-right: 0;
	}

	.footer {
		margin-top: 0;
	}

	.footer-inner {
		padding: 70px 15px;
	}

	.footer-inner .flex {
		flex-direction: column;
	}

	.footer-left,
	.footer-center,
	.footer-right {
		width: 100%;
	}

	.footer-center {
		border: none;
	}

	.footer-center,
	.footer-right {
		padding: 0;
	}

	.footer-widgets {
		margin: 0 0 20px;
	}

	.copyright {
		margin: 0;
		padding: 0;
	}

	.top-slider-wrapper:before,
	.top-slider-wrapper:after,
	#index-3column::after,
	#index-blog:after {
		height: 40px;
	}

	.blog-inner .headline-primary {
		line-height: 1;
	}

	.blog-inner .headline-primary img {
		height: 30px;
		width: auto;
	}

	.contact-text .open-title {
		padding: 0 45px 0 70px;
	}

	.admin-bar .header-bar-fixed {
		top: 46px;
	}

	.contact-button {
		display: none;
	}
	
	.content03-text .flex {
		align-items: start;
		flex-direction: column;
	}
	
	.content03-item .content03-title br {
		display: none;
	}
	
	.content03-item .content03-text {
		margin-top: -30px;
	}
	
	.content03-text img {
		width: 90px;
	}
}

@media screen and (min-width: 768px) {
	.pcbr {
		display: block;
	}

	.spbr {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.pcbr {
		display: none;
	}

	.spbr {
		display: block;
	}

	.footer_phone_nmber {
		display: flex;
		flex-direction: column;
	}

	.content03-item .content03-text::before {
		bottom: -30px;
		width: 30px;
		height: 81px;
		background-size: cover;
	}
}

@media only screen and (max-width: 575px) {
	.global-nav>ul>li>a {
		height: 80px;
	}
}

@media only screen and (max-width: 767px) {
	.article03-title {
		font-size: 13px;
		height: 48px;
		margin: 1em 0;
		line-height: 23px;
	}
}

/* ============================================================
   【カスタム修正】低解像度PCでのヘッダー重なり・フォント大きすぎ対策
   2026-02-22 追加
   ============================================================ */

/* --- 1400px以下：キャッチコピー縮小 + top-slider-textのright調整 --- */
@media only screen and (max-width: 1400px) {

	/* 🔵 青枠：メインキャッチ（縦書き大文字）のフォントを縮小 */
	.top-slider-logo {
		font-size: clamp(28px, 3.5vw, 44px);
	}

	/* 🔴 赤枠：サブテキストをヘッダーのMENU/お問い合わせボタンに重ならない位置へ */
	.top-slider-text {
		right: 230px;
		/* ヘッダー右ボタン群の幅に合わせて余白を確保 */
		font-size: clamp(14px, 1.6vw, 22px) !important;
	}
}

/* --- 1200px以下：さらに縮小（ハンバーガーメニューになる直前） --- */
@media only screen and (max-width: 1200px) {
	.top-slider-logo {
		font-size: clamp(24px, 3vw, 36px);
	}

	/* 1200px以下ではヘッダーがモバイル形式になるため、top-slider-textのrightは狭めてよい */
	.top-slider-text {
		right: 180px;
		font-size: clamp(13px, 1.5vw, 20px) !important;
	}

	/* ヘッダーボタンのフォント・パディングを縮小してボタン全体を小さくする */
	.global-nav-button {
		font-size: 13px;
		padding: 26px 8px 12px;
	}

	.contact-button {
		font-size: 18px;
		padding: 0 15px 0 65px;
		margin-right: -33px;
		background-size: 40px;
	}
}

/* ============================================================
   【カスタム修正】NEWSセクション カテゴリー名を非表示
   2026-02-22 追加
   ============================================================ */
.article03-category {
	display: none;
}

@media only screen and (max-width: 767px) {
	.signage-title{margin-bottom: -5px;}
	.header .global-nav {
		height: calc(100vh - 68px) !important;
		align-items: flex-start;
		overflow-y: scroll;
	}
	#menu-main-menu {
		width: 100%;
		margin: 30px 0;
	}
	.global-nav > ul#menu-main-menu > li > a {padding: 0;} 
}