#contents_area{
width: 100%;
max-width: 1350px;
min-width: 1200px;
margin: 0 auto;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color: #555;
}

#contents_area img{
display: block;
width: 100%;
}

#contents_area #main_photo{
width: 100%;
height: calc(100vh - 170px);
margin: 0 auto;
position: relative;
background-image: url("../../../features/acousticinn/lesson/lesson.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

#contents_area #main_photo .main_title{
width: 100%;
margin: 0 auto;
padding: 0 30px;
position: absolute;
top: 50%;
left: 0%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}

#contents_area #main_photo .lesson_title{
width: 100%;
margin: 0;
font-size: 80px;
font-weight: bold;
color: #FFF;
line-height: 1em;
text-shadow: 0.05em 0.05em 10px rgba(0,0,0,0.9) ;
}

#contents_area #main_photo .lesson_title_2 {
width: 100%;
margin: 0;
font-size: 50px;
font-weight: bold;
color: #FFF;
line-height: 1.2em;
text-shadow: 0.1em 0.1em 10px rgba(0,0,0,0.9) ;
}

#contents_area #main_photo .lesson_subtitle {
width: 100%;
margin: 0;
font-size: 25px;
font-weight: bold;
color: #FFF;
line-height: 1.2em;
text-shadow: 0.1em 0.1em 5px rgba(0,0,0,0.9) ;
}

#contents_area .title_area{
width: 100%;
margin: 50px auto 0;
padding: 20px;
background: #900;
color: #fff;
}

#contents_area h1{
width: 100%; 
margin: 0 auto;
text-align: center;
font-size: 34px;
line-height: 1.2em;
font-weight: bold;
}

#contents_area h2{
width: 100%; 
text-align: center;
font-size: 24px;
line-height: 1.2em;
margin: 0.5em auto 0;
}

#contents_area #new_student{
width: 90%;
color: #FFF;
text-align: center;
font-size: 2.3em;
line-height: 50px;
font-weight: bold;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
margin: 50px auto 0;
padding: 1em;
background-color: #900;
}

#contents_area .maincontents{
width: 100%;
margin: 50px auto 0;
padding: 0 50px;
}

#contents_area .maincontents #comment{
width: 100%;
text-align: justify;
word-break: break-all;
font-size: 20px;
line-height: 1.8em;
font-weight: bold;
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#contents_area .maincontents #comment .text_area{
width: 65%;
margin: 0 auto;
padding: 0 40px 0 0;
}

#contents_area .maincontents #comment .image_area{
width: 35%;
margin: 0 auto;
}

#contents_area .maincontents #comment .image_area img{
border-radius: 5px;
}

#contents_area .maincontents .demomovie{
width: 80%;
max-width: 1000px;
height: auto;
aspect-ratio: 16 / 9;
text-align: center;
position: relative;
margin: 50px auto 0;
}

#contents_area .maincontents .demomovie iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#contents_area .maincontents .contents{
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: center;
justify-content: center;
padding:0;
list-style: none;
margin: 50px auto 0;
}

#contents_area .maincontents .contents li{
width: 35%;
margin: 0 10px;
font-size: 20px;
line-height: 1.5em;
font-weight: bold;
text-align: center;
}

#contents_area .maincontents .contents li a{
display: inline-block;
width: 100%;
color: #fff;
transition: 0.25s;
border-radius: 5px; 
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
padding: 10px 0.5em;
}

#contents_area .maincontents .contents li a:hover{
opacity: 0.7;
}

#contents_area .maincontents .contents li a .address{
font-size: 80%;
}

#contents_area .maincontents .tell a{
background-color: #900;
}

#contents_area .maincontents .mail a{
background-color: #1e2482;
}

#contents_area .maincontents #teacher{
width: 100%;
font-size: 26px;
line-height: 1em;
font-weight: bold;
margin: 100px auto 0;
padding: 5px 0.2em;
border-left: 12px solid #900;
border-bottom: 2px solid #900;
}

#contents_area .maincontents .teacher_kensaku{
width: 100%;
margin: 20px 0 50px;
display: flex;
flex-wrap: wrap;
font-size: 18px;
line-height: 1.2em;
font-weight: bold;
justify-content: space-between;
}

#contents_area .maincontents .teacher_kensaku li{
width: 23.5%;
margin: 0;
text-align: center;
background: #900;
padding: 0.5em 1.2em 0.5em 0;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border: 2px solid #900;
transition: 0.25s;
font-size: 16px;
line-height: 1.2em;
position: relative;
}

#contents_area .maincontents .teacher_kensaku li:after{
position: absolute;
font-family: "Font Awesome 5 Free";
content: "\f0d7";
-webkit-font-smoothing: antialiased;
display: inline-block;
font-weight: 600;
font-size: 14px;
line-height: 1em;
top: 50%;
right: 0.6em;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transition: 0.25s;
color: #fff;
}

#contents_area .maincontents .teacher_kensaku li:hover{
background: #fff;
}

#contents_area .maincontents .teacher_kensaku li:hover:after{
color: #900;
}

#contents_area .maincontents .teacher_kensaku li span{
display: block;
font-size: 12px;
line-height: 1.2em;
margin: 0.3em 0 0;
}

#contents_area .maincontents .teacher_kensaku li a{
color: #fff;
transition: 0.25s;
}

#contents_area .maincontents .teacher_kensaku li:hover a{
color: #900;
}

#contents_area .maincontents .teacher_contents{
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
width: 100%;
margin: -100px auto 0;
padding: 150px 0 50px;
border-bottom: 1px solid #ccc;
}

#contents_area .maincontents .teacher_contents .pc_block{
display: block;
}

#contents_area .maincontents .teacher_contents .sp_block{
display: none;
}

#contents_area .maincontents .teacher_contents li{
width: 50%;
margin: 0;
}

#contents_area .maincontents .teacher_contents li.teacher_contents_box{
padding: 0 0 0 25px;
}

#contents_area .maincontents .teacher_photo{
width: 100%;
margin: 0 auto;
font-size: 13px;
line-height: 2em;
text-align: right;
}

#contents_area .maincontents .teacher_time{
width: 100%;
font-size: 18px;
line-height: 1.8em;
font-weight: bold;
margin: 25px 0 0;
}

#contents_area .maincontents .teacher_time p.time_notes{
font-size: 16px;
line-height: 1.8em;
}

#contents_area .maincontents .teacher_mail{
font-size: 18px;
line-height: 1.2em;
font-weight: bold;
margin: 25px auto 0;
border-radius: 5px;
}

#contents_area .maincontents .teacher_mail a{
display: inline-block;
color: #fff;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
padding: 1em;
background: #1e2482;
transition: 0.25s;
}

#contents_area .maincontents .teacher_mail a:hover{
opacity: 0.7;
}

#contents_area .maincontents .teacher_name{
width: 100%; 
font-size: 24px;
font-weight: bold;
line-height: 1em;
}

#contents_area .maincontents .teacher_name span{
display: inline-block;
font-size: 18px;
}

#contents_area .maincontents .teacher_comment1{
width: 100%;
color: #fff;
font-size: 20px;
line-height: 1.5em;
font-weight: bold;
margin: 10px auto 0;
padding: 0.2em 0.5em;
background-color: #900;
}

#contents_area .maincontents .teacher_comment3{
width: 100%;
height: auto;
font-size: 20px;
line-height: 1.5em;
font-weight: bold;
margin: 10px auto 0;
padding: 0 0 10px;
border-bottom: 1px solid #ccc;
}

#contents_area .maincontents .teacher_comment2{
width: 100%;
font-size: 16px;
line-height: 1.8em;
text-align: justify;
word-break: break-all;
margin: 25px auto 0;
}

#contents_area .maincontents .teacher_comment2 p.official_link{
margin: 25px auto 0;
line-height: 30px;
text-align: left;
}

#contents_area .maincontents .teacher_comment2 p.official_link span{
display: inline-block;
margin: 0 1em 0 0;
background: #555;
color: #fff;
padding: 0 0.5em;
}

#contents_area .maincontents .teacher_comment2 p.official_link a{
transition: 0.25s;
text-decoration: underline;
color: #555;
}

#contents_area .maincontents .teacher_comment2 p.official_link a:hover{
opacity: 0.7;
}

#contents_area #spot_lesson {
width: calc(100% - 90px) ;
width: -webkit-calc(100% - 90px) ;
color: #FFF;
background-color: #093;
font-size: 1.8em;
font-weight: bold;
margin:20px 0 10px 90px;
border-bottom-color: #000;
line-height: 50px;
}

#contents_area .spot_time {
width: calc(100% - 110px) ;
width: -webkit-calc(100% - 110px) ;
color: #FFF;
background-color:#600;
line-height:40px;
text-align: center;
font-size: 1.2em;
font-weight: bold;
margin: 10px 55px 0 ;
border-bottom-color: #000;
border-bottom-style: solid;
border-bottom-width: 1px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}

#store_footer .storelogo_white{
display: none;
}


@media only screen and (max-width: 1199px) {
#contents_area{
min-width: auto;
}
#contents_area .maincontents .teacher_contents{
margin: 0 auto;
padding: 40px 0;
}
}


@media only screen and (max-width: 750px) {

#contents_area #main_photo .main_title{
padding: 0 5%;
}

#contents_area #main_photo .lesson_title{
font-size: 6vw;
}

#contents_area #main_photo .lesson_title_2{
font-size: 4.5vw;
}

#contents_area #main_photo .lesson_subtitle{
font-size: 3vw;
}

#contents_area .title_area{
width: 100%;
margin: 40px auto 0;
padding: 20px;
background: #900;
color: #fff;
}

#contents_area h1{
font-size: 28px;
}

#contents_area h2{
font-size: 22px;
}

#contents_area .maincontents{
padding: 0 5%;
margin: 40px auto 0;
}

#contents_area .maincontents #comment .text_area{
width: 100%;
margin: 20px auto 0;
padding: 0;
order: 2;
}

#contents_area .maincontents #comment .image_area{
width: 90%;
order: 1;
}

#contents_area .maincontents .contents{
margin: 0 auto;
}

#contents_area .maincontents .contents li{
width: 70%;
margin: 0 auto;
font-size: 20px;
}

#contents_area .maincontents .contents li.tell{
margin: 40px auto 0;
}

#contents_area .maincontents .contents li.mail{
margin: 20px auto 0;
}

#contents_area .maincontents .demomovie{
width: 90%;
margin: 40px auto 0;
}

#contents_area .maincontents #teacher{
font-size: 22px;
margin: 80px auto 0;
border-left: 10px solid #900;
}

#contents_area .maincontents .teacher_kensaku{
flex-wrap: wrap;
font-size: 16px;
margin: 0 auto 40px;
}

#contents_area .maincontents .teacher_kensaku li{
width: 48%;
margin: 20px 0 0;
}

#contents_area .maincontents .teacher_kensaku li span{
font-size: 10px;
}

#contents_area .maincontents .teacher_kensaku li a{
width: 100%;
padding: 0.5em 0;
}

#contents_area .maincontents .teacher_contents .pc_block{
display: none;
}

#contents_area .maincontents .teacher_contents .sp_block{
display: block;
}

#contents_area .maincontents .teacher_contents li{
width: 100%;
}

#contents_area .maincontents .teacher_contents li.teacher_contents_box{
padding: 0;
}

#contents_area .maincontents .teacher_name{
font-size: 20px;
}

#contents_area .maincontents .teacher_name span{
font-size: 17px;
}

#contents_area .maincontents .teacher_photo{
width: 90%;
}

#contents_area .maincontents .teacher_comment1{
font-size: 18px;
}

#contents_area .maincontents .teacher_comment3{
font-size: 18px;
border: none;
padding: 0 0 20px;
}

#contents_area .maincontents .teacher_time{
margin: 20px 0 0;
}

#contents_area .maincontents .teacher_mail{
margin: 20px auto 0;
}

#contents_area .maincontents .teacher_comment2{
margin: 40px auto 0;
}

#contents_area .maincontents .teacher_comment2 p.official_link{
margin: 20px auto 0;
line-height: 2.5em;
}
}
