@charset "UTF-8";
/* ==================================================================================================================
==================================================================================================================

基本設定（pc）

==================================================================================================================
==================================================================================================================*/


/*基本CSS*/

* {
    margin: 0;
    padding: 0;
    }



.clearfix {
    display: block;
	}
	
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;/* 隙間対応 */
    font-size: 0.1em;/* 隙間対応 */
    line-height: 0;/* 隙間対応 */
    }


/* 電話番号設定 */

a[href^="tel:"] {
    pointer-events: none;
    opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    color: #333;
    }



/*リンク指定*/

/*a {
    color: #000;
    }

a:hover {
	color:#999;
    transition: 0.5s;
    }

a img:hover {
    opacity: 0.6;
    transition: 0.5s;
    }
*/
img {
    width: 100%;
    }

_:-ms-lang(x), img {
    width: 100%;
    }


/*ボックス*/
.content_1500 {
    max-width: 1500px;
    margin: 0 auto;
    }
	
/*表示・非表示*/
.pc {display: block;}

.tab{display: none;}

.sp {display: none;}

.pc_tab {display: block;}
.tab_sp {display: none;}
/*改行*/
.br-pc {
    display: block;
}

.br-tab {
    display: none;
}

.br-sp {
    display: none;
}
/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

以下サイト別指定＜適宜書き換えする事！＞

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */




/*ヘッダー指定*/

header {
    width: 100%;
    height: 125px;
    top: 0;
    left: 0;
    padding-top: 20px;
    background: transparent;
    z-index: 4;
	position:fixed;
	/*box-shadow: 0 10px 25px 25px rgba(200,200,200,0.1);*/
    }

/* ヘッダーの登場：初期は透明、スライダーのループ開始時にJSが .is-shown を付与してフェードイン。
   ※ transform を使うと fixed 子要素(#sidebar/#hamburger_btn)の基準が変わって
     オフキャンバスメニューが壊れるため、opacity のみで表示する。 */
.js-header {
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s ease, background 0.4s ease-out;
}
.js-header.is-shown {
	opacity: 1;
	pointer-events: auto;
}

/* スクロール時の色（JSで headerColorScroll を付与）
   ※ <header class="js-header"> に合わせて .js-header.headerColorScroll に修正 */
.js-header.headerColorScroll {
  background: rgba(0,0,0,0.2);
}
	
.header_logo01{
	max-width:268px;
}


.header_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}


/*メニュー文字表示非表示設定*/

/* 通常時はホバー時の文字を非表示にする */
.navimenu01 .hover{
	display: none;
}

/* ホバー時は通常時の文字を非表示にする */
.navimenu01 a:hover .nomal{
	display: none;
}

/* ホバー時に、ホバー時の文字を表示する */
.navimenu01 a:hover .hover{
	display: inline;
	color: #edff00;
}

/* 一番大きいli（トップレベルメニュー）はホバーで文字を黄色に */
.navimenu01 .navimenu_last > li > a:hover .nomal,
.navimenu01 .navimenu_last > li > a:hover .hover{
	color:#edff00;
}


img.active-block {
	display: none;
}

@media screen and (max-width: 1499px) {
header {padding: 20px 15px 0px;
}
}


/* PC：英語↔日本語の入れ替えは維持しつつ、行の高さを固定する。
   日本語は行の高さが大きく <a> が縦に伸びて動いて見えるため、
   line-height / height を固定して入れ替えても高さが変わらないようにする。 */
@media screen and (min-width: 1000px) {
	.navimenu01 .navimenu_last > li > a {
		height: 24px;
		line-height: 24px;
	}
}



.navimenu01 {
    font-size: 1.0rem;
	width: 830px;
	color: #ecedec;
	font-weight: bold;
    }
	
.navimenu01 .navimenu_last{
	display: flex;
	justify-content: flex-end;
	font-family: "Elms Sans", sans-serif;
	list-style-type: none;
}
	
.navimenu01 .navimenu_last > li {
    width: 12.7%;
    text-align: center;
	/*letter-spacing: 2px;*/
	margin-right: 3.5%;
	position: relative;
}

.navimenu01 .navimenu_last > li:last-child {
	margin-right: 0%;
}



/*幅調整*/
.navimenu01 .navimenu_last > li:nth-child(1) {
    width: 11%;
	margin: 0 3% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(2) {
    width: 9.8%;
	margin: 0 4% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(3) {
    width: 9.8%;
	margin: 0 3% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(4) {
    width: 9%;
	margin: 0 -1% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(5) {
    width: 8%;
	margin: 0 0 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(6) {
    width: 9.8%;
	margin: 0 2% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(7) {
    width: 13%;
	margin: 0 2% 0 0;
}
.navimenu01 .navimenu_last > li:nth-child(8) {
    width: 9.8%;
	margin: 0 0 0 0;
}


/*ドロップダウンメニュー設定*/

.navimenu01 li ul {
    display: none;
    left: -14px;
    z-index: 1;
	margin-top:0px;
	
    }

.navimenu01 li:hover ul {
    display: block;
    position: absolute;
    width: 120px;
    padding-top: 18px;
    text-align: left;
	/*margin-left: -17px;*/
    }
	

.navimenu01 li ul li {
    display: block;
    width: 140%;
    padding: 0;
    border-left: none;
    border-right: none;
	margin-left:0;
	font-size: 0.9rem;
	letter-spacing: 1px;
	left: -26px;
    }

.navimenu01 li ul li:hover {
    border-left: none;
    border-right: none;
	color: #edff00;
    }

.navimenu01 li ul li a {
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 8px;
	color: #ecedec;
    background: rgba(255,255,255,0.2);
	text-align:center;
    border-bottom: 1px solid #ecedec;
    }

.navimenu01 li ul li a:hover {
    background: #ddd;
	color: #edff00;
	border-bottom: 1px solid #edff00;
    transition: 0.5s;
    }




/*(hover動きここから)*/
.navimenu01 li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
/* トップレベルのメニューは a を li 幅いっぱいの固定ボックスにして、
   英語↔日本語の入れ替えで幅が変わっても文字・下線が動かないようにする */
.navimenu01 .navimenu_last > li > a {
  display: block;
  width: 100%;
  color: #ecedec;
}
/* 黄色い下線が「下からふわっと」出てくる（フェード＋下→定位置） */
.navimenu01 li a::after {
  position: absolute;
  bottom: 0px;
  left: 0%;
  content: '';
  width: 100%;
  height: 2px;
  background: #edff00;              /* 黄色の下線 */
  opacity: 0;
  transform: translateY(6px);       /* 下から */
  transition: opacity .35s ease, transform .4s cubic-bezier(0.16, 1, 0.3, 1);
}
.navimenu01 li a:hover::after {
  opacity: 1;
  transform: translateY(0);
}
/*(hover動きここまで)*/


/*(現在居るページのhover無効化ここから)*/
.navimenu_hover a::before {
  position: absolute;
  bottom: -10px;
  left: 25%;
  content: '';
  width: 50%;
  height: 2px;
  background: #000;
    }

.navimenu_hover a::after {
	display:none;
    }
	
.navimenu_hover ul li a::before {
	display:none;
    }

/*ドロップダウンメニュー用の背景hover*/
.navimenu_hover02 a {
    background:#ddd !important;
}

/*(ドロップダウンメニューのhover無効化ここから)*/
.navimenu01 li ul li a::after  {
	display:none;
    }
/*(ドロップダウンメニューのhover無効化ここまで)*/




@media screen and (max-width: 999px){
.navimenu01 .navimenu_last{
	display: block;
}

.navimenu01 .navimenu_last > li {
	width: 100% !important;
	text-align: left;
	margin-right: 0;
	border-bottom: solid 1px;
}

/*.dli-arrow-right {
    display: block;
    vertical-align: middle;
    color: #e6e7e5;
    line-height: 1;
    position: absolute;
    width: 1em;
    height: 0.1em;
    background: currentColor;
    top: 25px;
    right: 25px;
}

.dli-arrow-right::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}*/


/* ir/contact 幅調整*/
.navimenu01 .navimenu_last > li:nth-child(5) {
    width: 100%;
    margin: 0;
}
.navimenu01 .navimenu_last > li:nth-child(6) {
    width: 100%;
    margin: 0;
}


/*ドロップダウンメニュー設定*/
/*.navimenu01 li:hover ul {
	margin-left: 18px;
}*/

.navimenu01 li ul li a:hover {
    background: transparent;
    border-bottom: none;
}

}





/* =================派生ページ設定ここから===================*/





/*左右に余白が無い瞬間を防ぐ*/
@media screen and (max-width: 1050px) {
.content_1500 {
	width:95%;
	}
}




/* ==================================================================================================================
==================================================================================================================

基本設定（tab）

==================================================================================================================
================================================================================================================== */



@media screen and (max-width: 999px) {
	
/* 電話番号設定 */

a[href^="tel:"] {
    pointer-events: auto;
    }


.content_1500 {
	width:90%;
	}
	
/*表示・非表示*/
.pc {display: none;}

.tab{display: block;}

.sp {display: none;}

.pc_tab {display: block;}
.tab_sp {display: block;}

/*改行*/
.br-pc {
    display: none;
}

.br-tab {
    display: block;
}

.br-sp {
    display: none;
}

/*ヘッダー指定*/
.header_logo01 {
    max-width: 50px;
}

header {
    height: 75px;
	padding-top: 15px;
}

.hamburger_btn {
    display: block;
    }

#hamburger_btn {
    position: fixed;
    width: 60px;
        height: 60px;
        top: 5px;
		right: 25px;
    margin-left: auto;
    padding: 12px 0;
    background: rgba(255,255,255,0);
    z-index: 3;
    }

div#hamburger_btn::after {
        content: "";
        display: inline-block;
        width: 60px;
        height: 60px;
        --sample-color: 237 255 0;
        aspect-ratio: 1 / 1;
        background: radial-gradient(circle, rgb(var(--sample-color)), rgb(var(--sample-color) / 0%));
        border-radius: 50%;
        filter: blur(5px);
        width: min(100%, 60px);
        position: relative;
        top: -7px;
        left: 0px;
        z-index: -1;
    }

p.sidebar-foot__copy {
    text-align: center;
    color: #e6e7e5;
    font-size: 0.7rem;
    font-weight: bold;
}


body.active div#hamburger_btn::after {
	--sample-color: 230 231 229;
        background: radial-gradient(circle, rgb(var(--sample-color)), rgb(var(--sample-color) / 0%));
    }

body.active .header_logo01 {
        max-width: 250px;
    }

body.active img.active-block {
	display: block;
}

body.active img.active-none {
	display: none;
}

#hamburger_btn p {
	text-align: center;
    }

#hamburger_btn span {
    display: block;
    position: absolute;
    width: 10px;
    height: 2px;
    background: #000;
    -webkit-transition: 0.4s ease-in-out;
    -moz-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
    }

#hamburger_btn span:nth-child(1){
    top: 30px;
    left: 23px;
    }

#hamburger_btn span:nth-child(2){
    /*top: 10px;*/
	display: none;
    }

#hamburger_btn span:nth-child(3){
    top: 35px;
    left: 23px;
    }



#sidebar {
    position: fixed;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: .15s ease-in-out;
    transition: .15s ease-in-out;
    z-index: 2;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    }

	.active .header_logo01 {
    z-index: 3;
}

.active #sidebar {
    width: 100%;
    height: 100%;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
	opacity: 0.98;
    }
 
.navimenu01 {
    width: 85%;
    margin: 50px auto;
	padding-top: 40px;
    }


.navimenu01 ul {
    margin-top: 5px;
    text-align: left;
	font-size:1.4rem;
    }

.navimenu01 li {
    display: block;
    position: static;
    width: 100%;
    margin-left: 0;
    padding: 15px 0;
    font-size: 0.95rem; 
	font-weight:bold;
	text-align:left;
    }

.navimenu01 li a {
    display: block;
    color: #000;
	position:static;
}
	

.navimenu01 li a::after {
display:none;
}
.navimenu01 li a:hover::after {
display:none;
}

/*ドロップダウンメニューをそのまま出す*/

	
.navimenu01 li ul li a {
	text-align:left;
	font-size:0.8rem;
	margin: 0;
    padding: 7px 0;    
    background: none;
	border-bottom:none;
}
.navimenu01 li ul li a:hover {
    background:none;
}
.navimenu01 li ul {
    position: static;
    display: block;
    width: 95%;
    height: 100%;
    left: 0;
    padding-top: 0;
    margin-right: auto;
	margin-top: 15px;
	margin-left: 18px;
    }

.navimenu01 li:hover ul {
    display: block;
    position: static;
    width: 100%;
    height: 100%;
    padding-top: 0;
    }

.navimenu01 li ul li {
    display: block;
    width: 100%;
    padding: 0;
    font-weight: normal;
    border-bottom: none;
    border-left: none;
    border-right: none;
    padding-left: 20px;
    }

/*(現在居るページのhover無効化)*/
.navimenu_hover a::before {
	display:none;
    }

/*ドロップダウンメニュー用の背景hover無効化*/
.navimenu_hover02 a {
    background:#fff !important;
}

/*ハンバーガーボタン：開閉時*/

.active #hamburger_btn span:nth-child(1) {
    top: 35px;
    -webkit-transform: rotate(35deg);
    -moz-transform: rotate(35deg);
    transform: rotate(35deg);
    }

.active #hamburger_btn span:nth-child(2) {
    width: 0;
    }

.active #hamburger_btn span:nth-child(3) {
    top: 35px;
    -webkit-transform: rotate(-35deg);
    -moz-transform: rotate(-35deg);
    transform: rotate(-35deg);
    }
	
	

/*メニュー文字表示非表示設定 日本語のみ表示*/

.navimenu01 .hover{
	display: block;
}

.navimenu01 .nomal{
	display: none;
}


.navimenu01 li:nth-child(5){
	width: 100%;
	margin:0;
}
	

/*メイン指定（メニューと被らないようにする）*/
main {
    margin-top: 75px;
    }

/*派生ヘッダー指定*/

.hasei_head_bg {
    background-size: 100% 80%;
}
.hasei_head_dia img {
    right: 10px;
	max-width: 40%;

}

/*スクロールした時の背景を透明に*/
.js-header.headerColorScroll {
    background: transparent;
}


/*(hover動き無効)*/

.hasei_head2 a::after {
  display:none;
}

/*(hover動き無効ここまで)*/



/*confirm,thanks用の上部余白*/
.form_margin_t {
    margin-top: 150px;
}

/*スクロール誘導の配置変更*/
.scroll-indicator {
    bottom: 300px;
}


/*派生ページ設定*/

.haseiin_linkti {
    padding: 3% 0 3%;
}


.hasei_showroombox_flex{
	display:block;
}

.hasei_showroombox_flex p a{
	margin-top: 2%;
	display: inline-block;
	text-align: left;
}

}

/* ==================================================================================================================
==================================================================================================================

基本設定（sp）

==================================================================================================================
================================================================================================================== */



@media screen and (max-width: 764px) {
	
	
body {
	font-size:1.4rem;
    }	

/*改行*/
.br-pc {
    display:none;
}

.br-tab {
    display:none;
}

.br-sp {
    display:block;
}

/*表示・非表示*/
.pc {display: none;}

.tab{display: none;}

.sp {display: block;}

.pc_tab {display: none;}
.tab_sp {display: block;}

/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

以下サイト別指定＜適宜書き換えする事！＞

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
/*文字サイズ*/

.sp_tx01{
	font-size:2.4rem !important;
}

.sp_tx02{
	font-size:1.8rem !important;
}

.sp_tx03{
	font-size:1.4rem !important;
}

.sp_tx04{
	font-size:1.2rem !important;
}

.sp_tx05{
	font-size:0.8rem !important;
}


/*ヘッダー指定*/

header {
    padding-top: 10px;
	height: 55px;
    }

/*#hamburger_btn {
    position: fixed;
    width: 60px;
    height: 60px;
    top: 24px;
    right: 25px;
    margin-left: auto;
    padding: 12px 0;
    background: rgba(255,255,255,0);
    z-index: 3;
}*/

/*#hamburger_btn span{
	width: 15px;
	height: 2px;
	}*/

/*#hamburger_btn span:nth-child(1) {
    top: 15px;
    left:10px
} */   
#hamburger_btn span:nth-child(2) {
    /*top: 9px;*/
	display: none;
}

/*#hamburger_btn span:nth-child(3) {
    top: 25px;
    left:10px
}*/

/*div#hamburger_btn::after {
        top: -17px;
        left: -11px;
    }*/

.main_position {
    margin-top: 55px;
}

/*.header_logo01 {
    max-width: 210px;
	margin-top: 8px;
}*/

/*スクロール誘導の配置変更*/
.scroll-indicator {
    bottom: 30%;
}


/*メイン指定（メニューと被らないようにする）*/
main {
    margin-top: 65px;
    }



/*フッター*/
.footer_box01_in{
	display:block;
	text-align:center;
}

.footer_box01_in img {
	margin:0 auto;
	max-width: 190px;
}
.footer_box02{
	text-align:center;
}
.footer_box02 li {
    margin: 0 2% 2%;
}

.footer_box01_in p{
	font-size:1.2rem;
}

/*派生タイトル部分*/
.hasei_head_ti01{
	font-size: 3.5rem;
	letter-spacing:5px;
}
.hasei_head_ti02 {
    font-size: 2.3rem;
}

.hasei_head_tibox{
	padding-top: 60px;
	display:block;
}


.hasei_head2 {
	display: block;
	padding-top: 10px;
	padding-bottom: 15px;
	font-size: 1.4rem;
	text-align: center;
}

/*派生ヘッダー指定*/

.hasei_head_bg {
    background-size: 100% 60%;
	height: auto;
	padding-bottom: 60px;
}
.hasei_head_dia img {
    max-width: 40%;
	top:10px;
	z-index:0;
}

.hasei_head2 a{
	background-color:#fff;
	border-radius: 5px;
	padding: 1px;}
	

/*派生タイトル部分　事業ページ用*/

.hasei_jigyou_bg {
	padding-bottom:0;
	height: 130px;
}


.hasei_jigyou_head {
    display: flex;
    text-align: center;
    flex-wrap: wrap;
	padding-top: 45px;
}

.hasei_jigyou_head .hasei_head_ti01 {
    font-size: 0.8rem;
    letter-spacing: 6px;
    order: 2;
    flex-basis: 100%;
    margin-top: 2%;
	color:#999;
	margin-left: 9px;
}

.hasei_jigyou_head .hasei_head_ti02 {
    color: #000;
	order: 1;
	flex-basis: 100%;

}




/*タイトル*/
.common_ti01,.common_ti01 span {
    display: block;
}
.common_ti01_e {
    font-size: 3.0rem;
    letter-spacing: 5px;
}

/*タイトル2　アイコン付き*/
.common_ti02_sub {
	width: 100%;
	display: block;
	padding-left: 0;
}

/*ポイント*/
.common_point_flex:first-child {
    padding: 0 0 28px;
}

.common_point_flex {
    display: block;
}
.common_point_flex h4{
	font-size:3.2rem;
	margin-bottom: 2%;
}
.common_point_flex p {
    text-align: center;
}

/*〜〜〜〜〜〜派生ページmain〜〜〜〜〜〜*/

.haseiin_spbg{
	margin: 5% 5% 5% 0;
	padding-bottom: 5%;
	background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 20%,rgba(255,255,255,0.95) 20%,rgba(255,255,255,0.95) 100%)
}

.haseiin_conceptbox {
    display: block;
	margin-bottom: 15%;
}

.haseiin_ti01 {
    font-size: 3rem;
}
.haseiin_ti01_sub {
    font-size: 1.7rem;
	margin-top:5%;
}
.haseiin_concept_img {
    margin-top: 5%;
}

.haseiin_linkti{
	padding: 7% 0 0%;
}

/* =================お問い合わせ===================*/

.form_wrapper ul {
	margin-bottom: 17px;
	padding-bottom: 17px;
	border-bottom: 1px dotted #ccc;
	display:block;
	justify-content:space-between;
	align-items: center;
	}

.form_important { /*赤アイコン*/
    padding: 0 5px;
    font-size: 1.3rem;
    color: #E50012;
	}

	
.form_ti01,
.form_area01,
.form_area02,
.form_area03{
	width:100%;
	}

.form_area01 input {
	max-width:97%;
}

.form_ti01 {
	font-weight:bold;
	margin-bottom: 1%;
}

.form_minitx {
	display:block;
	margin-left: 0%;
}

input.form_btn01,input.form_btn02 {
	padding: 5% 10%;
}


/*thanks css*/

.form_thanks_tx02 a{
	display: block;
}


.footer_box02 {
	padding: 30px 0 15px;
}


/* ==================================================================================================================
==================================================================================================================

汎用指定    

==================================================================================================================
================================================================================================================== */

.sp_t05 {	margin: 5px 0 0 0;}
.sp_t10 {	margin: 10px 0 0 0;}
.sp_t15 {	margin: 15px 0 0 0;}
.sp_t20 {	margin: 20px 0 0 0;}
.sp_t30 {	margin: 30px 0 0 0;}
.sp_t40 {	margin: 40px 0 0 0;}
.sp_t50 {	margin: 50px 0 0 0;}
.sp_t60 {	margin: 60px 0 0 0;}
.sp_t70 {	margin: 70px 0 0 0;}
.sp_t80 {	margin: 80px 0 0 0;}
.sp_t90 {	margin: 90px 0 0 0;}
.sp_t100 {	margin: 100px 0 0 0;}

.sp_b05 {	margin: 0 0 5px 0;}
.sp_b10 {	margin: 0 0 10px 0;}
.sp_b15 {	margin: 0 0 15px 0;}
.sp_b20 {	margin: 0 0 20px 0;}
.sp_b30 {	margin: 0 0 30px 0;}
.sp_b40 {	margin: 0 0 40px 0;}
.sp_b50 {	margin: 0 0 50px 0;}
.sp_b60 {	margin: 0 0 60px 0;}
.sp_b70 {	margin: 0 0 70px 0;}
.sp_b80 {	margin: 0 0 80px 0;}
.sp_b90 {	margin: 0 0 90px 0;}
.sp_b100 {	margin: 0 0 100px 0;}

.sp_t05_b05 {	margin: 5px 0 5px 0;}
.sp_t10_b10 {	margin: 10px 0 10px 0;}
.sp_t20_b20 {	margin: 20px 0 20px 0;}
.sp_t30_b30 {	margin: 30px 0 30px 0;}

} /* ← スマホ用 @media (max-width:764px) の閉じ忘れを補完。
       これが無いと以降のブロックが 764px 内に入れ子になり、765〜999px で効かなくなる */


@media screen and (max-width: 400px) {
.content_1500.top{
        width: 100%;
    }

.scroll-indicator {
    bottom: 23%;
}
}


/* ==================================================================================================================
   スマホ/タブレット（〜999px）ハンバーガーメニューのデザイン
   ================================================================================================================== */

/* PCでは非表示 */
.sidebar-foot { display: none; }

/* BOYS AT HEART. マーキー：2枚並べて1枚分(-50%)ずらしてシームレスループ */
@keyframes navSloganMarquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* アニメーション抑制設定では止める */
@media (prefers-reduced-motion: reduce) {
	.sidebar-foot__slogan .marquee { animation: none !important; }
}

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

	/* パネル：スライダーがうっすら透ける明るい背景（フロスト風） */
	#sidebar,
	.active #sidebar {
		background: rgba(0, 0, 0, 0.5);
		opacity: 1;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}


	/* メニュー全体：上部にロゴぶんの余白 */
	.navimenu01 {
		width: 70%;
		margin: 90px auto 0;
	}
	.navimenu01 .navimenu_last { display: block; }

	/* 英語ラベルを表示（ホバー用日本語は使わない） */
	.navimenu01 .nomal { display: inline; }
	.navimenu01 .hover { display: none; }

	/* トップレベル項目：区切り線 */
	.navimenu01 .navimenu_last > li {
		width: 100% !important;
		margin: 0 !important;
		padding: 0;
		text-align: left;
		border-bottom: 1px solid #ecedec;
		font-weight: bold;
	}
	.navimenu01 .navimenu_last > li > a {
		position: relative;
		display: block;
		width: 100%;
		padding: 20px 34px 20px 4px;
		font-size: 1.2rem;
		color: #ecedec;
	}
	/* 右矢印（トップレベルのみ／PC用の下線::afterを上書き） */
	.navimenu01 .navimenu_last > li > a::after {
		content: "→";
		display: block;
		position: absolute;
		right: 25px;
		left: auto;
		top: 50%;
		width: auto;
		height: auto;
		background: none;
		opacity: 1;
		transform: translateY(-50%);
		font-size: 1rem;
		font-weight: normal;
		color: #ecedec;
	}
	.navimenu01 .navimenu_last > li > a:hover::after {
		transform: translateY(-50%);
	}

	/* サブメニュー（BUSINESS配下）：インデント・小さめ・矢印/線なし */
	.navimenu01 li ul {
		margin: 4px 0 16px;
		padding: 0 0 0 20px;
	}
	.navimenu01 li ul li {
		border: none !important;
		font-weight: normal;
	}
	.navimenu01 li ul li a {
		display: block;
		padding: 9px 0;
		font-size: 0.95rem;
		font-weight: normal;
		color: #ecedec;
		letter-spacing: 1px;
		text-align: left;
		background: none;
		border: none;
	}
	.navimenu01 li ul li a::after,
	.navimenu01 li ul li a::before { display: none; }

	/* メニュー下部：BOYS AT HEART + copyright */
	.sidebar-foot {
		display: block;
		width: 86%;
		margin: 40px auto 60px;
		overflow: hidden;
	}
	/* BOYS AT HEART. の画像を無限ループでゆっくり横スライド（マーキー） */
	.sidebar-foot__slogan {
		width: 100%;
		overflow: hidden;
	}
	.sidebar-foot__slogan .marquee {
		display: flex;
		width: max-content;
		animation: navSloganMarquee 22s linear infinite;
		animation-play-state: paused;        /* メニューを開いたときだけ動かす */
	}
	.active .sidebar-foot__slogan .marquee {
		animation-play-state: running;
	}
	.sidebar-foot__slogan .marquee img {
		width: auto;                         /* 全画像 width:100% を打ち消す */
		height: 42px;
		flex: none;
		margin-right: 44px;                  /* コピー間の余白 */
	}
	.sidebar-foot__copy {
		margin-top: 22px;
		text-align: center;
		font-size: 0.75rem;
		letter-spacing: 1px;
		color: #555;
	}
}