@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

body, html {
    width: 100%;
	margin:0;
	padding: 0;
	font-family: brandon-grotesque, source-han-sans-japanese, sans-serif, "???S?V?b?N", "?q???M?m?p?S Pro W3", "???C???I",Meiryo,'?l?r ?o?S?V?b?N', sans-serif;
	font-size: 14px;
	line-height: 1.8em;
	min-width: 360px;
	scroll-behavior: smooth;
}
	

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/*              clearfix                         */ 

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

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/*             footer                       */ 

#footer {
	position: fixed;
	bottom: 0;
	padding: 15px 0;
	background: #a2a2a2;
	width: 100%;
	display: flex;
	font-size: 14px;
	line-height: 20px;
	justify-content: space-between;
}

.font-size {display: flex;}
.font-size ul { display: flex;}
.font-size ul li a, #gotop a {
	display: block;
	font-size: 14px;
	color: #fff;
	padding: 5px 10px;
	margin: 2px;
	background: #222;
	text-decoration: none;
	border-radius: 5px;
	font-weight: 500;
}
	
.font-size ul li a:hover { background: #46a26d;}

.p1 { font-size: 12px; font-weight: 500; padding: 8px; vertical-align: middle;}
	
#gotop a{
	margin: 0 10px 3px 0;
}

.image100 { padding: 2%;}
.image100 img { width: 100%;}

/*              header                         */ 
@media screen and (min-width: 768px) {
header {
	display: flex;
	justify-content: space-between;
}
}
@media screen and (min-width: 900px) {

header > div:first-child, header > div:last-child{ width: 30%;}
header > div:nth-child(2) { width: 40%; text-align: center;}
}
@media screen and (min-width: 769px) and (max-width:899px) {
header > div:first-child{ width: 0;}
header > div:last-child{ width: 50%;}
header > div:nth-child(2) { width: 50%; text-align: center;}
}
@media screen  and (max-width:768px) {
header > div:nth-child(2) { width: 360px; margin: auto; text-align: center;}
	
}


header {
	width: 100%;
	background: #fef9e7;
	border-bottom: solid 1px #ccc;
	border-top: solid 2px #f7cd45;
	padding-bottom: 20px;
}


#site-name {
	text-align: center;
	width: 360px;
	background: url(../images/tooth_02.png) no-repeat;
	background-size:auto 40px ;
	background-position:right bottom;
	padding-right: 50px;
}	

#site-name a{
	margin: 15px 0;
	font-size: 25px;
	text-decoration: none;
	color: #555;
	font-family:kan415typos-std, sans-serif;
	letter-spacing: .2em;
}

#site-name a span{
	font-size: 16px;
	display: block;
	text-align: left;
	padding-left: 75px;
}

.h-eng {
	font-family: fredericka-the-greatest;
	font-size: 15px;
	letter-spacing: 1px;
	color: #555;
}

.a-info {
	text-align: center;
	padding: 15px 2% 0 0;
	line-height: 1.8em;
}
.a-info span{
	font-size: 28px;
	display: block;
	margin-top: 5px;
	font-family: maecenas, serif; 
}

@media screen and (max-width: 767px) {
.a-info div { display: inline; padding-left: 1em;}
.a-info span{ font-size: 18px;}
#header-name h1 { margin: auto;}


} 

/*              navigation                         */ 
@media screen and (min-width: 768px) {

#dropmenu {
  list-style-type: none;
  padding: 0;
  border-top: solid 1px #f7cd45;
  margin-bottom: 25px;
}
#dropmenu li {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
#dropmenu li a {
  display: block;
  margin: 0;
  padding: 25px 0;
  background: #f7cd45;
  color: #222;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  border-right: solid 1px #fbe6a4;
}
nav > ul > li:nth-child(1){ width: 15%;}
nav > ul > li:nth-child(2){ width: 13%;}
nav > ul > li:nth-child(3), nav > ul > li:nth-child(6){ width: 16%;}
nav > ul > li:nth-child(4){ width: 18%;}
nav > ul > li:nth-child(5){ width: 22%;}


#dropmenu li ul {
  list-style: none;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}

#dropmenu li:nth-child(2) ul { min-width: 240px;width: 100%;}
#dropmenu li:nth-child(3) ul { min-width: 190px; width: 100%;}


#dropmenu li ul li {
  overflow: hidden;
  width: 100%;
  height: 0;
  color: #fff;
  transition: .2s;
  white-space: nowrap;
}
#dropmenu li ul li a {
  padding: 13px 15px;
  background: #f7cd45;
  text-align: left;
  font-size: 13px;
  font-weight: normal;
  line-height: 23px;
}
#dropmenu > li:hover > a {  background: #e38511; }
#dropmenu > li:hover li:hover > a {  background: #e38511; }
#dropmenu > li:hover > ul > li {
  overflow: visible;
  height: 38px;
}
#dropmenu li ul li ul {
  top: 0;
  left: 100%;
}
#dropmenu li:last-child ul li ul {
  left: -100%;
  width: 100%;
}
#dropmenu li ul li ul:before {
  position: absolute;
  content: "";
  top: 13px;
  left: -20px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left-color: #454e08;
}
#dropmenu li:last-child ul li ul:before {
  position: absolute;
  content: "";
  top: 13px;
  left: 200%;
  margin-left: -20px;
  border: 5px solid transparent;
  border-right-color: #454e08;
}
#dropmenu li ul li:hover > ul > li {
  overflow: visible;
  height: 38px;
}
#dropmenu li ul li ul li a {  background: #f7cd45; }
#dropmenu li:hover ul li ul li a:hover {  background: #e38511; }
}

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
/*            common                         */

ul { list-style: none;}

p, .br-i {text-indent: 1em;}

.head-line { border-top: solid 1px #aaa; margin-top: 1.5em; padding-top: 1.5em;}

.f-weight600 { font-weight: 600;}

a { text-decoration: none; color: #0c4994;}
a:hover { color: #346d21; text-decoration: underline;}

.wsnw { display: inline-block;}

.h2-indent { margin-left: 2em;}

.bread ul { margin: 1em;}
.bread ul li { display: inline;}

h1.c-top {
	font-size: 22px;
	padding-top: 20px;
	padding-right: 0;
	padding-bottom: 7px;
	border-bottom: solid 1px #ccc;
	background: url(../images/tooth_01.png) no-repeat;
	background-size: 45px;
	background-position: bottom 2px left 0;
	text-indent: 40px;
	margin: 45px 0;
	text-indent: 1.5em;
	padding-left: 2.5em;
}

.bread ul { margin: 1em;}
.bread ul li { display: inline;}

.head-line { border-top: solid 1px #aaa; margin-top: 1.5em; padding-top: 1.5em;}

ul.list, ol.list {
	margin-left: 2em;
}

.image100 { padding: 2%;}
.image100 img { width: 100%;}

#family h2, #link h2, #workshop h2, #external h2, #a9016 h2, #make-health h2, .recent h2, .information h2, .schedule h2, .temporary h2{
	font-size: 16px;
	padding: 10px;
	border-left: solid 5px #ff8000;
	margin: 45px 0;
}

#link th, .wsnwp { white-space: nowrap;}


/*             container                         */ 


#container {
	max-width: 1200px;
	margin: 0 auto 100px auto;
	padding: 40px 1.5%;
}


/*             index                        */ 
.multiple {
  padding: 0;
}
.multiple img {
  width: 100%;
}


.top-navi ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top-navi li { width: 24%;}
.top-navi li a {
	 margin: 2em 0;
	 color: #9d3300;
	 background: radial-gradient(#ffdbca, #ffba75);
	 border-bottom: solid 6px #d74600;
	 box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
	 border-radius: 9px;
	 font-weight: 700;
	 font-style: normal;
	 padding: 20px 0 50px 0;
	 font-size: 18px;
	 cursor: pointer;
	 display: block;
	 text-decoration: none;
	 white-space: nowrap;
	 text-align: center;
}



.box { position: relative;}

.top-navi li img {
	position: absolute;
	width: 40px;
	bottom: 10px;
	right: 10px;
}

.top-navi li a:hover { color: #222;	 text-shadow: 0 0 3px #fff;}

@media screen and (max-width: 910px) {
.top-navi li a {	 font-size: 16px;}
}

@media screen and (max-width: 785px) {
.top-navi li { width: 48%;}
.top-navi li a { margin: 1em 0;}
}

@media screen and (min-width: 600px) {
	.top-info {
		display:flex;
		width: 100%;
		justify-content: space-between;
	}
	.top-info > div{ width: 49%;}
}

@media screen and (max-width: 599px) {
	.top-info > div { border: solid 1px #aaa; width: 98%; margin:15px auto;}
}

.top-info iframe { width: 100%;}

.dr-name { position: absolute; bottom: 2px; text-align: center; width: 100%; font-weight: 600;}

.top-info > div { padding: 15px;}




.toppage-link ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2em 0;
}

.toppage-link ul li {
	width: 180px;
	margin: 15px 0;
}

.toppage-link ul li:nth-child(n+2) a{
	display: block;
	color: #fff;
	padding: 20px 0;
	text-align: center;
	font-size: 16px;
	font-weight: 800;
	white-space: nowrap;
}

.toppage-link ul li:nth-child(1) a{
	display: block;
	text-align: center;
}

.toppage-link ul li:nth-child(n+2) a:hover{
	text-decoration: none;
	background: url(../images/bg3.png) no-repeat;
	color: #111;
	text-shadow: #fff 0px 0px 4px;
	background-size: cover;
}

.toppage-link ul li:nth-child(1){	background: url(../images/bg0.png) no-repeat; background-size: cover;}
.toppage-link ul li:nth-child(2){	background: url(../images/bg1.png) no-repeat; background-size: cover;}
.toppage-link ul li:nth-child(3){	background: url(../images/bg2.png) no-repeat; background-size: cover;}
.toppage-link ul li:nth-child(4){	background: url(../images/bg4.png) no-repeat; background-size: cover;}
.toppage-link ul li:nth-child(5){	background: url(../images/bg5.png) no-repeat; background-size: cover;}


/*            generation                         */

.bg1 { background: linear-gradient(to right, #fff, #ffff00);}
.bg2 { background: linear-gradient(to right, #fff, #ff8040);}
.bg3 { background: linear-gradient(to right, #fff, #ff0000);}
.bg4 { background: linear-gradient(to right, #fff, #0000ff);}
.bg5 { background: linear-gradient(to right, #fff, #008040);}

.generations h1 {
	font-size: 20px;
	padding: 20px 0 7px 1em;
	border-bottom: solid 1px #ccc;
	margin: 10px 0;
}

ul.link { display: flex; margin: 15px 0 15px 2em; }

.link li a{
	background: url(../images/arrow.png) no-repeat;
	background-size: contain;
	background-position: right;
	padding-right: 2.5em;
	text-decoration: none;
	color: #cc4200;
	line-height: 1.8em;
	margin-right: 2em;
	font-weight: 600;
}

.link li a:hover{ color: #0000a8;}


/*           event                         */

.fusso45 p { margin: 0 ;}

@media screen and (min-width: 769px) {
.fusso45 { display: flex; justify-content: space-between;}
.report1 {	width: 35%;}
.a-text {	width: 65%;}
}

.a-text {
	padding: 15px 25px;
}
.report1 {
	border: dashed 1px #aaa;
	padding: 15px;
	background: #e8f8ff
}

.part-list {
	padding: 5%;
	border: solid 1px #aaa;
	border-radius: 10px;
}

@media screen and (min-width: 768px) {
.a9016 {
	display: flex;
}
}
.a9016 li{ white-space: nowrap;}
.a9016 > div { padding: 15px;}
.a9016 td, #silver ul li { border-bottom: dashed 1px #039;}

.silver1 { margin: 25px 0;}

@media screen and (min-width: 769px) {
table.silver { width: 100%; margin: auto;}
.ex-image { float: right; width: 50%; max-width: 450px; padding-left: 20px;}
.mobile {display: none;}
}

.ex-image img { width: 100%;}

#free ul { display: flex; flex-wrap: wrap; justify-content: space-between;}
#free ul li a { display: block; border: solid 1px #aaa; margin: 1em; padding: 15px; background: #fee7ba; white-space: nowrap; color: #222;}
#free ul li a:hover { background: #cadaee;}


/*            ?????t?????                       */ 

#aboutus h3{
	font-size: 120%;
	margin-bottom: .5em;
}
#aboutus li{
	margin-bottom: 1em;
}

.message {
	font-size: 120%;
	margin: 2em;
}

.about-image {
	float: right;
	padding: 25px;
}
.about-image img{ width: 100%;}
@media screen and (max-width: 768px) {
.about-image { width: 40%; padding: 10px;}
}

.about-info {
	display: flex;
}

.about-info div { padding: 15px;}


/*            ?????t?????                       */ 

.yakuin-list ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.yakuin-list ul li	{
	max-width: 150px;
	margin: 1%;
	margin-bottom: 20px;
}
.yakuin-list ul li img {
	width: 100%;
	box-shadow: 4px 4px 5px #aaa;
}
.position {
	height: 70px;
	text-align: center;
	position: relative;
	font-size: 90%;
	line-height: 1.2em;
}

.dr-name { position: absolute; bottom: 2px; text-align: center; width: 100%; font-weight: 600; font-size: 120%;}


/*          ?e??????P????              */ 

.inner-project h2 {
	font-size: 18px;
	margin: 25px 0 25px 0;
	background: #0b7568;
	color: #fff;
	padding: 7px;
	border-radius: 5px;
}
.contents {
	margin: 25px 0 25px 25px;
	padding: 25px;
	border: solid 1px #aaa;
	border-radius: 5px;
}

.f700 { font-weight: 700;}

.contents table td, .contents table th{
	border: solid 1px #666;
	padding: 7px 12px;
}
.contents table th {
	white-space: nowrap;
	 background: linear-gradient(#42b9c6, #6dc9d3, #42b9c6);
	 vertical-align: middle;
	 font-size: 90%;
}

.zaitaku, ul.houmon-shisetsu { display: flex; flex-wrap: wrap;}
.zaitaku div img { margin: 1%;}
.zaitaku div img { width: 48%;}
@media screen and (min-width: 769px) {
.zaitaku div{ width: 50%; padding: 15px;}
}

@media screen and (max-width: 768px) {
ul.houmon-shisetsu li {
	width: 48%;
	margin: 1%;
}
}


.zei {
	width: 100%;
	max-width: 800px;
	margin: auto;
	padding: 15px;
}
.zei img, ul.houmon-shisetsu li img { width: 100%;}

ul.houmon-shisetsu li {
	width: 23%;
	margin: 1%;
}

.shisetsu-data { margin-top: 1em;}

#seijin-kenshin, #kourei-kenshin, #ninpu-kenshin, #kigyou-kenshin, #all-kumin, #shougai-kenshin{
	height: 100px;
}

/*           ??O?I???????              */ 

.silver-outer { display: flex; flex-wrap: wrap;}
td.td2em { height: 65px;}
.fusso-1 table, .eighty table{ width: 100%; margin: auto;}
.fusso-1 td, .eighty td { text-align: right;}
.fusso-1 tr:first-child { background: #236f9c; color: #fff;}
.eighty tr:first-child { background: #667946; color: #fff;}
.silver tr:first-child {background: #a87217; color: #fff;}
.fusso-1 tr:nth-child(even) {background: #c1ebff;}
.eighty tr:nth-child(even) {background: #dce7d6;}
.silver tr:nth-child(even) {background: #ffebe1;}

@media screen and (max-width: 768px) {
.pc { display: none;}
table.silver { width: 100%; margin: auto;}
.fusso-1, .eighty { width:100%; overflow-x: scroll;overflow-y:hidden;}
.fusso-1 table, .eighty table { width: 700px;}
}
table.silver th, table.silver td, .fusso-1 td, .fusso-1 th, .eighty td , .eighty th { border: solid 1px #aaa; padding: 7px; font-size: 12px;}
.silver tr td:nth-child(2), .silver tr td:nth-child(5) { text-align: right;}
.silver tr td:nth-child(3), .silver tr th:nth-child(3) {border-right: double 3px #aaa;}


/*           ????????                       */ 



.f-1, .f-3, .f-8 {
	border: solid 1px #aaa;
	padding: 15px;
	width: 100%;
	max-width: 800px;
	margin: auto;
}

.f-8 {display: flex;}
.f-8 div{ width: 50%;}
	
.f-1 table, .f-3 table {width: 100%;}

.f-1 table td, .f-3 table td{ text-align: center; padding: 7px;}
.f-1 table td { width: 50%;}
.f-2, .f-4, .f-5, .f-6, .f-7 { border-radius: 10px;padding: 5px;}
.f-2 { background: #005f8c; color: #fff;}
.f-4 { background: #1f7452; color: #fff;}
.f-5 { background: #831013; color: #fff;}
.f-6 { background: #606231; color: #fff;}
.f-7 { background: #2d3866; color: #fff;}

.w50 { width: 50%;}
.w25 { width: 25%;}


/*            map                       */ 
.map-outside { position: relative; width: 100%; margin: auto; max-width: 800px;}
.map-outside img { width: 100%; border: solid 5px #f1ca0e;}
.mapname li a { display: block; font-size: 16px; border: solid 1px #aaa; padding: 5px 12px; background: rgb(255,255,255,0.7);}
.mapname li a:hover { background: #eac555;}

.mapname li:nth-child(1){ position: absolute; top: 12%; left: 22%;}
.mapname li:nth-child(2){ position: absolute; top: 20%; left: 30%;}
.mapname li:nth-child(3){ position: absolute; top: 30%; left: 15%;}
.mapname li:nth-child(4){ position: absolute; top: 38%; left: 32%;}
.mapname li:nth-child(5){ position: absolute; top: 36%; left: 55%;}
.mapname li:nth-child(6){ position: absolute; top: 45%; left: 72%;}
.mapname li:nth-child(7){ position: absolute; top: 50%; left: 37%;}
.mapname li:nth-child(8){ position: absolute; top: 50%; left: 57%;}
.mapname li:nth-child(9){ position: absolute; top: 65%; left: 70%;}
.mapname li:nth-child(10){ position: absolute; top: 70%; left: 42%;}
.mapname li:nth-child(11){ position: absolute; top: 85%; left: 50%;}
.mapname li:nth-child(12){ position: absolute; top: 75%; left: 25%;}
.mapname li:nth-child(13){ position: absolute; top: 72%; left: 80%;}


.eachmap {width: 100%;}
.eachmap iframe { width: 100%; height: 500px;}

@media screen and (min-width: 769px) {

.map-module {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.d-list { width: 360px;}

.eachmap {
	width: calc(100% - 360px);
	position: relative;
}
}

@media screen and (max-width: 768px) {
.d-list, .eachmap { width: 100%;}
}


.eachmap:before {
    content:"";
    display: block;
    padding-top: 75%;
}
.map-frame {
	width: 100%;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	border: solid 1px #aaa;
}

.map-frame iframe { width: 100%; height: 100%;}

.d-list iframe { width: 100%; overflow: auto;}

.route-map {width: 100%; max-width: 800px; margin: auto;}
.route-map img { width: 100%;}

/*         QA                       */ 

ul.faq {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	line-height: 2em;
}

.faq li {
	width: 48%;
	margin-left: 1%;
}

.ques, .qanda table th {
font-family: maecenas, serif;
font-weight: 500;
}

ul.faq li a{ color: #00608e; text-decoration: none;}
ul.faq li a:hover { color: #d00000;}

.qanda table th, .qanda table td {
	padding: 10px;
}

.qanda table th { font-size: 32px; width: 60px;}
.qanda table td { width: calc(100% - 60px);}
.qanda table tr:first-child th { color: #008888}
.qanda table tr:last-child th { color: #d20000}
.qanda table { width: 100%;}
.qanda  {
	border-bottom: dashed 1px #039;
	width: 100%;
	padding-top:120px;
	padding-bottom: 20px;
}

.faq1 h2 {
	text-align: center;
	background: #ffb693;
	width: 80%;
	padding: 7px;
	margin: 30px auto -20px auto;
	border-radius: 5px;
}
	

/*            link                       */ 

#link table { width: 100%;}


#link th, #link td {
	text-align: left;
	padding: 7px 5px;
	border-bottom: dashed 1px #039;
}

.renkei {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.renkei li{ 
	white-space: nowrap;
	margin-right: 1.5em;
}


/*           linklist                       */ 

.db-navi {
	margin: 25px auto 50px auto;
	text-align: center;
}
.linklist strong{ border: solid 1px #aaa;	padding:5px;}

.linklist a, a.bn{
	text-decoration: none;
	color: #fff;
}

.linklist a{
	background: #aaa;
	padding:5px;
	border: none;
	margin: 0 5px;
}

a.bn {
	text-align: center;
	border: solid 1px #000;
	background: #222;
	border-radius: 7px;
	padding:5px 10px;
	margin: 5px;
	color: #fff;
}

a.bn:hover, .linklist a:hover { background: #575700;}

@media (min-width: 769px){

#contact {
	display: flex;
	justify-content: space-between;
}

.contact-left, .contact-right {
	width: 49%;
	margin: 2%;
}
}

@media (max-width: 768px){
.contact-left, .contact-right {
	width: 98%;
	margin: 2%;
}
}
#contact { line-height: 3em;}
#contact h2 { 	font-size:20px; }
#contact h3 { 	font-size:16px; }
	
.contact-left {
	border: solid 1px #aaa;
	padding: 20px;
	text-align: center;
}

.contact-right {
	border: solid 1px #aaa;
	padding: 0;
}

.contact-right iframe {
	width: 100%;
	height: 400px;
}