/* =====================
基本
===================== */

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Hiragino Sans",
Meiryo,
sans-serif;
line-height:1.8;
color:#333;
background:#f5f5f5;
}

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

/* =====================
ヘッダー
===================== */

header{
background:#FDF6E8;
padding:20px 10px;
border-top:10px solid #FDE3C4;
}

.header-inner{
max-width:680px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
}

/* =====================
サイトタイトル
===================== */

h1{
font-size:30px;
margin:0;
font-weight:700;
line-height:1.4;
}

.site-title a{
  text-decoration: none;
  COLOR:#222222;
}

.catch{
display:block;
font-size:14px;
color:#666;
margin-bottom:4px;
}

.site-title{
color:#333;
}

/* =====================
ナビゲーション
===================== */

nav{
background:#fff;
border-top:1px solid #ddd;
border-bottom:1px solid #ddd;
}

nav ul{
max-width:680px;
margin:auto;
display:flex;
list-style:none;
padding:0;
}

nav li{
flex:1;
text-align:center;
}

nav a{
display:block;
padding:12px;
text-decoration:none;
color:#333;
}

nav a:hover{
background:#FDF6E8;
}

/* =====================
コンテンツ
===================== */

section{
max-width:680px;
margin:20px auto;
padding:20px;
background:#fff;
border-radius:8px;
box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.banner{
display:block;
margin:auto;
}

/* =====================
見出し
===================== */

h2{
font-size:22px;
border-radius:8px;
padding:6px 15px;
background:#FDE3C4;
}

/* =====================
電話カード
===================== */

.header-tel{
background:#fff;
padding:12px 16px;
border-radius:8px;
box-shadow:0 2px 6px rgba(0,0,0,0.08);
text-align:center;
}

.header-tel a{
font-size:20px;
font-weight:bold;
text-decoration:none;
color:#333;
display:block;
margin-top:4px;
}

/* =====================
テーブル
===================== */

table{
border-collapse:collapse;
width:100%;
}

th,
td{
border:1px solid #ddd;
padding:10px;
}

th{
background:#f5f5f5;
text-align:left;
}

td{
background:#fff;
}

/* =====================
プロフィール
===================== */

.profile-box{
display:flex;
gap:20px;
align-items:flex-start;
}

.profile-text{
flex:1;
}

.profile-image img{
width:220px;
border-radius:8px;
}

/* =====================
フッター
===================== */

footer{
background:#ffffff;
padding:20px;
margin:0;
}

.copyright{
text-align:center;
margin-top:20px;
border-top:1px solid #ddd;
padding-top:20px;
}

.footer-menu{
max-width:680px;
margin:20px auto;
}

.footer-menu ul{
list-style:none;
padding:0;
margin:0;
display:grid;
grid-template-columns:1fr 1fr;
gap:6px 20px;
}

.footer-menu a{
text-decoration:none;
color:#333;
font-size:14px;
}

.footer-menu a:hover{
text-decoration:underline;
}

/* =====================
スマホ
===================== */

@media (max-width:700px){

.header-inner{
flex-direction:column;
align-items:flex-start;
}



.global-nav{
display:none;
}

.global-nav.open{
display:block;
}

.global-nav ul{
flex-direction:column;
}

.global-nav li{
border-bottom:1px dashed #ddd;
}

.global-nav li:last-child{
border-bottom:none;
}

section{
margin:10px;
}

.profile-box{
flex-direction:column;
}

.profile-image img{
width:100%;
max-width:320px;
margin:auto;
display:block;
}

}

.global-nav a{
flex:1;
text-align:center;
border-right:1px solid #ddd;
padding-top:8px;
padding-bottom:8px;
}

.global-nav li:last-child a{
border-right:none;
}

.global-nav li{
padding-top:12px;
padding-bottom:12px;
}

.course div{
padding:12px 0;
border-bottom:1px dashed #ddd;
}

.course div:last-of-type{
border-bottom:none;
}

@media (max-width:700px){
.header-inner{
align-items:center;
text-align:center;
}
}

.result-mobile{
display:none;
}

@media (max-width:700px){

.result-mobile{
display:block;
}

}

.result-table{
display:table;
}

@media (max-width:700px){

.result-table{
display:none;
}

}









.result-mobile{
display:none;
}

.result-mobile h3{
margin-top:20px;
font-size:18px;
border-left:4px solid #FDE3C4;
padding-left:8px;
}

.result-mobile ul{
list-style:none;
padding:0;
margin:10px 0;
}

.result-mobile li{
display:flex;
justify-content:space-between;
padding:8px 0;
border-bottom:1px dashed #ddd;
}

.result-mobile li:last-child{
border-bottom:none;
}

@media (max-width:700px){

.result-mobile{
display:block;
}

}

.schedule-table{
width:100%;
border-collapse:collapse;
table-layout:fixed;
}

.schedule-table th,
.schedule-table td{
width:50%;
border:1px solid #ddd;
padding:10px;
vertical-align:top;
}

#pagetop{
position:fixed;
bottom:90px;
right:20px;
width:40px;
height:40px;
background:#ddd;
color:#000;
text-align:center;
line-height:40px;
text-decoration:none;
border-radius:5px;
font-weight:bold;
display:none;
}

#pagetop:hover{
background:#c0c0c0;
}

@media (min-width:701px){
.fixed-contact{
display:none !important;
}
}

.fixed-contact{
position:fixed;
bottom:0;
left:0;
width:100%;
background:rgba(0,0,0,0.3);
padding:8px;
display:none;
}

.fixed-contact a{
display:block;
background:#FFA500;
color:#fff;
text-align:center;
padding:5px;
border-radius:5px;
text-decoration:none;
font-weight:bold;
}

.menu-toggle{
background:#fff;
border:1px solid #ddd;
border-radius:6px;
padding:8px 12px;
margin-top:10px;
margin-left:10px;
margin-bottom:10px;
}

.menu-toggle{
display:none;
}

@media (max-width:700px){

.menu-toggle{
display:block;
}

}

@media (max-width:700px){

.global-nav{
display:none;
}

.global-nav.open{
display:block;
}

}

@media (max-width:700px){

.global-nav a{
border-right:none;
}

}