@charset "UTF-8";


header.head-bg{
	position: relative;
}
header.head-bg::after{
	content: '';
	display: block;
	width: 110%;
	height: 110%;
	position: absolute;
	left: -5%;
	top: -5%;
	background: url(../img/bg-head.png)no-repeat;
	background-position: center top;
	background-size: cover;
	filter: blur(3.5px);
	z-index: -1;
}
header .header-inner{
	position: relative;
	max-width:calc(1240px - 40px) ;
	width: calc(100% - 40px) ;
	margin: 0 auto;
	padding: 150px 20px 260px;
}
header .header-logo{
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px 15px;
}
header .header-logo img{
	width: 100%;
	height: auto;
	max-width: 257px;
}
header .header-btn{
	position: absolute;
	top: 0;
	right: 20px;
	line-height: 1;
}
header .tx-content{
	margin-top: 100px;
}
.tx-content .copy p.bt-normal{
	background: none;
	margin-top: 70px;
	padding: 0;
}

p.bt-normal a{
	display: inline-block;
}
p.bt-normal{
	background: #101111;
	line-height: 1;
	display: block;
	max-width: 392px;
	padding: 0;
}
p.bt-normal img{
	display: flex;
	padding: 12px 15px 8px;
	background: #101111;
}
p.bt-normal img + img{
	padding: 8px 15px 12px;
	background: #9b0d0d;
}
.mono .header-btn{
	position: fixed;
	top: 0;
	right: 20px;
	z-index: 10;
}
button.i-arrow-l a{
	position: relative;
	padding: 8px 15px;
	border-radius: 0 0 16px 16px;
	background: #41382e;
	line-height: 0;
	display: flex;
	align-items: center;
}
button.i-arrow-l a::after{
	content: '';
	display: inline-block;
	padding: 0;
	margin-left: 8px;
	width: 7px;
	height: 10px;
	background: url(../img/i-arrow-r.svg)no-repeat;
	background-size: contain;
	background-position: center;
}
button.bt-middle{

	display: table;
	margin: 0 auto;
	margin-top: 50px;
}


.copy li,
.tx-content .copy p{
	padding: 6px 12px;
	background: #fff;
	display: table;
	font-size: clamp(16px, 2vw, 20px);
	font-weight: bold;
}
.copy li + li,
.tx-content .copy p + p{
	margin-top: 12px;
}
header{
	position: relative;
}
header .categry{
	position: absolute;
	bottom: 20px;
	right: 20px;
	max-width: calc((100% - 200px) / 2);
	width: 100%;
}
.categry ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
}
.categry ul li + li{
	margin-left: 6px;	
}
.categry ul li{
	display: flex;
	align-items: center;
	line-height: 1;
	margin-bottom: 6px;
}
.t-kakomi-maru li{
	border-radius: 30px;
	padding: 6px 12px;
	background: #41382e;
	color: #fff;
	font-size: clamp(12px, 2vw, 14px);
	line-height: 1;
}
.t-kakomi-maru .bg-red{
	background: #9b0d0d;
}
.categry .messagy{
	padding: 25px 25px;
	font-size: clamp(14px, 2vw, 16px);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 15px;
}
.categry .messagy p{
	display: flex;
	font-size: clamp(14px, 2vw, 16px);
}


#profile .layout55{
	margin-bottom: 70px;
}
#profile .article-inner{
	background: url(../img/bg-on-guiter.png)no-repeat;
	background-size: contain;
	background-position: center;
}

/*スライダー*/
    .mono .swiper { 
    	width: 100%; 
    	margin: 0px auto;
    	display: block;
    	padding-bottom: 30px;
    	position: relative;
    }
    .mono .swiper-slide p{
    	text-align: center;
    	font-size: clamp(10px, 2vw, 12px);
    	padding: 6px 6px;
    }
    .mono .swiper-slide img{
    	width: 100%;
    	height: auto;
    	display: block;
    }
    .mono .swiper-slide {
    	width: 400px;
      display: flex;
      flex-wrap: wrap;
      align-items: center; 
      justify-content: center;
      background:#f7f6ed;
  }
.swiper-button-next, .swiper-rtl .swiper-button-prev,
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    top: calc((100% - 100px) / 2);
    z-index: 10;
    pointer-events: auto;
}
/* 万が一、上に被る要素があるときの保険 */
  .swiper.marquee * { pointer-events: auto; }
  /* Swiper変数（見た目調整） */
  .swiper.marquee {
    --swiper-navigation-size: 28px;
    --swiper-theme-color: #9b0d0d;
  }
  /*スライダードット*/
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 8px;
}

/* 16:9ラッパー */
.swiper.marquee .ratio{
  width:100%;
  aspect-ratio:16/9;   /* 古い環境なら padding-top:56.25% で代替 */
}
.swiper.marquee .ratio > iframe,
.swiper.marquee .ratio > video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;     /* 必要なら contain に */
  border:0;
}
.swiper.marquee .swiper-wrapper{ will-change: transform; }
.swiper.marquee .swiper-slide{ backface-visibility: hidden; transform: translateZ(0); }


/*ここまでスライダー*/


 .mono .dummy{
 	padding-top: 150px;
 }
#school .layout55{
	align-items: stretch;
}
#school .bg-ph-02{
	background: url(../img/ph-02-2.jpg)no-repeat;
	background-size: 50% auto;
	background-position: left center;
}
#school .layout55 .c-tx{
	width: calc(50% - 100px);
	padding: 50px 0;
}
#school .layout55 .c-ph{
	position: relative;
}
#school .layout55 .c-ph .copy{
	position: relative;
	top: 60%;
}
#school .layout55 .c-ph .bt-normal{
	position: absolute;
	bottom: -30px;
	left: 0;
	
}
#school{
	background: url(../img/bg-on-guiter-w.png)no-repeat,#f7f6ed;
	background-size: contain;
	background-position: top 150px right 150px;
}

#school #voice{
	padding: 90px 0;
}
#lesson .layout-col3{
	margin-top: 170px;
}

table.corse::before{
	position: absolute;
	top: -80px;
	left: calc((100% - 60px) / 2);
	width: 60px;
	height: 60px;
	background: url(../img/i-guiter01.svg)no-repeat;
	background-size: contain;
	background-position: center;
}
table#middle.corse::before{
	background: url(../img/i-guiter02.svg)no-repeat;
	background-size: contain;
	background-position: center;
}
table#spot.corse::before{
	background: url(../img/i-guiter03.svg)no-repeat;
	background-size: contain;
	background-position: center;
}
table#first.corse::after{
	background: url(../img/i-attention.svg)no-repeat;
	background-size: contain;
	background-position: center;
	width: 30px;
	height: 20px;
	position: absolute;
	top: -95px;
	left: calc((100% - 90px) / 2);
}

table.corse{
	position: relative;
}
table.corse th,
table.corse td{
	padding: 6px 6px;
	border: solid 1px #a8978c;
	text-align: center;
	align-items: center;
	vertical-align: middle;
}
table#first.corse .money,
table#first.corse .title{
	background: #41382e;
}
table.corse .money,
table.corse .title{
	background: #7e6551;
	color: #f7f6ed;
}
table.corse .money td{
	font-size: clamp(1rem, 2vw, 1.3rem);
	font-weight: bold;
}
table.corse .money td small{
	font-size: clamp(0.8rem, 2vw, 0.8rem);
	margin-left: 4px;
	display: inline-block;
}
table.corse .money th,
table.corse .title th,
table.corse .money td,
table.corse .title td{
	color: #f7f6ed;
}
table.corse .detail th,
table.corse .detail td{
	font-size: 12px;
}
table.corse .detail{
	background: #f7f6ed;
	color: #7e6551;
	
}



table#first.corse .frequency{
	background: #41382e;
}
table.corse .frequency{
	background: #7e6551;
	color: #f7f6ed;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
	margin: 0 auto 20px;
	border-radius: 30px;
	padding: 4px 12px;
}
table.corse .munite{
	display: block;
}
table.corse .munite img{
	max-width: 176px;
	width: 100%;
}
table.corse .tx-main td{
	padding: 16px 6px 24px;
}
table.corse td.ph{
	padding: 120px 0;	
}

table#first td.ph{
	background: url(../img/lesson03.jpg)no-repeat;
	background-size: cover;
	background-position: center;

}
table#middle td.ph{
	background: url(../img/lesson02.jpg)no-repeat;
	background-size: cover;
	background-position: center;
}
table#spot td.ph{
	background: url(../img/lesson01.jpg)no-repeat;
	background-size: cover;
	background-position: center;
}


.lesson-bottom{
	margin-top: 50px;
}
.lesson-bottom .title-tx{
	text-align: center;
}

table.sonota{
	border-top: solid 1px #7e6551;
	border-bottom:solid 1px #7e6551;
	margin: 70px auto 0;
}
table.sonota th,
table.sonota td{
	padding: 12px 24px;
	line-height: 1.6;
}
table.sonota .line-top{
	border-top: solid 1px #7e6551;
}
table.sonota th{
	font-weight: bold;
	text-align: center;
	border-right: solid 1px #7e6551;
}
table.sonota .kakomi{
	margin: 6px 0 12px;
	display: inline-block;
}

.mono .bt-large a{
	display: block;
	text-align: center;
}
.mono .bt-large img{
	display: table;
	margin: 0 auto;
	text-align: center;
}
.mono .bt-large img.img-top{
	max-width: 603px;
	width: 100%;
	height: auto;
}
.mono .bt-large img.img-bottom{
	max-width: 702px;
	width: 100%;
	height: auto;
}
.mono .bt-large{
	max-width: 702px;
	width: 100%;
	display: table;
	margin: 70px auto 0;
}
.mono .bt-large + .chu{
	text-align: center;
	font-size: clamp(10px, 2vw, 14px);
	font-weight: bold;
}
.other-plan .layout55{
	justify-content: center;
	align-items: stretch;
}
.other-plan .layout55 table + table{
	margin-left: 50px;
}
table.plan-frame{
	border: solid 1px #a8978c;
	max-width: 340px;
}
table.plan-frame tr.bottom{
	padding: 12px 0;
}
.plan-frame th,
.plan-frame td{
	padding: 10px 12px;
	vertical-align: middle;
}
.plan-frame th.bg-braun{
	background: #7e6551;
	padding: 6px 0;
	text-align: center;

}
.plan-frame th .kakomi{
	margin-left: 6px;
}
.plan-frame th{
	text-align: left;
	position: relative;
	background: #f7f6ed;
	border-bottom: solid 1px #a8978c;
	height: calc(63px - 20px);
}

.plan-frame .list-maru{
	padding-left: 2rem;
	position: relative;
}
.plan-frame .list-maru::before{
	content: '●';
	font-size: 9px;
	position: absolute;
	left: 1rem;
	top: 6px;
}
.plan-frame td{

}
.mono .other-plan{
	margin-top: 70px;
}
.other-plan .title-tx{
	text-align: center;
}


#access .layout55 dl{
	margin-top: 20px;
}
#access .layout55 dl dt{
	margin-bottom: 10px;
	font-weight: bold;
}
#access .layout55 dl dd{
	border-top: solid 1px #a8978c;
	border-bottom: solid 1px #a8978c;
	padding: 16px 1rem;
}
#access .info{
	margin-top: 50px;
}
#access.conte-normal{
  padding-top: 90px;
}

.info ul{
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.info ul li img{
	width: 100px;
	height: 100px;
}
.info ul li{
	margin: 0 8px;
	font-size: 10px;
	text-align: center;
	justify-content: center;

}

.mono .footer{
	padding: 90px 0;
	background: url(../img/bg01.png)no-repeat;
	background-size: cover;
	background-position: center;
}
.footer .c-tx .f-logo{
	margin-bottom: 20px;
}
.footer .c-tx{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer .c-tx .info ul{
	justify-content: safe flex-end;
}

.footer .copy{
	font-size: clamp(10px, 1.2vw, 12px);
	text-align: right;
	margin-top: 10px;
}
.c-head p + p{
	margin-top: 10px;
}
.c-head p{
	text-align: center;
}
.c-head .t-large{
	font-weight: bold;
	font-size: clamp(16px, 2vw, 22px);
}
.mono #vistter{
	background:url(../img/bg-merody.png)no-repeat,#f7f6ed ;
	background-size: cover;
	background-position: left 30% center;
}
#vistter .c-head .title-img img{
	max-width: 680px;
	width: 100%;
	height: auto;
}
#vistter .bt-large{
	margin-top: 50px;
}
#vistter .c-head .t-kakomi{
	display: table;
	margin: 10px auto 0;
	background: #a8978c;
	color: #fff;
	font-size: clamp(12px, 2vw, 16px);
}
#vistter .image{
	justify-content: space-between;
	padding-top: 110px;
	position: relative;
}
#vistter .image .price{
	position: absolute;
	bottom: -50px;
	left: 20px;
}

.image ul{
	position: relative;
	display: flex;
	justify-content: center;
}
.image ul li.fuki{
	position: absolute;
	z-index: -1;
}
.image ul:nth-child(1){
	margin-left: 20px;
}
.image ul:nth-child(2){
	margin-top: 100px;
	margin-left: 80px;
	padding-left: 100px;
	width: ;
}
.image ul:nth-child(3){
	margin-top: 70px;
	padding-left: 80px;
}
.image ul:nth-child(4){
	padding-left: 100px;
}

.image ul:nth-child(1) li.fuki{
	left: -50px;
	top: -65px;
}
.image ul:nth-child(2) li.fuki{
	left: -30px;
	top: -50px;
}
.image ul:nth-child(4) li.fuki{
	left: -30px;
	top: -70px;
}