@charset "UTF-8";
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; outline: none; 
font-style: normal; font-weight: normal; text-decoration: none; 
vertical-align: baseline; background: transparent; }
html { color: #000; background: #fff; overflow-y: scroll; font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, sans-serif; }
body { line-height: 1; margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラ ギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }
img { max-width :100%; vertical-align: middle; }
p, li, dt, dd, th, td, pre { -ms-line-break: strict; line-break: strict; -ms-word-break: break-strict; word-break: break-strict}; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
button { cursor: pointer; }
table { border-collapse: collapse; border-spacing: 0; }
caption, tbody th { text-align: left; }
thead th { text-align: center; }
th, td { vertical-align: middle; }
td { text-align: right; }
ol.listKana { list-style-type: katakana; }
ol.listLatin { list-style-type: lower-latin; }
ol.listRoman { list-style-type: upper-roman; }
.clearFix::after { content: ""; clear: both; display: block; height: 0; }
.fRight { float: right; }
.fLeft { float: left; }
.clear { clear: both; }
.algL { text-align: left !important; }
.algR { text-align: right !important; }
.algC { text-align: center !important; }
table.algL thead th, table.algL tbody th, table.algL tbody td { text-align: left; }
table.algR thead th, table.algR tbody th, table.algR tbody td { text-align: right; }
table.algC thead th, table.algC tbody th, table.algC tbody td { text-align: center; }
td.algL, th.algL { text-align: left !important; }
td.algR, th.algR { text-align: right !important; }
td.algC, th.algC { text-align: center !important; }
.txtInd01 { text-indent: 1em !important; }
.kugiriLine { color: #999; margin: 0 0.2em; }
.noWrap { white-space: nowrap !important; }
.noDisp { display: none !important; }
.fS0500 { font-size: 5em !important; }
.fS0300 { font-size: 3em !important; }
.fS0200 { font-size: 2em !important; }
.fS0150 { font-size: 1.5em !important; }
.fS0130 { font-size: 1.3em !important; }
.fS0115 { font-size: 1.15em !important; }
.fS085 { font-size: 0.85em !important; }
.fS070 { font-size: 0.7em !important; }
.tMm03 { margin-top: -3em !important; }
.tMm02 { margin-top: -2em !important; }
.tMm015 { margin-top: -1.5em !important; }
.tMm01 { margin-top: -1em !important; }
.tMm005 { margin-bottom: -0.5em !important; }
.tM00 { margin-top: 0em !important; }
.tM005 { margin-top: 0.5em !important; }
.tM01 { margin-top: 1em !important; }
.tM02 { margin-top: 2em !important; }
.tM03 { margin-top: 3em !important; }
.tM04 { margin-top: 4em !important; }
.tM05 { margin-top: 5em !important; }
.bMm03 { margin-bottom: -3em !important; }
.bMm02 { margin-bottom: -2em !important; }
.bMm015 { margin-bottom: -1.5em !important; }
.bMm01 { margin-bottom: -1em !important; }
.bMm005 { margin-bottom: -0.5em !important; }
.bM00 { margin-bottom: 0em !important; }
.bM005 { margin-bottom: 0.5em !important; }
.bM01 { margin-bottom: 1em !important; }
.bM02 { margin-bottom: 2em !important; }
.bM03 { margin-bottom: 3em !important; }
.bM04 { margin-bottom: 4em !important; }
.bM05 { margin-bottom: 5em !important; }
.lM005 { margin-left: 0.5em !important; }
.lM00 { margin-left: 0em !important; }
.lM01 { margin-left: 1em !important; }
.lM02 { margin-left: 2em !important; }
.lM03 { margin-left: 3em !important; }
.lM04 { margin-left: 4em !important; }
.lM05 { margin-left: 5em !important; }
strong { background: linear-gradient(transparent 40%, #ff9 40%); background: -webkit-linear-gradient(transparent 40%, #ff9 40%); background: -ms-linear-gradient(transparent 40%, #ff9 40%); background: -0-linear-gradient(transparent 40%, #ff9 40%); }
del, ins { margin: 0 0.1em; padding: 0.1em 0.3em; }
del { text-decoration: line-through; }
ins { text-decoration: underline; }
p, ul, ol, dl { line-height: 1.8; }



@media only screen and (max-width: 599px) {
html { font-size: 95%; }
}



@media only screen and (min-width: 600px) {
html { font-size: 100%; }
#pBox0 { padding-bottom: 3em; }
#pBox { width: 98%; margin: 0 auto; }
#pBox::after { content: ""; clear: both; display: block; height: 0; }
.mobile { display: none }
}



@media only screen and (min-width: 900px) {
html { font-size: 100%; }
#pBox { width: 880px; margin: 0 auto; }
#pBox0 { width: 900px; margin: 0 auto; border-left: solid 1px #fff; border-right: solid 1px #fff; position: relative; 
box-shadow: 3px 3px 3px #ccc, -3px 3px 3px #ccc;
border-top: solid 1px #fff; }
}



#pageTop span { display: block; height: 0; overflow: hidden;}
#pageTop { position: fixed; bottom: 50px; right: 20px; z-index: 300; 
width: 50px; height: 50px; font-size: 50px; font-weight: bold; line-height: 1; }
a#pageTop::before { font-family: icomoon; content: "\f0aa"; display: block; position: absolute; left: 0; top: 0; color: #000; opacity: 0.2; }
a#pageTop:hover::before { color: #6492ec; opacity: 0.6; }

@media only screen and (max-width: 599px) {
header { position: fixed; top: 0; width: 100%; background-color: #000; height: 46px; z-index: 1000; }
header h1 { font-size: 1em; margin: 15px 0 10px 8px; color: #fff; }
header h1 a { text-decoration: none; color: #fff; }
#nav-toggle { z-index: 100; cursor: pointer; position: absolute; right: 0; top: 0; width: 58px; height: 46px; }
#nav-toggle span { display: block; position: absolute; left: 22px; height: 3px; width: 24px; background: #fff;
-webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }
#nav-toggle span:nth-child(1) { top: 12px; }
#nav-toggle span:nth-child(2) { top: 20px; }
#nav-toggle span:nth-child(3) { top: 28px; }
.open #nav-toggle span:nth-child(1) { top: 23px;
-webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }
.open #nav-toggle span:nth-child(2) { width: 0; left: 50%; }
.open #nav-toggle span:nth-child(3) { top: 23px;
-webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }
.open nav { -moz-transform: translateY(546px); -webkit-transform: translateY(546px); transform: translateY(546px); }
nav { position: absolute; top: -500px; width: 100%; 
-webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out; }
nav { border: 1px solid #aaa; background-color: #000; }
nav a { color: #fff; text-decoration: none;  line-height: 1.4; font-size: 1.2em; border-top: 1px solid #aaa; 
display: block; position: relative; height: 38px; padding: 10px 55px 15px 25px; }
nav a span { font-size: 12px; color: #fff; display: block; margin-top: 2px; 
overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
nav li a::after { content:">"; color: #fff; background-color: #f90; font-size: 20px; height: 25px; padding: 15px 20px 23px; 
position: absolute; bottom: 0; right: 0; }
nav a.current, nav a:hover { background-color: #666; }
}



@media only screen and (min-width: 600px) {
#nav-toggle { display: none; }
header h1 a { text-decoration: none; color: #333; }
header h1 { font-size: 1em; color: #333; font-weight: normal; padding: 10px 0 0 10px;  height: 23px; position: relative; 
border-bottom: solid 4px #4273DD; margin: 0 15px 23px 0; }
header h1::after { content:""; height: 0; width: 0; position: absolute; right: -25px; top: 11px; z-index: -2; 
border-top: solid 24px transparent; border-bottom: solid 24px transparent; border-right: solid 20px transparent; border-left: solid 20px #4273dd; }
header h1::before { content:""; height: 0; width: 0; position: absolute; right: -19px; top: 11px; z-index: -1; 
border-top: solid 24px transparent; border-bottom: solid 24px transparent; border-right: solid 20px transparent; border-left: solid 20px #fff; }
#pBox, body { overflow: hidden; }
nav ul { list-style: none; border-top: solid 1px #333; border-bottom: solid 1px #333; }
nav li { display: inline; }
nav a { text-decoration: none; display: inline-block; background-color: rgba( 255, 255, 255, 0.7 ); 
border-right: solid 1px #333; line-height: 1; position: relative; 
font-size: 0.9em; height: 4em; line-height: 4em; padding: 0 20px; 
text-shadow: 2px 2px 3px #fff, 2px 2px 3px #fff, -2px 2px 3px #fff, -2px 2px 3px #fff, 2px -2px 3px #fff, 2px -2px 3px #fff, -2px -2px 3px #fff, -2px -2px 3px #fff; }
#topPage nav li:first-child { display: none; }
nav li:last-child { display: none; }
nav a span { background: #fff; border-radius: 7px; border: solid 1px #999; 
color: #00f; font-size: 12px; font-weight: normal; line-height: 1.6; text-align: left; 
position: absolute; top: -48px; left: -60%; height: 40px; width: 200px; padding: 6px 8px; opacity: 0; box-shadow: 0 0 3px 3px #fff;
-webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
nav a span::before, nav a span::after { content: ''; height: 0; width: 0; position: absolute; top: 100%; left: 45%; border: 10px solid transparent; }
nav a span::before { border-top: 15px solid #999; }
nav a span::after { margin-top: -2px; border-top: 15px solid #fff; }
nav a:hover { background-color: #0039AC; color: #fff; text-shadow: none; }
nav a:hover span { top: -58px; opacity: 1; }
nav ul li:nth-child(2) a span { left: -35%; }
nav ul li:nth-child(4) a span { left: -45%; }
nav ul li:nth-child(2) a span::after, nav ul li:nth-child(2) a span::before { left: 95px; }
nav ul li:nth-child(4) a span::after, nav ul li:nth-child(4) a span::before { left: 95px; }
#topPage nav ul li:nth-child(2) a span { left: 5px; }
#topPage nav ul li:nth-child(2) a span::after, #topPage nav ul li:nth-child(2) a span::before { left: 20%; }
}
#footNav ul { text-align: center; font-size: 0.9em; margin-top: 5em; }
#footNav li { display: inline; }
#footNav a { display: inline-block; padding: 0.5em 1em; }
#footNav a:hover { background-color: #ff9; }
@media only screen and (max-width: 599px) {
#footNav { display: none; }
}
#telNum a { color: #000; text-decoration: none; font-weight: bold; }
footer { margin-top: 3em; }
@media only screen and (max-width: 599px) {
footer { margin-top: 2em; }
footer #catchF1 { height: 0; overflow: hidden; width: 206px; padding-top: 154px; margin: 0 auto; 
background-image: url("../../img/common/foot.svg"); background-repeat: no-repeat; background-size: 206px 154px; }
footer div { border-top: dotted 1px #000; margin-top: 1em; }
address #catchF2 { font-size: 1em; text-align: center; margin: 0.5em 0 ; line-height: 1; 
border-bottom: dotted 1px #000; }
address #catchF2 span#catchF2_1 { margin-right: 1em; }
address #catchF2 a { display: inline-block; text-decoration: none; padding: 0.5em 0 ; }
footer #catchF2 span#catchF2_2 { color: #666; font-size: 0.85em; display: block; margin: -10px 0 10px 0; }
#telNum span { display: none; }
#telNum { padding-left: 20px; font-size: 2em; line-height: 1; display: table; margin: 0 auto; }
#telNum::before { font-family: icomoon; content: "\e900"; font-size: 23px; color: #adadad; margin-right: 0; 
display: inline-block; 
-webkit-transform: rotate(10deg); -moz-transform: rotate(10deg); transform: rotate(10deg); }
footer #catchF3 { font-size: 1.2em; margin-top: 0.5em; line-height: 2em; height: 2em; text-align: center; color: #fff; background-color: #000; font-weight: bold; }
}
@media only screen and (min-width: 600px) {
footer { width: 90%; max-width: 650px; font-size: 1em; margin: 100px auto 0; }
#catchF2 span#catchF2_1, #catchF2 span#catchF2_2, #catchF2 a, #catchF3 { padding-left: 20px; }
#catchF1 { height: 0; overflow: hidden; width: 206px; padding-top: 154px; float: left; 
background-image: url("../../img/common/foot.svg"); background-repeat: no-repeat; background-size: 206px 154px; }
footer div { margin-left: 240px; border: solid 3px #346ADE; border-radius: 20px; }
#catchF2 span#catchF2_1 { display: block; color: #fff; background-color: #346ade; line-height: 1.8em; height: 1.8em; margin-bottom: 0.2em; border-radius: 15px 15px 0 0; 
position: relative; }
footer #catchF2 span#catchF2_1::after { font-family: icomoon; content: "\f05a"; color: #346ade; background-color: #fff; line-height: 1; 
display: table-cell; text-align: center; vertical-align: middle; border-radius: 50%; width: 68px; height: 68px; font-size: 66px; 
position: absolute; top: -25px; right: 20px; }
#catchF2 a { display: block; text-decoration: none; color: #000; height: 2.5em; line-height: 2.5em; }
#catchF2 a:hover { color: #00f; text-decoration: underline; }
footer #catchF2 span#catchF2_2 { color: #666; font-size: 0.75em; display: block; margin-top: -40px; }
#telNum span { display: none; }
#telNum { padding-left: 20px; font-size: 2.3em; font-weight: bold; line-height: 1; text-shadow: -2px 2px 0 #fff; }
#telNum::before { font-family: icomoon; content: "\e900"; font-size: 25px; color: #adadad; margin-right: 3px; 
display: inline-block; position: relative; top: -5px; 
-webkit-transform: rotate(10deg); -moz-transform: rotate(10deg); transform: rotate(10deg); }
footer div { position: relative; }
address, #catchF3 { position: relative; top: -25px; }
footer div::before { display: block; content: ''; background-color: #fff; position: relative; top: 50px; left: -15px;
width: 22px; height: 22px; border-left: 3px solid #346ADE; border-top: 3px solid #346ADE;
-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
}
@media only screen and (min-width: 900px) {
footer { font-size: 1.2em; }
}
@font-face { font-family: 'icomoon'; src: url('../font/fonts/icomoon.eot?xcldq8');
src: url('../font/fonts/icomoon.eot?xcldq8#iefix') format('embedded-opentype'),
url('../font/fonts/icomoon.ttf?xcldq8') format('truetype'),
url('../font/fonts/icomoon.woff?xcldq8') format('woff'),
url(../font/'fonts/icomoon.svg?xcldq8#icomoon') format('svg');
font-weight: normal; font-style: normal; }
.ninja_onebutton { margin-top: 2em; }