@charset "UTF-8";
/* Scss Document */
html { font-size: 62.5%; }

html, body { width: 100%; height: 100%; position: relative; color: #535353; }

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, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; font-size: 1rem; border: 0; font: inherit; vertical-align: top; line-height: 1; -webkit-text-size-adjust: 100%; list-style: none; text-decoration: none; border: none; box-sizing: border-box; background-color: transparent; }

span, strong, a, abbr, time, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, script { line-height: inherit; font-style: normal; }

sup { vertical-align: super; font-size: 75%; }

/* settings */
.clearfix { zoom: 1; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }

@media print, screen and (min-width: 890px) { .contBox { display: flex; width: 1040px; margin: 0 auto; justify-content: space-between; } }
body { letter-spacing: 0.2em; color: #373737; font-family: 'Noto Sans', sans-serif; font-weight: 400; }

img { width: 100%; height: auto; }

i { vertical-align: baseline; }

@media screen and (max-width: 768px) { ._pc { display: none; }
  ._sp { display: block; } }
@media print, screen and (min-width: 890px) { ._sp { display: none !important; }
  ._pc { display: block; } }
strong { font-weight: 600; }

.c_red { color: red; }

.ta_c { text-align: center; }

article a { text-decoration: none; color: #008cd6; transition: 0.3s; }
article a img { transition: 0.3s; }
article a:hover { color: #F27474; }
article a:hover img { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)"; }

a { cursor: auto; }

.fontL { font-size: 1.8rem; }

/* header */
header { position: relative; }
header .hBar { display: none; }
@media print, screen and (min-width: 890px) { header .hBar { display: block; background-color: #008cd6; color: white; padding: 5px 0; text-align: center; margin-bottom: 20px; }
  header .hBar p { margin-bottom: 0; line-height: 1; font-size: 1.4rem; } }
@media print, screen and (min-width: 890px) { header .inner { width: 1040px; margin: 0 auto; position: relative; } }
header .inner h1 { width: 60%; text-align: center; margin: 15px auto; }
@media print, screen and (min-width: 890px) { header .inner h1 { width: 340px; padding-top: 10px; margin: 0 0 10px; } }
header .inner h1 span { background-color: #F27474; color: white; padding: 3px 5px; font-size: 1.2rem; margin-top: 5px; display: inline-block; }
header .gnav { display: none; }
@media print, screen and (min-width: 890px) { header .gnav { display: table; table-layout: fixed; width: 1040px; font-size: 1.6rem; height: 66px; } }
@media screen and (min-width: 890px) and (max-width: 768px) { header .gnav { display: none; } }
@media print, screen and (min-width: 890px) { header .gnav li { display: table-cell; text-align: center; vertical-align: middle; }
  header .gnav li a { font-weight: 400; color: #373737; position: relative; display: inline-block; letter-spacing: 0; }
  header .gnav li a::after { position: absolute; bottom: -7px; left: 0; content: ''; width: 100%; height: 2px; background: #008cd6; transform: scale(0, 1); transform-origin: center top; transition: transform .3s; }
  header .gnav li a:hover::after { transform: scale(1, 1); }
  header .gnav li > ul { display: none; } }
header .gnav li.subPage { display: none; }

.slicknav_menu { position: fixed; top: 0; right: 0; z-index: 1000; display: block; }
.slicknav_menu .slicknav_txtnode { display: none; }
@media print, screen and (min-width: 890px) { .slicknav_menu { display: none; } }

.langSelect { overflow: hidden; width: 170px; margin: 10px 0 0; text-align: right; }
@media screen and (max-width: 768px) { .langSelect { margin: 5px auto; } }

.langSelect select { width: 100%; padding-right: 1em; cursor: pointer; text-indent: 0.01px; text-overflow: ellipsis; border: none; outline: none; background: transparent; background-image: none; box-shadow: none; -webkit-appearance: none; appearance: none; font-size: 1.4rem; }

.langSelect select::-ms-expand { display: none; }

.langSelect { position: relative; border-radius: 2px; border-radius: 50px; background: #008cd6; }

.langSelect::before { position: absolute; top: 1.3em; right: 1.0em; width: 0; height: 0; padding: 0; content: ''; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #ffffff; pointer-events: none; }

.langSelect select { padding: 8px 38px 8px 8px; color: #ffffff; }

/* footer */
footer { background-color: #eee; }
@media print, screen and (min-width: 890px) { footer { padding: 50px 0 0; } }
@media screen and (max-width: 768px) { footer .schedule { padding: 20px; } }
footer .schedule p { color: white; margin-top: 10px; font-size: 1.4rem; line-height: 1.4; }
footer .footerContents { width: 100%; padding: 0 20px; color: #373737; }
@media print, screen and (min-width: 890px) { footer .footerContents { padding: 0; } }
footer .footerContents dt { font-size: 1.8rem; font-weight: 600; margin-bottom: 10px; }
@media screen and (max-width: 768px) { footer .footerContents dt { border-top: 1px solid white; padding-top: 20px; } }
footer .footerContents dd { font-size: 1.4rem; margin-bottom: 10px; font-weight: 300; line-height: 1.5; }
@media print, screen and (min-width: 890px) { footer .footerContents dd { font-size: 1.6rem; line-height: 1.8; } }
footer .footerContents dd.parking { background-color: white; border-radius: 3px; color: #008cd6; padding: 5px 10px; font-weight: 600; display: inline-block; }
footer .gnav { margin: 20px 0; display: flex; flex-wrap: wrap; }
@media print, screen and (min-width: 890px) { footer .gnav { margin: 0; } }
footer .gnav > li { width: calc(100% / 3); letter-spacing: 0; margin-bottom: 15px; }
@media print, screen and (min-width: 890px) { footer .gnav > li { width: calc(100% / 4); } }
footer .gnav > li a { font-size: 1.4rem; color: #047fb5; position: relative; }
@media print, screen and (min-width: 890px) { footer .gnav > li a { font-size: 1.6rem; } }
footer .gnav > li > ul { margin-top: 10px; }
footer .gnav > li > ul li { font-size: 1.1rem; margin: 0 0px 7px; line-height: 1.2; }
@media print, screen and (min-width: 890px) { footer .gnav > li > ul li { font-size: 1.2rem; margin: 0 0px 10px; } }
footer .gnav a:before { position: absolute; top: 3px; right: -15px; font-family: "Font Awesome 5 Free"; content: "\f105"; font-weight: 900; }
@media screen and (max-width: 768px) { footer .gnav .subPage { width: calc((100% / 3) * 2); } }
footer .gnav .subPage ul { margin: 0; font-size: 1.4rem; letter-spacing: 0; }
footer .accessMap { margin-top: 20px; }
@media print, screen and (min-width: 890px) { footer .accessMap { width: 1040px; margin: 0 auto; margin-bottom: 50px; margin-top: 40px; } }
footer .accessMap h2 { color: #373737; text-align: center; font-size: 2.0rem; margin-bottom: 10px; }
@media print, screen and (min-width: 890px) { footer .accessMap h2 { margin-bottom: 20px; } }
footer .accessMap h2 i { margin-right: 5px; }
footer .copyRight { font-size: 1.4rem; text-align: center; background-color: #008cd6; padding: 20px 0; color: white; }
@media print, screen and (min-width: 890px) { footer .copyRight { padding: 30px; } }

/* component */
.title_Bar { background-color: #bcdde8; color: #373737; padding: 10px; text-align: center; font-size: 2.0rem; font-weight: 600; line-height: 1.6; letter-spacing: 0.2em; }
@media print, screen and (min-width: 890px) { .title_Bar { font-size: 3.2rem; padding: 30px; } }

.mainV { margin: 20px 15px 0; }
@media print, screen and (min-width: 890px) { .mainV { margin: 30px auto 0; width: 1040px; } }

.hansel { background: #f6f6f6; min-width: 990px; }
@media print, screen and (min-width: 890px) { .hansel ol { width: 990px; margin: auto; padding: 7px 20px; display: flex; font-size: 1.2rem; } }
@media screen and (max-width: 768px) { .hansel { display: none; } }

.hansel__item { position: relative; }
.hansel__item + .hansel__item { margin-left: 0.6em; }
.hansel__item + .hansel__item::before { content: ">"; margin-right: 0.3em; }
html.msie .hansel__item + .hansel__item::before { position: relative; top: 3px; }
.hansel__item span, .hansel__item mark { color: black; }
.hansel__item a:hover span { text-decoration: underline; }

article > section { margin: 25px 15px 30px; }
@media print, screen and (min-width: 890px) { article > section { width: 1040px; margin: 80px auto; overflow: hidden; } }
article > section > section { margin-bottom: 20px; }
@media print, screen and (min-width: 890px) { article > section > section { margin-bottom: 70px; } }
article p.mainCopy { font-size: 2.2rem; color: #047fb5; font-weight: 600; }
@media print, screen and (min-width: 890px) { article p.mainCopy { font-size: 3.0rem; margin-bottom: 0; } }
article h2 { font-size: 1.8rem; line-height: 1.5; border-top: 2px solid #047fb5; border-bottom: 2px solid #047fb5; font-weight: 600; margin-bottom: 15px; padding: 15px 0; color: #373737; }
@media print, screen and (min-width: 890px) { article h2 { font-size: 2.3rem; margin-bottom: 30px; } }
article h3 { font-size: 1.6rem; font-weight: 600; margin-bottom: 10px; color: #047fb5; line-height: 1.6; }
@media print, screen and (min-width: 890px) { article h3 { font-size: 2.0rem; margin-bottom: 15px; } }
article p { font-size: 1.4rem; margin-bottom: 20px; line-height: 1.7; font-weight: 400; }
@media print, screen and (min-width: 890px) { article p { font-size: 1.8rem; margin-bottom: 30px; line-height: 2.0; } }
article img.photo { margin-bottom: 20px; }
@media print, screen and (min-width: 890px) { article img.photo { float: right; margin: 0 0 30px 30px; width: 250px; } }

.listStyle li { border-bottom: 1px dotted #535353; padding-bottom: 8px; font-size: 1.8rem; margin-bottom: 20px; line-height: 1.8; font-weight: 400; }

.listStyle2 li { position: relative; font-size: 1.4rem; margin-bottom: 10px; line-height: 1.7; padding-left: 20px; font-weight: 400; }
@media print, screen and (min-width: 890px) { .listStyle2 li { font-size: 1.8rem; line-height: 1.8; } }
.listStyle2 li::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f111"; position: absolute; left: 0; transform: scale(0.4, 0.4); color: #008cd6; }

.dlStyle { display: flex; flex-wrap: wrap; border-bottom: 1px solid #ccc; margin-bottom: 20px; }
.dlStyle dt { line-height: 2.0; color: #047fb5; font-size: 1.8rem; width: 25%; padding: 15px 0; box-sizing: border-box; border-top: 1px solid #ccc; }
@media screen and (max-width: 768px) { .dlStyle dt { font-size: 1.4rem; line-height: 1.7; } }
.dlStyle dd { font-size: 1.6rem; line-height: 2.0; padding: 15px 0; font-weight: 400; margin: 0; border-top: 1px solid #ccc; width: 75%; box-sizing: border-box; }
@media screen and (max-width: 768px) { .dlStyle dd { font-size: 1.4rem; line-height: 1.7; } }

@media print, screen and (min-width: 890px) { .dlStyle3 { display: flex; flex-wrap: wrap; border-bottom: 1px solid #ccc; margin-bottom: 20px; } }
.dlStyle3 dt { line-height: 2.0; color: #047fb5; padding: 15px 0 5px; }
@media screen and (max-width: 768px) { .dlStyle3 dt { font-size: 1.4rem; line-height: 1.7; } }
@media print, screen and (min-width: 890px) { .dlStyle3 dt { padding: 15px 0; font-size: 1.8rem; width: 25%; box-sizing: border-box; border-top: 1px solid #ccc; } }
.dlStyle3 dd { font-weight: 400; margin: 0; }
@media screen and (max-width: 768px) { .dlStyle3 dd { font-size: 1.4rem; line-height: 1.7; border-bottom: 1px solid #ccc; padding-bottom: 15px; } }
@media print, screen and (min-width: 890px) { .dlStyle3 dd { padding: 15px 0; font-size: 1.6rem; line-height: 2.0; border-top: 1px solid #ccc; width: 75%; box-sizing: border-box; } }

.dlStyle4 i { color: #047fb5; }
@media print, screen and (min-width: 890px) { .dlStyle4 { margin-bottom: 20px; } }
.dlStyle4 dt { width: 300px; margin: 0 auto 10px; line-height: 2.0; color: #047fb5; text-align: center; background-color: #bcdde8; padding: 5px 10px; border-radius: 30px; }
@media screen and (max-width: 768px) { .dlStyle4 dt { font-size: 1.6rem; line-height: 1.7; } }
@media print, screen and (min-width: 890px) { .dlStyle4 dt { font-size: 1.8rem; } }
.dlStyle4 dd { text-align: center; font-weight: 400; margin: 0; }
@media screen and (max-width: 768px) { .dlStyle4 dd { font-size: 1.4rem; line-height: 1.7; padding-bottom: 10px; } }
@media print, screen and (min-width: 890px) { .dlStyle4 dd { padding: 5px 0; font-size: 1.6rem; line-height: 2.0; } }

.dlStyle2 { border: 1px solid #008cd6; padding: 15px; margin-bottom: 20px; }
@media print, screen and (min-width: 890px) { .dlStyle2 { margin-bottom: 50px; } }
.dlStyle2 dt { line-height: 2.0; color: #008cd6; font-size: 1.6rem; margin-bottom: 10px; }
.dlStyle2 dd { position: relative; font-size: 1.4rem; margin-bottom: 10px; line-height: 1.7; padding-left: 20px; font-weight: 400; }
@media print, screen and (min-width: 890px) { .dlStyle2 dd { font-size: 1.6rem; line-height: 1.8; } }
.dlStyle2 dd::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f111"; position: absolute; left: 0; transform: scale(0.4, 0.4); color: #008cd6; }

table { border-collapse: collapse; width: 100%; }
table th { border: 1px solid #047fb5; padding: 7px; background-color: #bcdde8; vertical-align: middle; text-align: center; color: #373737; font-size: 1.4rem; font-weight: 600; }
@media print, screen and (min-width: 890px) { table th { padding: 12px; font-size: 1.8rem; } }
table td { border: 1px solid #047fb5; padding: 5px; color: #373737; vertical-align: middle; line-height: 1.4; font-size: 1.3rem; }
@media print, screen and (min-width: 890px) { table td { padding: 20px 5px; font-size: 1.6rem; } }

.flormap { margin-bottom: 20px; }

.gmap iframe { height: 300px; }

@media screen and (max-width: 768px) { .content ul.menu { width: 100%; } }
@media print, screen and (min-width: 890px) { ul.menu { width: 1040px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center !important; } }
ul.menu li { margin: 20px; width: 90%; }
ul.menu li a { text-align: center; font-size: 1.5rem; display: block; border: 1px solid #008cd6; background-color: white; padding: 30px; color: #008cd6; transition: 0.3s; }
ul.menu li a:hover { box-shadow: inset 0px 0px 3px 4px #b2c7e3; }
@media print, screen and (min-width: 890px) { ul.menu li { width: 400px; font-size: 1.8rem; } }

.actionBtns { display: flex; justify-content: space-between; }
.actionBtns li a { vertical-align: middle; letter-spacing: 0; border-radius: 10px; font-size: 1.5rem; font-weight: 400; text-align: center; display: block; padding: 17px 10px; height: 50px; transition: 0.3s; }
.actionBtns li a i { margin-right: 5px; font-size: 1.6rem; }
.actionBtns li.btn-tel a { background-color: #008cd6; color: white; }
.actionBtns li.btn-mail a { border: 2px solid #e24d4d; color: #e24d4d; }
.actionBtns li.btn-mail a:hover { background: #e24d4d; color: white; }
.actionBtns li.btn-form a { background-color: #e24d4d; color: white; }
.actionBtns li.btn-form a:hover { background: #008cd6; color: white; }
.actionBtns li.btn-download a { background-color: #22ac38; color: white; }
.actionBtns li.btn-download a:hover { background: #008cd6; color: white; }
@media screen and (max-width: 768px) { header .actionBtns { display: none; }
  footer .actionBtns { display: block; margin-bottom: 30px; }
  footer .actionBtns li { margin-bottom: 10px; } }
@media print, screen and (min-width: 890px) { .actionBtns li a { width: 210px; }
  .actionBtns li.btn-mail a, .actionBtns li.btn-download a { font-size: 1.4rem; }
  header .actionBtns { position: absolute; width: 650px; top: 55px; right: 0px; }
  footer .actionBtns { width: 640px; }
  footer .actionBtns li a { width: 310px; margin-top: 20px; font-size: 1.8rem; } }

#fileDL i { color: #047fb5; margin-left: 10px; }

ul.imgList { display: flex; }
@media screen and (max-width: 768px) { ul.imgList { flex-wrap: wrap; } }
ul.imgList li { margin: 5px; }
@media screen and (max-width: 768px) { ul.imgList li { width: calc((100% - (5px * 6)) / 3); } }

.voiceBox img { width: 300px; display: block; margin: 0 auto 15px; }
@media print, screen and (min-width: 890px) { .voiceBox img { float: left; margin-right: 30px; margin-bottom: 10px; width: 220px; } }

.siteMap .gnav { margin: 20px 0; display: flex; flex-wrap: wrap; }
.siteMap .gnav > li { width: calc(100% / 3); letter-spacing: 0; margin-bottom: 15px; }
@media print, screen and (min-width: 890px) { .siteMap .gnav > li { width: calc((100% - (15px * 2)) / 4); } }
.siteMap .gnav > li a { font-size: 1.4rem; color: #047fb5; position: relative; }
@media print, screen and (min-width: 890px) { .siteMap .gnav > li a { font-size: 1.6rem; } }
.siteMap .gnav > li > ul { margin-top: 10px; }
.siteMap .gnav > li > ul li { font-size: 1.1rem; margin: 0 0px 7px; line-height: 1.2; }
@media print, screen and (min-width: 890px) { .siteMap .gnav > li > ul li { font-size: 1.2rem; margin: 0 0px 10px; } }
.siteMap .gnav a:before { position: absolute; top: 3px; right: -15px; font-family: "Font Awesome 5 Free"; content: "\f105"; font-weight: 900; }
@media screen and (max-width: 768px) { .siteMap .gnav .subPage { width: calc((100% / 3) * 2); } }
.siteMap .gnav .subPage ul { margin: 0; font-size: 1.4rem; letter-spacing: 0; }

ul.actionBtns_sp { display: flex; position: fixed; bottom: 0; width: 100%; height: 50px; z-index: 2; }
@media print, screen and (min-width: 890px) { ul.actionBtns_sp { display: none; } }
ul.actionBtns_sp li { width: 50%; }
ul.actionBtns_sp li a { display: block; font-size: 1.4rem; letter-spacing: 0; color: white; text-align: center; padding: 18px 0 10px; height: 50px; }
ul.actionBtns_sp li.btn_fb a { background-color: #3b5998; }
ul.actionBtns_sp li.btn_guidance a { background-color: #e24d4d; }

/* settings */
.mainVisual { background-color: #bcdde8; overflow: hidden; }
.mainVisual img { width: 100%; margin: 0 auto; display: block; }
.mainVisual .slick-slide { position: relative; }
.mainVisual .slick-slide p { color: white; position: absolute; font-size: 1.8rem; line-height: 1.4; letter-spacing: 0.1em; }
@media print, screen and (min-width: 890px) { .mainVisual .slick-slide p { font-size: 5.0rem; line-height: 1.8; letter-spacing: 0.2em; } }
.mainVisual .slide01 p { width: 14em; top: 15%; left: 50%; transform: translateY(-15%) translateX(-50%); margin: auto; }
.mainVisual .slide01 p span { background-color: #008cd6; padding-left: 15px; }
.mainVisual .slide02 p { width: 14em; top: 15%; left: 50%; transform: translateY(-15%) translateX(-50%); margin: auto; }
.mainVisual .slide02 p span { background-color: #008cd6; padding-left: 15px; }
.mainVisual .slide03 p { width: 18em; top: 30px; left: 20px; }
.mainVisual .slide03 p span { background-color: #008cd6; padding-left: 15px; }
.mainVisual .slide04 p { width: 18em; top: 30px; left: 20px; }
.mainVisual .slide04 p span { background-color: #008cd6; padding-left: 15px; }

.categgoryBox { background-color: #ecf0f4; }

.commentArea { background: url("../img/home/pic01.png") no-repeat top center; position: relative; background-size: cover; padding: 30px 15px; min-height: 700px; }
@media print, screen and (min-width: 890px) { .commentArea { min-height: 600px; padding: 50px 0; }
  .commentArea .inner { width: 1040px; margin: 0 auto; } }
.commentArea h2 { font-size: 1.8rem; line-height: 1.6; border: none; padding: 0; letter-spacing: 0.1em; color: #008cd6; margin-bottom: 15px; }
@media print, screen and (min-width: 890px) { .commentArea h2 { font-size: 3.0rem; } }
@media print, screen and (min-width: 890px) { .commentArea h2 { margin-bottom: 30px; } }
.commentArea p { font-size: 1.35rem; line-height: 2.0; margin-bottom: 10px; padding: 0 10px; letter-spacing: 0.1em; }
.commentArea p span { background-color: white; }
@media print, screen and (min-width: 890px) { .commentArea p { font-size: 1.8rem; } }
.commentArea .btnList { margin-top: 20px; margin: 20px auto; }
@media screen and (max-width: 768px) { .commentArea .btnList { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); margin: auto; } }
.commentArea .btnList a { text-decoration: none; line-height: 1; background: #008cd6; border-radius: 30px; color: #fff; letter-spacing: 0.2em; text-align: center; width: 280px; display: block; font-size: 1.6rem; padding: 15px 10px; margin: 10px 0; }
@media print, screen and (min-width: 890px) { .commentArea .btnList a { font-size: 2.0rem; width: 350px; display: block; } }
.commentArea .btnList a:hover { background: #e24d4d; color: white; }

.snsArea p { margin-bottom: 15px; margin-top: 30px; line-height: 1; }
.snsArea p img { height: 40px; width: auto; margin-right: 7px; vertical-align: text-bottom; }
@media print, screen and (min-width: 890px) { .snsArea { display: flex; } }

@media print, screen and (min-width: 890px) { .movie-container { width: 660px; margin-right: 40px; } }
@media screen and (max-width: 768px) { .movie-container p img { width: 100px; height: auto; } }

.movieBox { position: relative; padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/ height: 0; overflow: hidden; margin: 0 auto; }
@media print, screen and (min-width: 890px) { .movieBox { width: 660px; height: 410px; } }
.movieBox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media print, screen and (min-width: 890px) { .movieBox iframe { width: 680px; height: 410px; } }

.fb-container { width: 100%; max-width: 500px; }
@media print, screen and (min-width: 890px) { .fb-container { width: 320px; } }
.fb-container p { font-size: 3.0rem; font-weight: 600; }

/* blog */
@media print, screen and (min-width: 890px) { div.blog_contents { overflow: hidden; width: 1040px; margin: 50px auto; } }
div.blog_contents main article { background-color: #EBEFF4; margin-bottom: 15px; padding: 15px; }
@media print, screen and (min-width: 890px) { div.blog_contents main article { margin-bottom: 40px; padding: 40px; } }
div.blog_contents main article > section { width: inherit; margin: 20px 0; }
div.blog_contents main article > section > section { margin-bottom: 30px; }
div.blog_contents main article h1 { font-size: 1.8rem; margin-bottom: 10px; line-height: 1.6; color: #008cd6; }
@media print, screen and (min-width: 890px) { div.blog_contents main article h1 { font-size: 2.3rem; line-height: 1.7; margin-bottom: 30px; } }
div.blog_contents main article .blogData { border-top: 1px solid #008cd6; border-bottom: 1px solid #008cd6; padding: 10px 0; font-size: 1.4rem; line-height: 1.6; }
@media print, screen and (min-width: 890px) { div.blog_contents main { float: left; width: 750px; } }
@media print, screen and (min-width: 890px) { div.blog_contents aside { float: right; width: 250px; } }
div.blog_contents aside h2 { background-color: #D9E3F1; padding: 5px 10px; font-size: 1.6rem; }
div.blog_contents aside h3 { font-size: 1.4rem; padding-top: 15px; }
@media screen and (max-width: 768px) { div.blog_contents aside h3 { margin-left: 10px; } }
div.blog_contents aside ul { margin-bottom: 20px; }
div.blog_contents aside ul li a { display: block; padding: 15px; font-size: 1.5rem; border-bottom: 1px solid #ccc; color: #333; line-height: 1.5; }

form#mail_form { width: 980px; margin: 0px auto; padding: 10px 0; background: #ffffff; }

form#mail_form dl { width: 90%; margin: 0 auto; overflow: hidden; }

form#mail_form dl dt { clear: both; width: 30%; float: left; border-top: 1px solid #cccccc; padding: 15px 0; text-align: right; overflow: hidden; font-size: 1.8rem; }

form#mail_form dl dd { width: 70%; float: right; border-top: 1px solid #cccccc; padding: 15px 0 15px 5%; font-size: 1.8rem; }

form#mail_form dl dt:first-child, form#mail_form dl dt:first-child + dd { border: none; }

form#mail_form dl dt span { display: block; font-size: 85%; color: #3377ff; }

form#mail_form dl dd li { margin-bottom: 13px; }

form#mail_form dl dd li:last-child { margin: 0; }

/* -- for JavaScript ここから -------------------------------------------------------------------------------- */
form#mail_form dl dt span.required, form#mail_form dl dt span.optional { display: inline-block; float: left; color: #ffffff; line-height: 1; padding: 8px 9px; border-radius: 3px; }

form#mail_form dl dt span.required { background: #d9534f; border: 1px solid #d43f3a; }

form#mail_form dl dt span.optional { background: #337ab7; border: 1px solid #2e6da4; }

form#mail_form dl dd span.error_blank, form#mail_form dl dd span.error_format, form#mail_form dl dd span.error_match { display: block; color: #ff0000; margin-top: 3px; }

span.loading { width: 50px; height: 50px; border-radius: 50%; border-top: 5px solid rgba(255, 255, 255, 0.2); border-right: 5px solid rgba(255, 255, 255, 0.2); border-bottom: 5px solid rgba(255, 255, 255, 0.2); border-left: 5px solid #ffffff; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-animation: load-circle 1.0s linear infinite; animation: load-circle 1.0s linear infinite; position: absolute; top: 50%; left: 50%; margin-top: -25px; margin-left: -25px; }

@-webkit-keyframes load-circle { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes load-circle { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */
form#mail_form input[type="text"], form#mail_form input[type="email"], form#mail_form input[type="tel"] { max-width: 90%; height: 2em; padding: 2px 2%; border: 1px solid #cccccc; border-radius: 3px; background: #fafafa; -webkit-appearance: none; font-size: 100%; font-family: inherit; margin-top: 5px; }

form#mail_form input[type="text"]:focus, form#mail_form input[type="email"]:focus, form#mail_form input[type="tel"]:focus, form#mail_form textarea:focus { box-shadow: 0px 0px 5px #55ccff; border: 1px solid #55ccff; background: #ffffff; }

form#mail_form ul li input[type="radio"], form#mail_form ul li input[type="checkbox"] { margin-right: 10px; margin-top: 7px; }

form#mail_form ul li:first-child input[type="radio"], form#mail_form ul li:first-child input[type="checkbox"] { margin-top: 0px; }

form#mail_form select { font-size: 100%; margin-top: 5px; }

form#mail_form textarea { display: block; width: 90%; max-width: 90%; height: 200px; padding: 2px 2%; resize: vertical; border: 1px solid #cccccc; border-radius: 3px; background: #fafafa; -webkit-appearance: none; font-size: 100%; font-family: inherit; }

form#mail_form ul { list-style-type: none; }

form#mail_form ul li label:hover { cursor: pointer; }

form#mail_form input#company { width: 60%; }

form#mail_form input#name_1, form#mail_form input#name_2, form#mail_form input#read_1, form#mail_form input#read_2, form#mail_form input#postal, form#mail_form input#phone, form#mail_form input#schedule { width: 30%; }

form#mail_form input#mail_address, form#mail_form input#mail_address_confirm { width: 80%; }

form#mail_form input#postal + a { display: inline-block; padding: 9px 15px; vertical-align: middle; line-height: 1; background: #5bc0de; border: 1px solid #46b8da; border-radius: 3px; color: #ffffff; font-family: inherit; text-decoration: none; position: relative; top: -1px; }

form#mail_form input#postal + a:hover { cursor: pointer; background: #31b0d5; border: 1px solid #269abc; }

form#mail_form input#address_1, form#mail_form input#address_2 { display: block; width: 90%; margin-top: 0px; }

form#mail_form input#address_2 { margin-top: 7px; }

form#mail_form p#form_submit { width: 90%; margin: 0 auto 40px; padding: 15px 0; border-top: 1px solid #cccccc; text-align: center; }

form#mail_form input[type="button"] { padding: 15px 25px; vertical-align: middle; line-height: 1; background: #008cd6; border: 1px solid #008cd6; border-radius: 50px; color: white; font-family: inherit; -webkit-appearance: none; font-size: 2.2rem; }

form#mail_form input[type="button"]:hover { cursor: pointer; background: #008cd6; border: 1px solid #008cd6; }

form#mail_form input#form_submit_button { margin: 0 auto; }

/* --responsive----------------------------------------------------------------------------------------------------------------- */
/* 640pixel start */
@media screen and (max-width: 640px) { form#mail_form { width: 95%; }
  form#mail_form dl { overflow: visible; }
  form#mail_form dl dt { width: auto; float: none; text-align: left; padding: 15px 0 0px; font-weight: bold; margin-bottom: 10px; }
  form#mail_form dl dd { width: auto; float: none; border-top: none; padding: 0px 0 13px 0px; }
  form#mail_form dl dt span { font-weight: normal; }
  form#mail_form select { margin-top: 0; }
  /* -- for JavaScript ここから -------------------------------------------------------------------------------- */
  form#mail_form dl dt span.required, form#mail_form dl dt span.optional { margin-right: 1em; margin-bottom: 1em; padding: 3px 5px; }
  /* -- for JavaScript ここまで -------------------------------------------------------------------------------- */
  form#mail_form input#form_submit_button { /* margin-left : 0; */ }
  form#mail_form input#phone, form#mail_form input#schedule { width: 50%; } }
/* 640pixel end */

/*# sourceMappingURL=modules.css.map */
