@charset "utf-8";
/* スマホファースト */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@700&display=swap');
/* 楽器セットリンク削除 */
/*.gset_link {
  content-visibility: hidden;
  display: none;
}*/
/*___________ 基本設定 ___________ */
/*html {
  scroll-behavior: smooth;
}*/
body {
  margin: 0;
  font-size: 1rem;
  color: #3D232B;
  position: relative;
}
strong, .b {
  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";
  font-weight: 900;
}
ol, ul {
  padding: 0;
  list-style-type: none;
}
p, li {
  font-size: 4.5vw;
}
img {
  width: 100%;
  height: auto;
}
picture {
  display: block;
}
iframe {
  border: none;
}
.pc_view, .is-pc {
  display: none;
}
span.pc_view {
  display: none;
}
.smp_view, .is-sp {
  display: block;
}
span.smp_view {
  display: inline;
}
.pc_block {
  display: inline;
}
.smp_block {
  display: block;
}
.txt_block {
  display: block;
}
.v_hdn {
  visibility: hidden;
}
/* ____ リンクテキスト ____ */
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;
}
/* ____ フロート設定 ____ */
.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%;
}
em {
  font-style: normal;
  font-weight: bold;
  font-size: 1.4em;
}
.b {
  font-weight: bold;
}
.s {
  text-decoration: line-through;
}
.u {
  text-decoration: underline;
}
.red {
  color: #B80000;
}
/* 文字揃え */
.txt_r {
  text-align: right;
}
.txt_l {
  text-align: left;
}
.txt_c, .center {
  text-align: center;
}
.br_right {
  display: block;
  text-align: right;
}
/* ____ ボックス設定 ____ */
/* フレキシブルボックス */
.flexbox {
  display: block;
}
/* 大枠ボックス */
main.wrapper {
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-color: #FFFFFF;
  z-index: 0;
}
section {
  padding: 2rem 0;
  overflow: hidden;
}
.wrapper {
  width: 96vw;
  margin: 0 auto;
  position: relative;
}
.inner {
  padding: 0 2vw;
}
.inner.wrapper {
  width: 96vw;
  padding: 0;
}
.notice_box, .minbox {
  width: 92vw;
  margin: 0 auto;
}
.pic_box {
  margin: 1em auto 0.5em;
}
/* ボックス内共通設定 */
h1{
  margin: 0;
}
h2 {
  margin-bottom: 1em;
  font-size: 1.4em;
  line-height: 1.2;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  overflow: hidden;
  letter-spacing: -1px;
}
h3, .h3 {
  margin-bottom: 1em;
  font-size: 1.2em;
  color: #380000;
  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";
}
h4 {
  margin-bottom: 0.5em;
  color: #EA3903;
  font-size: 1.2em;
  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";
}
section p {
  margin-bottom: 1em;
}
/* -------------------------------------- ヘッダー header  */
header {
  display: none;
}
/* -------------------------------------- メインビジュアル .main_v  */
.main_v.wrapper {
  width: 100%;
}
.main_v.wrapper picture {
  margin: 0;
}
/* -------------------------------------- スマホ用ナビ .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;
	font-size: 0.9em;
	color: #FFFFFF;
	text-decoration: none;
	border-radius: 2vw;
}
.s-nav ul li#s-nav_3set a,
.s-nav ul li#s-nav_gset a,
.s-nav ul li#s-nav_qa a {
	font-size: 0.74em;
}
.s-nav ul li#s-nav_ord a,
.s-nav ul li#s-nav_3set a,
.s-nav ul li#s-nav_gset a,
.s-nav ul li#s-nav_qa a,
.s-nav ul li#s-nav_cont a{
	background-image: -webkit-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 50%);
	background-image: -moz-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 50%);
	background-image: -o-linear-gradient(270deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 50%);
	background-image: linear-gradient(180deg,rgba(26,26,26,1.00) 0%,rgba(0,0,0,1.00) 50%);
}
#vn_3set .s-nav ul li#s-nav_3set a,
#vn_gset .s-nav ul li#s-nav_gset 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(270deg,rgba(237,0,84,1.00) 0%,rgba(172,0,61,1.00) 50%);
  background-image: -moz-linear-gradient(270deg,rgba(237,0,84,1.00) 0%,rgba(172,0,61,1.00) 50%);
  background-image: -o-linear-gradient(270deg,rgba(237,0,84,1.00) 0%,rgba(172,0,61,1.00) 50%);
  background-image: linear-gradient(180deg,rgba(237,0,84,1.00) 0%,rgba(172,0,61,1.00) 50%);
}
/*.ys_tel-bnr,.ad_tel-bnr {
  margin-bottom: 0;
}
.ys_tel-bnr a {
  display: block;
  width: 96vw;
  height: 0;
  margin: 0 auto;
  padding-top: 11.6vw;
  background-image: url("/phone/images/free_tell_yd.jpg"), url("/phone/images/free_btn.gif");
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: contain, contain;
  overflow: hidden;
}
.ad_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::after,
.ad_tel-bnr::after {
  content: "※メールは24時間お受けしています";
  display: block;
  margin: 0.5em 1em;
  text-align: center;
}
.shiryo_btn {
  margin: 2em 0;
  position: relative;
}
.shiryo_btn p {
  margin-bottom: 0;
}
.shiryo_btn a {
  display: block;
  width: 90%;
  height: 0;
  margin: 0 auto;
  padding-top: 22vw;
  background-image: url("/images/doc_req-btn.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 22vw;
  box-shadow: 0 5px 0 0 #007f36;
  overflow: hidden;
}*/
/* -------------------------------------- レッスン動画 .movie */
.movie {
  text-align: center;
}
.movie h2 {
  height: 0;
  margin-bottom: 0.5em;
  padding-top: 22.6vw;
  background-image: url("../asp-img/vn_movie-ttl.png");
}
.movie h2 + p {
  margin: 0 0 1em;
  height: 0;
  padding-top: 15.8vw;
  background-image: url("../asp-img/vn_movie_caption.png");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
}
/* -------------------------------------- Youtube埋め込み .yt_movie  */
.yt_movie {
  background-color: #000000;
  position: relative;
}
.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%;
}
.yt_movie + p {
  margin-top: .5em;
  font-size: .8em;
}
/* -------------------------------------- 特典バナー .toku_bnr  */
.toku_bnr p {
  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 {
  padding-top: 69.2vw;
  background-image: url("/tokuten/images/toku_img_a.jpg");
}
.toku_top .toku_bnr.lg p {
  padding-top: 78.2vw;
}
.toku_bottom .toku_bnr p {
  padding-top: 66.7vw;
  background-image: url("/tokuten/images/toku_img_a_n.jpg");
}
.toku_bottom .toku_bnr.lv p {
  background-image: url("/tokuten/images/lv/toku_img_a_n.jpg");
}
.toku_bottom .toku_bnr.lg p {
  padding-top: 75.65vw;
}*/
.tokuten {
  margin: 1em 2vw;
  padding: 0;
	border: 1px solid #B90003;
}
.tokuten .toku_ttl {
	background-color: #B90003;
	color: #FFFFFF;
	text-align: center; 
}
.tokuten .toku_ttl h2 {
  margin: 0;
  padding: 1em 0 0.5em;
  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";
}
.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 {
  color: #B90003;
  font-size: 1.4em;
  text-align: center;
}
.tokuten .toku_caption {
  margin-bottom: 1em;
}
.tokuten .toku_caption p {
  margin-bottom: 0;
}
.tokuten .red2 {
  color: #B90003;
}
.tokuten .toku_caption .f14 {
  font-size: 1em;
}
.tokuten .toku_caption .b {
  font-family: inherit;
}
.tokuten .toku_caption .red2.b.f14 {
  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";
}
.tokuten .f11 {
  font-size: 1em;
}
.tokuten p.f11 {
  padding-left: 1em;
}
.tokuten .gakufucd p {
  /*margin-bottom: 0;*/
  margin-top: 1em;
  font-weight: normal;
  font-size: 1em;
  letter-spacing: -1px;
}
.tokuten .gakufucd p:first-child {
  padding-top: 1em;
  margin-bottom: 0.2em;
  /*text-align: center;
  color: #B90003;*/
  border-top: 2px solid #B90003;
  /*border-bottom: 2px solid #B90003;*/
}
.tokuten .gakufucd + p {
  margin-top: 1em;
  color: #B90003;
  font-weight: bold;
  font-size: 1.2em;
  letter-spacing: -1px;
}
.tokuten .toku_movie-ttl {
  margin-top: 1em;
  color: #B90003;
  font-weight: bold;
  font-size: 0.9em;
  text-align: center;
}
.tokuten .yt_movie {
  margin-left: -2vw;
}
.tokuten .yt_play {
  background-image: url("../of123-img/vn_tktn_thumb.jpg");
}
.tokuten.lv .yt_play {
  background-image: url("../../tokuten/img/lv/vn_tktn-lv_thumb.jpg");
}
.tokuten .yt_movie + p {
  padding-left: 0;
  font-size: 0.8em;
  font-weight: normal;
  text-align: center;
}
/* -------------------------------------- 講師紹介 .prof */
.prof {
  padding: 2em 0 0;
  background-color: #FFEECF;
}
.prof .prof_ttl {
  text-align: center;
  letter-spacing: -1px;
}
.prof .prof_box {
  padding: 0.5em 2vw;
}
.prof .prof_box h3 {
  margin: 0 0 0.5em 30vw;
  padding-left: 1em;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  border-bottom: 2px solid #3D232B;
  text-indent: -1em;
}
.prof .prof_box p {
  font-size: 1em;
}
.prof .prof_box h3+p {
  margin-left: 0;
}
.prof .prof_box .prof_img {
  width: 28vw;
  margin: 0 2vw 0 0;
  float: left;
}
.prof .artist {
  padding: 0.5em 2vw;
  background-color: #FCFCFC;
}
.prof .artist h3 {
  margin: 0 0 0.5em 0;
}
.prof .artist ul {
  display: flex;
  flex-wrap: wrap;
}
.prof .artist ul li {
  font-size: 0.9em;
}
.prof .artist ul li::after {
  content: "/";
  padding: 0 2px;
}
.prof .artist ul li:last-child::after {
  content: "";
  padding: 0;
}
/* -------------------------------------- 推薦者の声 .recom */
.recom {
  padding: 2em 0;
  position: relative;
}
.recom::after {
  content: "";
  display: block;
  width: 30vw;
  height: 9.6vw;
  background-image: url("../ppc-img/vn_recom_bg.png");
  background-repeat: no-repeat;
  background-position: bottom right -2vw;
  background-size: 30vw auto;
  transform: scale(-1,1);
  position: absolute;
  right: 0;
  bottom: 2em;
}
.recom h2 {
  font-size: 1.3em;
  color: #A96F0B;
  text-align: center;
}
.recom h2 .txt_block {
  letter-spacing: -3px;
}
.recom .recom_box {
  padding: 0.5em 4%;
  overflow: hidden;
}
.recom .recom_box h3,
.recom .recom_box p {
  margin-bottom: 0.2em;
}
.recom .recom_box p:first-child {
  float: left;
}
.recom .recom_box img {
  width: 28vw;
  margin: 0.5em 2vw 0 0;
}
.recom .recom_box .recom_prof {
  padding: 0.5em 0;
}
.recom .recom_box .recom_prof h3 {
  color: #AC003D;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
}
.recom .recom_box .recom_prof p {
  font-size: 1em;
  line-height: 1.2;
  color: #3F2B2F;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
}
.recom .recom_box .recom_txt {
  clear: both;
  margin-top: 0.5em;
  padding: 0.5em 2vw 0;
  border-top: 1px solid #CCCCCC;
}
/* -------------------------------------- 上部お客様の声 .voice-top */
.voice-top {
  background-color: #FFEECF;
  position: relative;
}
.voice-top::before {
  content: "";
  display: block;
  width: 28vw;
  height: 28vw;
  background-image: url("../asp-img/vn_voice-ttl_img.png");
  background-repeat: no-repeat;
  background-size: 28vw auto;
  position: absolute;
  right: 0;
  top: 3em; 
}
.voice-top h2 {
  margin: 1em 0;
  padding: 0.5em;
  letter-spacing: -2px;
  color: #3D232B;
  border-top: 3px solid #3D232B;
  border-bottom: 3px solid #3D232B;
}
.voice-top .voice_box {
  margin: 0 auto 1em;
  padding: 1em 2vw 0.5em;
  background-color: #FFFFFF;
  border: 1px solid #3D232B;
  position: relative;
}
.voice-top .voice_box:last-of-type {
  margin-bottom: 0;
}
.voice-top .voice_box {
  display: flex;
  flex-direction: column;
}
.voice-top .voice_box h3 {
  font-size: 1.1em;
}
.voice-top .voice_box p {
  font-size: 1em;
}
.voice-top .voice_box h3 + p {
  order: 10;
}
.voice_box::after {
  content: "※実践されたお客様個人のご感想です。";
  display: block;
  clear: both;
  padding-top: 0.2em;
  white-space: pre;
  font-size: 0.8em;
  text-align: right;
  color: #666666;
  position: absolute;
  right: 0;
  bottom: 0.2em;
}

/* -------------------------------------- 教材について .about */
.about {
  padding-top: 0;
}
.about h2 {
	margin-bottom: 0;
  padding: 0.5em 2vw;
  color: #FFD993;
  text-align: center;
  background-color: #3B0909;
  text-shadow: 0 0 3px #350808;
  position: relative;
}
.about h2::before,
.about h2::after {
  content: "\025bc";
  font-size: 1.2em;
  position: absolute;
  top: 60%;
}
.about h2::before{
  left: 0.2em;
}
.about h2::after {
  right: 0.2em;
}
.about h3, .about .h3 {
  position: relative;
  display: inline-block;
  margin: 1em 2vw 1em 15px;
  padding: 1em 15vw 1em 10px;
  min-width: 94%;
  max-width: 100%;
  height: auto;
  min-height: 27vw;
  color: #332400;
  font-size: 4.35vw;
  font-weight: normal;
  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";
  background-repeat: no-repeat;
  background-position: right bottom, left top;
  background-size: 24vw;
  overflow: visible;
  background-color: #ffebcd;
  border: solid 3px #332400;
  box-sizing: border-box;
}
.about h3::before, .about .h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #ffebcd;
  z-index: 2;
}
.about h3::after, .about .h3::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #332400;
  z-index: 1;
}
.about .minbox {
  padding: 0.5em 0;
  min-height: 30vw;
  background-size: 20vw auto;
  background-repeat: no-repeat;
  background-position: right bottom;
}
.about .minbox.ans1 {
  background-image: url("../asp-img/vn_tchr-icon_01.png");
}
.about .minbox.ans2,
.about .minbox.ans4 {
  background-image: url("../asp-img/vn_tchr-icon_02.png");
}
.about .minbox.ans3 {
  background-image: url("../asp-img/vn_tchr-icon_03.png");
  background-position: right top 2em;
}
.about .notice_box.grd-box {
  padding: 0;
  text-align: center;
  background-image: -webkit-linear-gradient(90deg,rgba(255,208,182,1.00) 0%,rgba(255,244,238,1.00) 100%);
  background-image: -moz-linear-gradient(90deg,rgba(255,208,182,1.00) 0%,rgba(255,244,238,1.00) 100%);
  background-image: -o-linear-gradient(90deg,rgba(255,208,182,1.00) 0%,rgba(255,244,238,1.00) 100%);
  background-image: linear-gradient(0deg,rgba(255,208,182,1.00) 0%,rgba(255,244,238,1.00) 100%);
  background-size: contain;
}
.about .notice_box.grd-box > p {
  margin-bottom: 0;
  padding: 0.2em 0;
  color: #704224;
  font-family: "新ゴ R","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  background-color: #FFFFFF;
}
.about .notice_box.grd-box .flexbox {
  padding-top: 0.5em;
}
.about .notice_box.grd-box .flexbox img {
  box-shadow: 0 1px 3px #e2b291;
}
.about h3:first-of-type,
.about h3:nth-of-type(3) {
  background-image: url("../asp-img/vn_bgnr-icon_01.png");
}
.about h3:nth-of-type(2) {
  background-image: url("../asp-img/vn_bgnr-icon_02.png");
}
.about h3:nth-of-type(4) {
  background-image: url("../asp-img/vn_bgnr-icon_03.png");
  line-height: 16vw;
}
.about .h3 {
  background-image: url("../asp-img/vn_bgnr-icon_04.png");
}
.about .flexbox>p:first-child {
  text-align: center;
}
.about img {
  width: 60vw;
  height: auto;
}
/*.about img.sm_w {
  width: 40vw;
  height: auto;
}*/
.about img.no-rsp {
  width: auto !important;
  max-width: 100% !important;
  height: auto;
}
.about h4 {
  margin: 0.2em 2vw;
  padding: 0;
  color: #A96F0B;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  font-size: 7vw;
  text-align: center;
  line-height: 1.2;
}
.about h4 .v_hdn {
  visibility: visible;
}
.about h4 .txt_sm {
  color: #3D232B;
}
.about h4 .txt_sm .red {
  display: block;
  color: #8c0800;
}
.about h4 .txt_lg {
  font-size: 180%;
}
.about .reason3_box li {
  margin-bottom: 2em;
}
.about .reason3_box h5 {
  margin-left: 5vw;
  padding: 0.2em 2vw 0.2em 17vw;
  color: #FFFFFF;
  font-size: 1em;
  background-color: #b58014;
  position: relative;
  background-image: -webkit-linear-gradient(0deg,rgba(255,255,255,1.00) 0%,rgba(181,128,20,1.00) 5%,rgba(181,128,20,1.00) 95%,rgba(255,255,255,1.00) 100%);
  background-image: -moz-linear-gradient(0deg,rgba(255,255,255,1.00) 0%,rgba(181,128,20,1.00) 5%,rgba(181,128,20,1.00) 95%,rgba(255,255,255,1.00) 100%);
  background-image: -o-linear-gradient(0deg,rgba(255,255,255,1.00) 0%,rgba(181,128,20,1.00) 5%,rgba(181,128,20,1.00) 95%,rgba(255,255,255,1.00) 100%);
  background-image: linear-gradient(90deg,rgba(255,255,255,1.00) 0%,rgba(181,128,20,1.00) 5%,rgba(181,128,20,1.00) 95%,rgba(255,255,255,1.00) 100%);
}
.about .reason3_box h5::before {
  content: "";
  display: block;
  width: 20vw;
  height: 20vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -5vw;
  top: calc(50% - 10vw);
}
.about .reason3_box li:first-of-type h5::before {
  background-image: url("../asp-img/vn_reason3_b_01.png");
}
.about .reason3_box li:nth-of-type(2) h5::before {
  background-image: url("../asp-img/vn_reason3_b_02.png");
}
.about .reason3_box li:nth-of-type(3) h5::before {
  background-image: url("../asp-img/vn_reason3_b_03.png");
}
.about .reason3_box li:nth-of-type(3) img {
  width: 48vw;
  height: auto;
}
.about .reason3_box img.w100 {
  width: 100%;
  height: auto;
}
span.vnsp {
  letter-spacing: -4px;
}
span.vnsp-3px {
  letter-spacing: -3px;
}
.about p {
  margin-bottom: 0.5em;
}
.about .flo-l, .about .flo-r {
  margin-bottom: 0;
}
.about>.txt_c {
  padding: 0 2vw;
}
/* -------------------------------------- 楽しく続く理由 .reason */
.reason h2 {
  height: 0;
  padding-top: 35.9vw;
  background-image: url("../asp-img/vn_smp_reason-ttl.png");
}
.reason li {
  margin: 0.5em 2vw 0;
  padding: 0.5em 2vw 0.5em 11vw;
  border: 1px solid #EA3903;
  position: relative;
}
.reason li::after {
  content: "";
  display: block;
  width: 12vw;
  height: 15vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -1vw;
  left: -2vw;
  z-index: 999;
}
.reason li:nth-child(1)::after {
  background-image: url("../asp-img/reason-flag01.png");
/**/}
.reason li:nth-child(2)::after {
  background-image: url("../asp-img/reason-flag02.png");
}
.reason li:nth-child(3)::after {
  background-image: url("../asp-img/reason-flag03.png");
}
.reason li:nth-child(4)::after {
  background-image: url("../asp-img/reason-flag04.png");
}
.reason li:nth-child(5)::after {
  background-image: url("../asp-img/reason-flag05.png");
}
.reason li img {
  display: block;
  width: 74vw;
}
.reason h3 {
  color: #EA3903;
}
.reason picture:first-of-type {
  margin-bottom: 1em;
}
/* -------------------------------------- 各弾の中身は .lsn */
.lsn h2 {
  text-align: center;
  font-size: 1.6em;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
}
.lsn h2 .yl-mk {
  display: inline-block;
  color: #AC003D;
  font-size: 1.2em;
  background:linear-gradient(transparent 60%, #ff6 60%);
}
/* 教材概要 .lsnbox */
.lsn .lsnbox {
}
.lsn .lsnbox .lsnbox-inner {
  width: 90%;
  margin: 0 auto 1em;
  position: relative;
}
.lsn .lsnbox .lsnbox-inner::before {
  content: "";
  display: block;
  width: 24vw;
  height: 25vw;
  background-image: url("../of123-img/vnga_dan-img_w230.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto 25vw;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 14vw;
}
.lsn .lsnbox.no1 .lsnbox-inner::before {
  background-position: left top;
  top: 12vw;
}
.lsn .lsnbox.no2 .lsnbox-inner::before {
  background-position: left -24vw top;
  top: 10vw;
}
.lsn .lsnbox.no3 .lsnbox-inner::before {
  background-position: left -48vw top;
  top: 19vw;
}
.lsn .lsnbox .dan-ttl {
  padding: .5em 2vw .5em 18vw;
  color: #FFFFFF;
  font-size: 1.125em;
  position: relative;
}
.lsn .lsnbox.no1 .dan-ttl {
  background-color: #680101;
  background-image: url("../of123-img/vnga_1dan_bg.png");
}
.lsn .lsnbox.no2 .dan-ttl {
  background-color: #010d5f;
  background-image: url("../of123-img/vnga_2dan_bg.png");
}
.lsn .lsnbox.no3 .dan-ttl {
  background-color: #233901;
  background-image: url("../of123-img/vnga_3dan_bg.png");
}
.lsn .lsnbox .dan-img {
  display: block;
  width: 15vw;
  height: 0;
  padding-top: 15vw;
  background-image: url("../of123-img/vnga_dan-no-icon.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 15vw auto;
  border-radius: 15vw;
  overflow: hidden;
  position: absolute;
  left: 2vw;
  top: 50%;
  transform: translateY(-50%);
}
.lsn .lsnbox.no2 .dan-img {
  background-position: left top -15vw;
}
.lsn .lsnbox.no3 .dan-img {
  background-position: left top -30vw;
}
.lsn .lsnbox .sub-txt {
  height: 0;
  margin: 1em 0 .5em;
  padding-top: 18vw;
  background-image: url("../of123-img/vnga_dan-subttl_h120.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 80vw auto;
  overflow: hidden;
}
.lsn .lsnbox.no2 .sub-txt {
  padding-top: 12vw;
  background-position: left top -20vw;
}
.lsn .lsnbox.no3 .sub-txt {
  background-position: left top -39vw;
}
.lsn .lsnbox .sub-txt + p {
  width: 72%;
  margin-bottom: 1em;
}
.lsn .lsnbox .sub-txt + p:has(+p) {
  margin-bottom: 0;
}
.lsn .lsnbox .msc-list h4 {
  padding: .5em;
  color: #FFFFFF;
  font-size: 1em;
  font-weight: normal;
  background-color: #a96f0b;
}
.lsn .lsnbox h4.set-list-ttl {
  margin: .5em 0;
  padding: .5em;
  color: #FFFFFF;
  font-size: 1em;
  font-weight: normal;
  background-color: #3d232b;
}
.lsn .lsnbox .msc-list ul,
.lsn .lsnbox .set-list ul {
  margin: 0 4%;
}
.lsn .lsnbox .msc-list,
.lsn .lsnbox .set-list ul {
  margin-bottom: 1em;
}
.jsrc {
  width: 20em;
  margin: .5em 0 .5em auto;
  padding-left: 11em;
  text-indent: -12em;
  font-size: .9em;
  line-height: 1.2;
}
.jsrc::before {
  content: "";
  display: inline-block;
  width: 3.5em;
  height: 1em;
  background-image: url("/img/parts/jasrac-logo.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto 1em;
  position: relative;
  top: .1em;
}
.lsn .lsnbox ul li:has(.br_right) {
  padding-top: .2em;
  line-height: 1.2;
}
.lsn .lsnbox .naiyou-ttl {
  margin-bottom: 1em;
  padding: .5em;
  color: #a96f0b;
  font-size: 1em;
  font-weight: normal;
  text-align: center;
  background-color: #FFFFFF;
  border-top: 3px double #a96f0b;
  border-bottom: 3px double #a96f0b;
}
/* 教材内容紹介  .lsnbox > .naiyoubox */
.lsn .naiyoubox {
  padding: 0 0 1em;
  background-color: #EDEDED;
}
/* 教材目次 .naiyoubox > .indxbox */
.lsn .indxbox {
  width: 90%;
  margin: 0 auto 1em;
}
.lsn .indxbox .indx-ttl {
  display: inline-block;
  padding: .2em .5em;
  color: #FFFFFF;
  background-color: #3d232b;
}
.lsn .indx-list li {
  margin-bottom: .25em;
  padding-left: 26%;
  font-size: .9em;
  line-height: 1.25;
  font-feature-settings: "palt" 1;
  position: relative;
}
.lsn .indx-list .lsn_no {
  display: block;
  width: 25%;
  height: 1.2em;
  color: #A96F0B;
  font-size: .9em;
  text-align: right;
  overflow: hidden;
  position: absolute;
  left: 0;
}
.lsn .indxbox h5 {
  margin-bottom: .5em;
  font-size: 1.2em;
  color: #A96F0B;
  font-weight: bold;
  border-bottom: 1px solid #A96F0B;
}
.lsn .indxbox .h5 {
  padding-left: 0;
  margin: .5em 0;
  color: #A96F0B;
  font-weight: bold;
}
.lsn .indxbox .h5::before {
  content: "★ ";
}
/* 教材内容詳細 .makami_box > .smrybox */
.lsn .smrybox {
  width: 90%;
  margin: 0 auto 1em;
  padding: .1em 3% .5em;
  background-color: #fff4e2;
}
.lsn .smrybox .bln {
  margin: 1em 2%;
  padding: .5em 4%;
  color: #FFFFFF;
  background-color: #A96F0B;
  border-radius: .5em;
  position: relative;
}
.lsn .smrybox .bln:before {
  content: "";
  border: 15px solid transparent;
  border-bottom: 15px solid #A96F0B;
  position: absolute;
  bottom: 100%;
  left: calc(50% - 15px);
}
.lsn .smrybox .smryimg.photo-frm {
  border: 3px solid #FFFFFF;
  box-shadow: 0 0 3px 2px rgba(150,104,91,0.40);
}
.lsn .smrybox .smryimg {
  display: block;
  width: 70vw;
  height: 40.8vw;
  margin: 1em auto;
  background-repeat: no-repeat;
  background-size: 70vw auto;
}
.lsn .lsnbox.no1 .smryimg {
  background-image: url("../of123-img/vn_1dan.jpg");
}
.lsn .lsnbox.no1 .imgbox.no1 .smryimg {
  background-position: left top -81.6vw;
}
.lsn .lsnbox.no1 .imgbox.no3 .smryimg {
  background-position: left top -204vw;
}
.lsn .lsnbox.no2 .smryimg {
  background-image: url("../of123-img/vn_2dan.jpg");
}
.lsn .lsnbox.no2 .imgbox.no1 .smryimg {
  background-position: left top;
}
.lsn .lsnbox.no2 .imgbox.no2 .smryimg {
  background-position: left top -122.4vw;
}
.lsn .lsnbox.no2 .imgbox.no3 .smryimg {
  background-position: left top -245vw;
}
.lsn .lsnbox.no2 .imgbox.no4 .smryimg {
  background-position: left top -367vw;
}
.lsn .lsnbox.no3 .smryimg {
  background-image: url("../of123-img/vn_3dan.jpg");
}
.lsn .lsnbox.no3 .imgbox.no1 .smryimg {
  background-position: left top;
}
.lsn .lsnbox.no3 .imgbox.no2 .smryimg {
  background-position: left top -122.4vw;
}
.lsn .lsnbox.no3 .imgbox.no3 .smryimg {
  background-position: left top -367.2vw;
}
.lsn .lsnbox.no3 .imgbox.no4 .smryimg {
  background-position: left top -448.8vw;
}
/* 納得のテキスト教本 .sarani-text */
.lsn .sarani-text h2.img-txt {
  margin-bottom: 1em;
  padding-top: 9vw;
  background-image: url("../of123-img/vnga_lsn-sarani.png");
  background-size: cover;
}
.lsn .sarani-text .inner {
  width: 90%;
  margin: 0 auto 2em;
}
.lsn .sarani-text .chk-ul li {
  padding-left: 1.5em;
  font-size: 1.1em;
  font-weight: bolder;
  font-feature-settings: "palt" 1;
  background-image: url("../of123-img/vnga_chk-icon.png");
  background-repeat: no-repeat;
  background-position: left top .25em;
  background-size: 1.2em 1.2em;
}
.lsn .sarani-text p:has(img) {
  width: 80%;
  margin: 0 auto 1em;
}
.lsn .sarani-text .grayflm {
  padding: .5em;
  text-align: center;
  background-color: #E5E5E5;
  border-radius: .5em;
}
/* レッスンで使用する楽譜 .lsn-gakufu */
.lsn .lsn-gakufu h2.img-txt {
  margin-bottom: 1em;
  padding-top: 9vw;
  background-image: url("../of123-img/vnga_lsn-gakufu.png");
  background-size: cover;
}
.lsn .lsn-gakufu .inner {
  width: 90%;
  margin: 0 auto;
}
/* -------------------------------------- 分かりやすい工夫 .idea */
.idea {
}
.idea h2 {
  height: 0;
  padding-top: 25vw;
  background-image: url("../asp-img/vn_idea-ttl.png");
}
.idea h2 + .subttl {
  content-visibility: hidden;
  display: none;
}
.idea .idea_box {
  padding: 0.5em;
  margin: 0 2vw 0.5em;
  background-image: url("../asp-img/idea-bg_01.png"), url("../asp-img/idea-bg_02.png"), url("../asp-img/idea-bg_03.png");
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: left top, left bottom, left top;
  background-size: contain;
  position: relative;
}
.idea .idea_box h3 {
  padding-left: 9vw;
  margin: 0.5em 0;
  background-image: url("../asp-img/idea-h3chk.jpg");
  background-repeat: no-repeat;
  background-position: left 1vw top 0.2em;
  background-size: 6vw auto;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  font-size: 1.4em;
  line-height: 1.2;
}
.idea .idea_box strong {
  color: #EA3903;
  font-family: inherit;
  font-size: 1.2em;
  letter-spacing: -2px;
}
/*.idea .idea_box {
  width: 100%;
}*/
.idea .idea_box p.inner {
  padding: 0 2vw 0 9vw;
}
.idea .idea_box:first-of-type .flexbox p {
  width: 60vw;
  margin: 1em auto 2em;
  position: relative;
}
.idea .idea_box:first-of-type .flexbox p::after {
  content: url("../asp-img/smp_zoom-btn.png");
  margin-left: -140px;
  position: absolute;
  left: 50%;
  bottom: -20px;
}
.idea .idea_box:first-of-type > p.pcimg {
  display: none;
}
/* -------------------------------------- 金銭比較 .hikaku */
.hikaku {
  padding-top: 0;
}
.hikaku h2 {
  text-align: center;
  color: #EC3B04;
  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";
}
.hikaku h2::before {
  content: "";
  display: block;
  margin: 0 auto 0.5em;
  width: 50vw;
  height: 11vw;
  background-image: url("../asp-img/hikaku_arrow.jpg");
  background-repeat: no-repeat;
  background-size: contain;
}
.hikaku .hikaku-img {
  margin-bottom: .5em;
  height: 0;
  padding-top: 130vw;
  background-image: url( "../of123-img/vnga_hikaku-img_sp.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
.hikaku .hikaku_cap {
  margin-bottom: 1em;
}
.hikaku .hikaku_cap li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.8em;
}
.hikaku .hikaku_cap li::before {
  content: "※";
}
.hikaku .b {
  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";
  color: #460000;
}
.hikaku strong {
  color: #EC3B04;
}
/* -------------------------------------- 教材内容・価格 .item */
.item {
  padding-bottom: 0;
}
.item h2.img-txt {
  height: 0;
  padding-top: 67vw;
  margin-bottom: .5em;
  background-image: url("../asp-img/vn_item-ttl_sp.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
.item .item_sub-ttl {
  padding: 0.5em 0;
  margin-bottom: 0.5em;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
  background-image: url("../asp-img/vn_item-setlist-bg.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}
.item h3{
  padding: 0.2em 0.5em;
  margin-bottom: 0.2em;
  color: #FFFFFF;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  background-color: #000000;
}
.item h4 {
  padding: 0.2em 0.5em;
  margin-bottom: 0.2em;
  color: #3D232B;
  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";
  background-color: #D3D3D3;
}
.item .item_dan {
  margin-bottom: 0.5em;
  padding: 0.5em 2vw;
  overflow: hidden;
  position: relative;
}
.item .item_dan ul:nth-of-type(2),
.item .item_dan p {
  margin-bottom: 0;
}
.item ul li {
  padding-left: 2vw;
}
.item .bunkatsu_txt {
  text-align: center;
  font-weight: bold;
}
.item .bunkatsu_txt img {
  display: none;
}
/* -------------------------------------- 購入ボタン .ord_btn */
.ord_btn {
  text-align: center;
  padding: 1em 0;
}
.ord_btn p {
  margin: 0;
}
.ord_btn>p:first-of-type img {
  width: 60vw;
  margin-bottom: 0.5em;
}
.ord_btn>p:nth-of-type(2) {
  margin-bottom: 1em;
}
.pay-type {
  font-size: .8em;
  text-align: center;
}
.gset_link {
  width: 94vw;
  margin: 2rem auto;
  padding: 0;
  -webkit-box-shadow: 0 2px 10px 2px rgba(109,144,145,0.40);
  box-shadow: 0 2px 10px 2px rgba(109,144,145,0.40);
}
.btn-only .ord_btn {
  padding: 0;
  margin: 1em auto;
}
.btn-only .gset_link,
.btn-only .item-img,
.btn-only .pay-type {
  content-visibility: hidden !important;
  display: none !important;
}
/* ------------------------------------- ヤマト運輸 .yamato */
.yamato {
  height: 0;
  margin: 0 2vw;
  padding: 26vw 0 0;
  background-image: url("/img/parts/yamato-bnr.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  overflow: hidden;
}
.yamato p:first-child {
  visibility: hidden;
}
.yamato p:last-child {
  visibility: hidden;
}
/* -------------------------------------- メディア .media */
.media.inner.wrapper {
  padding: 2em 0;
}
.media h2 {
  margin-bottom: 0.5em;
  padding: 0.5em 0;
  color: #AB003C;
  text-align: center;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  border-top: 1px solid #AF7A2B;
  border-bottom: 1px solid #AF7A2B;
}
.media h3 {
  margin: 0 2vw;
  color: #AB003C;
  font-size: 1.4em;
}
.media h3+p {
  margin: 0 2vw;
  color: #3D232B;
}
.media p:last-of-type {
  width: 80vw;
  margin: 0 auto;
}
/* -------------------------------------- お客様の声 .voice */
.voice {
  margin-bottom: 2em;
  padding: 0;
  background-color: #3D232B;
}
.voice h2, 
.voice strong {
  margin: 0;
  padding: 1em 0 .5em;
  height: auto;
  color: #FFFFFF;
  font-size: 1.2em;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  text-align: center;
  letter-spacing: -1px;
}
.voice h2 + .subttl {
  color: #FFFFFF;
  text-align: center;
}
.voice .voice_box {
  display: flex;
  flex-direction: column;
  margin: 0 2vw 1em;
  padding: 0.5em 2vw;
  line-height: 1.4;
  background-color: #FFFFFF;
  position: relative;
}
.voice .voice_box h3 {
  color: #AC003D;
}
.voice .voice_box h3 + p {
  order: 10;
  color: #4A2500;
  text-align: right;
  font-weight: bold;
}
.voice p.voice_link {
  margin: .5em auto 0;
  padding: 1em 0 0;
  background-color: #FFFFFF;
}
.voice p.voice_link a {
  display: block;
  margin: 0 auto;
  padding: 0.5em 0 0.7em;
  width: 90vw;
  color: #FFFFFF;
  font-family: "じゅん 201","リュウミン B-KL","Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  text-align: center;
  text-decoration: none;
  background-color: #682e40;
  border-radius: 0.5em;
  position: relative;
}
.voice p.voice_link a::after {
  content: "\025b6";
  position: absolute;
  right: 1em;
  bottom: 0.7em;
}
/* -------------------------------------- お客様の声ページ #voice */
#voice .notice_box {
  margin-bottom: 0;
}
#voice .voice h2 {
  margin-bottom: 0;
  padding: 1em 0 0;
  background-color: transparent;
}
#voice .voice .voice_box {
  margin: 0 0 1em;
}
/* -------------------------------------- よくある質問 .qanda */
.qanda .tel, 
.qanda .qa_gset, 
.qanda .qa_3set, 
.a8_lp .qanda .a8_qa, 
.qanda span.a8_qa,
.asp .qanda dl dt.asp,
.asp .qanda dl dd.asp,
.asp.itlp .qanda dl dd.asp .asp,
.asp.itlp .qanda dl dt.asp.asp_it,
.asp.itlp .qanda dl dd.asp.asp_it {
  display: none;
}
#vn_gset .qanda .qa_gset, 
#vn_3set .qanda .qa_3set,
.asp.itlp .qanda dl dt.asp,
.asp.itlp .qanda dl dd.asp,
#vn_gset.asp.itlp .qanda dl dd.asp.asp_it.qa_gset,
#vn_3set.asp.itlp .qanda dl dd.asp.asp_it.qa_3set {
  display: block;
}
.ys_lp .qanda .tel.ys_no,
.ad_lp .qanda .tel.ad_no,
.a8_lp .qanda dd:nth-of-type(8) .a8_qa {
  display: inline;
}
.qanda h2 {
  padding: 0.5em 0;
  text-align: center;
  color: #FFFFFF;
  background-color: #3B0909;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
}
.qanda dl.qabox {
  padding: 0;
  width: 98vw;
  margin: 0 auto;
}
.qanda dl dt, .qanda dl dd {
  padding: 0 2vw 0 12vw;
  min-height: 10vw;
  background-repeat: no-repeat;
  background-position: left top;
}
.qanda dl dt {
  margin-bottom: 0.5em;
  font-size: 5vw;
  line-height: 1.2;
  color: #AC003D;
  background-image: url("../asp-img/vn_qanda-iconq.jpg");
  background-size: 10vw 10vw;
} 
/*.qanda dl dt:nth-of-type(9),
.qanda dl dt:nth-of-type(16), 
.qanda dl dt:nth-of-type(18),*/
.qanda dl dt.line1 {
  line-height: 10vw;
}
.qanda dl dd {
  margin-bottom: 1.5em;
  padding-bottom: 1em;
  font-size: 1em;
  background-image: url("../asp-img/vn_qanda-icona.jpg");
  background-size: 10vw 10vw;
  border-bottom: 3px dotted #ccc;
}
.qanda dl dd:last-child {
  margin-bottom: 0;
}
/* -------------------------------------- さいごに .msg */
.msg {
  margin: 1em 0 0;
}
.msg h2 {
  margin-bottom: 0;
  padding: 0.5em 0;
  height: auto;
  text-align: center;
  font-size: 1.6em;
  line-height: 1.2;
  color: #FFFFFF;
  background-image: -webkit-linear-gradient(270deg,rgba(235,154,15,1.00) 0%,rgba(169,111,11,1.00) 100%);
  background-image: -moz-linear-gradient(270deg,rgba(235,154,15,1.00) 0%,rgba(169,111,11,1.00) 100%);
  background-image: -o-linear-gradient(270deg,rgba(235,154,15,1.00) 0%,rgba(169,111,11,1.00) 100%);
  background-image: linear-gradient(180deg,rgba(235,154,15,1.00) 0%,rgba(169,111,11,1.00) 100%);
}
.msg h2 .txt_sm {
  display: block;
  margin-bottom: 0.5em;
}
.msg .minbox {
  padding: 54vw 4vw 2em;
  background-image: url("../of123-img/vnga_msg-img.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 52vw auto;
  overflow: hidden;
}
/*.msg .msg_box .flo-l {
  margin: 0 auto 0.5em;
  width: 70%;
  float: none;
}*/
.msg .minbox strong {
  padding: 1em 0;
  display: block;
  color: #FF5400;
}
.msg .minbox p.msg_name{
  text-align: right;
  font-size: 1.2em;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: bold;
}
/* -------------------------------------- ショップインフォ .shopinfo */
#shopinfo {
  margin: 0 auto;
  padding: 0 0 3em;
  font-size: 0.9em;
}
#shopinfo .asp_info {
  padding: 0 2vw;
  background-image: url("/img/pay/infotop.jpg");
  background-repeat: no-repeat;
  background-position: right top 2em;
  background-size: 40vw auto;
}
/*#shopinfo .asp_info.infotop {
}
#shopinfo .asp_info.sublime {
  background-position: right 1vw top;
  background-image: url("/images/pay/sublime.jpg");
}
#shopinfo .asp_info.infocart {
  background-position: right 1vw top;
  background-image: url("/images/pay/infocart.gif");
}*/
#shopinfo .asp_info ol li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 0.9em;
}
#shopinfo img {
  width: auto;
  max-width: 100%;
}
#shopinfo .flexbox {
  align-items: flex-start;
  justify-content: center;
}
#shopinfo .shopinfo_l {
  width: 100%;
  padding: 0 0.5em 0;
  border-right: none;
}
#shopinfo .shopinfo_r {
  width: 100%;
  padding: 0 0.5em 0;
}
#shopinfo h2, #shopinfo h3 {
  margin-top: 0.5em;
  padding: 10px 0 0 20px;
  height: 36px;
  position: relative;
  color: #FFFFFF;
  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";
  font-size: 1em;
  font-weight: normal;
  background-image: url("/img/pay/shop_ttl_bg.gif");
  background-repeat: no-repeat;
  background-size: cover;
}
#shopinfo h3 {
  padding: 8px 0 0 20px;
}
#shopinfo h2::before, #shopinfo h3::before {
  content: "";
  display: block;
  width: 3px;
  height: 1em;
  background-color: #FFFFFF;
  position: absolute;
  top: 10px;
  left: 10px;
}
#shopinfo h4 {
  margin-top: 1em;
  font-size: 1.2em;
  color: #353535;
}
p.conveni {
  position: relative;
}
p.conveni a {
  font-size: 11px;
  letter-spacing: -1px;
  position: absolute;
  left: 145px;
  bottom: 8px;
}
#shopinfo p {
  font-size: 0.9em;
  margin-bottom: 0.5em;
}
#shopinfo ul {
  font-size: 95%;
  letter-spacing: -1px;
  padding-left: 0;
  list-style-type: none;
}
#shopinfo ul li {
  font-size: 0.9em;
  text-indent: 0;
  padding-left: 0;
}
#shopinfo .caution {
  background-color: #FFFFF4;
  border: 1px solid #CCCC00;
  padding: 1em;
}
#shopinfo .conv-ex {
  padding: 0.5em 2vw;
  background-color: #F0F0F0;
}
#shopinfo .conv-ex ol {
  margin-bottom: 0;
}
#shopinfo .conv-ex ol li {
  padding-left: 2.5em;
  font-size: 0.9em;
  text-indent: -3em;
}
/* -------------------------------------- トップへ #page_top */
#page_top {
  width: 70px;
  height: 70px;
  position: fixed;
  right: 2vw;
  bottom: 2vw;
  background: #AB003C;
  border-radius: 50%;
  opacity: 0.6;
  z-index: 999;
}
#page_top a {
  position: relative;
  display: block;
  width: 70px;
  height: 70px;
  text-decoration: none;
}
#page_top a::after {
  content: '\025b2\aTOP';
  margin: auto;
  white-space: pre;
  color: #fff;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  line-height: 1.2;
  position: absolute;
  top: 10px;
  bottom: 0;
  right: 0;
  left: 0;
}
#voice #page_top a::after {
  content: '\025c0\a戻る';
}
/* -------------------------------------- 追従リンク .fix_btn 購入ボタンへ #ord_link */
.fix_btn {
  width: 70px;
  position: fixed;
  right: 2vw;
  bottom: 2vw;
  z-index: 999;
}
.fix_btn p {
  margin: 0;
}
#ord_link a {
  display: block;
  width: 70px;
  height: 70px;
  padding-top: 34px;
  font-size: 14px;
  line-height: 1.2;
  color: #FFFFFF;
  text-align: center;
  background: #AB003C;
  border-radius: 10%;
  opacity: 0.8;
  text-decoration: none;
  background-image: url("../asp-img/cart-icon.png");
  background-repeat: no-repeat;
  background-size: 30px 30px;
  background-position: center top 4px;
}
#ord_link a:hover {
  opacity: 1;
}
#cntct_link a {
  display: none;
}
/* -------------------------------------- フッター 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;
}
footer .flexbox.wrapper {
  padding: 0;
}
footer nav ul li {
  padding: 0.5em 0;
  font-size: 0.9em;
  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;
}
footer .copy .red {
  color: #FF0000;
}
/* __________________________________________ ↓ここからサブページ用 */
/* -------------------------------------- ヘッダー header  */
.subp header {
  display: block;
  padding-top: 0.5em;
}
.subp header p {
  margin-bottom: 0;
}
.subp header .wrapper.flexbox p:first-child {
  height: 0;
  margin-bottom: 0.5em;
  padding-top: 13.7vw;
  background-image: url("../asp-img/vn_logo.png");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
}
.subp header h1,
.subp header .wrapper.flexbox p:nth-of-type(2),
.subp header .h_nav {
  display: none;
}
/* -------------------------------------- パンくずリスト .path  */
.path {
  padding: 0.5em 2vw;
}
.path ul {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.path li {
  font-size: 0.82em;
  white-space: nowrap;
}
.path li::after {
  content: "＞";
  font-size: 0.9em;
  margin: 0 0.5em;
}
.path li:last-child::after {
  content: "";
  padding-right: 0;
  margin-right: 0;
}
.subp .s-nav ul.flexbox {
  margin: 0 0 1em;
}
.subp section {
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 1rem;
}
.subp section h2 {
  margin: 0 auto 1em;
  padding: 0.5em 0;
  width: 96vw;
  text-align: center;
  color: #FFFFFF;
  background-color: #AC003D;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Shippori Mincho", serif;
  border-radius: 0.5em;
}
.subp section li {
  font-size: 100%;
}
.subp section .notice_box {
  margin-bottom: 2em;
  padding: 1em 0.5em;
  width: 100%;
  font-size: 100%;
}
.subp section .minbox table {
  width: 100%;
}
.subp section .minbox tr {
  border-bottom: 1px solid #ccc;
}
.subp section .minbox tr:last-child {
  border-bottom: none;
}
.subp section .minbox th {
  display: block;
  width: 100%;
  padding: 0.5em 0 0;
  white-space: nowrap;
}
.subp section .minbox td {
  display: block;
  width: 100%;
  padding: 0 0 0.5em;
}
.subp section .minbox td ul,
.subp section .minbox td ol {
  margin-bottom: 0;
}
/* __________________________________________ プライバシーポリシー #privacy */
#privacy ol {
  list-style-type: decimal;
  padding-left: 1em;
}
#privacy section .notice_box p, 
#privacy section .notice_box li {
  font-size: 1em;
}
#privacy h4 {
  color: #252525;
  font-size: 1em;
}
/* __________________________________________ 会社概要 #company */
#company ol {
  list-style-type: decimal;
  padding-left: 1em;
}
#company iframe {
  width: 100%;
  height: 40vh;
}
#company section ol, #company section ul {
  margin-bottom: 0;
}
/* __________________________________________ お問い合わせ #contact */
#contact iframe {
	width: 100%;
	height: 180vh;
}
/* ----------------------------------------------------------------------------------------------------------------------------- */
/*　PCレイアウトここから　*/
/* ----------------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 481px) {
body {
  font-size: 1.125rem;
  background-color: #F0F0F0;
}
p, li {
  font-size: 1em;
}
img {
  width: auto;
  height: auto;
}
picture {
  text-align: center;
}
.pc_view, .is-pc {
  display: block;
}
span.pc_view {
  display: inline;
}
.smp_view, .is-sp {
  display: none;
}
span.smp_view {
  display: none;
}
.pc_block {
  display: block;
}
.smp_block {
  display: inline;
}
.sp.br_right {
  display: inline;
  text-align: inherit;
}
/* ____ ボックス設定 ____ */
/* フレキシブルボックス */
.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: 2em 0;
}
.wrapper {
  width: 980px;
}
.inner {
  padding: 0 50px;
}
.inner.wrapper {
  width: 760px;
}
.notice_box, .minbox {
  width: 650px;
}
.pic_box {
  margin: 2em auto;
}
/* ボックス内共通設定 */
h1 {
  font-size: 0.8rem;
  line-height: 2;
  text-align: right;
  font-weight: normal;
}
h2 {
  line-height: 1.2;
}
section p {
  margin-bottom: 1em;
}
/* -------------------------------------- ヘッダー header  */
header {
  display: block;
  min-width: 980px;
  padding-top: 0.5em;
  border-top: 3px solid #000000;
  border-bottom: 1px solid #000000;
  background-color: #FFFFFF;
  position: relative;
  z-index: 10;
}
header .wrapper {
  padding: 0;
  justify-content: space-between;
}
header .wrapper.flexbox p:first-child {
  height: 0;
  padding-top: 55px;
  background-image: url("../asp-img/vn_logo.png");
  background-repeat: no-repeat;
  overflow: hidden;
}
header .h_nav ul {
  margin-bottom: 0;
  justify-content: center;
}
header .h_nav ul a {
  display: block;
  margin-right: 1px;
  padding-top: 50px;
  width: 244px;
  height: 0;
  overflow: hidden;
  background-image: url("../of123-img/vn_nav.png");
  background-repeat: no-repeat;
  background-position: left top -50px;
  border: 1px solid #000;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  transition: 0s;
}
header .h_nav ul li.navord a {
  background-position-x: 0;
}
header .h_nav ul li.nav3set a {
  background-position-x: -245px;
}
/*header .h_nav ul li.navgset a {
  background-position-x: 0;
}*/
header .h_nav ul li.navqa a {
  background-position-x: -490px;
}
header .h_nav ul li.navcont  a {
  background-position-x: -735px;
}
header .h_nav ul li a:hover,
#vn_3set header .h_nav ul li.nav3set a,
#vn_gset header .h_nav ul li.navgset a,
#contact header .h_nav ul li.navcont a {
  border: 1px solid #AB003C;
  border-bottom: 0;
  background-position-y: 0;
}
/*.shiryo_btn {
  height: 150px;
}
.shiryo_btn a {
  margin: 0 auto;
  padding-top: 150px;
  width: 650px;
  border-radius: 10px;
  background-size: auto 150px;
  position: absolute;
  left: calc(50% - 325px);
  top: 0;
  transition: 0.5s;
}
.shiryo_btn a:hover {
  box-shadow: 0 1px 0 0 #007f36;
  position: absolute;
  top: 4px;
}*/
/* -------------------------------------- レッスン動画 .movie */
.movie {
  text-align: center;
}
.movie h2 {
  padding-top: 160px;
}
.movie h2+p {
  padding-top: 120px;
  background-position: top center;
}
/* -------------------------------------- 特典バナー .toku_bnr  */
.toku_bnr p {
  padding-top: 540px;
}
/*.toku_bnr.lv p {
  padding-top: 560px;
}*/
/*.toku_top .toku_bnr p {
  padding-top: 540px;
}
.toku_top .toku_bnr.lg p {
  padding-top: 610px;
}
.toku_bottom .toku_bnr p {
  padding-top: 520px;
}
.toku_bottom .toku_bnr.lg p {
  padding-top: 590px;
}*/
.tokuten {
  width: 800px;
	height: 0;
  margin: 20px auto 40px;
  padding: 1410px 0 0;
  background-image: url("/violin/tokuten/img/toku_b_2.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 800px auto;
  border: none;
  overflow: hidden;
  position: relative;
}
.tokuten .yt_movie {
  position: absolute;
  left: 50%;
  bottom: 75px;
  transform: translateX(-50%);
}
.tokuten .yt_play {
  background-image: url("../of123-img/vn_tktn_thumb.jpg");
  background-size: 560px auto;
}
/* 長期休暇用 */
/*.tokuten.lv {
  padding: 1410px 0 0;
  background-image: url("/violin/tokuten/img/lv/toku_b_2.png");
}*/
.tokuten.lv .yt_play {
  background-image: url("/violin/tokuten/img/lv/vn_tktn-lv_thumb.jpg");
}
/* -------------------------------------- Youtube埋め込み .yt_movie  */
.yt_movie {
  width: 680px;
  height: 400px;
  margin: 0 auto;
  padding: 0;
}
.yt_play {
  background-size: cover;
  border: 1px solid #000;
}
/* -------------------------------------- 講師紹介 .prof */
.prof .prof_ttl {
  margin-top: 1em;
  font-size: 1.8em;
}
.prof .prof_box {
  padding: 0.5em 0;
}
.prof .prof_box h3 {
  margin: 0 0 0.5em 250px;
  padding-left: 0;
  text-indent: 0;
}
.prof .prof_box p {
  font-size: 1em;
}
.prof .prof_box h3+p {
  margin-left: 0;
}
.prof .prof_box .prof_img {
  width: 240px;
  margin: 1em 1em 0 0;
}
.prof .artist {
  padding: 0.5em 1em;
}
.prof .artist h3 {
  margin: 0 0 0.5em 0;
}
/* -------------------------------------- 推薦者の声 .recom */
.recom {
  padding: 2em 0 4em;
}
.recom::after {
  content: "";
  display: none;
}
.recom h2 {
  margin-top: 1em;
  font-size: 2.5em;
}
.recom .recom_box {
  margin: 0 auto;
  padding: 0.5em 0;
  width: 760px;
  position: relative;
}
.recom .recom_box::after {
  content: "";
  display: block;
  width: 140px;
  height: 45px;
  background-image: url("../ppc-img/vn_recom_bg.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 140px 45px;
  position: absolute;
  left: 0;
  bottom: 10%;
}
.recom .recom_box img {
  width: 180px;
  margin: 0.5em 1em 0 0;
}
.recom .recom_box .recom_prof {
  width: 560px;
  float: right;
}
.recom .recom_box .recom_prof h3 {
  font-size: 1.6em;
}
.recom .recom_box .recom_txt {
  clear: none;
  float: right;
  padding: 0.5em 1em 0;
  width: 560px;
}
/* -------------------------------------- 上部お客様の声 .voice-top */
.voice-top {
  padding: 2em 0 4em;
}
.voice-top::before {
  width: 250px;
  height: 250px;
  background-size: 250px auto;
  top: 2.5em; 
  right: 5em;
}
.voice-top h2 {
  margin: 2em 60px 1em;
  padding: 0.6em 2em;
  font-size: 2.1em;
  line-height: 1.4;
}
.voice-top .voice_box {
  width: 760px;
  padding: 1em 2em 1em;
}
.voice-top .voice_box p {
  margin-bottom: 0.5em;
}
.voice_box::after {
  bottom: 0.5em;
}
/*.voice-top .voice_box::after {
  right: 2em;
}*/
/* -------------------------------------- 教材について .about */
.about h2 {
  height: 0;
  padding: 185px 0 0;
  background-image: url("../asp-img/vn_about-ttl.jpg");
}
.about h2::before,
.about h2::after {
  content: "";
}
.about h3, .about .h3 {
  display: block;
  margin: 1em 0 40px 180px;
  padding: 0.5em 1em;
  min-width: 650px;
  max-width: 650px;
  width: 650px;
  min-height: 60px;
  font-size: 1.4em;
  background-image: none !important;
  border: 1px solid #332400;
  border-radius: 0.5em;
  box-shadow: 0 5px 0 0 #7d7364;
}
.about .h3 .lt-sp {
  letter-spacing: -1px;
}
.about h3:nth-of-type(4) {
  line-height: 2em;
}
.about h3::before, .about .h3::before {
  content: "";
  display: block;
  width: 45px;
  height: 40px;
  background-image: url("../asp-img/vn_about-ttl-tail.png");
  background-repeat: no-repeat;
  background-size: 45px 40px;
  position: absolute;
  top: auto;
  bottom: -40px;
  left: 50px;
  margin-top: 0;
  border: 0;
  border-right: 0;
  z-index: 2;
}
.about h3::after, .about .h3::after {
  content: "";
  display: block;
  width: 150px;
  height: 159px;
  background-repeat: no-repeat;
  background-size: 150px auto;
  background-position: center top;
  position: absolute;
  top: auto;
  bottom: -80px;
  left: -140px;
  margin-top: 0;
  border: 0;
  border-right: 0;
}
.about h3:first-of-type::after,
.about h3:nth-of-type(3)::after {
  background-image: url("../asp-img/vn_bgnr-icon_01.png");
}
.about h3:nth-of-type(2)::after {
  background-image: url("../asp-img/vn_bgnr-icon_02.png");
}
.about h3:nth-of-type(4)::after  {
  background-image: url("../asp-img/vn_bgnr-icon_03.png");
}
.about .h3::after {
  background-image: url("../asp-img/vn_bgnr-icon_04.png");
}
.about .minbox {
  padding: 38px 140px 1em 2.5em;
  min-height: 170px;
  background-size: 130px auto;
  background-position: right bottom;
}
.about .minbox.ans3 {
  background-position: right top;
}
.about .notice_box.grd-box {
  padding: 0 !important;
  background-size: contain;
  background-position: left top;
}
.about .notice_box.grd-box > p {
  padding: 0.5em 0;
}
.about .notice_box.grd-box .flexbox {
  padding-top: 1.5em;
  justify-content: center;
}
.about .notice_box.grd-box .flexbox img {
  width: 290px;
  height: auto;
  margin: 0 0.5em;
}
.about .minbox.ans1 {
  background-image: url("../asp-img/vn_tchr-icon_01.png");
}
.about .minbox.ans2,
.about .minbox.ans4 {
  background-image: url("../asp-img/vn_tchr-icon_02.png");
}
.about .minbox.ans3 {
  background-image: url("../asp-img/vn_tchr-icon_03.png");
}
.about .minbox.w-box {
  margin-bottom: 1em;
  padding: 1em 0 1em 2.5em;
  overflow: hidden;
  position: relative;
}
.about .minbox.w-box .flo-r {
  margin-left: 0.8em;
}
.about h4:first-of-type + .minbox.w-box .flo-r {
  position: absolute;
  right: 0;
  bottom: 0;
}
.about .flexbox:first-of-type {
  margin-bottom: 1em;
  flex-direction: row-reverse;
  justify-content: space-around;
}
.about img,
.about img.sm_w  {
  width: auto;
  height: auto;
}
.about .flexbox:first-of-type img {
  /*margin-left: 1em;*/
}
.about .flexbox:nth-of-type(2) img {
  margin-right: 1em;
}
.about img.no-rsp {
  width: auto;
  max-width: 650px;
  height: auto;
}
.about h4 {
  margin: 2em 0 1em;
  height: 0;
  padding-top: 140px;
  font-size: 20px;
  line-height: 1;
  background-image: url("../asp-img/vn_reason3-ttl.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 700px 140px;
  overflow: hidden;
}
.about h4 .v_hdn {
  visibility: hidden;
}
.about .reason3_box {
  width: 700px;
  margin: 0 auto;
}
.about .reason3_box h5 {
  margin-left: 30px;
  margin-bottom: 1em;
  padding: 0.5em 0 0.5em 70px;
  color: #FFFFFF;
  font-size: 1.4em;
}
.about .reason3_box h5::before {
  content: "";
  display: block;
  width: 120px;
  height: 120px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -60px;
  top: calc(50% - 60px);
}
.about .reason3_box .inner {
  padding: 0 0 0 50px;
}
.about .reason3_box li:first-of-type h5::before {
  background-image: url("../asp-img/vn_reason3_b_01.png");
}
.about .reason3_box li:nth-of-type(2) h5::before {
  background-image: url("../asp-img/vn_reason3_b_02.png");
}
.about .reason3_box li:nth-of-type(3) h5::before {
  background-image: url("../asp-img/vn_reason3_b_03.png");
}
.about .reason3_box li:nth-of-type(3) img {
  width: 350px;
  height: auto;
}
.about .reason3_box li .notice_box {
  padding: 0 0 0 2.5em;
}
.about .reason3_box img.w100 {
  width: 100%;
  height: auto;
}
.about .reason3_box .flo-r {
  margin: 0;
}
span.vnsp {
  letter-spacing: -4px;
}
.about p {
  margin-bottom: 0.5em;
}
.about .flo-l, .about .flo-r {
  margin-bottom: 0;
}
.about>.txt_c {
  padding: 0;
}
/* -------------------------------------- 楽しく続く理由 .reason */
.reason h2 {
  height: 0;
  padding-top: 130px;
  background-image: url("../asp-img/vn_reason-ttl.png");
}
.reason li {
  width: 800px;
  min-height: 220px;
  margin: 0.5em auto 0;
  padding: 0.5em 20px 1em 75px;
}
.reason li::after {
  width: 75px;
  height: 100px;
  background-size: 75px 100px;
  top: -5px;
  left: -20px;
}
.reason li:nth-last-of-type(2) {
  min-height: 260px;
}
.reason li:last-of-type {
  min-height: 190px;
}
.reason li p {
  margin: 0 385px 0 0;
}
.reason li .rsn-img {
  width: 390px;
  margin-right: 0;
  text-align: center;
  position: absolute;
  right: 20px;
  top: 5px;
  z-index: -10;
}
.reason li img {
  display: inline;
  width: auto;
}
.reason picture:first-of-type {
  margin-bottom: 1em;
}
/* -------------------------------------- 各弾の中身は .lsn */
.lsn h2 {
  height: 0;
  margin-bottom: 2em;
  padding-top: 100px;
  background-image: url("../asp-img/vn_nakami-ttl.png");
  background-size: 760px 100px;
}
/* -------------------------------------- レッスン .lsn */
.lsn {
  padding: 0;
}
.lsn .lsn-header h2.img-txt {
  margin-bottom: 0;
  padding-top: 180px;
  background-image: url("../of123-img/vnga_lsn-header-ttl.png");
  background-size: contain;
}
.lsn .lsn-header h2.img-txt + p.img-txt {
  margin-bottom: 0;
  padding-top: 340px;
  background-image: url("../of123-img/vnga_lsn-header-img.png");
}
.lsn .lsn-header p.img-txt:last-child {
  margin-bottom: 50px;
  padding-top: 440px;
  background-image: url("../of123-img/vnga_lsn-header-subttl.png"), url("../of123-img/vnga_lsn-header-chk.png");
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center bottom;
  background-size: auto 170px, auto 240px;
  overflow: hidden;
}
/* 教材概要 .lsnbox */
.lsn .lsnbox {
  padding: 30px 0;
}
.lsn .lsnbox .lsnbox-inner {
  width: 750px;
  margin: 0 auto 20px;
  position: relative;
}
.lsn .lsnbox .lsnbox-inner::before {
  content: "";
  display: block;
  width: 225px;
  height: 240px;
  background-image: url("../of123-img/vnga_dan-img_w230.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto 240px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}
.lsn .lsnbox.no1 .lsnbox-inner::before {
  background-position: left top;
  top: -60px;
}
.lsn .lsnbox.no2 .lsnbox-inner::before {
  background-position: left -233px top;
  top: -70px;
}
.lsn .lsnbox.no3 .lsnbox-inner::before {
  background-position: left -460px top;
  top: -30px;
}
.lsn .lsnbox .dan-ttl {
  max-width: 880px;
  margin: 0 auto 40px;
  padding: .5em 100px .5em 160px;
  color: #FFFFFF;
  font-size: 28px;
  font-weight: 400;
  position: relative;
}
.lsn .lsnbox.no1 .dan-ttl {
  background-color: #680101;
  background-image: url("../of123-img/vnga_1dan_bg.png");
}
.lsn .lsnbox.no2 .dan-ttl {
  background-color: #010d5f;
  background-image: url("../of123-img/vnga_2dan_bg.png");
}
.lsn .lsnbox.no3 .dan-ttl {
  background-color: #233901;
  background-image: url("../of123-img/vnga_3dan_bg.png");
}
.lsn .lsnbox .dan-img {
  display: block;
  width: 120px;
  height: 0;
  padding-top: 120px;
  background-image: url("../of123-img/vnga_dan-no-icon.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 120px auto;
  border-radius: 120px;
  overflow: hidden;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.lsn .lsnbox.no2 .dan-img {
  background-position: left top -120px;
}
.lsn .lsnbox.no3 .dan-img {
  background-position: left top -240px;
}
.lsn .lsnbox .sub-txt {
  height: 0;
  margin: 1em 0 .5em;
  padding-top: 120px;
  background-image: url("../of123-img/vnga_dan-subttl_h120.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 500px auto;
  overflow: hidden;
}
.lsn .lsnbox.no2 .sub-txt {
  padding-top: 80px;
  background-position: left top -120px;
}
.lsn .lsnbox.no3 .sub-txt {
  background-position: left top -240px;
}
.lsn .lsnbox .sub-txt + p {
  width: 500px;
  margin-bottom: 1em;
}
.lsn .lsnbox .sub-txt + p:has(+p) {
  margin-bottom: 0;
}
.lsn .lsnbox .msc-list, 
.lsn .lsnbox .set-list {
  display: flex;
  margin-bottom: 1em;
}
.lsn .lsnbox .msc-list {
  background-color: #FDF4E6;
}
.lsn .lsnbox .set-list {
  background-color: #EDEDED;
}
.lsn .lsnbox .msc-list h4 {
  width: 150px;
  margin: 0 1em 0 0;
  padding: .5em;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  background-color: #a96f0b;
}
.lsn .lsnbox h4.set-list-ttl {
  width: 150px;
  margin: 0 1em 0 0;
  padding: .5em;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  background-color: #3d232b;
}
.lsn .lsnbox .msc-list ul,
.lsn .lsnbox .set-list ul {
  margin: 0;
  padding: .5em 0;
}
.lsn .lsnbox .msc-list:has(.jsrc) { 
  position: relative;
}
.lsn .lsnbox .msc-list:has(.jsrc) ul {
  padding-bottom: 3.5em;
}
.jsrc {
  width: 20em;
  margin: .5em 0 .5em auto;
  padding-left: 11em;
  text-indent: -11.5em;
  line-height: 1.2;
  position: absolute;
  right: 0;
  bottom: 0;
}
.jsrc::before {
  content: "";
  display: inline-block;
  width: 3.5em;
  height: 1em;
  background-image: url("/img/parts/jasrac-logo.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto 1em;
  position: relative;
  top: .1em;
}
.lsn .lsnbox ol li:has(.br_right), 
.lsn .lsnbox ul li:has(.br_right) {
  padding-top: .2em;
  line-height: 1.2;
  break-inside: avoid;
}
.lsn .lsnbox .naiyou-ttl {
  height: 70px;
  margin-bottom: 1em;
  padding: 0 0 20px;
  color: #FFFFFF;
  font-size: 16px;
  text-align: center;
  line-height: 50px;
  background-image: url("../asp-img/vn_naiyou-ttl_bg.gif");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 760px auto;
  border: none;
}
/* 教材内容紹介  .lsnbox > .naiyoubox */
.lsn .naiyoubox {
  width: 880px;
  margin: 0 auto;
  padding: 0 0 1em;
  background-color: #EDEDED;
}
/* 教材目次 .naiyoubox > .indxbox */
.lsn .indxbox {
  width: 780px;
  margin: 0 auto 70px;
  position: relative;
}
.lsn .indxbox::before, 
.lsn .indxbox::after {
  content: "";
  display: block;
  width: 160px;
  background-image: url("../of123-img/vnga_lsn-indx_bg.png");
  background-repeat: no-repeat;
  background-size: 160px auto;
  overflow: hidden;
  position: absolute;
  /*mix-blend-mode: multiply;*/
}
.lsn .lsnbox.no1 .indxbox::before {
  height: 255px;
  background-position: left top;
  right: -40px;
  top: -25px;
}
.lsn .indxbox::after,
.lsn .lsnbox.no2 .indxbox::before, 
.lsn .lsnbox.no3 .indxbox::before {
  height: 130px;
  background-position: left bottom;
}
.lsn .indxbox::after {
  left: -40px;
  bottom: -70px;
}
.lsn .lsnbox.no2 .indxbox::before, 
.lsn .lsnbox.no3 .indxbox::before {
  transform: rotate(180deg);
  right: -40px;
  top: -15px;
}
.lsn .indxbox .indx-ttl {
  display: inline-block;
  padding: .2em .5em;
  color: #FFFFFF;
  background-color: #3d232b;
}
.lsn .indx-list {
  column-count: 2;
}
.lsn .indx-list li {
  margin-bottom: .25em;
  padding-left: 100px;
  font-size: 16px;
  line-height: 1.25;
  font-feature-settings: "palt" 1;
  position: relative;
}
.lsn .indx-list .lsn_no {
  display: block;
  width: 100px;
  height: 1.2em;
  color: #A96F0B;
  font-size: 16px;
  text-align: right;
  overflow: hidden;
  position: absolute;
  left: 0;
}
.lsn .indxbox h5 {
  margin-bottom: .5em;
  padding: 0 10px;
  font-size: 1.2em;
  color: #A96F0B;
  font-weight: bold;
  border-bottom: 1px solid #A96F0B;
}
.lsn .indxbox .h5 {
  width: 320px;
  padding-left: 0;
  margin: .5em 0;
  color: #A96F0B;
  font-weight: bold;
  border-bottom: 1px solid #A96F0B;
}
.lsn .indxbox .h5::before {
  content: "★ ";
}
/* 教材内容詳細 .makami_box > .smrybox */
.lsn .smrybox {
  width: 820px;
  margin: 0 30px;
  padding: 20px 40px;
  background-color: #fff4e2;
}
.lsn .smrybox .bln {
  margin: 0 0 0 20px;
  padding: 1em;
  color: #FFFFFF;
  background-color: #A96F0B;
  border-radius: .5em;
  position: relative;
}
.lsn .smrybox .flexbox:has(.bln) {
  align-items: center;
}
.lsn .smrybox .bln:before {
  content: "";
  border: 15px solid transparent;
  /*border-bottom: 15px solid #A96F0B;*/
  border-right: 15px solid #A96F0B;
  position: absolute;
  bottom: calc(50% - 15px);
  left: -30px;
}
.lsn .smrybox .smryimg.photo-frm,
.lsn .smrybox .imgbox::before, 
.lsn .smrybox .imgbox::after {
  border: 3px solid #FFFFFF;
  box-shadow: 0 0 3px 2px rgba(150,104,91,0.40);
}
.lsn .smrybox .smryimg {
  display: block;
  width: 240px;
  height: 140px;
  margin: .5em auto;
  background-repeat: no-repeat;
  background-size: 240px auto;
}
.lsn .smrybox .imgbox {
  margin: 30px auto;
  position: relative;
}
.lsn .smrybox .imgbox::before, 
.lsn .smrybox .imgbox::after {
  content: "";
  display: block;
  width: 240px;
  height: 140px;
  margin: 0;
  background-repeat: no-repeat;
  background-size: 240px auto;
  position: relative;
}
.lsn .smrybox .imgbox::before {
  position: absolute;
  top: 0;
  left: 0;
}
.lsn .smrybox .imgbox::after {
  position: absolute;
  top: 0;
  right: 0;
}
/* 第1弾 */
.lsn .lsnbox.no1 .smryimg, 
.lsn .lsnbox.no1 .imgbox::before, 
.lsn .lsnbox.no1 .imgbox::after {
  background-image: url("../of123-img/vn_1dan.jpg");
}
.lsn .lsnbox.no1 .imgbox.no1 .smryimg {
  background-position: left top -140px;
}
.lsn .lsnbox.no1 .imgbox.no1::before {
  background-position: left top;
}
.lsn .lsnbox.no1 .imgbox.no1::after {
  background-position: left top -280px;
}
.lsn .lsnbox.no1 .imgbox.no3 .smryimg {
  background-position: left top -560px;;
}
.lsn .lsnbox.no1 .imgbox.no3::before {
  background-position: left top -420px;
}
.lsn .lsnbox.no1 .imgbox.no3::after {
  background-position: left bottom;
}
.lsn .lsnbox.no1 .flexbox img {
  width: 350px;
  height: 220px;
}
/* 第2弾 */
.lsn .lsnbox.no2 .smryimg, 
.lsn .lsnbox.no2 .imgbox::before, 
.lsn .lsnbox.no2 .imgbox::after {
  background-image: url("../of123-img/vn_2dan.jpg");
}
.lsn .lsnbox.no2 .imgbox.no1 .smryimg {
  background-position: left top -140px;
}
.lsn .lsnbox.no2 .imgbox.no1::before {
  background-position: left top;
}
.lsn .lsnbox.no2 .imgbox.no1::after {
  background-position: left top -280px;
}
.lsn .lsnbox.no2 .imgbox.no2 .smryimg {
  background-position: left top -560px;
}
.lsn .lsnbox.no2 .imgbox.no2::before {
  background-position: left top -420px;
}
.lsn .lsnbox.no2 .imgbox.no2::after {
  background-position: left top -700px;
}
.lsn .lsnbox.no2 .imgbox.no3 .smryimg {
  background-position: left top -980px;
}
.lsn .lsnbox.no2 .imgbox.no3::before {
  background-position: left top -840px;
}
.lsn .lsnbox.no2 .imgbox.no3::after {
  background-position: left top -1120px;
}
.lsn .lsnbox.no2 .imgbox.no4 .smryimg {
  background-position: left top -1400px;
}
.lsn .lsnbox.no2 .imgbox.no4::before {
  background-position: left top -1260px;
}
.lsn .lsnbox.no2 .imgbox.no4::after {
  background-position: left top -1540px;
}
/* 第3弾 */
.lsn .lsnbox.no3 .smryimg, 
.lsn .lsnbox.no3 .imgbox::before, 
.lsn .lsnbox.no3 .imgbox::after {
  background-image: url("../of123-img/vn_3dan.jpg");
}
.lsn .lsnbox.no3 .imgbox.no1 .smryimg {
  background-position: left top -140px;
}
.lsn .lsnbox.no3 .imgbox.no1::before {
  background-position: left top;
}
.lsn .lsnbox.no3 .imgbox.no1::after {
  background-position: left top -280px;
}
.lsn .lsnbox.no3 .imgbox.no2 .smryimg {
  background-position: left top -560px;
}
.lsn .lsnbox.no3 .imgbox.no2::before {
  background-position: left top -420px;
}
.lsn .lsnbox.no3 .imgbox.no2::after {
  background-position: left top -700px;
}
.lsn .lsnbox.no3 .imgbox.no3 .smryimg {
  background-position: left top -980px;
}
.lsn .lsnbox.no3 .imgbox.no3::before {
  background-position: left top -840px;
}
.lsn .lsnbox.no3 .imgbox.no3::after {
  background-position: left top -1120px;
}
.lsn .lsnbox.no3 .imgbox.no4 .smryimg {
  background-position: left top -1400px;
}
.lsn .lsnbox.no3 .imgbox.no4::before {
  background-position: left top -1260px;
}
.lsn .lsnbox.no3 .imgbox.no4::after {
  background-position: left top -1540px;
}
/* 納得のテキスト教本 .sarani-text */
.lsn .sarani-text h2.img-txt {
  width: 880px;
  margin: 40px auto;
  padding-top: 60px;
  background-image: url("../of123-img/vnga_lsn-sarani.png");
  background-size: contain;
}
.lsn .sarani-text .inner {
  width: 880px;
  margin: 0 auto 60px;
  padding: 0 50px;
  position: relative;
}
.lsn .sarani-text .inner::before, 
.lsn .sarani-text .inner::after {
  content: "";
  display: block;
  background-image: url();
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
  position: relative;
}
.lsn .sarani-text .inner::before {
  width: 130px;
  height: 105px;
  background-image: url("../of123-img/vnga_lsn-sarani-ttl-img.png");
  position: absolute;
  left: 20px;
  top: -115px;
} 
.lsn .sarani-text .inner::after {
  width: 240px;
  height: 240px;
  background-image: url("../of123-img/vnga_lsn-sarani-img.png");
  position: absolute;
  right: 20px;
  top: -50px;
}
.lsn .sarani-text .chk-ul li {
  padding-left: 50px;
  font-size: 30px;
  font-weight: bolder;
  font-feature-settings: "palt" 1;
  background-image: url("../of123-img/vnga_chk-icon.png");
  background-repeat: no-repeat;
  background-position: left top .25em;
  background-size: 35px 35px;
}
.lsn .sarani-text p:has(img) {
  width: 440px;
  margin: 0;
}
.lsn .sarani-text .grayflm {
  width: 350px;
  padding: 30px;
  font-weight: 500;
  background-color: #E5E5E5;
  border-radius: .5em;
  position: absolute;
  right: 0;
  bottom: 0;
}
/* レッスンで使用する楽譜 .lsn-gakufu */
.lsn .lsn-gakufu h2.img-txt {
  margin-bottom: 40px;
  padding-top: 60px;
  background-image: url("../of123-img/vnga_lsn-gakufu.png");
  background-size: contain;
}
.lsn .lsn-gakufu .inner {
  width: 750px;
  margin: 0 auto 60px;
}
.lsn .lsn-gakufu .inner p:first-child {
  padding: 0 40px;
  font-size: 22px;
  font-weight: 500;
}
/* -------------------------------------- 分かりやすい工夫 .idea */
.idea {
}
.idea h2 {
  padding-top: 190px;
}
.idea .idea_box {
  width: 900px;
  margin: 0 auto 0.5em;
}
.idea .idea_box h3 {
  padding-left: 50px;
  margin: 0.5em 0;
  background-position: left 10px top;
  background-size: 30px 35px;
}
.idea .idea_box p {
  margin-bottom: 0.5em;
}
.idea .idea_box .inner.wrapper>p {
  padding: 0 0 0 50px;
}
.idea .idea_box:first-of-type .flexbox {
  width: 600px;
  margin-left: 1em;
}
.idea .idea_box:first-of-type .flexbox p {
  width: auto;
}
.idea .idea_box:first-of-type .flexbox p::after {
  content: url("../asp-img/zoom-btn.png");
}
.idea .idea_box:first-of-type>p:last-of-type {
  display: block;
  position: absolute;
  right: 1em;
  top: 1.5em;
}
/*.idea .idea_box:last-of-type {
  height: 200px;
}*/
.idea .idea_box p.inner {
  padding: 0 300px 0 50px;
} 
.idea .idea_box:last-of-type p:last-of-type {
  display: block;
  margin-top: -83px;
  position: absolute;
  right: 40px;
  top: 50%;
}
.idea .idea_box:last-of-type img {
  width: 330px;
  height: auto;
}
/* -------------------------------------- 金銭比較 .hikaku */
.hikaku h2 {
  font-size: 2em;
}
.hikaku h2::before {
  margin: 0 auto 1em;
  width: 320px;
  height: 70px;
}
.hikaku picture {
  margin-top: 2em;
}
.hikaku .hikaku-img {
  margin-bottom: .5em;
  height: 0;
  padding-top: 310px;
  background-image: url(../of123-img/vnga_hikaku-img_pc.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
.hikaku .hikaku_cap {
  margin: 0.5em auto 2em;
}
.hikaku .hikaku_cap li {
  font-size: 0.8em;
}
/* -------------------------------------- 教材内容・価格 .item */
/*.item>p:first-of-type {
  font-size: 1.2em;
}*/
.item h2.img-txt {
  height: 0;
  padding-top: 270px;
  margin-bottom: .5em;
  background-image: url(../asp-img/vn_item-ttl_pc.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
/*.item h2 {
  font-size: 2.6em;
}
.item h2+p {
  margin-top: 1em;
  padding-top: 70px;
}*/
.item .item_sub-ttl {
  width: 900px;
  height: 50px;
  padding: 0.5em 0 0 0;
  margin: 0 auto 0.5em;
  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";
}
.item .item-img {
  text-align: center;
}
.item h3, .item h4 {
  padding: 0.1em 0.5em;
  font-size: 1.1em;
  text-align: center;
}
.item .set_box {
  display: flex;
  justify-content: space-between;
  width: 820px;
  margin: 0 auto;
}
.item .item_dan {
  width: 260px;
  height: 370px;
  padding: 0.5em;
}
.item .item_dan ul:nth-of-type(2),
.item .item_dan p {
  margin-bottom: 0;
}
.item .item_dan .br_right {
  font-size: 0.8em;
}
.item .item_dan span.br_right .pc_block {
  margin-right: 0.3em;
  text-align: right;
}
.item ul li {
  padding-left: 0;
}
.item .item_dan ul:first-of-type {
  height: 6em;
}
.item .item_dan .jsrc.sm {
  font-size: 0.7em;
  bottom: 1em;
}
.item .item_dan .jsrc.sm .br_right {
  font-size: 1em;
  bottom: 1em;
}
.item .bunkatsu_txt img {
  display: inline;
}
/* -------------------------------------- 購入ボタン .ord_btn */
.ord_btn {
  margin: 2em auto;
  width: 860px;
}
.ord_btn>p:first-of-type img {
  width: 358px;
}
/*.ord_btn .pc_view {
  margin: 2em 0 2em;
}
.btn_only .ord_btn p:last-child {
  display: none;
}
.asp.itlp .btn_only .ord_btn p:last-child {
  display: block;
}*/
.gset_link {
  width: 700px;
  margin: 30px auto;
}
.btn-only .ord_btn {
  padding: 0;
  margin: 60px auto;
}
/* -------------------------------------- メディア .media */
.media {
  width: 760px;
  height: 340px;
  padding: 2em 0;
  margin: 0 auto;
  position: relative;
}
.media h2 {
  margin-bottom: 1em;
  border-top: none;
  border-bottom: none;
  position: relative;
}
.media h2::before, .media h2::after {
  content: "";
  display: block;
  width: 175px;
  height: 0;
  border-bottom: 1px solid #AF7A2B;
  position: absolute;
  top: 50%;
}
.media h2::before {
  left: 0;
}
.media h2::after {
  right: 0;
}
.media h3 {
  margin: 0 30px;
}
.media h3+p {
  margin: 0 30px;
}
.media img {
  width: 100%;
  height: auto;
}
.media p:last-of-type {
  width: 330px;
  position: absolute;
  right: 2em;
  bottom: 0;
}
/* -------------------------------------- お客様の声 .voice */
.voice {
  width: 760px;
  margin: 0 auto 2em;
}
.voice h2 {
  margin: 0 0 0.5em 0;
  padding: 180px 0 0;
  height: 0;
  background-image: url("../asp-img/vn_voice_ttl.jpg");
}
.voice .voice_box {
  margin: 0 1.5em 1.5em;
  padding: 1em 1.5em;
}
.voice .voice_box p {
  margin-bottom: 0.5em;
}
.voice .voice_box p:last-child {
  margin-right: -1em;
}
.voice p.voice_link {
  margin: 20px auto 0;
  padding: 50px 0 0;
  background-color: #FFFFFF;
}
.voice p.voice_link a {
  margin: 0 auto;
  height: 60px;
  padding: 0;
  width: 650px;
  line-height: 55px;
  font-size: 1.4em;
}
.voice p.voice_link a::after {
  top: 15px;
  line-height: 1;
}
/* -------------------------------------- お客様の声ページ #voice */
#voice .notice_box {
  width: 760px;
}
#voice .voice {
  margin-top: 2em;
}
#voice .voice h2 {
  margin: 0 0 0.5em 0;
  padding: 180px 0 0;
}
#voice .voice .voice_box {
  margin: 0 1.5em 1.5em;
}
/* -------------------------------------- よくある質問 .qanda */
.qanda {
}
.qanda h2 {
  padding: 100px 0 0 0;
  height: 0;
  background-image: url("../asp-img/vn_qanda-ttl.jpg");
  background-position: left top;
}
.qanda dl.qabox {
  padding: 2em 0 0;
  width: 820px;
}
.qanda dl dt, .qanda dl dd {
  padding: 0 1em 0 130px;
  min-height: 60px;
  background-position: left 40px top;
}
.qanda dl dt {
  margin-bottom: 1em;
  font-size: 1.6rem;
  line-height: 60px;
  background-size: 60px 60px;
}
/*.qanda dl dt:nth-of-type(4),
.qanda dl dt:nth-of-type(6),
.qanda dl dt:nth-of-type(7),
.qanda dl dt:nth-of-type(8),
.qanda dl dt:nth-of-type(9),
.qanda dl dt:nth-of-type(10),
.qanda dl dt:nth-of-type(11),
.qanda dl dt:nth-of-type(14),
.qanda dl dt:nth-of-type(15),
.qanda dl dt:nth-of-type(16), 
.qanda dl dt:nth-of-type(17),
.qanda dl dt:nth-of-type(18),
.qanda dl dt:nth-of-type(19),*/
.qanda dl dt.line1 {
  line-height: 60px;
}
.qanda dl dt.line2 {
  line-height: 1.4;
}
.qanda dl dd {
  margin-bottom: 2em;
  padding: 0 60px 1.5em 130px;
  background-size: 60px 60px;
}
.qanda dl dd p {
  margin-bottom: 0.5em;
}
/* -------------------------------------- さいごに .msg */
.msg h2 {
  margin-bottom: 1em;
  padding: 120px 0 0 0;
  height: 0;
  background-image: url("../asp-img/vn_msg-ttl.jpg");
}
.msg .minbox {
  width: 650px;
  margin: 0 auto;
  padding: 0;
  text-align: justify;
  background-image: none;
  overflow: hidden;
}
.msg .minbox::before {
  content: "";
  display: block;
  width: 230px;
  height: 230px;
  margin-right: 20px;
  float: left;
  background-image: url("../of123-img/vnga_msg-img.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
/* -------------------------------------- ショップインフォ .shopinfo */
#shopinfo {
  padding: 4em 70px;
  font-size: 0.8em;
}
#shopinfo img {
  width: auto;
  max-width: 100%;
}
#shopinfo .asp_info {
  padding: 0 1em;
  background-position: right top;
  background-size: 326px 113px;
}
/*#shopinfo .asp_info.infotop {
}
#shopinfo .asp_info.sublime {
  background-size: 300px 90px;
}
#shopinfo .asp_info.infocart {
  background-size: 302px 63px;
}*/
#shopinfo .shopinfo_l {
  width: 420px;
  padding-right: 19px;
  border-right: 1px dotted #CCCCCC;
}
#shopinfo .shopinfo_r {
  width: 420px;
  padding-left: 20px;
}
#shopinfo h2, #shopinfo h3 {
  font-size: 1.2em;
}
#shopinfo h3 {
  padding: 8px 0 0 20px;
}
#shopinfo h4 {
  margin-top: 1em;
  font-size: 1em;
}
#shopinfo p {
  font-size: 1em;
}
#shopinfo ul li {
  font-size: 1em;
}
#shopinfo .conv-ex {
  padding: 0.5em;
}
/* -------------------------------------- 追従リンク .fix_btn 購入ボタンへ #ord_link */
.fix_btn {
  right: calc( 50% - 570px);
  bottom: 50px;
}
#ord_link a {
  border-radius: 10% 10% 0 0;
}
#cntct_link a {
  display: block;
  width: 70px;
  height: 70px;
  padding-top: 32px;
  font-size: 14px;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.2;
  background-color: #956A10;
  border-radius: 0 0 10% 10%;
  opacity: 0.8;
  text-decoration: none;
  background-image: url("../asp-img/mail-icon.png");
  background-repeat: no-repeat;
  background-size: 30px 30px;
  background-position: center top 2px;
}
#cntct_link a:hover {
  opacity: 1;
}
/* -------------------------------------- フッター 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 {
  margin-bottom: 0;
  justify-content: center;
}
footer .f_nav ul a {
  display: block;
  height: 0;
  padding-top: 50px;
  overflow: hidden;
  background-image: url("../of123-img/vn_nav.png");
  background-repeat: no-repeat;
  background-position: left top -50px;
  border-radius: 0 0 5px 5px;
  border: 1px solid #000;
  border-top: 0;
  transition: 0s;
}
footer .f_nav ul li {
  margin-right: 1px;
  padding: 0;
  width: 244px;
}
footer .f_nav ul li::after {
  content: "";
  display: none;
}
footer .f_nav ul li.navord a {
  background-position-x: 0;
}
footer .f_nav ul li.nav3set a {
  background-position-x: -245px;
}
/*footer .f_nav ul li.navgset a {
  background-position-x: 0;
}*/
footer .f_nav ul li.navqa a {
  background-position-x: -490px;
}
footer .f_nav ul li.navcont a {
  background-position-x: -735px;
}
#vn_3set footer .f_nav ul li.nav3set a,
#vn_gset footer .f_nav ul li.navgset a,
#contact footer .f_nav ul li.navcont a,
footer .f_nav ul a:hover {
  background-position-y: 0;
  border: 1px solid #AB003C;
  border-top: 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 {
  height: 0;
  padding-top: 55px;
  background-image: url("../asp-img/vn_logo.png");
  background-repeat: no-repeat;
  overflow: hidden;
}
/* __________________________________________ ↓ここからサブページ用 */
/* -------------------------------------- ヘッダー header  */
.subp header p {
  margin-bottom: 1em;
}
.subp header .wrapper.flexbox p:first-child {
  margin-bottom: 1em;
  padding-top: 55px;
}
.subp header .wrapper.flexbox p:first-of-type img {
  width: auto;
}
.subp header h1,
.subp header .wrapper.flexbox p:nth-of-type(2),
.subp header .h_nav {
  display: block;
}
.subp header .wrapper.flexbox p:nth-of-type(2) {
  margin-bottom: 16px;
}
/* -------------------------------------- パンくずリスト .path  */
.path {
  width: 980px;
  margin: 0 auto;
  padding: 1em 0 0 1em;
}
.path ul {
  display: flex;
}
.path li {
  font-size: 0.8em;
}
.path li::after {
  font-size: 0.8em;
}
/* -------------------------------------- コンテンツ領域 */
.subp section {
  padding: 0 1em 2em;
  font-size: 1em;
  line-height: 1.4;
}
.subp section h2 {
  width: 100%;
  margin: 1em 0;
  padding: 0;
  font-size: 2em;
  color: #AC003D;
  background-color: transparent;
  border-radius: 0;
}
.subp section .minbox table {
  border: none;
}
.subp section .minbox th {
  display: table-cell;
  width: 30%;
  padding: 0.5em 0;
  text-align: center;
}
.subp section .minbox td {
  display: table-cell;
  width: 70%;
  padding: 0.5em 0;
}
/* __________________________________________ 会社概要 #company */
/*#company section h2 {
  margin-top: 0;
}*/
#company iframe {
  display: block;
  width: 425px;
  height: 350px;
  margin: 0 auto 2em;
}
/* __________________________________________ プライバシーポリシー #privacy */
#privacy ol {
  padding-left: 2em;
}
#privacy section .minbox p, 
#privacy section .minbox li {
  font-size: 0.9em;
}
/* __________________________________________ お問い合わせ #contact */
#contact iframe {
	width: 100%;
	height: 900px;
}

}
