@import url(https://fonts.googleapis.com/earlyaccess/notosanssc.css);
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: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

body { text-align: center; -webkit-text-size-adjust: 100%; color: #333; background-color: #fff; font-size: 15px; text-align: left; font-family: 'Noto Sans SC', sans-serif; word-wrap: break-word; font-weight: normal; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote { padding: 0; margin: 0; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; }

img { vertical-align: bottom; }

fieldset, img, a img { border: 0; }

a { color: #069fcb; text-decoration: none; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; transition: all 0.25s ease-in-out; }

.link-no { opacity: 0.6; filter: alpha(opacity=60); -ms-filter: "alpha(opacity=60)"; cursor: default; }

a:hover { opacity: 0.6; filter: alpha(opacity=60); -ms-filter: "alpha(opacity=60)"; }

address, caption, cite, code, dfn, em, th, var { font-weight: normal; font-style: normal; }

ol, ul { list-style: none; }

caption, th { text-align: left; }

q:before, q:after { content: ''; }

abbr, acronym { border: 0; }

img { vertical-align: bottom; }

strong { font-weight: bold; }

.align-r { text-align: right; }

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

.clearfix { display: inline-table; }

.cf:before, .cf:after { content: ""; display: table; }

.cf:after { clear: both; }

.mb0 { margin-bottom: 0 !important; }

.left { float: left; }

.right { float: right; }

.align-c { text-align: center; }

.txt-lbl { color: #069fcb; }

.txt-bl { color: #004482; }

.txt-gr { color: #278d87; }

.txt-lbl02 { color: #c6e8ff; }

.txt12 { font-size: 12px !important; }

.txt14 { font-size: 14px; }

.sp { display: none; }

.txt01 { line-height: 1.7; padding-left: 1.1em; text-indent: -1.1em; }

a.arr { position: relative; color: #fff; display: block; padding: 8px 0; }
a.arr::after { border-right: 2px solid #fff; border-top: 2px solid #fff; border-radius: 1px; content: ""; position: absolute; transform: rotate(45deg); -webkit-transform: rotate(45deg); top: 39%; left: 85%; width: 7px; height: 7px; }

span.bg-p { background-color: #ffedf9; }

#message h2, #in-policy h2, section#main h2, #in-policy span.num, div#prof h4, div#in-info dt, section#info h2, section#access h2, section#price h2 { font-family: serif; font-weight: 400; }

hgroup { width: 1000px; overflow: hidden; margin: 0 auto; padding: 10px 0 15px 0; }
hgroup h1 { width: 258px; float: left; }
hgroup dl { float: left; width: 300px; }
hgroup dt { font-size: 16px; color: #278d87; font-weight: bold; margin-bottom: 5px; }
hgroup dd { font-size: 14px; line-height: 1.4; margin-bottom: 3px; }
hgroup div.right { width: 430px; }
hgroup div.right ul#h-lan { float: left; width: 115px; font-size: 14px; text-align: center; }
hgroup div.right ul#h-lan li:nth-child(1) a { background-color: #069fcb; }
hgroup div.right ul#h-lan li:nth-child(2) a { background-color: #278d87; }
hgroup div.right ul#h-lan li:nth-child(3) a { background-color: #004482; }
hgroup div.right ul#h-lan a { width: 100%; margin-bottom: 3px; }
hgroup div.right p { float: right; width: 280px; }

header div.sf-menu { border-top: 1px solid #e3e3e3; width: 100%; }
header ul { width: 1000px; overflow: hidden; margin: 0 auto; text-align: center; }
header ul a { position: relative; color: #333; display: block; padding: 20px 0 20px 20px; width: 310px; float: left; }
header ul a::after { border-right: 2px solid #278d87; border-top: 2px solid #278d87; border-radius: 1px; content: ""; position: absolute; transform: rotate(135deg); -webkit-transform: rotate(135deg); top: 35%; left: 60px; width: 7px; height: 7px; }

section#main { background: url(../../img/main_bg.jpg) no-repeat center top; margin-bottom: 28px; }
section#main div { width: 485px; height: 475px; overflow: hidden; margin: 0 auto; padding-left: 515px; text-align: center; }
section#main h2 { font-size: 38px; color: #004482; padding: 67px 0 30px 0; letter-spacing: 0.1em; }
section#main p { line-height: 2.5; text-align: left; padding: 0 30px; }
section#main h3 { padding-top: 30px; text-align: center; color: #004482; }

section#container { width: 1000px; overflow: hidden; margin: 0 auto 30px auto; }
section#container section#left { float: left; width: 690px; }
section#container #message h2 { color: #004482; font-weight: 500; font-size: 29px; margin-bottom: 15px; padding: 146px 0 0 10px; height: 147px; background: url(../../img/mess_bg.jpg) no-repeat top left; }
section#container #message p { line-height: 1.4; margin-bottom: 10px; }
section#container #in-policy { background: #fff url(../../img/policy_bg02.gif) repeat top left; padding-bottom: 2px; border-left: 14px solid #cae8f9; border-right: 14px solid #cae8f9; }
section#container #in-policy h2 { padding: 25px 0 15px 0; color: #004482; font-weight: 500; font-size: 40px; text-align: center; }
section#container #in-policy h3 { font-size: 14px; text-align: center; margin-bottom: 30px; }
section#container #in-policy dl { width: 586px; margin: 0 auto; }
section#container #in-policy dt { color: #004482; overflow: hidden; font-size: 22px; line-height: 1.4; font-weight: bold; margin-bottom: 20px; padding: 1px 0 5px 5px; border-bottom: 1px solid #cae8f9; border-top: 1px dashed #cae8f9; }
section#container #in-policy dt span.num { font-size: 60px; color: #ffe013; text-indent: 7px; float: left; display: block; width: 30px; }
section#container #in-policy dt span.txt { display: block; float: right; width: 530px; padding-top: 30px; }
section#container #in-policy dd { line-height: 1.7; margin-bottom: 30px; padding-left: 3px; }

ul.lan { font-size: 14px; margin-top: 25px; margin-bottom: 30px; overflow: hidden; }
ul.lan li:nth-child(1) a { background-color: #069fcb; }
ul.lan li:nth-child(2) a { background-color: #278d87; }
ul.lan li:nth-child(3) a { background-color: #004482; }
ul.lan a { padding: 14px 0; margin-right: 15px; width: 220px; text-align: center; margin-bottom: 3px; float: left; }
ul.lan li:last-child a { margin-right: 0; }

aside#right { width: 280px; padding-top: 32px; float: right; }
aside#right div#prof { width: 240px; margin-bottom: 35px; padding: 18px 20px 1px 20px; background-color: #f0fffa; line-height: 1.4; }
aside#right div#prof h4 { margin: 10px 0; color: #278d87; font-weight: bold; line-height: 1.4; }
aside#right div#prof dt { color: #278d87; line-height: 1.0; border-left: 6px solid #278d87; padding-left: 9px; font-weight: bold; margin-bottom: 8px; }
aside#right div#prof dd { font-size: 14px; margin-bottom: 17px; }
aside#right div#blog { display: none; }
aside#right h2#s-tl { color: #004482; font-size: 20px; border-bottom: 2px solid #004482; border-top: 2px solid #004482; padding: 12px 0; font-weight: bold; margin-bottom: 15px; text-align: center; }
aside#right address { display: block; line-height: 1.4; padding-left: 15px; margin-bottom: 20px; }
aside#right #s-time h3 { background-color: #278d87; color: #fff; text-align: center; padding: 10px 0; margin-top: 25px; }
aside#right #s-time table { margin-bottom: 15px; width: 280px; border-collapse: collapse; border-spacing: 0; border-right: 1px solid #9dd2cf; border-bottom: 1px solid #9dd2cf; font-size: 15px; }
aside#right #s-time td { background-color: #fff; line-height: 1.4; }
aside#right #s-time th, aside#right #s-time td { padding: 11px 8px; border-top: #9dd2cf 1px solid; border-left: #9dd2cf 1px solid; }
aside#right #s-time th { text-align: center; background-color: #f0fffa; color: #278d87; }

section#info { background: #e5f2fb url(../../img/bg.jpg) repeat-x top center; padding: 50px 0; }
section#info h2 { color: #004482; font-weight: bold; font-size: 40px; margin-bottom: 15px; text-align: center; }

div#in-info { width: 1000px; margin: 0 auto; overflow: hidden; }
div#in-info div { width: 470px; }
div#in-info div:nth-child(1) dt { background: url(../../img/ico01.gif) no-repeat 0 40%; }
div#in-info div:nth-child(2) dt { background: url(../../img/ico02.gif) no-repeat 0 40%; }
div#in-info div p { text-align: center; margin-bottom: 15px; width: 210px; float: left; }
div#in-info div dl { width: 230px; padding-top: 50px; float: right; }
div#in-info div dt { color: #004482; font-size: 24px; margin-bottom: 5px; font-weight: bold; padding-left: 38px; line-height: 1.3; }
div#in-info div dd { line-height: 1.4; }

section#access { width: 1000px; margin: 0 auto; overflow: hidden; padding: 70px 0 40px 0; }
section#access h2 { color: #004482; font-weight: bold; font-size: 40px; margin-bottom: 40px; text-align: center; }
section#access div.left { width: 470px; }
section#access div.left h3 { color: #278d87; font-weight: bold; margin-bottom: 15px; font-size: 24px; }
section#access div.left address { display: block; margin-bottom: 15px; }
section#access div.left span.tel-li { font-weight: bold; color: #004482; font-size: 24px; }
section#access div.left p { line-height: 1.4; }
section#access div.left ul { color: #278d87; line-height: 1.4; margin: 10px 0 15px 0; font-size: 14px; }
section#access div.left li{margin-bottom: 3px;}
section#access div.left table { margin-bottom: 18px; width: 468px; border-collapse: collapse; border-spacing: 0; border-right: 1px solid #9dd2cf; border-bottom: 1px solid #9dd2cf; }
section#access div.left td { background-color: #fff; }
section#access div.left th, section#access div.left td { padding: 8px 2px; font-size: 13px; line-height: 1.3; text-align: center; border-top: #9dd2cf 1px solid; border-left: #9dd2cf 1px solid; }
section#access div.left th { text-align: center; background-color: #f0fffa; color: #004482; }
section#access div.left td span.txt-bl { font-size: 18px; }
section#access div.left ul#ac-p { overflow: hidden; width: 470px; }
section#access div.left ul#ac-p li { float: left; }
section#access div.left ul#ac-p li:nth-child(1) { margin-bottom: 10px; }
section#access div.left ul#ac-p li:nth-child(2) { margin-bottom: 10px; }
section#access div.left ul#ac-p li:nth-child(even) { float: right; }
section#access div.right { width: 498px; }
section#access div.right iframe { width: 100%; height: 500px; }
section#access div.right ul { margin-top: 10px; }
section#access div.right li { margin-bottom: 7px; line-height: 1.4; padding-left: 1.2em; text-indent: -1.2em; }

div#f-lan { border-top: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; padding: 35px 0; }
div#f-lan ul.lan { width: 700px; margin: 0 auto; }

footer { padding: 35px 0 20px 0; font-size: 14px; text-align: center; color: #9d9d9d; }
footer a { color: #9d9d9d; text-decoration: none; }
footer .txt-bl { margin-bottom: 10px; }

section#price { padding: 40px 0; background: url(../../img/bg_grid.gif) repeat; }
section#price h2 { color: #004482; font-weight: bold; font-size: 40px; margin-bottom: 15px; text-align: center; }
section#price h3 { color: #ff5a8b; text-align: center; margin-bottom: 25px; }
section#price div#in-price { width: 1000px; margin: 0 auto; overflow: hidden; }
section#price div.left, section#price div.right { width: 490px; }
section#price table { width: 488px; border-collapse: collapse; border-spacing: 0; border-right: 1px solid #d9d9d9; border-bottom: 1px solid #d9d9d9; }
section#price td { background-color: #fff; padding: 5px 10px; }
section#price th, section#price td { line-height: 1.4; font-size: 15px; border-top: #d9d9d9 1px solid; border-left: #d9d9d9 1px solid; }
section#price th { padding: 8px 10px; text-align: center; background-color: #278d87; color: #fff; font-weight: normal; }
section#price ul { margin-top: 20px; font-size: 15px; line-height: 1.4; }
section#price li { margin-bottom: 8px; padding-left: 1em; text-indent: -1em; }

.bg-lb { background-color: #e5f2fb !important; }
.bg-lg { background-color: #f0fffa !important; }
.bg-ly { background-color: #fffed9 !important; }
.bg-b { background-color: #004482 !important; }
.f-btn ul{display: none;}

aside#right .side-staff{padding: 0 0 25px 15px;}

@media screen and (max-width: 768px) { body { font-size: 15px; font-family: sans-serif; font-weight: 400; padding-bottom: 40px;}
  img { width: 100%; height: auto; }
  .left, .right { float: none; }
  .pc { display: none; }
  .sp { display: block !important; }
  hgroup { width: 95%; margin: 0 auto; padding: 15% 0 10px 0; }
  hgroup h1 { width: 40%; }
  hgroup dl { width: 43%; font-size: 13px; padding: 0 0 0 2%; }
  hgroup dt { font-size: 13px; margin-bottom: 0; }
  hgroup dd { font-size: 11px; }
  hgroup p.sp { width: 13%; float: right; }
  hgroup div.right { width: auto; }
  hgroup div.right ul#h-lan { float: none; width: 100%; font-size: 14px; position: absolute; top: 0; left: 0; display: table; }
  hgroup div.right ul#h-lan li { display: table-cell; width: 33.3% !important; }
  hgroup div.right ul#h-lan a { margin-bottom: 0; padding: 15px 0; }
  hgroup div.right p { display: none; }
  ul.lan { margin-top: 20px; margin-bottom: 0; width: 100%; display: table; }
  ul.lan li { display: table-cell; width: 33.3% !important; }
  ul.lan a { padding: 15px 0; margin-right: 0; width: 100% !important; margin-bottom: 0; float: none; }
  p#btn-menu { width: 100%; text-align: center; display: block; border-bottom: 1px solid #e3e3e3; border-top: 1px solid #e3e3e3; }
  p#btn-menu a { width: 100%; color: #004482; padding: 15px 0; margin-bottom: 2px; }
  .nav-open, .nav-close { display: none; text-decoration: none; text-transform: uppercase; }
  .nav-open { display: block; text-align: center; }
  #main-navigation:target .nav-open { display: none; }
  #main-navigation:target .nav-close { display: block; }
  #main-navigation > .sf-menu { position: relative; text-align: left; }
  #main-navigation > .sf-menu > ul { top: 0; left: 0; width: 100%; max-height: 0; background-color: #fff; overflow: hidden; }
  #main-navigation:target > .sf-menu > ul { max-height: 400px; overflow: visible; }
  #main-navigation > .sf-menu > ul > li { float: none; display: block; border-bottom: 1px solid #e3e3e3; }
  #main-navigation > .sf-menu > ul > li:after { display: none; }
  #main-navigation li a { float: none; display: block; }
  .sf-menu li { margin-bottom: 0; }
  header div.sf-menu { border-top: none; width: 100%; }
  section#main { background: none; margin: 0 0 30px 0; }
  section#main div { width: 90%; height: auto; margin: 0 auto; padding-left: 0; }
  section#main h2 { font-weight: bold; font-size: 27px; padding: 20px 0 10px 0; letter-spacing: 0.1em; }
  section#main p { line-height: 1.7; text-align: left; padding: 0; }
  section#main h3 { padding-top: 5px; }
  section#container { width: 100%; margin: 0 auto 20px auto; }
  section#container section#left { float: none; width: 100%; }
  section#container #message h2 { font-size: 19px; font-weight: bold; margin-bottom: 0px; padding: 50px 0 0 0; text-align: center; height: 90px; background: url(../../img/mess_bg_sp.jpg) no-repeat top left; background-size: 100% auto; }
  section#container #message h2 span { padding: 10px 0 10px 0; display: block; background: url(../../img/mess_bg_sptxt.png) repeat top left; }
  section#container #message h2 h3 { text-align: left; }
  section#container #message p { padding: 0 2.5% 0 5%; line-height: 1.7; }
  section#container #in-policy { background: #fff url(../../img/policy_bg02.gif) repeat top left; padding-bottom: 2px; border-left: none; border-right: none; }
  section#container #in-policy h2 { padding: 30px 0 10px 0; font-weight: bold; font-size: 27px; }
  section#container #in-policy h3 { line-height: 1.4; margin-bottom: 15px; }
  section#container #in-policy dl { width: 100%; }
  section#container #in-policy dt { margin-bottom: 10px; padding: 0 0 1px 5px; line-height: 1.4; }
  section#container #in-policy dt span.num { font-size: 50px; text-indent: 5%; width: 15%; }
  section#container #in-policy dt span.txt { font-size: 18px; width: 85%; padding-top: 6%; }
  section#container #in-policy dd { line-height: 1.4; margin-bottom: 20px; padding: 0 2.5% 0 5%; }
  aside#right { width: 100%; padding-top: 0; float: none; }
  aside#right div#prof { width: 90%; margin-bottom: 20px; padding: 15px 5%; }
  aside#right div#prof p#prof-p { width: 85%; margin: 0 auto; }
  aside#right div#prof h4 { margin: 10px 0; }
  aside#right p#bnr-tel { width: 85%; margin: 0 auto; }
  aside#right #s-time h3 { padding: 15px 0; margin-top: 20px; }
  aside#right #s-time table { margin-bottom: 10px; width: 100%; }
  section#info { padding: 30px 5% 20px 5%; }
  section#info h2 { font-size: 27px; font-weight: bold; margin-bottom: 15px; }
  div#in-info { width: 100%; display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  div#in-info div { float: left; width: 47.5%; margin-right: 5%; }
  div#in-info div dt { padding-top: 4px; padding-bottom: 4px; }
  div#in-info div:nth-child(2) { margin-right: 0; }
  div#in-info div p { text-align: center; margin-bottom: 15px; width: auto; float: none; }
  div#in-info div dl { width: auto; padding-top: 0; float: none; }
  div#in-info div dt { color: #004482; font-size: 18px; padding-left: 35px; }
  div#in-info div dd { font-size: 14px; }
  section#access { width: 90%; padding: 30px 5% 20px 5%; }
  section#access h2 { font-size: 27px; margin-bottom: 15px; }
  section#access div.left { width: 100%; margin-bottom: 15px; }
  section#access div.left h3 { margin-bottom: 10px; font-size: 18px; }
  section#access div.left address { line-height: 1.4; margin-bottom: 10px; }
  section#access div.left p { line-height: 1.4; }
  section#access div.left span.tel-li { font-size: 18px; }
  section#access div.left table { width: 100%; }
  section#access div.left th, section#access div.left td { padding: 8px 2px; }
  section#access div.left td span.txt-bl { font-size: 16px; }
  section#access div.left ul#ac-p { width: 100%; }
  section#access div.left ul#ac-p li { width: 49%; }
  section#access div.right { width: 100%; }
  section#access div.right iframe { width: 100%; height: 250px; }
  div#f-lan { border-top: none; padding: 0 0 20px 0; }
  div#f-lan ul.lan { width: 100%; }
  footer { padding: 20px 2.5% 15px 2.5%; font-size: 13px; line-height: 1.4; }
  footer .txt-bl { margin-bottom: 5px; }
  section#price { padding: 20px 0; }
  section#price h2 { font-size: 27px; margin-bottom: 10px; }
  section#price h3 { margin-bottom: 20px; }
  section#price div#in-price { width: 95%; }
  section#price div.left, section#price div.right { width: 100%; }
  section#price table { width: 100%; }
  section#price th, section#price td { font-size: 14px; }
  section#price th { padding: 5px 7px; }
  section#price ul { margin-top: 10px; font-size: 14px; }
	.f-btn { position: fixed; left: 0; bottom: 0; z-index: 1000; width: 100%; padding: 6px 2.5%; background-color: rgba(0, 0, 0, 0.2); box-sizing: border-box;}
	.f-btn ul{
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
		display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between;
	}
	.f-btn li{
		margin: 0;
		padding: 0;
		font-size:14px;
		width: 49%;
		text-align: center;
	}
	.f-btn li a { padding: 10px 0; display: block; color: #fff; text-decoration: none; text-align: center;-moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;}
	.f-btn li.btn-yoyaku a { background-color: #004482;}
	.f-btn li.btn-mail a{background-color: #069fcb;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) { hgroup { padding-top: 10%; }
  hgroup h1 { width: 30%; }
  hgroup dl { width: 55%; padding: 5px 0 0 2%; }
  hgroup dt { font-size: 15px; margin-bottom: 5px; }
  hgroup dd { font-size: 13px; }
  hgroup p.sp { width: 10%; }
  div#in-info div dt { padding-top: 4px; padding-bottom: 4px; }
  div#in-info div:nth-child(1) dt { margin: 0; }
  div#in-info div:nth-child(4) { margin-right: 0; } }
