@charset "utf-8";

/* -------------------------------------- メインビジュアル .main_v  */
.main_v {
  position: relative;
}
/* -------------------------------------- 特典 .tokuten */
.tokuten {
  margin: 40px auto;
  text-align: center;
}
/* -------------------------------------- レッスン動画 .movie-first */
.movie-first {
  text-align: center;
}
.movie-first h2 {
  margin-bottom: 0;
  padding-top: 140px;
  background-image: url("../img/uk_samplemv-ttl.png");
  /*background-size: cover;*/
}
/* -------------------------------------- お客様の声 .voice */
.voice {
  margin: 0 auto;
  padding-top: 0;
  overflow: hidden;
}
.voice.top h2 {
  margin-bottom: 0;
  padding-top: 194px;
  background-image: url("../img/uk_topvc-ttl.png");
  background-color: #FFFFFF;
}
.voice.middle h2 {
  width: 780px;
  margin: 0 auto;
  padding-top: 190px;
  background-image: url("../img/uk_mdvc-ttl_pc.jpg");
  background-color: #FF6600;
}
.asp_lp .voice.middle h2 {
  width: 780px;
  margin: 0 auto;
  padding-top: 570px;
  background-image: url("../asp-img/u_n07_45.jpg");
}
.voice .vbox-group {
  width: 780px;
  padding: 10px 30px 40px;
  margin: 0 auto;
  background-color: #FF6600;
}
.voice .voice_box {
  margin: 0 0 1em 0;
  padding: 1em 30px;
  width: 100%;
  text-align: justify;
  background-color: #FFFFFF;
  border-radius: 0.5em;
  box-shadow: 0 2px 5px 2px #a84300;
}
.voice .voice_box:last-of-type {
  margin-bottom: 0;
}
.voice .voice_box h3 {
  color: #e53b00;
  font-size: 1.1em;
}
/*.asp_lp .voice .voice_box h3 {
  color: #e53b00;
}*/
.voice .voice_box p {
  margin-bottom: .5em;
}
.voice .voice_box:has(.mb1) p {
  margin-bottom: 0;
}
.voice .voice_box p.mb1 {
  margin-bottom: 1em;
}
.voice .voice_box p:last-child {
  margin-bottom: 0;
  font-weight: bold;
  text-align: right;
}
.voice .voice_box::after {
  content: "※実践されたお客様個人のご感想です。";
  display: block;
  clear: both;
  padding-top: .2em;
  white-space: pre;
  font-size: .8em;
  text-align: right;
  color: #666666;
}
/* -------------------------------------- 講師紹介 .prof */
.prof {
  padding-bottom: 0;
  background-position: right bottom 3em, right bottom;
  background-size: 40vw auto, contain;
}
.prof h2 {
  margin-bottom: 40px;
  padding-top: 370px;
  background-image: url("../img/uk_prof-ttl_pc.jpg");
}
.asp_lp .prof h2 {
  padding-top: 365px;
  background-image: url("../asp-img/u_n07_04.jpg");
}
.prof .profbox {
  width: 740px;
  margin: 0 auto;
}
/* -------------------------------------- はじめに .intro */
.intro {
  background-image: url("../img/uk_intro-bg02.png"), url("../img/uk_intro-bg01.png");
  background-repeat: no-repeat, no-repeat;
  background-position: right 40px bottom -5px, right bottom;
  background-size: 280px auto, 450px auto;
}
.intro h2 {
  margin-bottom: 40px;
  padding-top: 150px;
  background-image: url("../img/uk_intro-ttl_pc.png");
  mix-blend-mode: multiply;
}
/* -------------------------------------- 種類 .type */
.type {
  padding-bottom: 0;
}
.type h2 {
  padding-top: 180px;
  background-image: url("../img/uk_type-ttl.png");
}
.type h2 + p {
  margin: 40px auto;
  text-align: center;
}
.type .type-img {
  padding: 10px 0 30px;
}
/* -------------------------------------- 素敵な音がします .movie-sample */
.movie-sample h2 {
  margin-bottom: 30px;
  padding-top: 130px;
  background-image: url("../img/uk_samplesd-ttl.png");
}
.movie-sample .yt_play {
  background-image: url("../img/uk_sample-sd_thumb.jpg");
}
/* -------------------------------------- できたらいいな .hope */
.hope {
  background-color: #FFF7EA;
}
.hope h2 {
  padding-top: 120px;
  background-image: url("../img/uk_hope-ttl.png");
}
.hope h2 + picture {
  margin: 60px 0 0;
  text-align: center;
}
/* -------------------------------------- なぜ弾きやすいの？ .why */
.why {
  padding-bottom: 0;
  text-align: center;
}
.why h2 {
  margin-bottom: 30px;
  padding-top: 140px;
  background-image: url("../img/uk_why-ttl_pc.jpg");
}
.asp_lp .why h2 {
  margin-bottom: 30px;
  padding-top: 407px;
  background-image: url("../asp-img/u_n07_06.jpg");
}
.why picture {
  margin-bottom: 30px;
}
.why picture:last-child {
  margin-bottom: 0;
}
/* ASP */
.whybox {
  width: 840px;
  margin: 0 auto 30px;
  text-align: left;
}
.why .notice_box {
  text-align: left;
}
.whybox .whybox-inner {
  padding: 0 25px 0 140px;
}
.whybox strong {
  color: #FF6600;
}
.whybox strong.blk {
  color: inherit;
}
.why .mb0 {
  margin-bottom: 0;
}
/* -------------------------------------- 分かりやすい工夫 .kuhuu */
.kuhuu {
  padding-bottom: 0;
}
.kuhuu h2 {
  padding-top: 140px;
  background-image: url("../img/uk_kufuu-ttl_pc.jpg");
}
.asp_lp .kuhuu h2 {
  margin-bottom: 0;
  padding-top: 260px;
  background-image: url("../asp-img/uk_asp_lsn-idea-ttl_pc.png");
}
.kuhuu .kuhuu_box {
  width: 100%;
  text-align: center;
}
.asp_lp .kuhuu .kuhuu_box {
  width: 790px;
  margin: 0 auto;
  padding-top: 20px;
  text-align: center;
  border: 1px solid #000;
  border-top: none;
}
.asp_lp .kuhuu .kuhuu_box .hfu-subttl {
  margin-bottom: 30px;
}
.kuhuu picture {
  margin-bottom: 20px;
  text-align: center;
}
.kuhuu picture:last-child {
  margin-bottom: 0;
}
/* -------------------------------------- レッスン詳細 .lessons */
.lessons h2 {
  margin-bottom: .5em;
  padding-top: 170px;
  background-image: url("../img/uk_nakami-ttl_pc.png");
}
.lessons #lsn_1dan,
.lessons #lsn_2dan {
  margin-bottom: 1.5em;
}
.lessons .dan-ttl {
  height: 0;
  margin-bottom: 30px;
  padding-top: 130px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  overflow: hidden;
}
.lessons #lsn_1dan .dan-ttl {
  background-image: url("../img/uk_dai1-ttl_pc.png");
}
.lessons #lsn_2dan .dan-ttl {
  background-image: url("../img/uk_dai2-ttl_pc.png");
}
.lessons #lsn_3dan .dan-ttl {
  background-image: url("../img/uk_dai3-ttl_pc.png");
}
.lessons .dan-indx {
  width: 720px;
  margin: 0 auto;
}
.lessons #lsn_1dan .dan-indx h4 .lsn-no {
  background-color: #d84700;
}
.lessons #lsn_2dan .dan-indx h4 .lsn-no {
  background-color: #0068b7;
}
.lessons #lsn_3dan .dan-indx h4 .lsn-no {
  background-color: #a52e8d;
}
.lessons .dan-indx li {
  min-height: 170px;
  margin-bottom: 20px;
  text-align: justify;
  border-bottom: 3px dotted #ccc;
  overflow: hidden;
  position: relative;
}
.lessons .dan-indx h4 {
  margin-bottom: .5em;
  padding-left: 160px;
  text-indent: -160px;
  color: #380000;
  font-size: 24px;
}
.lessons .dan-indx h4 .lsn-no {
  display: inline-block;
  width: 140px;
  padding: 0 10px;
  margin-right: 20px;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: normal;
  text-align: center;
  text-indent: 0;
  line-height: 1.6em;
  border-radius: .3em;
}
.lessons .dan-indx .thumb-img {
  display: block;
  width: 200px;
  height: 110px;
  margin: 0 0 1em 20px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 200px auto;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: 0;
}
.lessons #lsn_1dan .dan-indx .thumb-img {
  background-image: url("../img/uk_lsn1dan.jpg");
}
.lessons #lsn_2dan .dan-indx .thumb-img {
  background-image: url("../img/uk_lsn2dan.jpg");
}
.lessons #lsn_3dan .dan-indx .thumb-img {
  background-image: url("../img/uk_lsn3dan.jpg");
}
.lessons .dan-indx .thumb-img.no1 {
  background-position: left top;
}
.lessons .dan-indx .thumb-img.no2 {
  background-position: left top -110px;
}
.lessons .dan-indx .thumb-img.no3 {
  background-position: left top -220px;
}
.lessons .dan-indx .thumb-img.no4 {
  background-position: left top -330px;
}
.lessons .dan-indx .thumb-img.no5 {
  background-position: left top -440px;
}
.lessons .dan-indx .thumb-img.no6 {
  background-position: left top -550px;
}
.lessons .dan-indx .thumb-img.no7 {
  background-position: left top -660px;
}
.lessons .dan-indx .thumb-img.no8 {
  background-position: left top -770px;
}
.lessons .dan-indx .thumb-img.no0 {
  background-position: left bottom;
}
.lessons .dan-indx p {
  width: 480px;
}
/* -------------------------------------- 分かりやすい工夫 .idea */
.idea {
  padding: 0 0 20px 0;
}
.idea h2 {
  padding-top: 200px;
  background-image: url("../img/uk_idea-ttl.png");
}
.idea .idea_box {
  width: 900px;
  padding: .5em 20px;
  margin: 0 auto .5em;
  background-image: url("../img/idea-bg_01.png"), url("../img/idea-bg_02.png"), url("../img/idea-bg_03.png");
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: left top, left bottom, left top;
  background-size: contain;
}
.idea .idea_box h3 {
  margin: .5em 0 .5em 0;
  padding-top: 50px;
  width: 100%;
  height: 0;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: contain;
  overflow: hidden;
}
.idea .idea_box:nth-of-type(1) h3 {
  background-image: url("../img/uk_idea-01-ttl.png");
}
.idea .idea_box:nth-of-type(2) h3 {
  padding-top: 90px;
  background-image: url("../img/uk_idea-02-ttl.png");
  background-size: cover;
}
.idea .idea_box:nth-of-type(3) h3 {
  background-image: url("../img/uk_idea-03-ttl.png");
}
.idea .idea_box > .flexitem:first-child p {
  padding: 0 30px 0 60px;
}
.idea ul.flexbox {
  margin-bottom: 20px;
  justify-content: space-around;
}
.idea ul.flexbox li {
  margin: 0 10px 0 0;
  position: relative;
}
.idea ul.flexbox li a::after {
  content: "";
  display: block;
  margin: 0;
  width: 280px;
  height: 40px;
  background-image: url("../img/zoom-btn_pc.png");
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
}
.idea p.img-txt {
  margin-bottom: 0;
  padding-top: 190px;
  background-image: url("../img/uk_idea-btm_pc.png");
}
/* -------------------------------------- メディア .media */
.media {
  width: 780px;
  padding: 0;
  margin: 0 auto;
}
/* -------------------------------------- おさらい .osarai */

/* -------------------------------------- 教材内容・価格 .item */
.item {
  padding-bottom: 0;
  color: #4b1500;
}
.asp_lp .item {
  padding-top: 10px;
}
#uk_3set .item h2 {
  margin-bottom: 0;
  padding-top: 460px;
  background-image: url("../img/uk_item-img_pc.jpg");
}
#uk_1st .item h2 {
  margin-bottom: 0;
  padding-top: 460px;
  background-image: url("../img/uk_item-img-1st_pc.jpg");
}
.item h3.setitem-ttl {
  margin-bottom: .5em;
  padding: .5em 0;
  color: #fff;
  font-size: 1em;
  text-align: center;
  background-color: #008272;
}
.item h3 + p {
  margin-left: 20px;
}
.item .inner.wrapper > .flexbox {
  justify-content: center;
  align-items: stretch;
  margin-bottom: 20px;
  border-bottom: 4px dotted #CCCCCC;
}
.item .flexitem {
  width: 270px;
  margin-right: 10px;
}
.item .flexitem:last-child {
  margin-right: 0;
}
.item h4 {
  margin-bottom: .5em;
  padding: .25em 1em;
  color: #fff;
  font-size: 1em;
  background-color: #4b1500;
}
.item .no1 h4 {
  background-color: #d84700;
}
.item .no2 h4 {
  background-color: #0068b7;
}
.item .no3 h4 {
  background-color: #a52e8d;
}
.item ul li {
  padding: 0 20px;
}
.item h5 {
  margin-bottom: .5em;
  padding: .25em 1em;
  font-size: 1em;
  background-color: #d3d3d3;
}
.item .music_list {
  padding: 0;
  background-color: transparent;
}
.item .music_list li.jsrc {
  text-align: right;
}
.item .music_list li.jsrc img {
  width: auto;
  height: 1em;
}
#of1st .item .setitem-ttl + ul, 
#of1st .item .music_list ul {
  width: 90%;
  margin: 0 auto;
}
.item .ol-info {
  margin: 0 auto 1em;
  text-align: center;
}
.item picture {
  text-align: center;
}
/* -------------------------------------- オンライン視聴について .flow-online  */
.flow {
  width: 700px;
  margin: 20px auto 40px;
  border: 1px solid #0170B9;
}
.flow .toggle + .title {
  width: 700px;
  margin: -1px 0 0;
  padding: 1.5em 0;
  color: #FFFFFF;
  font-size: 1.1em;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  background-color: #0170B9;
  background-image: url("/img/online-info/ic_online.svg");
  background-repeat: no-repeat;
  background-size: 56px 48px;
  background-position: right 20px center;
  text-shadow: 0 2px 2px rgba(0,51,67,0.70);
  border-radius: 0;
  position: relative;
  left: calc(50% - 350px);
}
.flow .toggle + .title:hover {
  opacity: .8;
}
.flow .toggle + .title::after,
.flow .toggle + .title::before {
  content: "";
  width: 2px;
  height: 2rem;
  background-color: #FFFFFF;
  transition: all 0.3s;
  box-shadow: 0 2px 2px rgba(0,51,67,0.70);
  position: absolute;
  top: calc(50% - 1rem);
  left: 40px;
}
.flow .toggle + .title::before {
  transform: rotate(90deg);
  box-shadow: 2px 0 2px rgba(0,51,67,0.70);
}
.flow .toggle:checked + .title::after {
  transform: rotate(90deg) !important;
}
.tglbox.flow-online {
  padding: 0 40px;
}
.tglbox.flow-online h3 {
  margin-top: 1em;
  padding-left: .5em;
  color: #0170B9;
  font-size: 24px;
  font-weight: bold;
  border-left: 8px solid #0170B9;
}
.tglbox.flow-online p {
  margin: 1em 0;
  padding: .5em 0;
  font-size: 1em;
  line-height: 1.4;
}
.tglbox.flow-online img {
  width: 512px;
}
.tglbox.flow-online .mark_ylw {
  background:linear-gradient(transparent 60%, #ffe500 60%);
}
.tglbox.flow-online .w70 {
  width: 430px;
}
.tglbox.flow-online .txt_c {
  margin: 1em 0;
}
.tglbox.flow-online .limit-info {
  display: block;
  margin: 0;
  padding: 0;
  text-align: right;
  font-size: 16px;
}
.tglbox.flow-online .yasu {
  width: 550px;
  margin: 0 auto 1em;
  padding: 50px 0;
  position: relative;
}
.tglbox.flow-online .yasu::before {
  content: "";
  width: 180px;
  height: 185px;
  background-image: url("/img/online-info/ol_yasu-img.gif");
  background-size: 180px 185px;
  background-position: left top -185px;
  position: absolute;
  right: 0;
  top: -30px;
}
.toggle:checked + .title + .tglbox.flow-online {
  max-height: 2680px;
}
/* -------------------------------------- ヤマト運輸ネコポス対応 .yamato-post */
.yamato-post {
  margin-bottom: 30px;
}
.yamato-post p:first-child {
  margin-bottom: 0;
  text-align: center;
}
.yamato-post .post-txt {
  margin: 0;
  text-align: center;
  font-size: .8em;
}
/* -------------------------------------- よくある質問 .qa */
.qa h2 {
  margin-bottom: .5em;
  padding: 120px 0 0;
  background-image: url("../img/uk_qanda-ttl_pc.png");
}
.qa dl.qabox {
  margin: 30px auto 0;
}
.qa dl dt, 
.qa dl dd {
  padding-left: 90px;
  /*padding-right: 20px;*/
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 70px 70px;
}
.qa dl dt {
  min-height: 70px;
  margin-bottom: 20px;
  color: #980000;
  text-align: left;
  line-height: 70px;
  font-size: 24px;
  background-image: url("../img/uk_qanda-q.png");
}
.qa dl dt.line2 {
  line-height: 1.4;
}
.qa dl dd {
  margin-bottom: 20px;
  padding-bottom: 20px;
  text-align: justify;
  background-image: url("../img/uk_qanda-a.png");
  background-position: left top -16px;
  position: relative;
}
.qa dl dd::after {
  content: "";
  display: block;
  width: 90%;
  border-bottom: 2px dotted #ccc;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
/* -------------------------------------- さいごに .msg */
.msg h2 {
  height: auto;
  text-align: center;
  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: 32px;
  line-height: 1.4;
  color: #4b1500;
}
.msg .msg_box {
  margin: 0 auto;
  padding: 50px 65px 40px;
  width: 750px;
  text-align: justify;
  background-image: url("../img/uk_msg-bg01.png"), url("../img/uk_msg-bg02.png"), url("../img/uk_msg-bg03.png");
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-position: left top, left bottom, left top;
  background-size: 750px auto;
  overflow: hidden;
}
.msg .msg_box .flo-l {
  margin: 0 20px .5em 0;
  width: 230px;
}
.msg .msg_box .msg_name {
  height: 0;
  padding-top: 30px;
  background-image: url("../img/uk_msg-name.png");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  overflow: hidden;
}
/* -------------------------------------- ショップインフォ .shopinfo */
#shopinfo {
  width: 92%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding: 4em 0;
  font-size: 14px;
  line-height: 1.4;
}
#shopinfo .asp_info {
  padding: 0 40px;
  background-image: url("/img/pay/infotop.jpg");
  background-repeat: no-repeat;
  background-position: right 40px top;
  background-size: 326px 113px;
}
#shopinfo .asp_info ol li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: .9em;
}
@media screen and (min-width:860px){
#shopinfo {
  padding: 4em 3em;
}
}
#shopinfo img {
  width: auto;
  max-width: 100%;
}
#shopinfo .flexbox {
  align-items: flex-start;
  justify-content: center;
}
#shopinfo .shopinfo_l {
  width: 48%;
  padding-right: 19px;
  border-right: 1px dotted #CCCCCC;
}
#shopinfo .shopinfo_r {
  width: 48%;
  padding-left: 20px;
}
@media screen and (min-width:980px){
#shopinfo .shopinfo_l {
  width: 420px;
}
#shopinfo .shopinfo_r {
  width: 420px;
}
}
#shopinfo h2, #shopinfo h3 {
  margin: .5em 0;
  padding: 0 0 0 20px;
  height: 36px;
  position: relative;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: normal;
  text-align: left;
  line-height: 36px;
  background-color: #390101;
}
#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: 1em 0 .5em;
  font-size: 16px;
  font-weight: bold;
  border-bottom:1px solid #000;
}
#shopinfo ul {
  letter-spacing: -1px;
  padding-left: 0;
  list-style-type: none;
}
#shopinfo .maxw60 {
  max-width: 140px;
}
#shopinfo .maxh60 {
  max-height: 60px;
}
#shopinfo .othershop {
  margin-top: 20px;
  padding-right: 0;
  position: relative;
}
@media screen and (min-width:860px){
#shopinfo .othershop {
  padding-right: 80px;
}
#shopinfo .othershop::after {
  content: "";
  width: 70px;
  height: 90px;
  background-image: url("/img/parts/othershop_bg.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 0;
}
}
#shopinfo .othershop h4 {
  color: #880015;
  white-space: nowrap;
  border: none;
}
#shopinfo .othershop p {
  text-align: right;
  margin-bottom: .5em;
}
#shopinfo .caution {
  background-color: #FFFFF4;
  border: 1px solid #CCCC00;
  padding: 1em;
}
#shopinfo .conv-ex {
  padding: .5em;
  background-color: #F0F0F0;
}
#shopinfo .conv-ex ol {
  margin-bottom: 0;
}
#shopinfo .conv-ex ol li {
  padding-left: 2.5em;
  font-size: .9em;
  text-indent: -3em;
}