@charset "UTF-8";



/* =============================================================================
   #Foundation
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
-webkit-box-sizing: border-box; /* Webkit */
-moz-box-sizing: border-box; /* Firefox */
box-sizing: border-box; /* 標準 */

}

body {
    line-height:0;
}

input{
  box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

*{
  word-break: break-all;
}


a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}

a:hover img{
  opacity: .7;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}


/*ここから*/
body{
font-family:"游明朝","Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.container980{
  width: 100%;
  background-image: url("../img/bg.jpg");
  background-size: cover;
  margin: 0 auto;
}
.inner{
  max-width: 980px;
  margin: 0 auto;
}
.op h3{
	text-align: center;
	color: #fff;
	font-size: 2em;
	line-height: initial;
}
.op .op_ditail{
	margin: 2em 0;
	text-align: center;
	color: #fff;
	line-height: 2em;
    font-size: 1em;
}
.op .ditail{
	font-family: "Yu Gothic medium";
	padding-top: 1em;
	color: #fff;
}

.op_title{
	text-align: center;
}
.se_title{
	max-width: 70%;
	margin:0 0  5% 25%;
}
.se_title img{
	text-align: center;
}

.containermv{
  width: 100%;
}

.flex_container{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.title{
		line-height: 1.2;
		text-align: center;
		padding: 0.4em;
 		border: 6px double #A72126;
		color: #A72126;
		font-family: "Yu Mincho", "Hiragino Mincho ProN", "serif";
		font-weight: bold;
		font-size: 1em;
		background-color: #fff;
		}
.takarasagashi{
	   background-color: #EFD98A;
	   margin-top: 1em;
	 display: inline-block;
	background: #EFD98A;
	background: radial-gradient(circle at top left, transparent 15px, #EFD98A 0) top left,
	radial-gradient(circle at top right, transparent 15px, #EFD98A 0) top right,
	radial-gradient(circle at bottom right, transparent 15px, #EFD98A 0) bottom right,
	radial-gradient(circle at bottom left, transparent 15px, #EFD98A 0) bottom left;
	background-size: 55% 55%;
	background-repeat: no-repeat;
	text-align: center;
	padding: 1em;
}
.rekishitour{
	padding-bottom: 30px;
}
/*img {
    image-rendering: -webkit-optimize-contrast;
}*/


 h2 {
        text-align: center;
		color: #FFF;
        font-size: 1.7em;
        font-weight: bold;
        padding-bottom: 0;
        line-height: 1.8;
 }

p{
  line-height: 2;
  font-size: 0.85em;
}

header{
  padding:0;
}
.logo{
  max-width: 300px;
  padding: .5em 0;
}

.bottom_logo{
  max-width: 300px;
  padding: .5em 0;
}

.head_mainmenu{
align-items: center;
}


table.contact{
  width: 100%;
}


/*table.contact input{
  width: 100% !important;
}*/

.submit_btn{
  width: 100%;
  text-align: center;
  margin:1em 0;
}

#headmenu{
  width: 100%;
  padding: 0;
  z-index: 1000;
  display: flex;
}


a.link_txt{
  color: #3551a2;
}

#header{
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 10000;
}

/*#main{
	margin-top: 60px;
}
*/

#mainnavi{
  width: 100%;
  margin: 0 auto;
  padding: 0.3em 1em;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color:rgba(33,184,215,0.8);

}

#mainnavi ul{
  margin: 0 1em;
  display: inline-block;
  position: relative;
  text-decoration: none;
}

#mainnavi li a{
  padding-left: 1em;
  text-decoration:none;
  font-size: 0.9em;
  color: #fff;
}

#mainnavi li:hover {
  cursor: pointer;
}
#mainnavi li:hover::after {
  width: 100%;
}
#header nav ul div{
	margin-right: auto;
}
@media screen and (max-width:768px) {
	#header nav ul div img{
		width: 50%;
	}
	#mainnavi li a{
		font-size: 0.5em;
		padding-left: 0.5em;
	}
}

.min{
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

.min_e{
    font-family: 'Monotype Corsiva', serif;
}


.top_sns{
  width: 150px;
  border-left:1px solid #fff; 
  display: flex;
  align-items: center;
  justify-content: space-around;
}


#topicpath, #topicpath a{
color: #fff;
  background:#3551a2;
}


dt,dd{
  line-height: 1.8;
  font-size: 0.8em;
}
dt{
  font-weight: bold;
  color: #80808d;
}
dd{
  color: #333;
}
#footerlast{
  background:#A72126;width:100%;padding:1em 0;
}

#footerlast a{
  text-decoration: none;
  color: #fff;
}

.img_fit{
  width:100%;height:160px;object-fit: cover;font-family: 'object-fit: cover;';
}


.default_btn{
  border-radius: 50px;display:block;border:1px solid #333;padding: .5em 0;width: 100%;text-align: center;
}

p{
  line-height: 1.6;
}

.flex_container_pc{
  display: flex;
  flex-wrap: wrap;
}
.pcw300px{
  width: 300px;
}
.pccol2{
  width: 31%;
  margin: 0 1%;
}
.pccol3{
  width: 45%;
  margin: 0 1%;
 padding: 1em;
}
.pccol4{
  width: 92%;
  margin: 2%;
 padding: 1em;
}
.pccol5{
  width: 50%;
}
.pccol6{
  width: 60%;
  margin: auto 0;
}
.pccol7{
	width: 100%;
	font-size: 1.5em;
}
.pccol9{
	width: 50%;
	padding: 20px;
}
.pcw20{
  width: 20%;
}
.pcw30{
  width: 30%;
}
.pcw31{
  width: 31%;
}
.pcw40{
  width: 40%;
}
.pcw45{
  width: 45%;
}
.pcw46{
  width: 46%;
}
.pcw48{
  width: 48%;
  margin:0 1%;
}
.pcw49{
  width: 49%;
}
.pcw50{
  width: 50%;
}
.pcw55{
  width: 55%;
}
.pcw60{
  width: 60%;
}
.pcw70{
  width: 70%;
}
.pcw75{
  width: 75%;
}
.pcw80{
  width: 80%;
}


  .btn_default{
    border:1px solid #3551a2;color:#3551a2;background:#fff;padding:.5em 2em;margin:.5em;display: inline-block;position:relative;
  }
  .btn_green{
    background:#3551a2;color:#fff;padding:.5em 2em;margin:.5em;display: inline-block;position:relative;
  }

.icon_tri:before {
    content: "";
    display:inline-block;
    width: 0;
    height: 0;
    border-top: solid 6px transparent;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px #3551a2;
    position: absolute;
    top: 50%;
    left:12px;
    margin-top:-6px;
}
.icon_tri2:before {
    content: "";
    display:inline-block;
    width: 0;
    height: 0;
    border-top: solid 6px transparent;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px #fff;
    position: absolute;
    top: 50%;
    left:12px;
    margin-top:-6px;
}



a:hover{
  opacity: 0.7;
}

address{
font-style:normal;
}

footer{
  color: #fff;
  margin:0;
}
footer .flex_container{
	align-items: center;
}


.footernavi_box img{
	width: 300px;
}
#footernavi{
  display: flex;
  justify-content: space-around;
}

#copyright{
  color: #fff;
  font-size: 0.75em;
}
#copyright a{
  text-decoration: none;
  color: #333;
  font-size: 0.75em;
}
.pccol8{
  width: 9.25%;margin:2em 1.5%;
}

.sp{
  display: none;
}

#totop{
  position: fixed;
  right: 0;
  bottom: 2em;
  width: 84px;
  z-index: 100000000;
  width: 50px;
}


table.gaiyou th{
font-size: 1em;
}

table.gaiyou td{
font-size: 1em;
}

.sp_backcolor{
  background: none;
}

dt,dd{
  font-size: 1em;
}

svg{
    width: 100%;
}
/*------------------------------

  講師

------------------------------*/
.teacher_title{
	font-size: 1.5em;
	font-weight: bold;
}
.teacher_profile{
	font-size: 1em;
	font-weight: bold;
	color: #95BECC;
}
.line{
	margin: 1.5em 0;
	padding:1em 0;
	border-top: 3px dashed #95BECC;
	border-bottom: 3px solid #95BECC;	
}
.teacher_message{
	line-height: 1em;
}
.ruby{
	font-size: 0.5em
}

 /*------------------------------

 　レポート

------------------------------*/
.report{
	text-align: center;
	margin-bottom: 1em;
	font-weight: bold;
	padding: 0 1em;
	font-size: 1.3em;
}

 @media screen and (max-width:768px) {
		#teacher .flex_container{
 		 display: flex;
 		 flex-direction: column;
		 margin: 0 auto;
		}
}

/*------------------------------

  ここから下がハンバーガーメニュー
  に関するCSS

------------------------------*/
  
/* チェックボックスは非表示に */
.drawer-hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 80px;
  width: 80px;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  position: fixed;
  right: 10%;
  padding: .5em;
  z-index: 99999999999999;/* 重なり順を一番上に */
  cursor: pointer;
  background: #f2c428;
  border-radius: 50%;
}

.drawer-open div{
position:absolute;bottom:8px;
}
/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 5px;
  width: 50px;
  border-radius: 3px;
  background: #fff;
  transition: 0.5s;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 12px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 12px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked ~ .drawer-open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked ~ .drawer-open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer-check:checked ~ .drawer-open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;/* メニューを画面の外に飛ばす */
  z-index: 99999;/* 重なり順を一番上に */
  background:/*#fdede5*/#fffacd;
  transition: .5s;
  text-align: center;
  padding-top: 3em;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked ~ .drawer-content {
  left: 0;/* メニューを画面に入れる */

}

.drawer-content a{
  color: #fff;
}







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

}



/*スマホ*/
@media screen and (max-width: 768px){

.sp_reverse{
  flex-direction: column-reverse;
}


.logo{
  max-width: 200px;
  padding:.5em;
}
.bottom_logo{
  max-width: 200px;
  padding:.5em;
  margin: 0 auto;
}

.flex_container_pc{
  flex-direction: column;
}

.sp_center{
  text-align: center;
}


.slider_img_fit{
  width:100%;height:830px;object-fit: cover;font-family: 'object-fit: cover;';

}
.news_img_fit{
  width:100%;height:550px;object-fit: cover;font-family: 'object-fit: cover;';

}

.pc{
  display: none;
}
.sp{
  display: block;
}

.spcol1{
  width: 98%;
  margin: 0 1% 1em 1%;
}

.spcol2{
  width: 100%;
  margin: 0 1% 1em 1%;
}

.spcol3{
  width: 31%;
  margin: 2em 1%;
}
.spcol4{
  width: 22%;margin:1em 1.5%;
}
.spcol5{
 width: 80%;
 margin: 0 auto;
	}	
.spcol6{
 width: 80%;
 margin: 0 auto;
font-size: 1em;
	}
.spcol9{
 width: 100%;
 margin: 0 auto;
	}
.sp_side_space{
  margin: 0 15px;
  width: calc(100% - 30px);
}

footer{
  padding:0;
}

#copyright {
  text-align: center;
  font-size: 0.5em;
}
#totop{
  position: fixed;
  bottom: 1em;
  width: 42px;
  z-index: 100000000;
}
.footer_mark{
margin: 0 auto;
width: 50%;
}

.scroll_img{
  width: 150px;top:-50px;
}



#footerlast .flex_container{
flex-wrap: wrap;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  position: fixed;
  right: .5em;
  padding: .5em;
  z-index: 99999999999999;/* 重なり順を一番上に */
  cursor: pointer;
  background: #f2c428;
  border-radius: 50%;
}
.drawer-open div{
bottom:6px;font-size: 10px;
}
/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 40px;
  border-radius: 3px;
  background: #fff;
  transition: 0.5s;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 10px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 10px;
}

#headmenu{
  width: 100%;
  padding: 0;
  z-index: 99;
  display: flex;
}
table.contact {
  width: 90% !important;
}
/*input[type="text"], table.contact input{
  width: 85% !important;
}*/

#copyright{
margin-top: 1em;
}
#footerlast{
  padding:1em 0 2em 0;
}

input, button, textarea {
border-radius: 0;
}
input{
  font-size: 16px;
}

}
/* flex-schedul */
.flex-schedule {
  max-width: 800px;
  list-style: none;
  margin: 0 auto;
  box-sizing: border-box;
}
.flex-schedule li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}

.flex-schedule .area {
  padding: 10px;
  display: block;
  width: 100%;
  border-left: 6px solid #5C9EF8;
}

.flex-schedule li .time {
  display: inline-flex;
  justify-content: flex-end;
  flex-basis: 5em;
  max-width: 5em;
  margin-right: 1em;
  margin-top: 30px;
}

.flex-schedule .sch_box {
  position: relative;
  min-height: 1em;
  padding: 1em;
  background: #C9DFF2;
  border-radius: 6px;
  max-width: 800px;
}

.flex-schedule .sch_box::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 20px;
  background: #5C9EF8;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.flex-schedule .sch_title {
  font-weight: 700;
  font-size: 1em;
  color:#3164bc; 
}

.flex-schedule .sch_tx {
  font-size: 14px;
  font-weight: normal; 
}
.flex-schedule .sch_tx .sch_tx_title{
	font-weight: bold;
}

.flex-schedule2 {
  max-width: 800px;
  list-style: none;
  margin: 0 auto;
  box-sizing: border-box;
}
.flex-schedule2 li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}

.flex-schedule2 .area {
  padding: 10px;
  display: block;
  width: 100%;
  border-left: 6px solid #37A65E;
}

.flex-schedule2 li .time {
  display: inline-flex;
  justify-content: flex-end;
  flex-basis: 5em;
  max-width: 5em;
  margin-right: 1em;
  margin-top: 30px;
}

.flex-schedule2 .sch_box {
  position: relative;
  min-height: 1em;
  padding: 1em;
  background: #E1F2DF;
  border-radius: 6px;
  max-width: 800px;
}

.flex-schedule2 .sch_box::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 20px;
  background: #37A65E;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.flex-schedule2 .sch_title {
  font-weight: 700;
}

.flex-schedule2 .sch_tx {
  font-size: 14px;
  font-weight: normal;
}
