@charset "utf-8";

/* -----reset--------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display:block;
}
body {
	line-height:1;
}
ol, ul {
	list-style:none;
	letter-spacing:-0.5em;
}
li {
	letter-spacing:normal;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
/* ------------------------------------------------------ */


* {
	font-style:normal;
	font-weight:normal;
	box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;
	}

html {
  font-size:62.5%; /*font-size:10px;*/
  -webkit-text-size-adjust:100%;
	scroll-behavior:smooth;
  }

body {
	color:#111;
	margin:0;
	padding:0;
	font-size:1.5rem;
	font-family:'Noto Sans JP', sans-serif, '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}

img { max-width:100%; height:auto; }

button { border:0; padding:0; background:none; cursor:pointer; }
	
.left { float:left; }
.right { float:right; }
.center { text-align:center; }
.tright { text-align:right; }
.tleft { text-align:left; }

.fs10 { font-size:1.0rem; }
.fs12 { font-size:1.2rem; }
.fs13 { font-size:1.3rem; }
.fs14 { font-size:1.4rem; }
.fs16 { font-size:1.6rem; }
.fs18 { font-size:1.8rem; }
.fs20 { font-size:2.0rem; }
.fs22 { font-size:2.2rem; }
.fs28 { font-size:2.8rem; }
.fs30 { font-size:3.0rem; }
.fs40 { font-size:4.0rem; }

strong { font-weight:500; }
.f_bold { font-weight:bold; }
.tline { border-bottom-width:1px; border-bottom-style:solid; padding-bottom:2px; }
.bdr { border:2px solid #aaa; padding-right:15px !important; padding-left:15px !important; margin:20px 0; }
.bdr2 { border:4px solid #ddd; padding-right:15px !important; padding-left:15px !important; margin:20px 0; }
.bgcgray { background-color:#f2f2f2; padding:15px; }

.lh180 { line-height:180%; }
.lh40px { line-height:40px; }

.red { color:#e23743; }
.green { color:#00523a; }
.gray { color:#aaa; }

.mt30 { margin-top:30px; }
.mt50 { margin-top:50px; }
.ml10 { margin-left:10px; }
.mr135 { margin-right:135px; }
.ptb50 { padding-top:50px; padding-bottom:50px; }
.plr80 { padding-left:80px; padding-right:80px; }

table, caption, tbody, tfoot, thead, tr, th, td { vertical-align:middle; }

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

#wrapper {
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	}

header {
	width:98%; max-width:1300px;
	height:130px;
	margin:0 auto;
	padding:40px 0; 
    display:flex; justify-content:space-between; position:relative;
	}
	header h1 { width:200px; }
    header .insta-logo { width:50px; position:absolute; top:58px; left:200px; }
	label.toggle { display:none; }

header nav { font-size:1.5rem; font-weight:bold; padding:0 ; width:calc( 100% - 330px); }
	header nav ul { margin:auto; position:relative; display:flex; justify-content:flex-end; }
	header nav li { padding:0 15px; vertical-align:middle; }
header nav li:last-child { padding-right:20px;}
	header nav li a { color:#111; text-decoration:none; }
	header nav li label { cursor:pointer; }
	
	header nav li input { display:none; }
	header nav li ul.accshow { position:absolute; top:28px; right:10px; direction:table; text-align:center; }
	header nav li ul.accshow li { display:table-cell; text-align:center; white-space:nowrap; padding:0 !important; }
	header nav li ul.accshow li a { display:block; padding:12px 12px; background-color:#fdeff5; }
	header nav li ul.accshow li a:hover { background-color:#f9d3e3; }

@media screen and (min-width: 1201px){
#menu, #open { display:none; }
}

@media screen and (max-width: 1200px){
header {
	height:auto;
	padding:10px;
    justify-content:flex-start; position:relative;
	}
	header h1 { width:180px; }
	header h1 img { width: auto; height: 55px; }
    header .insta-logo { width:42px; position:absolute; top:28px; left:190px; }
	header label { position:absolute; top:15px; right:10px; color:#00a496; }
	header label.toggle { cursor: pointer; text-align:right; padding-right:5px; }
	header label i { font-size:4.8rem; }

header nav { display:none; }

label.toggle { display:inherit; }

/* --------------------------------------------------------------
  MENU
-------------------------------------------------------------- */
#menu { z-index:1000; }
#menu i { margin-right:5px; }
#menu { position:fixed; left: 0; top: -100%; overflow: hidden; transition: bottom .5s, top .5s; width:100%; height:100%; background-color:#00a496; }
	#open { display: none; }
	#open:checked + #menu { top: 0; }
#menu p.intra { background-color:#006699; color:#fff; padding:20px; text-align:center; }
#menu ul.menu { margin:5px 0 0 0; }
#menu ul.menu li { font-size:1.4rem; padding:10px; border-bottom:1px dashed #ccc; line-height:180%; }
#menu a { color:#fff; text-decoration:none; }
#menu label { cursor: pointer; color:#fff; text-decoration:none; }
#menu .close { text-align:center; padding:20px 0; }
#menu .close label i { font-size:2.0rem; }

#menu ul.formenu { margin:30px auto 10px auto; width:90%; }
#menu ul.formenu li { margin:8px 0; }
#menu ul.formenu li a { display:block; background-color:#fff; padding:12px 8px; text-align:center; background-image:url(images/libtn.png);
	background-repeat:no-repeat; background-position:right bottom; color:#e23743; }

.accbox input { display: none; }
.accbox .accshow { height: 0; padding: 0; overflow: hidden; opacity:0; transition:0.8s; }
.cssacc:checked + .accshow { height: auto; padding: 5px; opacity:1; }
ul.accshow { }
ul.accshow li { border:0 !important; padding:5px 10px !important; }

}

.topbnr-pbl { width:100%; max-width:900px; margin:30px auto; display:flex; justify-content:space-between; }
.topbnr-pbl a { width:32.5%; }
@media print, screen and ( max-width:550px){
.topbnr-pbl { display:inherit; text-align:center; }
.topbnr-pbl a { display:block; min-width:290px; margin:auto; padding:3px 5px; }
}

.topbnr-bnr { width:98%; max-width:1000px; margin:10px auto; display:flex; justify-content:space-between; }
.topbnr-bnr a { width:49%; }
@media print, screen and ( max-width:700px){
.topbnr-bnr { display:inherit; text-align:center; }
.topbnr-bnr a { display:block; width:95%; margin:auto; padding:3px 5px; }
}


@media print, screen and (min-width:981px){
	
footer {
	margin:80px auto;
	padding:0;
	width:100%; max-width:1300px; 
	}
	footer p { font-size:1.3rem; line-height:170%; }
	footer p img { float:left; margin-right:30px; }
	footer p.copyr { font-size:1.0rem; font-family:'Ramabhadra', sans-serif; padding-top:40px !important; }
	

.sp { display:none; }
	
.clr { clear:both; }
	
#contents { width:100%; position:relative; }
	#contents h2 { background-color:#f2f2f2; padding:50px; text-align:center; font-size:3.5rem; font-weight:bold; }
	#contents .pagetop { width:96%; margin:auto; text-align:center; font-size:4.8rem; }
	#contents .pagetop a { color:#a50012; }
	#contents .pagetop a:hover { color:#aaa; }

.contents { width:98%; max-width:1000px; margin:50px auto; }


/* --------------------------------------------------------------
  clearfix
-------------------------------------------------------------- */
header:after,
#toppage .application td a:after,
#toppage .application td:after,
.footbtn td a:after,
.footbtn td:after,
dl.aboutpbl:after,
dl.howto:after,
dl.voice dt:after,
div.interview:after {
  height:0;
  visibility:hidden;
  content:".";
  display:block;
  clear:both;
  }

/* --------------------------------------------------------------
  基本
-------------------------------------------------------------- */
a.btn { display:block; background-image:url("/images/btn_bg.png"); width:246px; height:53px; text-align:center; margin:40px auto; 
	line-height:120%; font-family:'Ramabhadra', 'Noto Sans JP', sans-serif; padding:18px 0;  color:#111; text-decoration:none; font-size:1.5rem; font-weight:bolder; }
	a.btn:hover { background-color:#f9f9f9; border-radius:10px; color:#a50012;}
	a.btn img { vertical-align:middle; margin-right:8px; }

a.btn2 { display:block; background-image:url("/images/btn_bg.png"); width:246px; height:53px; text-align:center; margin:20px 0; 
	line-height:120%; font-family:'Ramabhadra', 'Noto Sans JP', sans-serif; padding:18px 0;  color:#111; text-decoration:none; font-size:1.5rem; font-weight:bolder; }
	a.btn2:hover { background-color:#f9f9f9; border-radius:10px; color:#a50012;}
	a.btn2 img { vertical-align:middle; margin-right:8px; }

p { padding:15px 0; line-height:150%; }

ul.tworows { width:100%; margin:20px 0; }
	ul.tworows li { display:inline-block; width:47%; vertical-align:top; margin-right:6%; }
	ul.tworows li:nth-child(2n) { margin-right:0; }

ul.threerows { width:100%; margin:20px 0; }
	ul.threerows li { display:inline-block; width:32%; vertical-align:top; margin-right:2%; }
	ul.threerows li:nth-child(3n) { margin-right:0; }

div.navi { width:100%; padding:0; background-color:#fdeff5; }
	.navi ul { font-size:1.7rem; display:flex; justify-content:space-between; align-items:center; max-width:1150px; margin:auto; }
	.navi li { margin:0; }
	.navi li a { display:block; padding:18px 18px; color:#111; text-decoration:none; }
	.navi li a:hover { color:#a50012; }
	.navi li.active a { color:#a50012; background-color:#f9d3e3; }

div.navi-2 { width:100%; padding:0; background-color:#fdeff5; }
	.navi-2 ul { font-size:1.7rem; display:flex; justify-content:center; align-items:center; max-width:1150px; margin:auto; }
	.navi-2 li { margin:0; }
	.navi-2 li a { display:block; padding:18px 18px; color:#111; text-decoration:none; }
	.navi-2 li a:hover { color:#a50012; }
	.navi-2 li.active a { color:#a50012; background-color:#f9d3e3; }

div.subnavi { width:100%; padding:0; background-color:#f9d3e3; padding:10px 0; }
	.subnavi ul { font-size:1.4rem; width:95%; max-width:1200px; margin:auto; }
	.subnavi li { display:inline-block; width:20%; margin:0; text-align:left; letter-spacing:-0.05em; }
	.subnavi li a { display:block; padding:8px 0; color:#111; text-decoration:none; }
	.subnavi li a:before { content:'〉'; }
	.subnavi li a:hover { color:#a50012; }
	.subnavi li.active a { color:#a50012; background-color:#f9d3e3; }

div.worldheritage { width:100%; padding:20px 0; background-color:#fdeff5; text-align:center; position:relative; }
div.worldheritage:after{  content:""; position:absolute; right:0; bottom:-45px; left:0; width:0px; height:0px;
	margin:auto; border-style:solid; border-color:#fdeff5 transparent transparent transparent; border-width:45px 45px 0 45px; }

div.museum { width:100%; padding:20px 0; background-color:#eaf6fd; text-align:center; position:relative; }
div.museum:after{  content:""; position:absolute; right:0; bottom:-45px; left:0; width:0px; height:0px;
	margin:auto; border-style:solid; border-color:#eaf6fd transparent transparent transparent; border-width:45px 45px 0 45px; }

div.culturalheritage { width:100%; padding:20px 0; background-color:#f7efcf; text-align:center; position:relative; }
div.culturalheritage:after{  content:""; position:absolute; right:0; bottom:-45px; left:0; width:0px; height:0px;
	margin:auto; border-style:solid; border-color:#f7efcf transparent transparent transparent; border-width:45px 45px 0 45px; }

div.english { width:100%; padding:20px 0; background-color:#fffaef; text-align:center; position:relative; }
div.english:after{  content:""; position:absolute; right:0; bottom:-45px; left:0; width:0px; height:0px;
	margin:auto; border-style:solid; border-color:#fffaef transparent transparent transparent; border-width:45px 45px 0 45px; }

div.pagetit { width:100%; padding:40px 0; text-align:center; background-color:#f2f2f2; font-size:3.5rem; }

/* --------------------------------------------------------------
  トップページ
-------------------------------------------------------------- */
#mainimg { position:relative; width:100%; max-width:1560px; margin:auto; }
#mainimg img { width:100%; }

#toppage { margin:0; padding:0; position:relative; width:100%; }

#toppage h2 { font-size:4.5rem; position:relative; padding:15px 0 5px 0; text-align:center; line-height:150%; font-family:'Ramabhadra', sans-serif;}
#toppage h2:before { position:absolute; bottom:0; left:calc(50% - 25px); width:50px; height:3px; content:''; background:#a50012; }
	
#toppage .scroll { position:absolute; top:-55px; left:0; right:0; margin:auto; }
#toppage .news { width:98%; max-width:1300px; margin:auto; padding:100px 0 50px 0; }
	#toppage .news dl { display:inline-block; width:22%; margin-right:3.6%; margin-top:50px; }
	#toppage .news dl:nth-of-type(4n) { margin-right:0; }
	#toppage .news dt { float:left; writing-mode:vertical-rl; font-size:1.2rem; letter-spacing:0.05em; font-family:'Ramabhadra', sans-serif; }
	#toppage .news dd { margin-left:20px; font-size:1.3rem; line-height:140%; }
	#toppage .news dd img { width:100%; }
	#toppage .news dd h3 { padding:15px 0; font-weight:bold; }
	#toppage .news dd p { padding:0; }
	#toppage .news dd a { color:#111; text-decoration:none; }

#toppage .bnr { width:98%; max-width:1300px; padding:80px 0 20px 0; margin:auto;}
	#toppage .bnr ul { margin:50px auto 20px auto !important; }

#toppage #concept { padding-top:50px; }
#toppage .concept { width:90%; max-width:1300px; background-color:#f2f2f2; margin:50px auto; padding:60px 8% 20px 8%; position:relative; }
	#toppage .concept h3 { line-height:160%; font-size:2.5rem; font-weight:bold; padding-top:40px !important; }
	#toppage .concept p { line-height:180%; }
	#toppage .concept p.fs13 { padding-top:0 !important; }
	#toppage .concept p.center { padding-top:60px !important; }
	#toppage .concept img.kadot { position:absolute; top:-30px; right:-30px; }
	#toppage .concept img.kadob { position:absolute; bottom:-30px; left:-30px; }

.course { width:98%; max-width:1300px; margin:120px auto; }
	.course ul { margin:50px auto; width:100%; max-width:1000px;  }
	.course li { display:inline-block; width:33.333%; height:197px; position:relative; vertical-align:top;
		background-image:url("/images/course_bg2.png"); background-position:bottom right; background-repeat:no-repeat; }
	.course li:nth-child(3n+1) { border-left:1px solid #d8d8d8; }
	.course li:nth-child(1), .course li:nth-child(2), .course li:nth-child(3) { height:198px; }
	.course li::before { content:""; top:-1px; left:-1px; position:absolute; z-index:2;
		border-bottom:20px solid transparent; border-left:20px solid #fff; }
	.course li::after { content:""; bottom:0; left:-1px; position:absolute; z-index:2;
		border-bottom:20px solid #fff; border-right:20px solid transparent; }
	.course li a { display:block; padding:20px 10px 0 14px; text-align:center; width:100%; text-decoration:none; 
		position:relative; color:#111; }
	.course li a:hover { color:#a50012; }
	.course li a span { color:#d8d8d8; font-size:2.6rem; font-family:'Ramabhadra', sans-serif; 
		position:absolute; top:20px; left:20px; }
	.course li a img { margin-bottom:8px; }
	.course li a p { font-size:1.2rem; line-height:150%; }

#toppage .application { width:100%; padding:70px 0; background-color:#a50012; color:#fff; }
	#toppage .application h2 { color:#fff; }
	#toppage .application h2:before { background:#fff; }
	#toppage .application table { width:100%; margin:50px 0; }
	#toppage .application td { width:50%; }
	#toppage .application td:nth-child(1) h3 { width:90%; max-width:450px; float:right; margin-right:50px; font-size:2.0rem; line-height:150%; }
	#toppage .application td:nth-child(1) h3 span { font-size:1.5rem; }
	#toppage .application td:nth-child(1) p { width:90%; max-width:450px; float:right; margin-right:50px;  line-height:150%; }
	#toppage .application td:nth-child(2) { font-size:1.8rem; }
	#toppage .application td:nth-child(2) h3 { font-size:2.0rem; line-height:70%; }
	#toppage .application td:nth-child(2) h3 span { font-size:1.5rem; }
	#toppage .application td a { display:block; background-color:#fff; color:#a50012; padding:55px 40px; text-decoration:none; 
	background-image:url("/images/arw_red.png"); background-position:right 20px center; background-repeat:no-repeat; }
	#toppage .application td a img { float:left; margin-right:20px; }
	

/* --------------------------------------------------------------
  固定ページ
-------------------------------------------------------------- */

#title { width:100%; margin:0 auto; height:220px; background:url("/images/title_bg.png") repeat-x center; position:relative;}
	#title img { position:absolute; bottom:30px; right:0; width:64%; max-width:960px; height:auto;}
	#title h2 { padding-left:5%; padding-top:20px; font-size:3.2rem; font-weight:bold; }
	#title h3 { padding-left:5%; padding-top:20px; font-family:'Ramabhadra', sans-serif; font-size:4.5rem;  }
	#title ul.pankuzu { color:#fff; position:absolute; bottom:10px; left:5%; display:block; font-size:1.3rem; }
	#title ul.pankuzu li { display:inline; padding:0 0 0 10px; }
	#title ul.pankuzu li:after { content:'〉'; padding-left:10px; }
	#title ul.pankuzu li:last-child:after { content:none; }
	#title ul.pankuzu li a { color:#fff; text-decoration:none; }
	#title ul.pankuzu li a:hover { border-bottom-width:1px; border-bottom-style:solid; padding-bottom:2px; }
	
.contents h3 { font-size:2.5rem; position:relative; padding:15px 0 5px 0; text-align:center; line-height:150%; }
.contents h3:before { position:absolute; bottom:0; left:calc(50% - 25px); width:50px; height:3px; content:''; background:#a50012; }
	.contents h3.tit { font-size:4.5rem; font-family:'Ramabhadra', 'Noto Sans JP', sans-serif; margin-bottom:40px; }

.contents h4 { font-size:2.5rem; padding:15px 0; line-height:120%; }
	.contents h4 img { vertical-align:middle; margin-right:18px; }

.contents h5 { font-size:1.7rem; padding:15px; text-align:center; line-height:300%; }
	.contents h5:before {content:url("/images/bdr_dia-l.png"); vertical-align:top; padding-right:20px;  }
	.contents h5:after { content:url("/images/bdr_dia-r.png"); vertical-align:top; padding-left:20px;  }

.contents h6 { font-size:1.7rem; padding:15px; text-align:center; line-height:120%;
	background-color:#f9d3e3; color:#aa0000; margin:40px 0 20px 0; }

.footbtn { width:100%; padding:40px 0; background-color:#a50012; color:#fff; margin-top:100px; }
	.footbtn h2 { color:#fff; }
	.footbtn h2:before { background:#fff; }
	.footbtn table { width:100%; margin:0; }
	.footbtn td:nth-child(1) { width:30%; }
	.footbtn td:nth-child(2) { width:70%; }
	.footbtn td:nth-child(1) h3 { width:90%; max-width:280px; float:right; margin-right:50px; font-size:2.5rem; line-height:180%; }
	.footbtn td:nth-child(1) h3 span { font-size:4.5rem; font-family:'Ramabhadra', sans-serif; }
	.footbtn td:nth-child(1) p { width:90%; max-width:450px; float:right; margin-right:50px;  line-height:150%; }
	.footbtn td:nth-child(2) { font-size:1.8rem; }
	.footbtn td:nth-child(2) h3 { font-size:2.0rem; line-height:70%; }
	.footbtn td:nth-child(2) h3 span { font-size:1.5rem; }
	.footbtn td a { display:block; background-color:#fff; color:#a50012; padding:50px; text-decoration:none; 
	background-image:url("/images/arw_red.png"); background-position:right 20px center; background-repeat:no-repeat; }
	.footbtn td a img { float:left; margin-right:20px; }

div.bdrblock { width:100%; border:1px solid #d8d8d8; padding:30px 60px 10px 60px; margin:20px 0 40px 0;  }

dl.redwaku { width:100%; }
	dl.redwaku dt { color:#fff; background-color:#a50012; font-size:2.0rem; text-align:center; padding:20px; }
	dl.redwaku dd { padding:15px; border:2px solid #a50012; line-height:180%; min-height:180px; }

table.list { width:100%; margin:50px 0; }
	table.list th { padding:20px; background-color:#efefef; text-align:center; border:1px solid #ddd; }
	table.list td { padding:20px; border:1px solid #ddd; line-height:135%; }
	table.list th:nth-child(1), table.list th:nth-child(4), table.list td:nth-child(1), table.list td:nth-child(3) { white-space:nowrap; }
	table.list td:nth-child(1), table.list td:nth-child(4) { text-align:center; padding:10px !important; }
	table.list td:nth-child(4) img { width:auto; height:25px; }
	table.list td a { color:#111; text-decoration:none; }
	table.list td a:hover { border-bottom-width:1px; border-bottom-style:solid; padding-bottom:1px; }
	table.list td a i { margin-left:5px; }

table.list2 { width:100%; margin:50px 0; }
	table.list2 th { padding:20px; background-color:#efefef; text-align:center; border:1px solid #ddd; }
	table.list2 td { padding:20px; border:1px solid #ddd; line-height:135%; }
	table.list2 td:nth-child(1), table.list2 td:nth-child(2), table.list2 td:nth-child(4) { white-space:nowrap; }
	table.list2 td:nth-child(2) { text-align:center; }
	table.list2 td a { color:#111; text-decoration:none; }
	table.list2 td a:hover { border-bottom-width:1px; border-bottom-style:solid; padding-bottom:1px; }
	table.list2 td a i { margin-left:5px; }

p.aboutxt { float:left; width:55%; margin:40px 0; line-height:180%; }

dl.aboutpbl { float:right; width:40%; background-color:#f2f2f2; padding:25px 30px; margin:50px 0; line-height:180%; }
	dl.aboutpbl dt { font-size:1.6rem; font-weight:bold; }
	dl.aboutpbl dd { font-size:1.3rem; }
	
table.image3 { margin:auto; }
	table.image3 td { text-align:center; vertical-align:bottom; padding:0 5px; }
	
ul.courses { width:100%; margin:40px auto; }
	ul.courses li { display:inline-block; width:22%; margin-right:4%; margin-bottom:40px; }
	ul.courses li:nth-child(4n) { margin-right:0; }
	ul.courses li p { font-size:1.2rem; height:100px; }
	ul.courses li a { display:block; color:#111; text-decoration:none; border-bottom:1px solid #d8d8d8; position:relative;}
	ul.courses li a:after { content:""; bottom:0; right:0; position:absolute; z-index:2;
		border-bottom:12px solid #000; border-left:12px solid transparent; }
	ul.courses li a:hover:after { border-bottom:12px solid #a50012; border-left:12px solid transparent; }

table.class-image { width:100%; margin:40px auto; }
	.class-image th { display:table-cell; -webkit-writing-mode:vertical-rl; -moz-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; -ms-writing-mode:vertical-rl; writing-mode:vertical-rl; font-size:1.6rem; letter-spacing:0.05em; padding:30px; border:1px solid #d8d8d8; text-align:left; width:75px; }
	.class-image th.tit1 { background-color:#999; color:#fff; }
	.class-image th.tit2 { background-color:#000; color:#fff; }
	.class-image th.tit3 { background-color:#a50012; color:#fff; }
	.class-image td { padding:30px; border:1px solid #d8d8d8; line-height:125%; }
	.class-image td.tit1 { background-color:#f2f2f2; color:#aaa; white-space:nowrap; }
	.class-image td.tit2 { background-color:#f2f2f2; color:#111; white-space:nowrap; }
	.class-image td.tit3 { background-color:#f2f2f2; color:#a50012; white-space:nowrap; }

ul.join { width:100%; margin:40px auto; }
	ul.join li { display:inline-block; width:32%; margin-right:2%; background-color:#eaf6fd; vertical-align:top; text-align:center; border-top:4px solid #002f7c; }
	ul.join li:nth-child(3n) { margin-right:0; }
	ul.join li h4 { font-size:1.5rem; font-weight:bold; color:#002f7c; }
	ul.join li div { background-color:#f2f2f2; margin-top:20px; text-align:left; height:220px; }
	ul.join li p { padding:10px 25px; }
	ul.join li p.tit { text-align:center; font-size:1.3rem; padding:10px 5px; }

.whimage { background-color:#fceef4; padding:20px; margin:30px auto; text-align:right; }
.chimage { background-color:#f7efcf; padding:20px; margin:30px auto; text-align:right; }
.msimage { background-color:#eaf5fc; padding:20px; margin:30px auto; text-align:right; }

dl.howto { padding:40px 0 0; }
	dl.howto dt { float:left; margin:3px 0 0; }
	dl.howto dt span { background-color:#ffe100; padding:3px 8px; color:#c30d23; font-size:1.8rem; font-weight:bold; }
	dl.howto dd { margin:0 0 0 100px; line-height:150%; font-size:1.6rem; }

dl.voice { padding:30px 0; border-bottom:1px solid #999; }
	dl.voice dt { margin-bottom:10px; }
	dl.voice dt img { float:right; margin-left:20px; margin-right:10px; }
	dl.voice dt h4 { color:#a50012; font-size:2.4rem; line-height:140%; }
	dl.voice dt span.name { display:block; width:350px; text-align:center; padding:7px 0; background-color:#a50012; color:#fff; margin-left:15px; }
	dl.voice dt p { color:#a50012; font-size:1.8rem; margin-left:15px; }
	dl.voice dd { line-height:160%; padding:15px 10px 15px 15px; }

div.interview { border:1px solid #a50012; padding:15px; color:#a50012; font-size:2.2rem; line-height:180%; margin:50px 0 20px 0; }
	div.interview img { float:right; margin-left:20px; }
dl.interview { padding:20px 0; border-bottom:1px solid #999; }
    dl.interview:last-of-type { border-bottom:none; }
	dl.interview dt { color:#a50012; padding:0 15px; }
	dl.interview dd { padding:15px; line-height:160%; }

span.icon { float:right; text-align:right; }
	span.icon img { width:auto; height:30px; }
	span.icon a:hover { border-bottom-width:0 !important; border-bottom-style:solid !important; padding-bottom:0 !important; }

img.classicon { width:auto; height:40px; margin-right:10px; vertical-align:middle; padding-bottom:8px; padding-top:4px; }

ul.worldbtn { margin:30px auto; width:100%; font-size:1.5rem; }
	ul.worldbtn li { display:inline-block; width:23.5%; margin-right:2%; text-align:center; vertical-align:middle; }
	ul.worldbtn li:nth-child(4) { margin-right:0; }
	ul.worldbtn li a { display:block; background-color:#fdeef5; border:1px solid #c30d26; border-radius:50px; height:48px; vertical-align:middle; text-decoration:none; color:#c30d26; padding-top:13px; box-shadow:0 2px 3px #aaa; line-height:110%; }
	ul.worldbtn li a.line2 { padding-top:5px; }

ul.culturebtn { margin:30px auto; width:100%; font-size:1.5rem; }
	ul.culturebtn li { display:inline-block; width:23.5%; margin-right:2%; text-align:center; vertical-align:middle; }
	ul.culturebtn li:nth-child(4) { margin-right:0; }
	ul.culturebtn li a { display:block; background-color:#f7efcf; border:1px solid #e8d27b; border-radius:50px; height:48px; vertical-align:middle; text-decoration:none; color:#c30d26; padding-top:13px; box-shadow:0 2px 3px #aaa; line-height:110%; }
	ul.culturebtn li a.line2 { padding-top:5px; }

ul.museumbtn { margin:30px auto; width:100%; font-size:1.5rem; text-align:center; }
	ul.museumbtn li { display:inline-block; width:23.5%; margin-right:2%; text-align:center; vertical-align:middle; }
	ul.museumbtn li:nth-child(4) { margin-right:0; }
	ul.museumbtn li a { display:block; background-color:#ebf5fe; border:1px solid #00307a; border-radius:50px; height:48px; vertical-align:middle; text-decoration:none; color:#00307a; padding-top:13px; box-shadow:0 2px 3px #aaa; line-height:110%; }
	ul.museumbtn li a.line2 { padding-top:5px; }

ul.report { margin:30px auto; width:100%; }
	ul.report li { display:inline-block; width:23.5%; margin-right:2%; vertical-align:top; margin-bottom:30px; }
	ul.report li:nth-child(4n) { margin-right:0; }
	ul.report li ul { margin:5px auto; font-size:1.3rem; }
	ul.report li ul li { width:33.333%; margin:0; text-align:center; line-height:130%; margin-bottom:5px; }
	ul.report li ul li:nth-child(3n+1) { text-align:left; }
	ul.report li ul li:nth-child(3n) { text-align:right; }
	ul.report li ul li a { text-decoration:none; color:#111; }
	ul.report li ul li a:hover { color:#c30d26; }

.pbl_tit { position:relative; margin:30px auto; padding:20px 0; }
	.pbl_tit p { position:absolute; background:rgba(255,255,255,0.5); text-align:center; padding:20px 10px; 
		top:50%; left:0; transform:translate(0,0); width:100%; font-size:2.2rem; font-weight:bold; color:#c30d23; }

img.rimg { float:right; margin-left:20px; margin-bottom:10px; }

ul.stu { margin:30px auto; }
	ul.stu li { margin:10px; padding:10px 10px 10px 40px; line-height:150%;
		background-image:url("/images/i_stu.png"); background-repeat:no-repeat; background-position:left; }
	
table.classinfo { width:100%; margin:30px 0 50px 0;}
	table.classinfo th { padding:10px; border:1px solid #888; }
	table.classinfo td { padding:10px; border:1px solid #888; }
	table.classinfo tr:nth-child(2n) { background-color:#ddd; }
	table.classinfo td.teacher { border:none; padding-right:20px; max-width:160px;}

.student_voice { border-top:1px solid #ccc; padding:30px 0; }
	.student_voice:last-of-type { border-bottom:1px solid #ccc; }
	.student_voice table { width:100%; }
	.student_voice td { vertical-align:middle; padding:10px 5px 10px 0; }
	.student_voice td:nth-child(1) { width:49%; }
	.student_voice td:nth-child(2) { width:51%; border-left:1px solid #ccc; padding-left:2%; }
	.student_voice td a { background-repeat:no-repeat; background-position:left; background-size:135px;
		display:block; padding:6px 0 0 155px; height:135px; text-decoration:none; }
	.student_voice td a span { display:block; margin:10px 0; line-height:135%; }
	.student_voice td a span.name { font-size:2.0rem; color:#a50012; }
	.student_voice td a span.univ { background-color:#a50012; color:#fff; padding:7px 5px 7px 10px;
		font-size:1.4rem; width:220px; }
	.student_voice td a span.subj { font-size:1.5rem; color:#a50012; }

.teacher_voice { border-top:1px solid #ccc; padding:30px 0; }
	.teacher_voice:last-of-type { border-bottom:1px solid #ccc; }
	.teacher_voice h4 { font-size:2.0rem; text-align:center; padding-bottom:25px;}
	.teacher_voice table { width:100%; }
	.teacher_voice td { vertical-align:middle; padding:10px 5px 10px 0; }
	.teacher_voice td:nth-child(1) { width:49%; }
	.teacher_voice td:nth-child(2) { width:51%; padding-left:2%; border-left:1px dashed #ccc; }
	.teacher_voice td a { background-repeat:no-repeat; background-position:left; background-size:135px;
		display:block; padding:6px 0 0 155px; height:135px; text-decoration:none; }
	.teacher_voice td a span { display:block; margin:10px 0; line-height:135%; }
	.teacher_voice td a span.name { font-size:2.0rem; color:#a50012; }
	.teacher_voice td a span.univ { font-size:1.5rem; color:#a50012; }

}


.whimage ul li { margin:5px 0; }

.voice-students { padding:50px 0; }
.voice-students .voice { display:flex; justify-content:space-between; align-items:flex-end; margin:40px 0; }
.voice-students .voice .icon { width:120px; }
.voice-students .voice .text { width:calc( 100% - 160px); }
.voice-students .voice .text .kamoku { font-size:1.8rem; font-weight:bold; }
.voice-students .voice .text .comment { padding:20px; border-radius:10px; color:#333; background-color:#efefef; position:relative; width:100%; }
.voice-students .voice .text .comment::before { content:""; position:absolute; width:12px; height:15px; background:#efefef; top:0; bottom:0; left:-12px; clip-path:polygon(0 50%, 100% 0, 100% 100%); margin:auto; }
.voice-students .voice.reverse { flex-direction:row-reverse; }
.voice-students .voice.reverse .text .kamoku { text-align:right; }
.voice-students .voice.reverse .text .comment::before { left:100%; clip-path:polygon(0 0, 100% 50%, 0 100%); margin:auto; }
@media screen and (max-width:600px){
.voice-students .voice { align-items:center; margin:30px 0; }
.voice-students .voice .icon { width:80px; }
.voice-students .voice .text { width:calc( 100% - 100px); }
.voice-students .voice .text .kamoku { font-size:1.5rem; }
.voice-students .voice .text .comment { font-size:1.4rem !important; }
}

.voice-level { padding:30px 0; }
.voice-level h4 { position:relative; padding:10px 0; margin-bottom:40px; border-bottom:2px solid #333; color:#333; font-weight:bold; font-size:2.2rem; text-align:center; }
.voice-level h4:before, .voice-level h4:after { position:absolute; top:100%; left:50%; content:""; height:0; width:0; }
.voice-level h4:before { border:13px solid; border-color:transparent; border-top-color:#333;; margin-left:-13px; }
.voice-level h4:after { border:10px solid; border-color:transparent; border-top-color:#fff; margin-left:-10px; }
.voice-level p { background-color:#efefef; padding:20px; border-radius:10px; margin-bottom:8px; }

h3.voice-tit { font-size:2.6rem; font-weight:700; text-align:left; background-size:100%; padding-top:40%; position:relative; margin:15px; }
h3.voice-tit span { position:absolute; left:30px; bottom:30px; }
h3.voice-tit::before { display:none; }
@media screen and (max-width: 980px){
h3.voice-tit { margin:5px !important; text-align:left !important; font-size:1.6rem !important; padding-top:38% !important; }
h3.voice-tit span { position:absolute; left:10px; bottom:10px; }
h3.voice-tit::before { display:none !important; }
}


ul.imgphoto { display:flex; justify-content:space-between; align-items:center; margin:10px 0;}
ul.imgphoto.img3 li { width:33%; }
@media screen and (max-width:600px){
ul.imgphoto { flex-wrap:wrap; justify-content:center; }
ul.imgphoto.img3 li { width:49%; margin:0 0.5% 10px; }
}


