@charset "utf-8";
/*-----------------------	reset CSS	------------------------------------------------------------------------------------*/

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, sup, var,b, i,dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody, tfoot, thead, 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;}
p{
	margin-bottom:15px;}
html{-webkit-text-size-adjust:none;}
body { line-height:1;font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block;}	/*  CSS3  */
nav ul {list-style:none;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}

/* 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;}


/*-----------------------	reset CSS	------------------------------------------------------------------------------------*/
img{
	max-width:100%;}
h1{
	font-size:medium;
	color:#FFF;
	text-shadow:0 -1px 1px #000;
	padding:0 10px 0 10px;
	margin:0;
	line-height:2em;
	background:#000;}
h2{
	font-size:14px;
	text-shadow: rgba(0,0,0,0.2) 1px 1px 2px;
	margin-bottom:5px;}
.head{
	background:#FFC;
	text-align:center;}
/*
@media only screen and (max-width:980px) {
#TITLE img{content:url("img/titleB.png");width:100%;}
}
@media only screen and (max-width:640px) {
#TITLE img{content:url("img/titleC.png");width:100%;}
}
@media only screen and (max-width:320px) {
#TITLE img{content:url("img/titleD.png");width:100%;}
}
*/	
#CONTENTS{
	padding:10px;}

.news{
	background:#FFC;
	padding: 0 5px;
	height:30px;
	overflow:hidden;
	text-align:center;
	display:block;
	border-bottom:#C00 solid 5px;}
	.news li{
		height:30px;
		line-height:30px;}
		
	@-webkit-keyframes ticker{
		/*1行目 */
		0% { opacity:0; -webkit-transform:translateY(0); transform:scaleY(0);}
		10% { opacity:1; -webkit-transform:translateY(0); transform:scaleY(0);}
		20% { opacity:1; -webkit-transform:translateY(0); transform:scaleY(0);}
		32% { opacity:0; -webkit-transform:translateY(0); transform:scaleY(0);}
		/*2行目 */
		33% { opacity:0; -webkit-transform:translateY(-30px); transform:scaleY(0);}
		43% { opacity:1; -webkit-transform:translateY(-30px); transform:scaleY(0);}
		53% { opacity:1; -webkit-transform:translateY(-30px); transform:scaleY(0);}
		65% { opacity:0; -webkit-transform:translateY(-30px); transform:scaleY(0);}
		/*3行目 */
		66% { opacity:0; -webkit-transform:translateY(-60px); transform:scaleY(-60px);}
		76% { opacity:1; -webkit-transform:translateY(-60px); transform:scaleY(-60px);}
		86% { opacity:1; -webkit-transform:translateY(-60px); transform:scaleY(-60px);}
		100% { opacity:0; -webkit-transform:translateY(-60px); transform:scaleY(-60px);}
	}
	.news_ticker{
		-webkit-animation:ticker 10s infinite;}


.accordion { font:12px Verdana,Arial; color:#033}
.accordion dt{
	margin-top:5px;
	margin-bottom:10px;
	padding:10px;
	cursor:pointer;
	border:1px solid #999;
	background-image: -webkit-gradient(linear, left top, left bottom,color-stop(0.4, rgb(204, 204, 204)),color-stop(0.7, rgb(237, 237, 237)));
	background-image: -moz-linear-gradient(-90deg,rgb(204, 204, 204) 40%,rgb(237, 237, 237) 71%);
	background-image: linear-gradient(-90deg,rgb(204, 204, 204) 40%,rgb(237, 237, 237) 71%);
	-webkit-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	-moz-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	box-shadow: 2px 2px 4px rgb(51, 51, 51);
	-ms-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	text-shadow: 1px 1px 0px rgb(255, 255, 255);
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	font-size: 15px;
	font-weight:bold;}
.accordion dt.imagedt{
	background:none;
	border:none;
	box-shadow:none;
	display:inline;}
.accordion dd {margin-bottom:10px;}
/* ===== アコーディオンの開いた内容が下へ伸びて重ならないようにする ===== */
.accordion dd{
  overflow: visible;     /* 念のため（切れ防止） */
}

.accordion dd::after{
  content:"";
  display:block;
  clear:both;            /* ★中身のfloatを確実に受け止める */
}
.accordion dt.instructor{
	margin-top:5px;
	margin-bottom:10px;
	padding:10px;
	cursor:pointer;
	border:1px solid #999;
	background-image: -webkit-gradient(linear, left top, left bottom,color-stop(0.4, rgb(204, 204, 255)),color-stop(0.7, rgb(237, 237, 255)));
	background-image: -moz-linear-gradient(-90deg,rgb(204, 204, 255) 40%,rgb(237, 237, 255) 71%);
	background-image: linear-gradient(-90deg,rgb(204, 204, 255) 40%,rgb(237, 237, 255) 71%);
	-webkit-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	-moz-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	box-shadow: 2px 2px 4px rgb(51, 51, 51);
	-ms-box-shadow: 2px 2px 4px rgb(51, 51, 51);
	text-shadow: 1px 1px 0px rgb(255, 255, 255);
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	font-size: 15px;
	font-weight:bold;}


#footer{
	border-top:#C00 solid 5px;;
	background:#FFC;
	padding:15px;
	margin-top:5px;}
#footer p{font-size:13px; line-height:16px;}


h2.formtitle{
	border-left:#06F 10px solid;
	border-bottom:#06F 1px solid;
	font-size:medium;
	line-height:1.5em;
	margin:0 0 1em 0;
	padding:5px;}
.formitem{
	padding-bottom:20px;}

input[type="text"], textarea, input[type="number"], input[type="email"], input[type="date"]{
    border:1px solid #777;
    padding: 5px;
    color: #999;
    background: #fff;
    border-radius: 5px;
     
    /* Webkit */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#eee),
        to(#fff)
        );
     
    -webkit-border-radius: 5px;
    -webkit-box-shadow: 1px 1px 1px #fff;
     
    /* Firefox */
    background: -moz-linear-gradient(
        top,
        #eee,
        #fff
        );
     
    -moz-border-radius: 5px;
    -moz-box-shadow: 1px 1px 1px #fff;
     
    /* IE */
    filter:progid:DXImageTransform.Microsoft.gradient
        (startColorstr=#ffeeeeee,endColorstr=#ffffffff);
    zoom: 1;
    }
     
.submit{
    border:1px solid #777;
	font-size:16px;
    padding: 4px 10px;
    color: #fff;
    cursor: pointer;
    background: #428ec9;
    border-radius: 5px;
     
    /* Webkit */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#06F),
        to(#09F)
        );
    -webkit-border-radius: 5px;
    -webkit-box-shadow: 1px 1px 1px #fff;
         
    /* Firefox */
    background: -moz-linear-gradient(
        top,
		#06F,
		#09F
        );
    -moz-border-radius: 5px;
    -moz-box-shadow: 1px 1px 1px #fff;
     
    /* IE */
    filter:progid:DXImageTransform.Microsoft.gradient
        (startColorstr=#ff99c9e5,endColorstr=#ff428ec9);
    zoom: 1;
    }
#slideBox{
     padding: 10px;
	 margin-bottom:20px;
     border: 1px #ccc solid;
     display:none;
     }

/* dd の中身の高さを確実に拾って、下へ押し下げる（回り込み対策） */
.accordion dd::after{
  content:"";
  display:block;
  clear:both;
}

/* dd が別要素に被らないようにする保険 */
.accordion dd{
  position: relative;
  z-index: 1;
}


.TOPIMAGE{width:1050px;text-align:center;  margin: 0 auto;}
.chip{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}
@media only screen and (max-width:1050px) {
.TOPIMAGE{width:100%;}
	
	}



    :root{
      --bg:#f6f7fb;
      --card:#ffffff;
      --text:#111827;
      --muted:#4b5563;
      --line:rgba(17,24,39,.08);
      --accent:#c40000;
      --accent2:#ff3b30;
      --radius:18px;
      --shadow:0 14px 40px rgba(17,24,39,.10);
      --max:1080px;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--text);line-height:1.75}
    a{color:inherit}
    .container{width:min(var(--max), calc(100% - 32px));margin:0 auto}
    .topbar{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.0);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
    .topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
    .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
    .mark{width:38px;height:38px;border-radius:12px;background-image:url(img/mark.png); background-repeat:no-repeat; background-position:center; background-size:cover;}
    .brand b{font-size:14px;letter-spacing:.02em}
    .brand span{display:block;font-size:12px;color:var(--muted)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid rgba(196,0,0,.25);background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;letter-spacing:.02em;text-decoration:none;box-shadow:0 14px 30px rgba(196,0,0,.18);transition:transform .12s ease, filter .12s ease}
    .btn:hover{transform:translateY(-1px);filter:brightness(1.03)}
    .btn.ghost{background:#fff;color:var(--accent);border:1px solid rgba(196,0,0,.28);box-shadow:none}
    .pill{display:inline-flex;gap:8px;flex-wrap:wrap}
    .chip{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}
    .hero{padding:22px 0 10px}
    .hero-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
    .hero-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--card);border:1px solid var(--line)}
    .hero-media{position:relative;min-height:360px;background:url('assets/img/hero.jpg') center/cover no-repeat}
    .hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.64) 42%, rgba(255,255,255,.0) 70%);}
    .hero-content{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:12px;max-width:620px}
    .lead{margin:0;color:var(--muted);font-size:14px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
    .hero-note{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
    .note{font-size:12px;color:var(--muted);background:rgba(255,255,255,.85);border:1px solid var(--line);padding:8px 10px;border-radius:12px}
    .side{padding:18px}
    .side h2{margin:0 0 10px;font-size:16px}
    .side p{margin:0 0 14px;color:var(--muted);font-size:13px}
    .kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 14px}
    .kpi .box{background:linear-gradient(180deg,#fff, #fbfbff);border:1px solid var(--line);border-radius:14px;padding:12px}
    .kpi .box b{display:block;font-size:13px}
    .kpi .box span{display:block;color:var(--muted);font-size:12px}
    .section{padding:34px 0}
    .section h2{margin:0 0 10px;font-size:22px}
    .section .sub{margin:0 0 18px;color:var(--muted);font-size:14px}
    .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 24px rgba(17,24,39,.06)}
    .card h3{margin:0 0 8px;font-size:16px}
    .card p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
    .gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:stretch}
    .img{border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;box-shadow:0 10px 24px rgba(17,24,39,.06);background:#fff}
    .img img{width:100%;height:100%;object-fit:cover;display:block}
    .stack{display:flex;flex-direction:column;gap:14px}
    .small{height:160px}
    .voice{display:flex;gap:12px;align-items:flex-start}
    .avatar{width:54px;height:54px;border-radius:999px;border:1px solid var(--line);overflow:hidden;flex:0 0 auto;background:#fff}
    .avatar img{width:100%;height:100%;object-fit:cover}
    .quote{margin:0;color:var(--muted);font-size:13px}
    .strong{color:var(--text);font-weight:800}
    .cta{background:linear-gradient(135deg, rgba(196,0,0,.10), rgba(255,255,255,.9));border:1px solid rgba(196,0,0,.16);border-radius:var(--radius);padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
    .cta p{margin:0;color:var(--muted);font-size:13px}
    .footer{padding:26px 0 60px;color:var(--muted);font-size:12px}
    .fixed{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px;z-index:60;display:none}
    .fixed .btn{width:100%}
    @media (max-width:980px){.hero-wrap{grid-template-columns:1fr} .grid3{grid-template-columns:1fr} .grid2{grid-template-columns:1fr} .gallery{grid-template-columns:1fr} .small{height:180px}}
    @media (max-width:760px){body{padding-bottom:76px} .fixed{display:block} .topbar .btn{display:none}}
