@charset "utf-8";
/* 楽器セットレター非表示 */
/*.gset_link {
  content-visibility: hidden;
  display: none;
}*/
/* 楽器セット在庫メッセージ用 */
.zaiko {
  margin: 0 0 2em;
  padding: 0 4vw 0 8vw;
  color: #B80000;
  font-size: .9em;
  text-indent: -1em;
}
.ord_eshops .zaiko {
  padding: 1em 4vw 0 8vw;
  text-align: left;
}
/*___________ 基本設定 ___________ */
html {
  font-size: 62.5%;
}
body {
  margin: 0;
  color: #3D232B;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  font-weight: 400;
  /*font-feature-settings: "palt";
  letter-spacing: .5px;*/
  font-size: 1.8rem;
  position: relative;
}
strong {
  color: #C10045;
  font-weight: bold;
  font-style: normal;
}
ol, ul {
  padding: 0;
  list-style-type: none;
}
img {
  width: 100%;
  height: auto;
}
picture {
  display: block;
}
button,input[type="submit"] {	
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}	
.pc_view, .is-pc {
  display: none;
  content-visibility: hidden;
}
span.pc_view {
  display: none;
  content-visibility: hidden;
}
.smp_view, .is-sp {
  display: block;
  content-visibility: visible;
}
span.smp_view {
  display: inline;
  content-visibility: visible;
}
.pc_block {
  display: inline;
}
.smp_block {
  display: block;
}
.txt_block {
  display: block;
}
.v_hdn {
  visibility: hidden;
}
.br_right {
  display: block;
  text-align: right;
}
.sp.br_right {
  display: block;
  text-align: right;
}
.pc.br_right {
  display: inline;
  text-align: left;
}
.nowrap {
  display: inline-block;
  white-space: nowrap;
}
/* ____ リンクテキスト ____ */
a {
  color: #0066CC;
  text-decoration: underline;
}
a:visited {
  color: #0066CC;
  text-decoration: underline;
}
a:hover, a:active, /* for IE (Keyboard) */ a:focus { /* for Netscape (Keyboard) */
  color: #CC0000;
  text-decoration: none;
  transition: 0.5s;
  opacity: 0.8;
}
a:hover img {
  opacity: 0.8;
}
a.no-link.sp {
  pointer-events: none;
}
/* ____ フロート設定 ____ */
.flo-l {
  float: left;
  margin-right: 3vw;
}
.flo-r {
  float: right;
  margin-left: 3vw;
}
/* ____ フロートボックス解除用 ____ */
.clear {
  clear: both;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.auto_br {
  word-break: keep-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/* ____ テキスト設定 ____ */
.txt_sm {
  font-size: 80%;
}
.txt_lg {
  font-size: 120%;
}
em {
  font-style: normal;
  font-size: 1.4em;
}
.b {
  font-weight: bold;
}
.s {
  text-decoration: line-through;
}
.u {
  text-decoration: underline;
}
.red {
  color: #B80000;
}
.ora {
  color: #FF6C2C;
}
.grn {
  color: #2E5D17;
}
.bro {
  color: #743500;
}
.main-color {
  color: rgba(193,0,69,1.00);
}
.huchi {
  text-shadow: 
    #FFF 4px 0px,  #FFF -4px 0px,
    #FFF 0px -4px, #FFF 0px 4px,
    #FFF 4px 4px , #FFF -4px 4px,
    #FFF 4px -4px, #FFF -4px -4px,
    #FFF 3px 4px,  #FFF -3px 4px,
    #FFF 3px -4px, #FFF -3px -4px,
    #FFF 4px 3px,  #FFF -4px 3px,
    #FFF 4px -3px, #FFF -4px -3px;
}
/* 文字揃え */
.txt_r {
  text-align: right;
}
.txt_l {
  text-align: left;
}
.txt_c, .center {
  text-align: center;
}
.kagi {
  padding: 0 .5em;
  position: relative;
  /*padding-left: 1em;
  text-indent: -.5em;*/
}
.kagi::before {
  content: "「";
  position: absolute;
  left: 0;
}
.kagi::after{
  content: "」";
  position: absolute;
  right: 0;
}
.ltsp-1 {
  letter-spacing: -1px;
}
.ltsp-2 {
  letter-spacing: -2px;
}
.kerning {
  margin-left: -.5em;
}
.ios_kerning {
  font-feature-settings: "palt";
}
:lang(x)+:-webkit-full-screen-document, .kerning {
  margin-left: 0;
}
/* ____ ボックス設定 ____ */
/* フレキシブルボックス */
.flexbox {
  display: block;
}
.flexbox_all {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* 大枠ボックス */
main.wrapper {
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-color: #FFFFFF;
  z-index: 0;
}
section {
  padding: 2em 0;
  overflow: hidden;
  /*content-visibility: auto;
  contain-intrinsic-size: 2000px;*/
}
.wrapper {
  width: 100%;
  margin: 0;
  position: relative;
}
/*.inner {
  padding: 0 2vw;
}*/
.minbox, .notice_box {
  width: 92vw;
  margin: .5em auto;
}
.pic_box {
  margin: 1em auto 0;
}
/* ボックス内共通設定 */
h1{
  margin: 0;
}
h2 {
  margin-bottom: 1em;
  font-size: 1.3em;
  line-height: 1.3;
  color: #3D232B;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: bold;
  font-style: normal;
}
/*h2 strong {
  display: block;
  font-weight: normal;
}*/
section h2 {
  /*height: 17vw;*/
  overflow: hidden;
  border-left: 5px solid rgba(193,0,69,1.00);
  padding-left: 5px;
  letter-spacing: 0;
  font-feature-settings: "palt";
}
h3, h4 {
  margin-bottom: .5em;
  font-size: 1.1em;
  font-weight: bold;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-style: normal;
}
h4 {
  margin-bottom: 0.5em;
  color: #EA3903;
}
.photo-frm {
  border: 3px solid #FFFFFF;
  box-shadow: 0 0 3px 2px #ccc;
}
.banzai {
  display: inline-block;
  padding: 0 60px;
  position: relative;
}
.banzai::before, .banzai::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 5px;
  background-color: #3D232B;
  position: absolute;
  top: 50%;
}
.banzai::before {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
  left: 0;
}
.banzai::after {
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  right: 0;
}
/* -------------------------------------- lightbox効果 .lightbox */
.lightbox {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .5s;
}
.lightbox picture {
  position: relative;
}
.lightbox.open {
  visibility: visible;
  opacity: 1;
}
.lightbox figure {
  width: 96%;
  max-width: 900px;
  margin: 0;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 110;
}
.lightbox figure img {
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
  z-index: 900;
}
.lightbox figcaption {
  position: relative;
  padding: 0.6rem 2.4rem 0.6rem 0.6rem;
  color: #fff;
  z-index: 101;
}
.lightbox .close {
  display: block;
  position: absolute;
  right: 0;
  top: -3rem;
  text-decoration: none;
  z-index: 100;
}
.lightbox > .close {
  right: 1vw;
  top: 1vw;
}
.lightbox .close::after {
  content: "\00d7";
  position: relative;
  width: 2rem;
  height: 2rem;
  font-size: 1.5rem;
  padding: 0 0 0.15rem;
  color: #fff;
  cursor: pointer;
  background-color: rgba(0, 0, 0, .5);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
.lightbox .close::before {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  position: fixed;
  background-color: rgba(0, 0, 0, .8);
  cursor: default;
}
.lightbox .close:hover {
  opacity: 1;
}
#lightboxclose.zoom-img .x-txt::before {
  content: "× 閉じる";
  display: block;
  padding: .5em;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  background-color: rgba(41,41,41,0.60);
  border-radius: .5em;
  position: fixed;
  bottom: 1em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
}
/* -------------------------------------- ヘッダー header  */
header {
  display: none;
  content-visibility: hidden;
}
.h_nav {
  display: none;
  content-visibility: hidden;
}
/* -------------------------------------- スマホ用ナビ .s-nav  */
.s-nav ul.flexbox {
	display: flex;
  justify-content: space-around;
  margin: 1em 0;
}
.s-nav ul li {
	width: 24%;
	display: table;
	text-align: center;
}
.s-nav ul li a {
	display: table-cell;
	vertical-align: middle;
	height: 20vw;
	padding-top: 0;
	color: #FFFFFF;
	text-decoration: none;
	border-radius: 2vw;
}
.s-nav ul li#s-nav_1dan a,
.s-nav ul li#s-nav_3set a {
	font-size: .8em;
}
.s-nav ul li#s-nav_ord a,
.s-nav ul li#s-nav_1dan a,
.s-nav ul li#s-nav_3set a,
.s-nav ul li#s-nav_cont a,
.s-nav ul li#s-nav_qa a {
	background-image: -webkit-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 30%);
	background-image: -moz-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 30%);
	background-image: -o-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 30%);
	background-image: linear-gradient(180deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 30%);
}
#p_3set .s-nav ul li#s-nav_3set a,
#p_1dan .s-nav ul li#s-nav_1dan a,
#contact .s-nav ul li#s-nav_cont a,
.s-nav ul li a:hover {
	background-position: 0 0;
	background-image: -webkit-linear-gradient(90deg,rgba(255,95,0,1.00) 0%,rgba(255,79,0,1.00) 30%);
	background-image: -moz-linear-gradient(90deg,rgba(255,95,0,1.00) 0%,rgba(255,79,0,1.00) 30%);
	background-image: -o-linear-gradient(90deg,rgba(255,95,0,1.00) 0%,rgba(255,79,0,1.00) 30%);
	background-image: linear-gradient(0deg,rgba(255,95,0,1.00) 0%,rgba(255,79,0,1.00) 30%);
}
/*.ad_tel-bnr,
.ys_tel-bnr {
  margin-bottom: 0;
}
.ad_tel-bnr a,
.ys_tel-bnr a {
  display: block;
  width: 96vw;
  height: 0;
  margin: 0 auto;
  padding-top: 11.6vw;
  background-image: url("/phone/images/free_tell_n.jpg"), url("/phone/images/free_btn.gif");
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: contain, contain;
  overflow: hidden;
}
.ys_tel-bnr a {
  background-image: url("/phone/images/free_tell_yd.jpg"), url("/phone/images/free_btn.gif");
}
.ad_tel-bnr::after,
.ys_tel-bnr::after {
  content: "※メールは24時間お受けしています";
  display: block;
  margin: 0.5em 0;
  text-align: center;
}*/
/* -------------------------------------- Youtube埋め込み .yt_movie  */
/* javascriptと併用してください yt-lite.js  */
.yt_movie {
  background-color: #000000;
  position: relative;
}
/*.yt_movie a {
  display: block;
  position: relative;
}
.yt_movie a::after {
  content: "";
  display: block;
  margin: -30px 0 0 -50px;
  width: 100px;
  height: 60px;
  border-radius: 10px;
  background-image: url("/violin/img/play3kaku.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50px 30px;
  background-color: rgba(0,0,0,0.80);
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 999;
}
.yt_movie a:hover::after {
  background-color: rgba(227,14,0,1.00);
}*/
.yt_play {
  position: absolute;
  background-image: url("../ppc-img/vn_movie_thumb.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  overflow: hidden;
}
.yt_play:hover {
  cursor: pointer;
}
.yt_play::before {
  content: "";
  display: block;
  width: 100px;
  height: 60px;
  border-radius: 10px;
  background-image: url("/img/parts/play3kaku.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50px 30px;
  background-color: rgba(0,0,0,0.80);
  position: absolute;
  left: calc(50% - 50px);
  top: calc(50% - 30px);
  z-index: 100;
}
.yt_play:hover::before {
  cursor: pointer;
  background-color: rgba(227,14,0,1.00);
}
.yt_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* -------------------------------------- 特典バナー .toku_bnr  */
.toku_bnr p {
  margin: 1em 0;
  height: 0;
  padding-top: 72vw;
  background-image: url("/violin/tokuten/img/violin_toku.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
  overflow: hidden;
}
.toku_bnr.lv p {
  /*padding-top: 72vw;*/
  background-image: url("/violin/tokuten/img/lv/violin_toku.png");
}
/*.toku_top .toku_bnr p {
  text-align: center;
  position: relative;
}
.toku_top .toku_bnr p::after {
  content: "▼ 詳しい内容を今すぐチェック ▼";
  width: 92vw;
  color: #865334;
  text-shadow:
    #FFF 2px 0px, #FFF -2px 0px, #FFF 0px -2px, #FFF 0px 2px, #FFF 2px 2px, #FFF -2px 2px, #FFF 2px -2px, #FFF -2px -2px, #FFF 1px 2px, #FFF -1px 2px, #FFF 1px -2px, #FFF -1px -2px, #FFF 2px 1px, #FFF -2px 1px, #FFF 2px -1px, #FFF -2px -1px;
  position: absolute;
  left: 50%;
  bottom: .5em;
  transform: translateX(-50%);
}*/
.tokuten {
  margin: 1em 2vw;
  padding: 0;
	border: 1px solid rgba(193,0,69,1.00);
}
.tokuten .toku_ttl {
	background-color: rgba(193,0,69,1.00);
	color: #FFFFFF;
	text-align: center;
}
.tokuten .toku_ttl h2 {
  height: auto;
  margin: 0;
  padding: 1em 0 0.5em;
	color: #FFFFFF;
  font-family: inherit;
  border-left: 0;
}
.tokuten .toku_ttl h2 span.txt_sm {
  display: block;
  margin-bottom: .5em;
  line-height: 1.4;
}
.tokuten .toku_ttl h2 + p {
  padding: 0.5em 0;
}
.tokuten .toku_wrapper {
	padding: 0.5em 2vw 0; 
}
.tokuten .toku_wrapper > p:first-child {
  font-size: 1.2em;
	text-align: center;
}
.tokuten .toku_caption {
  margin-bottom: 1em;
}
.tokuten .toku_caption p {
  margin-bottom: 0;
}
.tokuten .red2 {
  color: rgba(193,0,69,1.00);
}
.tokuten .toku_caption .f14 {
  font-size: 1em;
}
.tokuten .toku_caption .b {
  font-family: inherit;
}
.tokuten .f11 {
  font-size: 1em;
}
.tokuten p.f11 {
  font-size: .9em;
  padding-left: 1em;
}
.tokuten .gakufucd {
  border-top: 2px solid rgba(193,0,69,1.00);
}
.tokuten .gakufucd p {
  margin-bottom: 0;
}
.tokuten .gakufucd p {
  margin-top: 1em;
  font-weight: normal;
  font-size: 0.9em;
  letter-spacing: -1px;
}
.tokuten .toku_movie-ttl {
  margin-top: 1em;
  color: rgba(193,0,69,1.00);
  font-weight: bold;
  font-size: 1em;
  text-align: center;
}
.tokuten .yt_movie {
  margin-left: -2vw;
}
.tokuten .yt_play {
  background-image: url("../of123-img/vn_tktn_thumb.jpg");
}
.yt_movie + p {
  font-size: 0.8em;
  margin: 0.5em 0 1em;
  text-align: center;
}
.tokuten .yt_movie + p {
  padding-left: 0;
  font-size: 0.8em;
  font-weight: normal;
  text-align: center;
}
iframe {
  border: none;
}
/* 長期休暇用 */
.tokuten.lv .toku_ttl {
	background-color: rgba(193,0,18,1.00);
}
.tokuten.lv .toku_ttl p:first-child {
  padding-top: 1em;
}
.tokuten.lv .toku_ttl h2 {
  padding: 1em 0 0.5em;
}
.tokuten.lv .red2 {
  color: rgba(193,0,18,1.00);
}
.tokuten.lv .yt_play {
  background-image: url("../../tokuten/img/lv/vn_tktn-lv_thumb.jpg");
}
/* 発送日案内 */
.otodoke .otdk {
  color: #BB0001 !important;
}
.otodoke strong {
  color: #3D232B !important;
}
.otodoke .otdk_txt {
  font-size: 1em !important;
}
/* -------------------------------------- 追従リンク .fix_btn */
.fix_btn {
  width: 100px;
  position: fixed;
  right: 0;
  bottom: 10vw;
  z-index: 20;
}
.fix_btn p {
  margin: 0;
}
#ord_open {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0;
  border: none;
  border-radius: .5em;
  background-color: rgba(193,0,69,1.00);
  background-image: url("../ppc-img/ic_menu.svg");
  background-repeat: no-repeat;
  background-size: 65px 65px;
  background-position: center center;
  opacity: 0.8;
  cursor: pointer;
}
#ord_open:focus {
  opacity: 1;
  outline: 0;
}
/* -------------------------------------- 誘導バナー .gset_link */
.gset_link {
  margin: 1em 2vw;
  padding: 0;
  box-shadow: 0 2px 10px 2px rgba(109,144,145,0.40);
}
/* -------------------------------------- フッター footer */
footer {
  color: #FFFFFF;
  background-color: #3D232B;
	border-top: 4px double #F5F2E9;
}
footer .wrapper {
  padding: 1em 0;
}
footer a, footer a:visited {
  color: #FFFFFF;
  text-decoration: none;
}
footer a:hover {
  color: #F5F2E9;
}
footer .flexbox {
  justify-content: center;
  margin-bottom: 2em;
}
footer nav ul li {
  padding: 0.5em 0;
  font-size: 1em;
  text-align: center;
  border-bottom: 1px dotted #AFA483;
  position: relative;
}
footer nav ul li a {
  display: block;
  padding: 0.5em 0;
}
footer nav ul li::after {
  content: "\03e";
  font-weight: bold;
  position: absolute;
  top: 1em;
  right: 1em;
}
footer .copy {
  font-size: 0.8em;
  text-align: center;
}
/* ------------------------------------- スライドメニュー #slide_menu */
#slide_menu a {
  display: block;
  height: 100%;
  padding: 2vh 0;
  color: #2E1800;
  text-decoration: none;
  white-space: nowrap;
}
#slide_menu a:hover,
#slide_menu a:active,
#slide_menu a:focus {
  background-color: #FFECC0;
}
#slide_menu button,
#slide_menu button:focus {
  width: 100%;
  padding: 2vh 0;
  color: #2E1800;
  font-weight: normal;
  border: none;
  background-color: transparent;
  outline: none;
}
#slide_menu button:hover,
#slide_menu button:active {
  opacity: .8;
  background-color: #FFECC0;
}
/* メニュー */
#slide_menu nav {
  width: 100%;
  height: 0;
  background-color: #FFFFFF;
  text-align: center;
  overflow-x: hidden;
  overflow-y: scroll;
  position: fixed;
  bottom: 0;
  right: 0;
  transition: .5s;
  z-index: 999;
  background-image: -webkit-linear-gradient(270deg,rgba(255,244,232,1.00) 0%,rgba(255,255,255,1.00) 100%);
  background-image: -moz-linear-gradient(270deg,rgba(255,244,232,1.00) 0%,rgba(255,255,255,1.00) 100%);
  background-image: -o-linear-gradient(270deg,rgba(255,244,232,1.00) 0%,rgba(255,255,255,1.00) 100%);
  background-image: linear-gradient(180deg,rgba(255,244,232,1.00) 0%,rgba(255,255,255,1.00) 100%);
}
#slide_menu nav li {
  border-bottom: 2px dotted rgba(135,111,60,0.50);
}
#slide_menu nav .nav-tel {
  margin-bottom: 1em;
}
#slide_menu nav .nav-tel img {
  max-width: 90vw;
}
/* メニューを開いた時 */
#slide_menu nav.open-menu {
  height: 60vh;
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 6px 3px #000;
}
#fadeLayer, #lightboxclose {
  position:fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.75);
  visibility: hidden;
  z-index: 99;
}
#fadeLayer p {
  width: 100%;
  position: fixed;
  top: 14vh;
  color: #FFFFFF;
  text-shadow: none;
  text-align: center;
}

/* ----------------------------------------------------------------------------------------------------------------------------- */
/*　PCレイアウトここから　*/
/* ----------------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 481px) {
/* 楽器セット在庫メッセージ用 */
.zaiko {
  margin: 0 0 2em;
  padding: 0;
  text-align: center;
  text-indent: 0;
}
/*___________ 基本設定 ___________ */
html {
  scroll-behavior: auto;
}
body {
  font-size: 2.0rem;
  line-height: 1.6;

}
img {
  width: auto;
  height: auto;
}
picture {
  text-align: center;
}
.pc_view, .is-pc {
  display: block;
  content-visibility: visible;
}
span.pc_view {
  display: inline;
  content-visibility: visible;
}
.smp_view, .is-sp {
  display: none;
  content-visibility: hidden;
}
span.smp_view {
  display: none;
  content-visibility: hidden;
}
.pc_block {
  display: block;
}
.smp_block {
  display: inline;
}
.sp.br_right {
  display: inline;
  text-align: left;
}
.pc.br_right {
  display: block;
  text-align: right;
}
a.no-link.sp {
  pointer-events: auto;
}
.kagi {
  padding: 0 .5em;
  position: relative;
  /*padding-left: 1em;
  text-indent: -.5em;*/
}
/*.kagi::before {
  content: "「";
  position: relative;
  left: -.5em;
}
.kagi::after{
  content: "」";
  position: relative;
  right: -.5em;
}
.kerning {
  margin-left: 0;
}*/
/* ____ ボックス設定 ____ */
/* フレキシブルボックス */
.flexbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* 大枠ボックス */
main.wrapper {
  margin: 1em auto;
  padding: 0;
  width: 980px;
  border: 1px solid #999;
  box-sizing: content-box;
}
section {
  padding: 80px 0;
  contain-intrinsic-size: inherit;
}
.wrapper {
  width: 980px;
  margin: 0 auto;
}
.inner {
  margin: 0 50px;
}
.minbox {
  width: 650px;
}
.pic_box {
  margin: 2em auto;
}
/* ボックス内共通設定 */
h1 {
  font-size: 1.4rem;
  line-height: 2;
  text-align: right;
  font-weight: normal;
}
h2 {
  font-size: 4.6rem;
  line-height: 1.2;
}
section h2 {
  height: auto;
  padding: 0;
  margin: 0 0 .5em;
  font-size: 4.4rem;
  text-align: center;
  border: 0;
  /*margin-left: 10px;
  padding-left: .5em;
  border-left: 10px solid rgba(193,0,69,1.00);*/
  overflow: visible;
}
section h2 + .subttl {
  font-size: 6.0rem;
  line-height: 1.4;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "游ゴシック Medium", "Meiryo", sans-serif;
}
section p {
  margin-bottom: 1em;
}
/* -------------------------------------- lightbox効果 .lightbox */
.lightbox figure {
  width: auto;
  margin: 0 auto;
  position: fixed;
  /*left: calc(50% - 360px);
  top: calc(50% - 30vh);*/
  z-index: 110;
}
.lightbox figure img {
  max-width: 900px;
}
.lightbox .x-txt {
  content: "";
  display: block;
  padding: .5em;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  background-color: rgba(41,41,41,0.60);
  border-radius: .5em;
  position: absolute;
  bottom: 0;
  z-index: 200;
}
/* -------------------------------------- ヘッダー header  */
header {
  display: block;
  content-visibility: visible;
  contain-intrinsic-size: 110px;
  min-width: 980px;
  padding-top: 0.5em;
  border-bottom: 1px solid #000000;
  background-color: #FFFFFF;
  position: relative;
  z-index: 10;
}
header .wrapper {
  padding: 0;
  justify-content: space-between;
}
header .wrapper p {
  margin: 0 0 0.5em;
  line-height: 0;
}
.logo {
  font-size: 1.4em;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: bold;
  line-height: 1.2 !important;
  letter-spacing: -2px;
}
.logo strong {
  display: block;
}
.tel-no img {
  width: 270px;
}
/* -------------------------------------- Youtube埋め込み .yt_movie  */
.yt_movie {
  width: 680px;
  height: 400px;
  margin: 0 auto;
  padding: 0;
}
.yt_play {
  background-size: cover;
  border: 1px solid #000;
}
/* -------------------------------------- 特典バナー .toku_bnr  */
.toku_bnr p {
  margin: 1em 0;
  height: 0;
  padding-top: 540px;
  background-image: url("/violin/tokuten/img/violin_toku.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
  overflow: hidden;
}
.toku_bnr.lv p {
  /*padding-top: 540px;*/
  background-image: url("/violin/tokuten/img/lv/violin_toku.png");
}
/*.toku_top .toku_bnr p {
  padding-top: 540px;
  background-image: url("/violin/tokuten/images/toku_img_a.jpg");
}
.toku_top .toku_bnr p::after {
  content: "";
  display: none;
}*/
.tokuten {
  margin: 1em auto 80px;
  padding: 1410px 0 0;
  height: 0;
	border: none;
  background-image: url("/violin/tokuten/img/toku_b_2.png");
  background-repeat: no-repeat;
  background-position: center top;
  overflow: hidden;
  position: relative;
}
.tokuten.lv{
  /*padding: 1540px 0 0; 3曲の時*/
  background-image: url("/violin/tokuten/img/lv/toku_b_2.png");
}
.tokuten .yt_movie {
  margin-left: 0;
  position: absolute;
  left: calc(50% - 280px);
  bottom: 80px;
}
.otodoke strong {
  font-weight: bold;
}
/* -------------------------------------- 追従リンク .fix_btn */
.fix_btn {
  right: calc(50% - 600px);
  bottom: 50px;
}
/* -------------------------------------- 誘導バナー .gset_link */
.gset_link,
.subp .gset_link {
  width: 700px;
  margin: 40px auto;
  padding: 0;
  box-shadow: 0 2px 10px 2px rgba(109,144,145,0.40);
}
/* -------------------------------------- フッター footer */
footer {
  border: none;
}
footer .wrapper {
	border-top: none;
}
footer nav ul li {
  font-size: 0.8em;
  border-bottom: none;
  position: static;
}
footer nav ul li a {
  display: inline;
  padding: 0;
}
footer nav ul li::after {
  content: "-";
  margin: 0 0.5em;
  font-weight: normal;
  position: static;
}
footer nav ul li:last-of-type::after {
  content: "";
  margin: 0;
}
footer .f_nav {
  z-index: 10;
  background-color: #FFFFFF;
  border-top: 1px solid #000000;
}
footer .f_nav ul {
  width: 980px;
  margin: 0 auto;
  justify-content: center;
}
footer .f_nav ul a {
  display: block;
  height: 0;
  padding-top: 50px;
  overflow: hidden;
  background-image: url("../gset-img/vn_nav.png");
  background-repeat: no-repeat;
  background-size: 980px 100px;
  background-position: left top -50px;
  border: 1px solid #4f001c;
  border-top: none;
  border-radius: 0 0 5px 5px;
  transition: 0s;
}
footer .f_nav ul li {
  margin-right: 1px;
  padding: 0;
  width: 195px;
}
footer .f_nav ul li::after {
  content: "";
  display: none;
  content-visibility: hidden;
}
footer .f_nav ul li.vnord a {
  background-position-x: 0;
}
footer .f_nav ul li.vn3set a {
  background-position-x: -196px;
}
footer .f_nav ul li.vngset a {
  background-position-x: -392px;
}
footer .f_nav ul li.vnqa a {
  background-position-x: -588px;
}
footer .f_nav ul li.vncont a {
  background-position-x: -784px;
}
#vn_3set footer .f_nav ul li.vn3set a,
#vn_gset footer .f_nav ul li.vngset a,
#qa footer .f_nav ul li.vnqa a,
#contact footer .f_nav ul li.vncont a,
footer .f_nav ul a:hover {
  background-position-y: 0;
}
footer .f_nav>.flexbox:last-child {
  padding: 1em 20px;
  margin-bottom: 0;
  justify-content: space-between;
  border-top: none;
}
footer .f_nav>.flexbox:last-child p:first-child {
  font-size: 1.4em;
  color: #3D232B;
  line-height: 1.2;
  /*font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";*/
}
footer .f_nav>.flexbox:last-child p:first-child strong {
  display: block;
  /*color: #EA3903;*/
  font-size: 1.2em;
}
/* ------------------------------------- スライドメニュー #slide_menu */
#slide_menu a,
#slide_menu button,
#slide_menu button:focus {
  padding: .8em 0;
} 
/* メニュー */
#slide_menu nav {
  width: 450px;
  overflow-y: hidden;
  right: calc(50% - 600px);
}
#slide_menu nav .nav-tel {
  margin: 1em 0;
}
#slide_menu nav .nav-tel img {
  width: 300px;
}
/* メニューを開いた時 */
#slide_menu nav.open-menu {
  height: 520px;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 0 6px 3px rgba(191,191,191,0.50);
}
#fadeLayer {
  background-color: transparent;
}
#fadeLayer p {
  display: none;
}
}