@charset "UTF-8";
/* CSS Document */
html {
	font-size:62.5%;
	scroll-behavior: smooth;
}
body {
	font-size:1.6rem;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	color:rgba(34,34,34,1.00);/*#222222*/
	letter-spacing: 0.05em;
	background: #fff;
}
html, body {
  margin: 0;
  padding: 0;
}
* {
  box-sizing: border-box; 
}
a {
	color:#ff8401;
	text-decoration:none;
	cursor: pointer;
}
.red {
	color:#dd0000;
}
a:hover {
	opacity: .7;
}
strong {
	font-weight: 600;
}
.small {
	font-size: 1.4rem;
}
.pc {
	display: block;
} 
.sp {
		display: none;
	}
.br_sp {
		display: none;
	}
@media screen and (max-width: 767px){
	.pc {
	display: none;
} 
.sp {
		display: block;
	}
.br_sp {
		display: block;
	}
}
main {
	line-height: 1.65em;
}
.wrapper {
	width: 1080px;
	max-width: 90%;
	margin: 0 auto;
}
.flex_btw {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch; /* これがデフォルト値 */
}
@media screen and (max-width: 768px) {
	.flex_btw {
		display: flex;
	flex-flow: row wrap;
	}
}

.flex_btw_wrp {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch; /* これがデフォルト値 */
}
.flex_btw_wrp:after{
  content:"";
  display: block;
  width:30%;
}
.flex_cnt {
	display: flex;
	justify-content:center;
	align-items: stretch; /* これがデフォルト値 */
}

.mb20 {
	margin-bottom: 20px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb100 {
	margin-bottom: 100px ;
}
@media screen and (max-width: 600px) {
	.mb100 {
	margin-bottom: 60px;
	}
}
.mb120 {
	margin-bottom: 120px !important;
}
.mb140 {
	margin-bottom: 140px !important;
}
.mb160 {
	margin-bottom: 160px !important;
}
.mb180 {
	margin-bottom: 180px !important;
}
.mb200 {
	margin-bottom: 200px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.txt-ind{
    text-indent: -16px; 
    padding-left: 16px;
	margin:0 0 5px;
}

@media screen and (max-width: 600px) {
	.mb200 {
	margin-bottom: 100px;
	}
}

header {
	width: 100%;
	position: fixed;
    top: 0;
    z-index: 9999;
	height: 120px;
	background: #fff;
	border-top:#ff8401 5px solid;
	filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.1));
}
@media screen and (max-width: 820px) {
	header {
  background:#fff;
  position: fixed;
  width: 100%;
  height: 72px !important;
  z-index: 9997 !important;
}
}
@media screen and (max-width: 600px) {
	header {
  background:#fff;
  position: fixed;
  width: 100%;
  height: 95px !important;
  z-index: 9997 !important;
}
}


.g_onepoint {
	background:url("../images/g_onepoint.png") no-repeat left top;
	margin-top: -5px;
}
.sitetitle {
	display: inline-block;
	font-size: 3rem;
	font-weight: 700;
	margin-top:20px; 
}
@media screen and (max-width: 600px) {
	.sitetitle {
	display: inline-block;
	font-size: 2.6rem;
	margin: 20px 0 0 0;
}
}
.sitetitle a {
	color:rgba(34,34,34,1.00);
}

.s_navi {
	float: right;
    margin-top: 10px;
	display: flex;
	justify-content: flex-end;
}
@media screen and (max-width: 820px) {
	.s_navi {
position: absolute;
        margin: 0;
        display: flex;
		flex-wrap:wrap;
        justify-content: flex-end;
        left: 50%;
        top: 24%;
        width: 40%;
}
}
@media screen and (max-width: 600px) {
	.s_navi {
		width: 100%;
		float: left;
		margin:10px 0 0 0;
		display: flex;
		justify-content: start;
        left: 20px;
        top: 60px;
}
}

.s_navi a {
	color:rgba(34,34,34,1.00);
	z-index:9995;
}
.s_navi span {
	margin-left: 15px;
	font-size: 1.4rem;
}
@media screen and (max-width: 820px) {
	.s_navi span {
	margin-left: 15px;
		margin-bottom:5px;
}
}
@media screen and (max-width: 600px) {
	.s_navi span {
	margin-left: 15px;
	font-size: 1.25rem;
}
}
@media screen and (max-width: 390px) {
	.s_navi span {
	font-size: 1rem;
	}
}
@media screen and (max-width: 600px) {
.s_navi span.training {
	margin-left: 0px;
	}
}
.s_navi span.training:before {
	font-family: "Font Awesome 5 Free";
  content: '\f518';
  font-weight: 900;
}
.s_navi span.info:before {
	font-family: "Font Awesome 5 Free";
  content: '\f05a';
  font-weight: 900;
}
.s_navi span.mail:before {
	font-family: "Font Awesome 5 Free";
  content: '\f0e0';
  font-weight: 900;
}
.s_navi span.entry:before {
	font-family: "Font Awesome 5 Free";
  content: '\f573';
  font-weight: 900;
}

nav {
	display: block;
	max-width: 1100px;
	width: 100%;
	height: 44px;
   margin: -9px auto 0;
	padding-top: 0px;
	background: #fff;
}
nav ul {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
}
nav ul li{
	display: block;
	position: relative;
	width: 20%;
	height: 44px;
	margin: 0 auto;
	text-align: center;
	font-weight: 600;
	/*padding: 10px;*/
	color:rgba(63,63,63,1.00);
	/*border-left:1px #ddd solid;*/
	font-size: clamp(1.40rem, 0.65vw + 0.76rem, 2.00rem) !important;
}
nav ul li:last-child{
	border-right:1px #ddd solid;
}
nav ul li a{
	display: block;
	width: 100%;
	margin: 0;
	text-align: center;
	font-weight: 600;
	padding: 10px;
	color:rgba(63,63,63,1.00);
	border-left:1px #ddd solid;
}
nav ul li a:hover{
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	background: #ffce00;
	opacity: 1;
}
nav ul li ul {
	display: none;/* 非表示にしておく */
	width: 100%;
	height: 45px;
}
nav ul li:hover ul {
    display: block; /*マウスポインタが載っている項目の内部にあるリストを表示する */
}
nav ul li ul li {
	display: block;
	position: relative;
	width: 100%;
	height: 45px;
	background: #fff;
	border-bottom: 1px #ddd solid;
	border-right:1px #ddd solid;
}
nav ul li ul li:first-child {
	border-bottom: 1px #ddd solid;
   box-shadow: 0px 1px 0px 0px #ddd inset;
}
/*nav ul li ul li:last-child {
	border-right: none;
}*/
nav ul li ul li a:before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
  content: '\f105';
  font-weight: 900;
	top:50%;
	left: 8%;
    transform: translateY(-50%) translateX(-50%) scale(1);
}

nav ul li ul li a {
	text-align: left;
	padding-left: 12%;
}
nav ul li ul li a:hover {
	opacity: 1;
	background: #fff7d4;
	border-bottom: 1px #ddd solid !important;
}
nav ul li ul li:first-child a:hover {
	opacity: 1;
	background: #fff7d4;
	border-bottom: 1px #ddd solid !important;
	box-shadow: 0px 1px 0px 0px #ddd inset;
}

@media screen and (max-width: 768px) {
	nav {
	height: 80px;
	padding-top: 20px;
	}
	nav ul {
	font-size: 1.4rem;
	}
}

.navtext-container {
	display: none;
}

@media screen and (max-width: 820px) {
	nav {
	display:none !important; 
}

/* Nav items */
ul.sp_menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: 90vh;
  top: 0;
  margin-top: -10px;
  padding: 0 0 10px 0;
  clear: both;
  background: rgba(0, 0, 0, 0.9) ;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
overflow-y: scroll;
}

/* Hamburger spmenu button */
.menu-btn:checked ~ ul.sp_menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* Hamburger menbu text */
ul.sp_menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #ddd;
  opacity: 0;
  transition: 0.5s;
	z-index: 9998;
}

ul.sp_menu li {
  border-top: 1px solid #a7aaad;
  padding: 15px 0 0;
  margin: 0 3%;
  opacity: 0;
  transition: 0.5s;
}
ul.sp_menu li:first-child {
  border-top: none;
}
ul.sp_menu li ul{
	border-top: 1px #a7aaad solid;
   margin-top: 12px;
	padding-left: 5%;
}
ul.sp_menu li ul li{
  border-top: 1px solid #a7aaad;
  padding: 15px 0;
  margin: 0;
  opacity: 0;
  transition: 0.5s;
}

.menu-btn:checked ~ .sp_menu a,
.menu-btn:checked ~ .sp_menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.menu-btn {
  display: none;
}

.menu-icon {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: 24px 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.navicon {
  background: #fff;
  display: block;
  height: 3px;
  width: 26px;
  /*position: relative;*/
  position: fixed;
  /*right: 4%;*/
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	z-index: 9999;
}

.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #fff;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before {
  top: 9px;
}

.navicon:after {
  bottom: 9px;
}

/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}

.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */

/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 4px;
  font-size: 20px;
}

.tgl_bg {
background: #000;
    width: 60px;
	height: 55px;
    position: fixed;
	top: 8px;
    right: 0;
    z-index: 9994;
	display: flex;
    justify-content: center;
    align-items: center;
}
}
@media screen and (max-width: 600px) {
/* Nav items */
ul.sp_menu {
  margin-top:35px;
}
}

.mv  {
	width: 100%;
	height: 50vh;
background-image: url("../images/slide01.jpg");
  background-size: 100% auto; /* image size */
  animation: bg 120s infinite linear;
	margin-bottom: 50px;
}
@keyframes bg {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0px -667px;
  }
}
@media screen and (max-width: 820px) {
.mv  {
	width: 100%;
	height: 30vh;
background-image: url("../images/slide01.jpg");
  background-size: 100% auto; /* image size */
  animation: bg 120s infinite linear;
	margin-bottom: 50px;
}
}

.logo_h {
    margin: 0 auto;
	text-align: center;
}

h2.top {
	display: block;
	width: 100%;
	font-size: 2rem;
	font-weight: bold;
	color: #222222;
	text-align: left;
	padding-bottom: 3px;
	margin-bottom: 20px;
	background: url("../images/u_line01.png") no-repeat left bottom;
}
h2.top::after {
}
@media screen and (max-width: 768px) {

}
@media screen and (max-width: 600px) {

}

ul.news {
	width: 100%;
	padding-left: 0;
}

ul.news li{
	/*display: flex;*/
	list-style:none;
	width: 100%;
	font-weight: normal;
	border-bottom:1px #ccc dotted;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
ul.news li a {
color:rgba(34,34,34,1.00);
}
ul.news li dd {
	margin: 0 5% 0 0;
	text-align:left;
	display: inline-block;
}
ul.news li dt {
	display: inline-block;
}

.top_left {
	width: 42.59%;
	margin-bottom: 70px;
	display: flex;
	flex-direction: column;
}
.top_right_h {
	width: 25.92%;
	margin-bottom: 70px;
	display: flex;/*高さ合わせる*/
	flex-direction: column;/*高さ合わせる*/
}
.top_left p,
.top_right_h p{
	flex: 1;/*高さ合わせる*/
}
.top_left .btn01,
.top_right_h .btn01{
	align-self: flex-end;
}

@media screen and (max-width: 820px) {
.top_left {
	width: 100%;
	margin-bottom: 70px
}
.top_right_h {
	width: 48%;
	margin-bottom: 70px
}
}
@media screen and (max-width: 600px) {
.top_right_h {
	width: 100%;
	margin-bottom: 70px
}
}

.top_left img,
.top_right_h img {
	width: 100%;
	height: 222px;
    object-fit: cover;
}
@media screen and (max-width: 820px) {
.top_left img,
.top_right_h img {
	width: 100%;
	height: auto;
}
}

.btn01 {
	/*width: 150px;*/
	padding: 0 50px;
	height: 40px;
	float: right;
	margin-top: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff8401;
	color:#fff;
	border-radius: 20px;
	transition: all 0.2s;
}
.btn_half {
	width: 46%;
	padding: 0 50px;
	height: 50px;
	float: right;
	margin: 0px auto 20px auto;
	font-size: 20px;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff8401;
	color:#fff;
	transition: all 0.2s;
}
@media screen and (max-width: 820px){
	.btn_half {
	width: 70%;
}
}
@media screen and (max-width: 767px){
	.btn_half {
	width: 100%;
	height: 70px;
}
}

.btn01 p,
.btn_half p{
	position: relative;
	margin-left: -15px;
}
.btn01 p::after,
.btn_half p::after {
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	font-size: xx-small;
	position: absolute;
    top: 50%;
    right: -18px;
    transform: translateY(-50%);
}
.btn01:hover,
.btn_half:hover {
	background: #ffce00;
	opacity: 1;
}

/*フッター*/
footer {
	padding: 0;
	background: #fff7d4;
	border-top:#ff8401 5px solid;
}
.f_onepoint{
	background:url("../images/g_onepoint.png") no-repeat right top;
	margin-top: -5px;
	margin-bottom: 30px;
}

ul.f_menu {
	width: 19%;
	margin-top: 30px;
	font-size: 1.5rem;
	line-height: 3rem;
	padding-left: 15px;
}
@media screen and (max-width: 820px) {
ul.f_menu {
    width: 33%;
	}
}
ul.f_menu a {
	color:rgba(34,34,34,1.00);
}

@media screen and (max-width: 600px) {
ul.f_menu {
	width: 50%;
	margin-top: 30px;
	font-size: 1.5rem;
	line-height: 3rem;
}
}

ul.f_menu li{
	list-style:none;
	position: relative;
	padding-left: 14px;
}
ul.f_menu li a {
	color:rgba(34,34,34,1.00);
}
ul.f_menu li::before{
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	font-size: xx-small;
	position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
}
	
footer .company {
	display: flex;
	flex-direction: row-reverse;
}
ul.com_menu {
	display: inline-block;
	width: auto;
	margin-top: 5px;
	font-size: 1.3rem;
	line-height: 3rem;
}
ul.com_menu li{
	list-style:none;
	position: relative;
	padding-left: 14px;
	line-height: normal;
}
ul.com_menu li a {
	color:rgba(34,34,34,1.00);
}
ul.com_menu li::before{
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: 900;
	font-size: xx-small;
	position: absolute;
    top: 4px;
    left: 4px;
}

footer .copy {
	width: 100%;
	padding: 15px;
	margin: 0;
	text-align: center;
	font-size: 1rem;
	background: #ff8401;
	color:#fff;
}


/*Pages*/
main.under_page {
	    margin-top: 120px;
}
@media screen and (max-width: 820px) {
main.under_page {
    margin-top: 75px;
}
}
@media screen and (max-width: 600px) {
main.under_page {
    margin-top: 99px;
}
}
h2.page_ttl {
	width: 100%;
	height:80px ;	background:url("../images/page_h1.jpg") no-repeat left top;
	background-size: cover;
	display: flex;
    align-items: center;
	color: #fff;
	font-weight: 600;
	font-size: 2.4rem;
	margin: 88px 0 50px;
}
h2.page_ttl a {
	color: #fff;
} 

@media screen and (max-width: 820px) {
h2.page_ttl {
margin: -2px 0 50px;
}
}
h3 {
	display: block;
	position: relative;
	font-size: 2rem;
	color: #3f3f3f;
	font-weight: bold;
	text-align: left;
	padding-bottom: 3px;
	margin-bottom: 20px;
	border-bottom: 2px #ffce00 solid;
}
h4 {
	display: block;
	position: relative;
	font-size: 1.8rem;
	color: #3f3f3f;
	font-weight: bold;
	text-align: left;
	padding: 5px 5px 5px 10px;
	margin-bottom: 20px;
	background: #FBEDD9;
}

h5.green {
	color:#00631C;
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 20px;
}
h5.green span{
	font-weight: normal;
	font-size: 1.6rem;
}

/*コースシステムテーブル*/
table.course01 {
	width: 100%;
	margin-bottom: 20px;
}
table.course01 th {
	background: #fff7d4;
}

table.course01 th,
table.course01 tr,
table.course01 td {
	border: #b2b2b2 1px solid;
	padding: 5px 10px;
	vertical-align: middle;
	white-space: nowrap
}

table.course01 tr:nth-child(2n+1){
	background: #f5f5f5;
}

table.course01 .center {
	text-align: center;
} 
table.course01 .wht {
	background: #fff;
}

table.course01 tr.b2 {
	border-bottom: #b2b2b2 2px solid;
}

/*2022年のコースと料金テーブル*/
table.course02 {
	width: 100%;
	margin-bottom: 20px;
}
table.course02 th {
	background: #fff7d4;
}

table.course02 th,
table.course02 tr,
table.course02 td {
	border: #b2b2b2 1px solid;
	padding: 5px 10px;
	vertical-align: middle;
	white-space: nowrap
}
table.course02 .b2 {
	border-bottom: #b2b2b2 2px solid;
}
table.course02 .tate {
	font-weight:bold;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode:vertical-rl;
	text-align: center;
	white-space: pre;
}

table.course02 .gry{
	background: #f5f5f5;
}

table.course02 .yel{
	background: #FFFCF0;
}
@media screen and (max-width: 600px) {
	table.course02 .tate span{
	font-weight:bold;
	writing-mode: vertical-rl;
	white-space: pre;
	display:block;
	margin:0 25px 0 0;
}
}
	
/*ドイツ語検定試験テーブル*/
table.course03 {
	width: 100%;
	margin-bottom: 20px;
}
table.course03 th {
	background: #fff7d4;
	white-space: nowrap
}
table.course03 th,
table.course03 tr,
table.course03 td {
	border: #b2b2b2 1px solid;
	padding: 5px 10px;
	vertical-align: middle;
}
table.course03 .b2 {
	border-bottom: #b2b2b2 2px solid;
}
table.course03 .tate {
writing-mode:vertical-rl;
}
table.course03 .gry{
	background: #f5f5f5;
}


/*講師紹介テーブル*/
table.instructors {
	width: 48%;
	margin-bottom: 40px;
}
@media screen and (max-width: 820px) {
table.instructors {
	width: 100%;
}
}
table.instructors th {
	border: #b2b2b2 1px solid;
	background: #fff7d4;
	text-align:center; 
	padding: 10px 0;
	height: 40px;
}
table.instructors th .name {
	display: flex;
	justify-content: center;
    align-items: center;
	font-weight: 600;
}
table.instructors th .name img {
	margin-left: 10px;
}

table.instructors .left {
	width: 40%;
	vertical-align: top;
	border-left: #b2b2b2 1px solid;
	border-bottom: #b2b2b2 1px solid;
	padding: 10px;
}
table.instructors .left img {
	width: 100%;
	height: auto;
}
table.instructors .right {
	width: 60%;
	vertical-align: top;
	border-right: #b2b2b2 1px solid;
	border-bottom: #b2b2b2 1px solid;
	padding: 10px;
}

/*コーステーブル*/
table.courseG {
	width: 100%;
	margin-bottom: 20px;
}
table.courseG th {
	background: #fff7d4;
	text-align:center; 
	padding: 10px 0;
	height: 40px;
}
table.courseG th,
table.courseG tr,
table.courseG td {
	border: #b2b2b2 1px solid;
	padding: 10px;
	white-space: nowrap
}
table.courseG tr:nth-child(2n+1){
	background: #f5f5f5;
}
table.courseG .center {
	text-align: center;
}
table.courseG .f_right {
	text-align: right;
}

/*スタンダードコーステーブル*/
table.courseHy {
	width: 100%;
	margin-bottom: 20px;
}
table.courseHy p {
	margin: 5px 0;
}
table.courseHy th {
	background: #fff7d4;
	text-align:center; 
	padding: 10px 0;
	height: 40px;
}
table.courseHy th,
table.courseHy tr,
table.courseHy td {
	vertical-align: middle;
	border: #b2b2b2 1px solid;
	padding: 5px 10px;
	text-align: center;
	white-space: nowrap
}
table.courseHy tr:nth-child(2n){
	background: #f5f5f5;
}
table.courseHy tr:nth-child(2n+1){
	border-bottom:#b2b2b2 2px solid;
}
table.courseHy .f_right {
	text-align: right;
}
table.courseHy .bold {
	font-weight: bold;
}

/*インテンシブコーステーブル*/
table.courseItsv {
	width: 100%;
	margin-bottom: 20px;
}
table.courseItsv p {
	margin: 5px 0;
}
table.courseItsv th {
	background: #fff7d4;
	text-align:center; 
	padding: 10px 0;
	height: 40px;
}
table.courseItsv th,
table.courseItsv tr,
table.courseItsv td {
	vertical-align: middle;
	border: #b2b2b2 1px solid;
	padding: 5px 10px;
	text-align: center;
	white-space: nowrap
}
table.courseItsv tr.gry{
	background: #f5f5f5;
}
table.courseItsv tr.rgry{
	background: #FAFAFA;
}
table.courseItsv tr.bline{
	border-bottom:#b2b2b2 2px solid;
}
table.courseItsv tr.space{
	height: 5px;
    padding: 0;
}
table.courseItsv .f_right {
	text-align: right;
}
table.courseItsv .bold {
	font-weight: bold;
}

/*横幅が広いテーブル用の横スクロール*/
.scroll table{
width:100%;
}
.scroll{
overflow: auto;/*tableをスクロールさせる*/
white-space: nowrap;/*tableのセル内にある文字の折り返しを禁止*/
margin-bottom:40px;
}
.scroll::-webkit-scrollbar {/*tableにスクロールバーを追加*/
 height: 7px !important;
}
.scroll::-webkit-scrollbar-track {/*tableにスクロールバーを追加*/
 background: #F1F1F1 !important;
}
.scroll::-webkit-scrollbar-thumb {/*tableにスクロールバーを追加*/
 background: #BCBCBC !important;
}


/*英語プライベートレッスン*/
ul.book {
  padding: 0.5em 1em 0.5em 1em;
  position: relative;
  margin: 20px 0 40px;
}

ul.book li {
  line-height: 1.25;
  padding: 0.5em 0 0 2em;
  list-style-type: none!important;/*ポチ消す*/
}

ul.book li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  font-weight: 900;
  left : 1.25em; /*左端からのアイコンまで*/
  color: #ff8401; /*アイコン色*/
}

.y_box {
	border: #ff8401 1px solid;
	padding: 20px;
	margin-bottom: 10px;
}

.no_line {
	width: 50%;
	border: none;
	margin: 3px 0;
}
@media screen and (max-width: 600px) {
.no_line {
	width: 100%;
	border: none;
}
}


/*Question Answer*/
details {
	margin-bottom:5px;
}
summary {
	position: relative;
	padding: 1em 2.5em 1em 1em;
	display: block;
	color: #fff;
	background:#555;
}
/* Chrome、Safari以外 */
summary { display: block; }
/* Chrome、Safari */
summary::-webkit-details-marker {display: none;}

summary::before{ /*タイトル横の矢印*/
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc( 41.5%);
    right: 30px;
    transform: rotate(135deg);
}
details  .details-content p {
	padding: .75em;
}

details[open] summary::before {/* オープン時 */
  transform: rotate(-45deg);
    top: calc( 41.5%);
    right: 30px;
}

details[open] .details-content {/* オープン時にアニメーションを設定 */
  animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
  0% {
    opacity: 0; /* 透明 */
    transform: translateY(-10px); /* 上から表示 */
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

/*数字リストスタイル*/
.number ol {
  counter-reset: count 0;
}
.number li:before {
  content: counter(count) ". ";
  counter-increment: count 1;
}

ol.R_number {
  list-style-type: none;
  counter-reset: number;/* カウンターを初期化 */
}
ol.R_number li {
  position: relative;
}
/* beforeでカウンターを作成 */
ol.R_number li::before {
  content: counter(number);
  counter-increment: number;
  padding: 0 0.3em 0 0.2em;
	font-size:90%;
}
/* afterで○を作る */
ol.R_number li::after {
  content: '';
  /* 配置を調整 */
  position: absolute;
  display: block;
  top: 13px;
   left: 0;
  transform: translateY(-50%);
  /* ○を作る */
  width: 1em;
  height: 1em;
  border: 1px solid #000;
  border-radius: 50%;
}

/*会社概要*/
table.aboutus {
	 width: auto;
	border-top:1px #bbb solid;
	}
table.aboutus th{
	white-space: nowrap;
	border-right:1px #ddd dashed;
	}
table.aboutus tr{
	border-bottom:1px #bbb solid;
	}
table.aboutus th,
table.aboutus td{
	padding: 10px;
	}
.one_third {
	width:31%;
}
@media screen and (max-width: 767px){
	.one_third {
	width:100%;
	margin-bottom:20px;
}
}

/*ジャーマン・カウンシル・トウキョウ 受講条件*/
ul.agb {
  padding: 0.5em 1em 0.5em 1em;
  position: relative;
  margin: 20px 0 40px;
}

ul.agb li {
  line-height: 1.25;
  padding: 0.5em 0 0 1.5em;
  list-style-type: none!important;/*ポチ消す*/
}

ul.agb li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  position: absolute;
  font-weight: 900;
  left : 1.25em; /*左端からのアイコンまで*/
  color: #999; /*アイコン色*/
}

/*アクセス*/
.half {
	width:48%;
}
@media screen and (max-width: 767px){
	.half {
	width:100%;
	margin:0 auto 20px;
}
}

/*お問い合わせ、お申し込みフォーム*/
/*MW WP Form*/
.form_all{
	width: 100%;
}
.form_left{
	width: 30%;
   padding: 10px;
	border-top:1px #ddd solid;
}
@media screen and (max-width: 640px) {
	.form_left{
	width: 100%;
   padding: 10px;
	border-top:1px #ddd solid;
}
}
.form_right{
	width: 70%;
	padding: 10px;
	border-top:1px #ddd solid;
}
@media screen and (max-width: 640px) {
	.form_right{
	width: 100%;
	padding: 10px;
	border-top:none;
}
}
.ofw {
overflow: auto;
}
.mw_wp_form input,
.mw_wp_form textarea{
	padding: 10px 8px 8px;
    width: 100%;
    border: 1px #aaa solid;
    border-radius: 3px;
    font-size: 1.5rem;
}
.mw_wp_form input[type=radio],
.mw_wp_form input[type=checkbox]{
	padding: 10px 8px 8px;
    width: auto;
}
.mw_wp_form p {
	margin:0;
}
.mw_wp_form .small {
	 font-size: 1.2rem;
    display: inline-block;
    margin: -5px 0 8px 10px;
}

.mw_wp_form input[type=submit] {
	padding: 0 50px;
	width:150px;
	height: 40px;
	color:#fff;
	margin: 0px auto 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff8401;
	border:none;
	border-radius: 20px;
	transition: all 0.2s;
}

/*お知らせ一覧ページ*/
.entry-pager{
margin-top: 50px; display: flex; justify-content: space-between; align-items: center;
}
.entry-pager a {
	width: 48%;
	display: inline-block;
}
.entry-pager a:nth-child(odd) {
	text-align:left;
}
.entry-pager a:nth-child(even) {
	text-align:right;
}
@media screen and (max-width: 767px){
	.entry-pager {
		flex-wrap:wrap;
	}
.entry-pager a {
	width: 100%;
	display: inline-block;
}
.entry-pager a:nth-child(odd) {
	margin-bottom:20px;
}
}

