@charset "UTF-8";

/* print setting */
@media print {
body {
-webkit-print-color-adjust: exact;
top:0 !IMPORTANT;
left:0 !IMPORTANT;
width:200mm !IMPORTANT;
height:290mm !IMPORTANT;
}
}


/* all
-------------------- */
html, body {
font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "BIZ UDPGothic",
    Meiryo,
    sans-serif;
-webkit-font-smoothing: antialiased;
font-feature-settings : "pkana";
}

.mincho {
 color: #333;
  font-family: "Sawarabi Mincho" ,"Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho"; 
	-webkit-font-smoothing: antialiased;
  font-feature-settings : "palt";
}
.txt_ai {text-align: inherit;}

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, sans-serif;
} 

a:link, a:visited { color: #333; }
a:hover, a:active { color: #ff5500; }
a img:hover,
div#logo:hover {
  opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
  -webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;
}

.ind { text-indent: 1em; }
img { height: auto; max-width: 100%; box-sizing: border-box; }
img.lp { border: 1px solid #a9a9a9; }
figure {text-align: center;}
.middle img{ vertical-align: middle; }
ul li { list-style-type: none; }
ol.decimal {list-style-type: decimal;}
ol.decimal li {margin-left: 1.5rem;}

/*リスト 黒丸 緑 */
ul.disc li {list-style-type: disc; color: #74caa9;}
ul.disc li span {color: #333;}

/* text-layout */
.txt_left { text-align: left!important;  }
.txt_right { text-align: right!important;  }
.cnt { text-align: center; }
.no-wrap { display: inline-block; }

.strong{ font-weight: bold; }

/* title
-------------------- */
h1 {text-align: center;}
h1 div.j_tit { display: inline-block; position: relative; margin-bottom: 2%;}
h1 div.e_tit { background: #ff5500; border-radius: 6px; margin: 4% auto 2%; padding: 2% 3%; text-align: center; color: #fff; }
h2.ttl span { background: linear-gradient(transparent 70%, #ff5500 70%);}
h2.ttl span.small { display:block; line-height: -1em!important; letter-spacing: 0.2em; font-size: 60%; background: none;}

h2.ttl {
  display: inline-block;
  position: relative;
  margin: 10px auto;
  padding: 0px 30px;
  color: #fff;
	font-weight: 200;
	text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
h2.ttl ::before,
h2.ttl ::after {
  position: absolute;
  top: 0;
  content: '';
  width: 10px;
  height: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
h2.ttl ::before {
  left: 0;
  border-left: 1px solid #fff;
}
h2.ttl ::after {
  right: 0;
  border-right: 1px solid #fff;
}
.ttl_box {background: #202745; }

h2.ttl2 {
  display: inline-block;
  margin: 1rem auto;
  padding: 0;
  color: #000;
 font-size:clamp( 24px, 3.5vw, 50px) ;
	font-weight: bold;
	text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
h2.ttl2 span { display: inline-block; font-size:clamp( 18px, 2.5vw, 40px) ; line-height: 1.5;}

h2.sub_ttl {font-weight: 600;}
h3.sub_ttl {font-weight: bold; font-size:clamp( 20px, 2.5vw, 40px) ; color: #000;}
h3.policy {border-left: 8px solid #666; padding-left: 10px; font-size: 1.2rem; margin: 2% 0 1%;}
h4.sub_ttl {font-weight: 600;}
h5 {font-weight: 600; font-size:clamp( 18px, 2vw, 24px) ;}
h6 {font-weight: 600;}

/*ボーダー*/
.hl_border {
  width: 100%;
  border-bottom: 4px solid #ff5500;
  position: relative;
}
.hl_border01::after{
  content: "";
  display: block;
  border-bottom: 4px solid #202745;
  width: 60%;
  position: absolute;
}

/*角丸*/
.radius { border-radius: 15px;}

/*別窓アイコン表示*/
.blank { background: url(img/blank.png) right center no-repeat; padding: 0 20px 0 0;}

/*行間*/
.lh05 { line-height: 0.5em!important; display: block; }
.lh1 { line-height: 1em!important; display: block; } .lh1-5 { line-height: 1.5em!important; display: block; } .lh1-9 { line-height: 1.9em!important; display: block; } .lh2 { line-height: 2em!important; display: block; } .lh2-5 { line-height: 2.5em!important; display: block; } .ls1 { letter-spacing: 1em!important; display: block; }

p {text-align: justify;text-justify: inter-character;}

.frame{border: 1px solid #999; border-radius: 15px; padding:4%; margin: 4%;}
.frame_s {border: 1px solid #666; border-radius: 6px; padding:0.3rem; }
.btn_lang { display: inline-block; }
.btn_lang a {  border: 1px solid #666; padding:0.2rem 1rem; }
.btn_lang a:hover {background: #202745; color: #fff;}

/* トップページへボタン
-------------------- */
.pagetop {width: 72px;height: 72px;/*position: absolute;*/position: fixed;}
.pagetop a {
	width: 72px;
	height: 60px;
	background-color: #333;
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	line-height: 1.2;
	display: block;
	text-decoration: none;
	padding-top: 12px;
	transition: all 300ms 0s ease;
}
.pagetop a::before {
	content: '▲';
	display: block;
	color: #fff;
	margin-bottom: 4px;
}
.pagetop a:hover { background-color: #333; transition: all 300ms 0s ease;}

/* wrapper
-------------------- */
div#wrapper {
  width: 100%;
  height: auto !important;
  height: 100%;
  min-height: 100%;
}

/* header
-------------------- */
#header { width: 100%; background: #fff; overflow: visible!important; border-bottom: 1px solid #999;}
	#header_inner {  width: 100%; }
 
/* container
-------------------- */
div#container { }
div#container_point { overflow: hidden; height: 100%; background: #002c5c;}
div.container_contact {background: url(../img/knra_bg.png) repeat;}
div#container_learn { overflow: hidden; height: 100%; background: #000;}
div#container_access { overflow: hidden; height: 100%; background: #000; padding-bottom:60px;}
 
div.bg_gray {background: #eee;}
/* section
-------------------- */
section {height:100%;overflow: hidden;}
section.policy {font-size:14px;}
section.policy p {margin-bottom: 5px;}

.support {background: #fff; border:6px solid #202745; border-radius: 12px; padding: 40px;}


.phone_address a,
.mail_address a {text-decoration: none; border-bottom: 2px solid #333;}
.phone_mail a {color: #fff; text-decoration: none;}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/* SiteMap
-------------------- */
ul.sitemap { }
ul.sitemap li {margin: 20px 0; list-style-type: disc;}
ul.sitemap li a {text-decoration: none; transform: 0.3s;}

/* footer
-------------------- */
footer#footer {
  width: 100%;
  background-color: #202745;
}


/* コース選択
-------------------- */
#entrance-nav { display: flex;	flex-wrap: wrap;	justify-content: center;	margin: 3rem 0 0;}
#entrance-nav .course { position: relative;	margin: 0 auto; width: 43%;}	
#entrance-nav .course a {display: block; transition: 0.5s; text-decoration: none;}
#entrance-nav .course a:hover {opacity: 0.75;}
#entrance-nav .course img { border-radius: 10px;}
#entrance-nav #class {	position: absolute;	top: 22%;	left: 28%;	width: 80%;}	
#entrance-nav #studio {	position: absolute;	top: 15%;	left: 32%;	width: 80%;}	
#entrance-nav .course p {	margin: 0.5rem 0; font-size: 1.2rem; text-align: center;}


/* 和食体験教室
-------------------- */
#entrance-nav .course p.lang a { }
.lang_link a {
  display: block;
  position: fixed;
  top: 18%;
  right: 0;
  padding: 2rem 1rem 1rem;
  background: #dde0e9;
  font-size: 1rem;
  writing-mode: vertical-rl;
  color: #465a83;
  line-height: 1;
  text-decoration: none;
  border-radius: 6px 0 0 6px;
  z-index: 100;
  transition: 300ms;
}
.lang_link a:before {
  content: "";
    display: block;
    width: 7px;
    height: 10px;
    background: url(../../img/icon-arrow_r.png) no-repeat;
    position: absolute;
    top: 13px;
    right: 0;
    left: 0;
    margin: auto;
}
.lang_link a:hover {background: #5E6F90; color: #fff;}




/* Movie List
---------------------------------------------*/
.movieList{width:100%; display:flex; flex-wrap: wrap; margin-bottom: 4%;}
.movieList .item a{
  width: 100%;
  color: #05161a;
  text-decoration: none;
  outline: none;
  }
.movie_img {
  position: relative;
  display: block;
  background-color: #05161a;
  line-height: 0;
}
.movie_img img {
  width: 100%;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}
.movie_img {
  position: relative;
  display: block;
  text-decoration: none;
}
.movie_img:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 3px solid #fff;
  width: 60px;
  height: 60px;
}
 
.movie_img:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 15px 0 15px 25px;
  opacity: 0.5;
}


/* テーブル
---------------------------------------------*/
table.style_01 {
 width: 100%;
 text-align: left;
 border-collapse: collapse;
 border-spacing: 0;
}
table.style_01 th {
 padding: 1rem;
 border-bottom: solid 4px #778ca3;
 color: #778ca3
}
table.style_01 td {
 padding: 1rem;
 border-bottom: solid 1px #778ca3;
}

/* Google Map
---------------------------------------------*/
.g-map {
  width: 100%;
  position: relative;
  padding-top: 80%;
}

.g-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- clearfix --- */
.clearFix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}