@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; 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; }

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; }

input, textarea, select, label { vertical-align: sub; font-family: inherit; }
@media screen and (max-width: 700px) { input, textarea, select, label { -webkit-appearance: none; } }

body { color: #333; font-family: -apple-system-subset, "Avenir Next", Arial, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif; font-size: 14px; letter-spacing: 1.5px; width: 100%; line-height: 170%; -webkit-text-size-adjust: 100%; }

a:link { color: #333; text-decoration: none; }

a:hover { color: #333; text-decoration: none; }

a:visited { color: #333; text-decoration: none; }

@media screen and (max-width: 1000px) { .tablet { display: none !important; } }

@media screen and (max-width: 700px) { .mobile { display: none !important; } }

.wrap { width: 1000px; margin-left: auto; margin-right: auto; position: relative; }
@media screen and (max-width: 1000px) { .wrap { width: 100%; padding-left: 10px; padding-right: 10px; } }

header { position: fixed; top: 0px; left: 0px; right: 0px; height: 60px; background-color: white; -moz-box-shadow: 0px 0px 4px #999; -webkit-box-shadow: 0px 0px 4px #999; box-shadow: 0px 0px 4px #999; z-index: 9; }
@media screen and (max-width: 700px) { header .wrap { padding: 0px; } }
header h1 { padding-top: 15px; float: left; }
@media screen and (max-width: 700px) { header h1 { padding: 15px 0px 0px 15px; } }
header h1 img { width: 200px; }
header nav { float: right; }
@media screen and (max-width: 700px) { header nav { float: inherit; } }
header nav ul { padding-top: 10px; float: left; }
@media screen and (max-width: 700px) { header nav ul { width: 100%; margin-top: 8px; padding-top: 0px; display: none; } }
header nav ul li { font-family: 'Noto Sans JP', sans-serif; float: left; margin-right: 0px; position: relative; background-color: inherit; border-top-left-radius: 5px; border-top-right-radius: 5px; }
@media screen and (max-width: 700px) { header nav ul li { float: initial; background-color: #fff; margin-right: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-top: solid 1px #ddd; } }
header nav ul li a { display: inline-block; padding: 10px 25px 17px 25px; color: #1F4387 !important; }
@media screen and (max-width: 700px) { header nav ul li a { padding: 10px 0px 10px 15px; display: block; } }
header nav ul li ul { display: none; position: absolute; top: 50px; left: 0px; padding: 0px; background-color: #152C58 !important; }
@media screen and (max-width: 700px) { header nav ul li ul { position: inherit; top: inherit; margin: 0px 0px 10px 0px; overflow: hidden; z-index: 3; } }
header nav ul li ul li { white-space: nowrap; background-color: #152C58; }
header nav ul li ul li a { padding: 5px 25px; color: #fff !important; }
@media screen and (max-width: 700px) { header nav ul li ul li a { padding: 10px 0px 10px 15px; } }
header nav ul li:hover { background-color: #152C58; }
header nav ul li:hover a { color: #fff !important; }
header nav ul li:hover ul { display: block; }
header nav ul li:hover ul li:hover { width: 100%; background-color: #193D82; }
header nav #contactus { display: block; float: right; margin: 18px 0px 0px 5px; }
@media screen and (max-width: 700px) { header nav #contactus { display: none; } }
header nav #contactus img:nth-child(1) { width: 35px; }
header nav #contactus img:nth-child(2) { width: 165px; }
header #toggle { position: absolute; top: 12px; right: 10px; cursor: pointer; display: none; }
@media screen and (max-width: 700px) { header #toggle { display: block; } }
header #toggle span { display: block; width: 40px; height: 32px; }
header #toggle .close { background-image: url(../img/cmn/toggle_on.png); background-position: left top; background-size: 40px 32px; }
header #toggle .open { background-image: url(../img/cmn/toggle_off.png); background-position: left top; background-size: 40px 32px; }

main { background-repeat: no-repeat; background-position: top center; background-size: contain; margin-top: 40px; padding: 80px 0px 0px 0px; }
@media screen and (max-width: 700px) { main { padding: 50px 0px 0px 0px; background-size: contain; } }
main .wrap { padding: 0px; }
main #pagetitle { padding: 13px; background-color: #fff; display: inline-flex; overflow: hidden; margin: 0px; }
@media screen and (max-width: 700px) { main #pagetitle { display: block; margin: 0px 10px; } }
main #pagetitle h2 { font-family: 'Noto Sans JP', sans-serif; background-color: #fff; font-size: 32px; color: #142C58; float: left; padding: 5px 15px 0px 5px; border-right: solid 1px #ccc; }
@media screen and (max-width: 700px) { main #pagetitle h2 { font-size: 20px; } }
main #pagetitle h2 em { letter-spacing: 0px; color: #fff; padding: 0 8px; margin-right: 8px; margin-left: -12px; background-color: #142C58; }
main #pagetitle p { padding: 0px 15px 0px 15px; background-color: #fff; color: #142C58; line-height: 125%; }
@media screen and (max-width: 700px) { main #pagetitle p { float: left; } }
main #contents { margin-top: 40px; padding: 20px; min-height: 450px; background-color: rgba(255, 255, 255, 0.95); }
@media screen and (max-width: 700px) { main #contents { margin-top: 20px; min-height: inherit; } }

#outer { position: fixed; right: 20px; bottom: 10px; display: none; }
@media screen and (max-width: 700px) { #outer { right: 0px; bottom: 0px; left: 0px; } }
@media screen and (max-width: 700px) { #outer ul { width: 100%; display: flex; justify-content: space-around; background-color: antiquewhite; } }
#outer li { text-indent: -9999px; margin-bottom: 10px; }
@media screen and (max-width: 700px) { #outer li { width: 100%; margin-bottom: 0px; } }
#outer li a { display: block; width: 60px; height: 60px; background-repeat: no-repeat; background-position: top 14px left 14px; background-size: 32px 32px; background-color: #f2f2f2; padding: 0px; border-radius: 50%; }
@media screen and (max-width: 700px) { #outer li a { width: auto; border-radius: 0; background-color: aliceblue; background-position: top 14px center; } }
#outer li a:hover { background-color: aliceblue; }
#outer li:nth-child(1) a { background-image: url(../img/cmn/i_mail.png); }
#outer li:nth-child(2) a { background-image: url(../img/cmn/i_pr.png); }
#outer li:nth-child(3) a { background-image: url(../img/cmn/i_fb.png); }
#outer li:nth-child(4) a { background-image: url(../img/cmn/i_ig.png); }

footer { margin: 40px 0px 30px 0px; padding-top: 30px; border-top: solid 1px #ddd; overflow: hidden; }
@media screen and (max-width: 700px) { footer { border-top: solid 1px #ddd; padding-top: 20px; margin: 20px 0px 80px 0px; } }
footer .corp { float: left; }
footer .corp h2 { line-height: 100%; }
footer .corp h2 img { width: 200px; }
footer .corp h3 { font-family: 'Noto Sans JP', sans-serif; color: #1F4387; }
footer .corp p { line-height: 150%; }
footer .corp small { color: #ccc; font-size: 11px; line-height: 130%; }
footer nav { float: right; }
@media screen and (max-width: 700px) { footer nav { display: none; } }
footer nav dl { float: left; margin-right: 35px; line-height: 200%; }
footer nav dl dt { font-family: 'Noto Sans JP', sans-serif; color: #1F4387; }
footer nav dl dd a { background-image: url(../img/cmn/arrow.png); background-position: center left; background-repeat: no-repeat; background-size: 14px auto; padding: 0px 0px 0px 20px; }
