@charset "UTF-8";

section::after{ content:""; display:block; clear:both; }

section.mainpage .box{ display:flex; }
section.mainpage .box  a{ display:block; flex:1 1 30%; border:1px solid #ddd; margin:0.5rem; padding:0.5rem; }
section.mainpage .box strong,
section.mainpage .box span{ display:block; }
section.mainpage .box img{ margin-bottom:0.5rem }

section.intro div{ float:right; max-width:30%; margin-left:0.5rem; }
#content section.intro h2{ clear:none; background:none; border:0; margin:1rem 0; padding:0; font-size:1.7rem; color:#f00; text-shadow:2px 2px 1px #ccc; }
#content section.intro h2::before{ display:none; }

section.topics.typeA dl{ border:1px solid #ddd; padding:1rem; }
section.topics.typeA dt{ clear:both; float:left; width:8em; margin-bottom:0.5rem; }
section.topics.typeA dd{ overflow:hidden; margin:0 0 0.5rem 0; border-left:3px solid #999; padding-left:0.5rem; }
section.topics.typeA dl::after{ content:""; display:table; clear:both; }

section.topics.typeB dl{ border:1px solid #ddd; padding:0; min-height:8rem; }
section.topics.typeB dt{ clear:both; float:left; width:8em; padding:0.5rem 0 0 0.5rem; }
section.topics.typeB dt::before{ content:"≫ "; color:#999; font-size:0.9rem; }
section.topics.typeB dd{ margin:0; padding:0.5rem 0.5rem 0.5rem 9.5rem; border-bottom:1px dotted #ccc; }
section.topics.typeB dl::after{ content:""; display:table; clear:both; }

section.topics.typeC dl{ border:1px solid #ddd; padding:1rem; }
section.topics.typeC dd + dt{ margin-top:0.5rem; }

section.topics.typeD dl{ padding:0 0.5rem; }
section.topics.typeD dt{ font-weight:normal; font-size:90%; color:#000; }
section.topics.typeD dd{ margin-left:0; }
section.topics.typeD dd + dt{ border-top:1px solid #ccc; padding-top:0.5rem; margin-top:0.5rem; }

section.telfax th,
section.telfax td{ vertical-align:middle; }
section.telfax td{ text-align:center; font-weight:bold; font-size:120%; }
section.telfax .tel{ font-size:150%; color:#900; }

section.mailform input[name="name"]{ width:100%; max-width:20em; }
section.mailform input[name="email"]{ width:100%; max-width:25em; }
section.mailform textarea{ height:8em; }
section.mailform .submit{ padding:0; text-align:center; }
section.mailform .submit li{ display:inline-block; }

section.text .img1{ float:right; max-width:40%; }
section.text .img2{ text-align:center; }
section.text .img2 img{ max-width:40%; }

#content section.price h2{ color:#900; }
#content section.price h3{ font-size:1.1rem; }
section.price h2 span{ display:inline-block; font-size:80%; color:#666; vertical-align:middle; }
section.price td{ text-align:center; }
section.price p{ text-align:right; }
section.price th span{ color:#f00; }


/* widget */

.widget.tel{ border:1px solid #ccc; border-radius:5px; }
.widget.tel p{ margin:4px; border:1px solid #ccc; padding:5px; text-align:center; }
.widget.tel strong{ display:block; font-size:160%; line-height:1; }

.widget.mail{ border:1px solid #ccc; border-radius:5px; }
.widget.mail a{ display:block; margin:2px; padding:5px; text-align:center; background:linear-gradient(to bottom,#f8f8f8 0%,#ddd 100%); border-radius:3px; }
.widget.mail a::after{ content:" ≫"; }


/* mediaquery */

@media screen and (max-width:640px){
	section.topics dt{ float:none; margin:0; }
	section.topics dd{ margin:0 0 0.5rem 1rem; }
}
@media screen and (max-width:480px){
	section.mainpage .box{ display:block; }
}