/*=============================================
	■ヘッダー
=============================================*/
header {
	padding: 0 20px;
	width:100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	}
.header-area {
	margin: 0 auto;
	max-width: 1360px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-logo-area {
	width: 433px;
	display: flex;
	align-items:center;
	justify-content: space-between;
}

.header-logo-area .logo-yamaha {
	width: 90px;
}

.header-logo-area .logo-ycs {
	width: 320px;
}

.header-logo-area a {
	display: block;
}

.header-logo-area img:hover {
	opacity: 1 !important;
}

#header-navi {
	/*-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;*/
}

.header-navi-area {
	display: flex;
	align-items: center;
}

.header-navi-area > ul {
	display: flex;
	/*font-family: "Noto Sans JP", sans-serif;*/
	line-height: 1;
}

.header-navi-area > ul a {
	display: inline-block;
	transition:.2s;	
}

/*アンダーバーアニメ*/
.header-navi-area > ul a span {
	position: relative;
	text-decoration: none;
}

.header-navi-area > ul a span::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 0;
		height: 1px;
		background: #4B1E78;
		transition: width 0.3s ease;
}

.header-navi-area > ul a span:hover::before {
		width: 100%; /* ホバー時に下線の幅が100%になる */
}

@media (max-width:1180px) {
.header-area {
	position: relative;
	padding: 0 20px;
	height: 54px;
}
	
.header-logo-area {
	width: inherit;
}
	
.header-logo-area .logo-yamaha {
	margin-right: 15px;
	width: 60px;
}
	
.header-logo-area .logo-ycs {
	width: 196px;
}

#header-navi {
position: absolute;
	top: 54px;
	left: 0;
	z-index: 3;
	display: none;
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
}
	
.header-navi-area {
	padding:30px 40px 30px;
	width: 100%;
	display: block;
}
	
.menuOpen #header-navi {
	top:54px;
	visibility: visible;
	width:100%;
	}
	
.header-navi-area > ul {
	width: 100%;
	text-align:left;
}
}

@media (max-width:1180px) {
	header {
		padding: 0;
	}
}

/**/
.header-navi-list {
	font-size: 1.6rem;
	font-weight: 700;
	/*font-weight:bold;*/
}

.header-navi-list > li {
	margin-right: 30px;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:center;
}

@media (max-width:1180px) {
.header-navi-list > li {
	margin-right: 30px;
	height:auto;
	display:block;
}
}

.header-navi-list > li a:hover {
	color: #4B1E78;
}


.header-navi-list .add-arrows > a {
	padding-right: 24px;
	background: url("../images/common/chevron-down.png") no-repeat right center;
	height: 80px;
	display: flex;
	align-items: center;
}

/*アンダーバーアニメ*/
.header-navi-area > ul span {
	position: relative;
	text-decoration: none;
}

.header-navi-list .add-arrows > a span::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: -5px;
		width: 0;
		height: 1px;
		background: #4B1E78;
		transition: width 0.3s ease;
}

.header-navi-list .add-arrows > a span:hover::before {
		width: 100%; /* ホバー時に下線の幅が100%になる */
}


.header-navi-list .add-mega-navi:hover .header-navi-sub-box {
  opacity: 1;
  visibility: visible ;
}

/*
---------*/
.sp-navi-arrows {
	display: none;
}

@media (max-width:1180px) {
.header-navi-list > li .add-arrows {
	width:100%;
	display:flex;
	align-items:center;
	justify-content:flex-start;
}

.header-navi-list > li .add-arrows > a {
	padding-right: 0px;
	width:100%;
	height:auto;
	background: none;
}
	
.sp-navi-arrows {
	padding-left: 140px;
	display: block;
	flex-shrink: 0;
}
	

.sp-navi-arrows img {
	transition: all .25s;
}

.sp-navi-arrows.is-open img {
	transform: rotate(180deg); /* 180度回転 */
}
	
}



/*メガメニュー(PC)
--------------------------------------------------*/
.header-navi-sub-box {
	position: absolute;
	top: 80px;
	left: 0;
	background-color: rgba(242, 243, 244, 0.95); 
	width: 100%;
	padding: 50px 20px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s, visibility .2s;
}

@media (max-width:1180px) {
.header-navi-sub-box {
	position: static;
	background-color: inherit; 
	width: inherit;
	padding: 0;
	opacity: 1;
	visibility: visible;
	transition: opacity .0s, visibility .0s;
	display: none;
}
}


.header-navi-mega {
	margin: 0 auto;
	max-width: 880px;
	display: flex;
	align-items: center;
	justify-content:center;
}

.header-navi-mega .pic-area {
	width: 256px;
	flex-shrink: 0;
	border-right: solid 1px #B8BCBE;
	text-align: left;
}

@media (max-width:1180px) {
.header-navi-mega {
	margin: 0 auto;
	max-width:none;
	display: block;
}

.header-navi-mega .pic-area {
	display: none;
}

}
	

.header-navi-mega .pic-area .en {
	font-size: 1.4rem;
	font-weight: 400;
	font-family: "Oswald", sans-serif;
	color: #757778;
}

.header-navi-mega .pic-area .ja {
	margin-top: 7px;
	font-size: 2.0rem;
}

.header-navi-mega .pic-area .ja a {
	padding-right: 30px;
	display: table;
	background: url("../images/common/chevron-right-circle-violet.png") no-repeat right center;
	background-size: 18px;
	transition: .2s;
}

.header-navi-mega .pic-area .ja a:hover {
	color: #7B47D2;
	background: url("../images/common/chevron-right-circle-violet-on.png") no-repeat right center;
	background-size: 18px;
}

/*アンダーバーアニメ*/
.header-navi-mega .pic-area a img:hover {
	opacity: 1 !important;
}

.header-navi-mega .pic-area .ja a {
	position: relative;
	text-decoration: none;
}

.header-navi-mega .pic-area .ja a::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: -4px;
		width: 0;
		height: 1px;
		background: #4B1E78;
		transition: width 0.3s ease;
}

.header-navi-mega .pic-area .ja a:hover::before {
		width: 100%; /* ホバー時に下線の幅が100%になる */
}

/**/
.header-navi-mega .pic-area .pic {
	margin-top: 20px;
	width: 197px;
	overflow: hidden;
}

/*画像拡大*/
.header-navi-mega .pic-area .pic img {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.header-navi-mega .pic-area .pic:hover img {
  transform: scale(1.1); 
}

/**/
.header-navi-mega .link-area {
	padding-left: 60px;
	width: 100%;
	text-align: left;
}

.header-navi-mega .link-area .sp-header-navi-list-sub {
	display:grid;
	gap:20px 30px;
	grid-template-columns:repeat(2,1fr)
}

.header-navi-mega .link-area .sp-header-navi-list-sub > li {
	line-height: 1.6;
	font-weight:500;
}

/*アンダーバーアニメ*/
.header-navi-mega .link-area .sp-header-navi-list-sub a {
	position: relative;
	text-decoration: none;
}

.header-navi-mega .link-area .sp-header-navi-list-sub a::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0px;
		width: 0;
		height: 1px;
		background: #4B1E78;
		transition: width 0.3s ease;
}

.header-navi-mega .link-area .sp-header-navi-list-sub a:hover::before {
		width: 100%; /* ホバー時に下線の幅が100%になる */
}


@media (max-width:1180px) {
.header-navi-area .header-navi-list {
	display: block;
	}
	
.header-navi-mega .link-area {
	padding-left: 0px;
}
	
.header-navi-mega .link-area .sp-header-navi-list-sub {
	margin-left: 10px;
	display:block;
	font-size: 1.4rem;
}
	
.sp-header-navi-list-sub > li {
	margin-top:20px;
}
	
.header-navi-list > li {
	margin-right: 0px;
	margin-bottom: 30px;
}

}




@media (max-width:560px) {
.header-navi-area .header-navi-list {
	display: block;
	/*font-size: 1.6rem ;
	font-weight: 900;*/
}

.header-navi-list > li {
	/*margin-right: 0px;
	margin-bottom: 30px;*/
	font-size: 4.5vw ;
}

/**/
.sp-header-navi-list-sub {
	/*margin-left:10px;*/
	font-size:4vw ;
}
	
.header-navi-sub-box.is-open {
	display: block;
	}

/*.sp-header-navi-list-sub > li {
	margin-top:22px;
}*/
	
}

/**/
.header-inq-list {
	font-size:1.2rem;
	/*font-weight: 900;*/
	font-weight:bold;
}

.header-inq-list p {
	width:120px;
	height:30px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width:1180px) {
.header-inq-list {
	padding-top: 30px;
	border-top: solid 1px #757778;
}	
}
	
@media (max-width:768px) {
.header-inq-list > li:first-child {
	margin-right:10px;
}	
}


@media (max-width:560px) {
.header-inq-list {
	padding-top: 30px;
	border-top: solid 1px #757778;
	justify-content: space-between;
	font-size:3.5vw;
}
	
.header-inq-list > li {
	width: 47%;
	}
	
	.header-inq-list > li:first-child {
	margin-right:0;
}	
	
.header-inq-list p {
	width:inherit;
	height:auto;
	padding:0.8em 0;
}
}

/**/
.header-inq-list .ques .btn {
	margin-right: 10px;
	border: solid 1px #757778;
	transition: .2s;
}

.header-inq-list .ques a .btn:hover {
	margin-right: 10px;
	border: solid 1px #B8BCBE;
	color: #757778;
}

@media (max-width:768px) {
.header-inq-list .ques .btn {
	margin-right: 0px;
}

.header-inq-list .ques a .btn:hover {
	margin-right: 0px;
	border: solid 1px #757778;
	color: inherit;
}

}
/**/
.header-inq-list .inq .btn {
	border: solid 1px #333;
	color: #fff;
	background: #333;
	transition: .2s;
}

.header-inq-list .inq a .btn:hover {
	border: solid 1px #757778;
	color: #fff;
	background: #757778;
}

/*=============================================
	ハンバーガーメニュー
=============================================*/
.navDrawrBtn {
  display: none;
}

@media (max-width: 1180px) {
  .navDrawrBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
    font-size: 10px;
    /*background:#e6e6e6;*/
    display: flex;
    align-items: center;
    justify-content: center; }

  .menuOpen .navDrawrBtn {
    /*background:#2e457c;*/ }

  .navDrawrBtn .menu-txt {
    margin-top: 5px;
    text-align: justify;
    text-justify: inter-ideograph; }

  .overlay {
    display: none;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 60px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3; }
}

/*■■ハンバーガーメニュー(アニメ版)
---------------------------------- */
@media (max-width: 1180px) {
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box; }

  .menu-trigger {
    position: relative;
    width: 28px;
    height: 12px; }

  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #4B1E78;
    /*border-radius: 1px;*/ }

  .menu-trigger.active span {
    /*background-color: #fff;*/
	}

  .menu-trigger span:nth-of-type(1) {
    top: 0; 
	}

  .menu-trigger span:nth-of-type(2) {
    top: 8px;
	}

  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
	}

  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(2px) rotate(-45deg);
    transform: translateY(2px) rotate(-45deg); }

  /*.menu-trigger.active span:nth-of-type(2) {
    opacity: 0; }*/

  .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg); }
}

/*=============================================
	■フッター
=============================================*/
.footer-area {
	padding: 60px 20px 0;
	background: #000;
	color: #fff;
	position: relative;
}

@media (max-width:900px) {
.footer-area {
	padding: 40px 20px 0px;
}	
}

.footer-area a {
	display: inline-block;
	color: #fff;
	transition: .2s;
}

.footer-area a:hover {
	color: #4B1E78;
	/*text-decoration: underline;*/
}

#footer {
	margin: 0 auto 0;
	max-width: 1200px;
	position: relative;
	z-index: 4;
}

/**/
.footer-navi-area {
	display: grid;
	grid-template-columns: 1fr 1fr;
	text-align: left;
}

@media (max-width:560px) {
.footer-navi-area {
	display: block;
}	
}

/*left-area*/
.footer-navi-area .left {
	border-right: solid 1px #474A4B;
}

.footer-navi-area .down-area {
	margin-top: 30px;
	display: flex;
}

.footer-navi-area .down-area > div:first-child {
	width: 265px;
}

@media (max-width:900px) {
.footer-navi-area .down-area > div:first-child {
	width: 190px;
}
}

@media (max-width:560px) {
.footer-navi-area .left {
	margin-bottom: 40px;
	padding-bottom:40px;
	border-right: none;
	border-bottom: solid 1px #474A4B;
}

.footer-navi-area .down-area > div:first-child {
	width: 50%;
}

}

/**/
.footer-navi-list {
	line-height: 1;
}

.footer-navi-list > li {
	margin-top: 33px;
	font-size: 1.6rem;
	font-weight: 800;
}

.footer-navi-list > li:first-child {
	margin-top: 0;
}

.footer-navi-list a:hover {
	color: #fff;
}

/*ホバー時下線のびる*/
.footer-navi-list a {
	display: inline-block;
	position: relative;
}

.footer-navi-list a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.footer-navi-list a:hover::after {
  transform: scale(1, 1);
}

@media (max-width:560px) {
.footer-navi-list > li {
	margin-top: 30px;
	font-size: 4vw;
}
	
}

.footer-nai-list-second {
	margin-top: 20px;
}

.footer-nai-list-second > li {
	font-size: 1.4rem;
	font-weight: 500;
}

.footer-nai-list-second > li {
  position: relative; /* 擬似要素を使うために必要 */
  padding-left: 20px; /* テキストの左側にスペースを確保 */
  margin-top: 13px; /* リストアイテムの間にスペースを作成 */
}

.footer-nai-list-second > li:first-child {
	margin-top: 0;
}

.footer-nai-list-second > li::before {
  content: ""; /* 擬似要素の内容を空に設定 */
  position: absolute; /* 絶対位置を使用 */
  left: 0;
  top: 50%; /* 水平方向の中央に配置 */
  width: 10px; /* 棒線の幅 */
  height: 2px; /* 棒線の高さ */
  background-color: #fff; /* 棒線の色 */
  transform: translateY(-50%); /* 棒線を中央に配置 */
}



@media (max-width:560px) {
.footer-nai-list-second {
	margin-top: 15px;
}
	
.footer-nai-list-second > li {
	font-size: 3.5vw;
}	
}

/*right-area*/
.footer-navi-area .right {
	display: flex;
	align-items: center;
	justify-content: center;
}


.footer-navi-area .right .in-box {
	width: 380px;
}

.footer-logo-yamaha {
	margin: 0 auto 30px;
	max-width: 195px;
}

.footer-logo-yamaha a img:hover {
	opacity: 1;
}

.footer-logo-ycs a img:hover {
	opacity: 1;
}

.footer-logo-ycs {
}

.footer-nai-list-ty2 {
	margin-top: 55px;
}

.footer-nai-list-ty2 > li {
	margin-top: 13px;
	font-size: 1.4rem;
	font-weight: bold;
}

.footer-nai-list-ty2 > li:first-child {
	margin-top: 0;
}

.footer-nai-list-ty2 a:hover {
	color: #fff;
}

/*ホバー時下線のびる*/
.footer-nai-list-ty2 a {
	display: inline-block;
	position: relative;
	line-height:1;
}

.footer-nai-list-ty2 a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.footer-nai-list-ty2 a:hover::after {
  transform: scale(1, 1);
}

@media (max-width:900px) {
.footer-navi-area .right .in-box {
	padding-left:20px;
	max-width: inherit;
}
}

@media (max-width:560px) {
.footer-navi-area .right .in-box {
	padding-left: 0;
	width: inherit;
}

.footer-logo-yamaha {
	margin: 0 auto 20px;
	max-width: 35%;
}

.footer-logo-ycs {
	margin:0 auto;
	width:75%;
}

.footer-nai-list-ty2 {
	margin-top: 30px;
	display:flex;
	justify-content:space-between;
}

.footer-nai-list-ty2 > li {
	margin-top:0;
	font-size:3.5vw;
}


}

/*■コピーライト
-----------------------------*/
.copy {
	padding: 60px 0;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: left;
	line-height: 1;
}

@media (max-width:560px) {
.copy {
	padding: 30px 0;
	font-size: 3.0vw;
}	
}

