* {
margin: 0;
padding:0;
font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}
img {
margin: 0;
padding:0;
vertical-align: bottom;
}
.mt20 {
margin-top: 20px;
}
.mr40 {
margin-right: 40px;
}
.mb40 {
margin-bottom: 40px;
}
.clear-element {
  clear: both;
}
body {
background-color:black;
}
h1{
font-size:3rem;
color:#796d07;
/*color:white;*/
background:url(../images/title_bg.jpg);
/*background-color:black;*/
border-left:#870202 solid 8px;
padding:5px 5px 5px 15px;
}
h1 span {
font-size:2rem;
font-weight:normal;
}
h2{
font-size:2rem;
width: 1000px;
margin: 0 auto;
border-bottom: solid;
padding: 15px;
}
.menu_inner h3{
font-size:1.5rem;
  margin-top:20px;
}
.menu_inner h4{
font-size:1.0rem;
  margin-top:10px;
  font-weight: initial;
}
.menu_inner {
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
  max-width:1000px;
  margin:0 auto;
}
.menu_inner div.menu {
  width: calc(45% - 10px);
  margin: 5px auto;
}
.menu_inner div.menu img{
  width: 100%;
  margin-top:10px;
}
.menu_inner div.menu p{
  font-size:1.1rem;
  margin-top:10px;
}
.price{
color:red;
}
main {
color: white;
position: relative;
z-index: 2;
}
main::before {
  background-color: #151100;
  content: "";/* 画像を表示させる為に必要*/
  display: block;/*ブロックボックスで表示*/
  position: fixed;/* 擬似要素全体を固定 */
  width: 100%;/* 横幅を画面全体 */
  height: 100vh;/* 縦幅を画面全体 */
  top: 0;/* 上からの配置を0 */
  left: 0;/* 左からの配置を0 */
  z-index: -1;/*背景画像になるように重ね順を-1*/
}
main h2 span {
    font-size: 1.2rem;
    font-weight: normal;
}
.course_area {
width:100%;
line-height: 1.8;
}
.menu_text_r {
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
float:right;
padding:20px;
text-orientation: upright; 
}
.menu_text_r span {
-ms-text-combine-horizontal: all;
text-orientation: mixed;
}
.menu_photo {
padding-top:20px;
width:100%;
}
.menu_photo img {
display: block;
margin: 0 auto;
}
.menu_text_l {
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
float:left;
padding:20px;
text-orientation: upright; 
}
.menu_text_l span {
-ms-text-combine-horizontal: all;
text-orientation: mixed;
}
.menu_photo_r {
padding:20px;
float: right;
}
.menu_text_l ul,
.menu_text_r ul {
padding-top:30px;
font-size:14px;
}
.course_title h1 {
border-bottom: #ff0000 solid 2px;
border-left: #ff0000 solid 4px;
font-size:30px;
color:#ff0000;
}
.course_title h1 span {
font-size:20px;
}
/* Flexbox デモ 2 : レスポンシブ対応 */
@media (max-width: 500px) {
.menu_inner div.menu {
    width: calc(100% - 10px);
    margin: 5px;
  }
}
#subpage_menu {
background:black;
position: relative;
z-index: 3;
height:120px;
}
#subpage_menu img {
    width: auto;
    top: 20px;
    left: 40px;
    position: relative;
}
#subpage_menu #dropmenu {
color:#ffffff;
position: absolute;
top:20px;
right:20px;
list-style-type: none;
height: 40px;
padding: 0;
}
#subpage_menu #dropmenu li:first-child {
border-left:solid white 1px;
}
#subpage_menu #dropmenu li{
position: relative;
color:white;
float: left;
border-right:solid white 1px;
margin: 0;
margin-right: 10px;
padding: 0 40px;
text-align: center;
z-index: 1;
}
#subpage_menu #dropmenu li a{
display: block;
margin: 0;
padding: 15px 0 11px;
color:white;
font-size: 14px;
font-weight: bold;
line-height: 1;
text-decoration: none;
}
#subpage_menu #dropmenu li:hover > a{
/*background: rgba(0,0,0,0.6);*/
color:#ff0000;
}
#subpage_menu #dropmenu > li:hover > a{
border-radius: 3px 3px 0 0;
}
#subpage_menu #dropmenu li ul{
list-style: none;
position: absolute;
top: 100%;
left: 0;
margin: 0;
padding: 0;
border-radius: 0 0 3px 3px;
}
#subpage_menu #dropmenu li:last-child ul{
left: -100%;
width: 100%
}
#subpage_menu #dropmenu li ul li{
overflow: hidden;
border-left:solid #ffffff 1px;
width: 250%;
height: 0;
color: #fff;
padding:0;
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
}
#subpage_menu #dropmenu li ul li a{
color: #fff;
padding: 13px 15px;
background: rgba(0,0,0,0.6);
text-align: left;
font-size: 12px;
font-weight: normal;
}
#subpage_menu #dropmenu li:hover ul li{
overflow: visible;
height: 38px;
border-top: 1px solid #ffffff;
}
#subpage_menu #dropmenu li:hover ul li:first-child{
border-top: 0;
}
#subpage_menu #dropmenu li:hover ul li:last-child{
border-bottom: #ffffff solid 1px;
}
#subpage_menu #dropmenu li:hover ul li:last-child a{
border-radius: 0 0 3px 3px;
}
#footer {
padding:20px;
background-size:cover;
color: white;
background-color: black;
position: relative;
z-index: 2;
}
#footer a {
text-decoration: none;
color:white;
}

#footer .f_title {
border-bottom:white solid 1px;
padding:10px 5px;
}

#f_menu_area {
width:350px;
float:left;
}

#f_menu_area span {
margin-left: 20px;
}

#f_menu_area span a {
font-size:14px;
display: inline-block;
}

#f_height {
position: relative;
}

#f_logo {
width:200px;
float:left;

}

#f_logo img {
max-width: 38%;
padding: 10px;
}
.inner {
width:1000px;
margin:0 auto;
}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

.pc_none {
    display:none;
}
body {
background-color:white;
}
main {
color: black;
position: relative;
z-index: 2;
}
main::before {
  background-color: white;
  content: "";/* 画像を表示させる為に必要*/
  display: block;/*ブロックボックスで表示*/
  position: fixed;/* 擬似要素全体を固定 */
  width: 100%;/* 横幅を画面全体 */
  height: 100vh;/* 縦幅を画面全体 */
  top: 0;/* 上からの配置を0 */
  left: 0;/* 左からの配置を0 */
  z-index: -1;/*背景画像になるように重ね順を-1*/
}
#subpage_menu {
background:white;
position: relative;
z-index: 3;
height:120px;
}
#subpage_menu #dropmenu {
color:#ffffff;
position: absolute;
top:20px;
right:20px;
list-style-type: none;
height: 40px;
padding: 0;
}
#subpage_menu #dropmenu li:first-child {
border-left:solid black 1px;
}
#subpage_menu #dropmenu li{
position: relative;
color:black;
float: left;
border-right:solid black 1px;
margin: 0;
margin-right: 10px;
padding: 0 40px;
text-align: center;
z-index: 1;
}

#subpage_menu #dropmenu li a{
display: block;
margin: 0;
padding: 15px 0 11px;
color:black;
font-size: 14px;
font-weight: bold;
line-height: 1;
text-decoration: none;
}
#subpage_menu #dropmenu li ul li{
overflow: hidden;
border-left:solid black 1px;
width: 250%;
height: 0;
color: black;
padding:0;
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
}
#subpage_menu #dropmenu li ul li a{
color: black;
padding: 13px 15px;
background: #ffffffa3;
text-align: left;
font-size: 12px;
font-weight: normal;
}
.course_title h1 {
border-bottom: #ff0000 solid 2px;
border-left: #ff0000 solid 4px;
font-size:30px;
color:goldenrod;
}
#footer {
padding:20px;
background-size:cover;
color: black;
background-color: white;
position: relative;
z-index: 2;
}
#footer .f_title {
border-bottom:black solid 1px;
padding:10px 5px;
}
#footer a {
text-decoration: none;
color:black;
}
@media screen and (max-width: 1024px) {
	/* 767px以下用（タブレット／スマートフォン用）の記述 */
main h2 {
    width: 90%;
}
.sp_none {
    display: none;
}
.pc_none {
    display:inline;
}
img {
max-width:100%;
}
main::before {
  background:none;
}
#sp_dropmenu li ul li a{
color:#000000;
padding: 13px 15px;
background: #fff/*rgba(0,0,0,0.6)*/;
text-align: left;
font-size: 12px;
font-weight: normal;
}
.menu_text_l,
.menu_text_r {
-webkit-writing-mode:horizontal-tb;
-ms-writing-mode:lr-tb;
writing-mode:horizontal-tb;
float:none;
padding:20px;
}
#subpage_menu img {
    top: 0px;
    left: 0px;
    position: relative;
}
.inner{
width:100%;
position: static;
}
#f_menu_area{
width:100%;
}
#f_logo{
float:none;
position: static;
}

#f_logo {
width:100%;
float:left;

}

#f_logo img {
max-width: 16%;
padding: 10px;
}

#subpage_menu{
height:auto;
text-align:center;
}
#subpage_menu #dropmenu{
color:#ffffff;
list-style-type: none;
height: 40px;
padding: 0;
margin: 0 auto;
width: 290px;
position: unset;
margin-top: 4px;
}
#subpage_menu #dropmenu li{
padding: 0 5px;
margin-right: 5px;
}
#subpage_menu img {
    height: auto;
}

#subpage_menu #dropmenu li ul li{
width:325%;
}
main {
background-position: top 120px left;
}
}
.cautionred {
color:red;
font-weight:bold;
}
