/*---------------------------------------------------------------------------*/
.main-visual .slider-item { border: none; outline: none; }

@media screen and (min-width: 769px) { .main-visual .slider-item { background: none !important; } }

@media screen and (max-width: 768px) { .main-visual .slider-item { background: none !important; /*figure { display: none; }*/ } }

.main-visual .slick-dots button { display: block; overflow: hidden; position: relative; width: 14px; height: 14px; padding: 0; -moz-border-radius: 50%; border-radius: 50%; border: 1px solid transparent; background: transparent; color: transparent; line-height: 1; cursor: pointer; outline: none; }

.main-visual .slick-dots button:before { display: block; position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; -moz-border-radius: 50%; border-radius: 50%; background: #0084C8; content: ''; }

.main-visual .slick-dots .slick-active button { border: 1px solid #002773; }

.main-visual a { display: block; }

.main-visual a:hover { opacity: 0.75; }

.main-info { background: #002773; padding: 2rem 0; }

.main-info a { color: #fff; }

.main-info a + a { margin-left: 3rem; }

/** section-category **/
.section-category { margin-bottom: 5rem; }

.section-category_title { font-size: 2.7rem; text-align: center; margin-bottom: 4rem; }

@media screen and (max-width: 768px) { .section-category_title { font-size: 5.33333vw; margin-bottom: 8vw; } }

.category-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -2.5rem; }

@media screen and (max-width: 768px) { .category-list { margin: 0 0 0 -2.66667vw; } }

.category-list_item { width: -webkit-calc(100%/4 - 2.5rem); width: -moz-calc(100%/4 - 2.5rem); width: calc(100%/4 - 2.5rem); margin: 0 0 4rem 2.5rem; }

@media screen and (max-width: 768px) { .category-list_item { width: -webkit-calc(100%/2 - 2.66667vw); width: -moz-calc(100%/2 - 2.66667vw); width: calc(100%/2 - 2.66667vw); margin: 0 0 2.66667vw 2.66667vw; } }

.category-list_item a { display: block; }

.category-list_item a figure { overflow: hidden; position: relative; }

.category-list_item a figure img { -webkit-transition: all .5s ease; -moz-transition: all .5s ease; transition: all .5s ease; }

@media screen and (min-width: 769px) { .category-list_item a:hover figure img { -webkit-transform: scale(1.05); -moz-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05); } }

.category-list_item figcaption { color: #fff; font-size: 2rem; text-align: center; line-height: 1.5; display: block; position: absolute; left: 0; bottom: 0; width: 100%; padding: 0.5rem 1rem; }

@media screen and (max-width: 768px) { .category-list_item figcaption { font-size: 4vw; } }

.category-list_item.cat-electric figcaption { background: #F4C556; }

.category-list_item.cat-air figcaption { background: #A9579A; }

.category-list_item.cat-sanitary figcaption { background: #0084C8; }

.category-list_item.cat-firefighting figcaption { background: #E6793D; }

.category-list_item.cat-sound figcaption { background: #655FA7; }

.category-list_item.cat-firewater figcaption { background: #9DC551; }

.category-list_item.cat-other figcaption { background: #DD2241; }

.category-list_item.cat-english figcaption { background: #364761; }

/** section-faq **/
.section-faq { padding: 6rem 0 8rem; color: #fff; }

.section-faq a { display: inline-block; color: #fff; }

.section-faq .container { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; background: #6D7EB3; padding: 4.5rem 10.20408%; }

@media screen and (max-width: 768px) { .section-faq .container { display: block; padding: 10.66667vw 5.33333vw; } }

.section-faq .faq-ctn { width: 50%; }

@media screen and (max-width: 768px) { .section-faq .faq-ctn { width: 100%; } }

.section-faq .faq-ctn h2 { font-size: 2.4rem; margin-bottom: 1rem; }

@media screen and (max-width: 768px) { .section-faq .faq-ctn h2 { font-size: 5.86667vw; } }

.section-faq .faq-ctn p { font-size: 1.6rem; }

@media screen and (max-width: 768px) { .section-faq .faq-ctn p { font-size: 3.73333vw; } }

.section-faq .faq-ctn a { width: 38rem; text-align: center; font-weight: bold; color: #000; font-size: 1.8rem; background: #fff; padding: 1rem 0; margin-top: 2rem; }

@media screen and (max-width: 768px) { .section-faq .faq-ctn a { width: 100%; } }

.section-faq .faq-img { width: 50%; }

@media screen and (max-width: 768px) { .section-faq .faq-img { width: 100%; } }

.section-faq .faq-img ul { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 768px) { .section-faq .faq-img ul { margin-top: 10.66667vw; } }

@media screen and (min-width: 769px) { .section-faq .faq-img ul li { width: 22rem; }
  .section-faq .faq-img ul li:last-child { margin-left: 3.5rem; width: 20rem; }
  .section-faq .faq-img ul li img { width: 100%; height: auto; } }

.section-vid { padding-top: 0; }

.section-vid .container { background: #0066B3; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (min-width: 769px) { .section-vid .vid-img ul li:last-child { width: 40rem; } }

/** section-related **/
.related-title { text-align: center; padding: 2.5rem 0; }

.related-title span { display: inline-block; position: relative; font-size: 3.6rem; font-weight: bold; color: #004A9D; padding-left: 8rem; }

.related-title span:after { position: absolute; content: ''; width: 5.6rem; height: 5.6rem; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/top/icon_mfile.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .related-title { padding: 5.33333vw 0; }
  .related-title span { font-size: 6.4vw; padding-left: 12vw; }
  .related-title span:after { width: 9.33333vw; height: 9.33333vw; } }

.box-download { text-align: center; color: #004A9D; }

.box-download span { display: block; }

.box-download figure { width: 100%; overflow: hidden; margin-bottom: 1rem; }

.box-download figure img { -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.box-download:hover figure img { -webkit-transform: scale(1.03); -moz-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); }

.related-wrap { background: #F2F5F8; padding: 3.5rem 0; }

@media screen and (max-width: 768px) { .related-wrap { padding: 8vw 4vw; } }

@media screen and (min-width: 769px) { .related-wrap_inner { max-width: 110rem; padding: 0 1.5rem; margin: 0 auto; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media screen and (min-width: 769px) { .related-left { width: -webkit-calc(170/980 * 100%); width: -moz-calc(170/980 * 100%); width: calc(170/980 * 100%); } }

@media screen and (max-width: 768px) { .related-left { width: 70%; margin: 0 auto 8vw; } }

@media screen and (min-width: 769px) { .related-right { width: -webkit-calc(750/980 * 100%); width: -moz-calc(750/980 * 100%); width: calc(750/980 * 100%); } }

.related-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -3rem; }

.related-list li { width: -webkit-calc(100% / 5 - 3rem); width: -moz-calc(100% / 5 - 3rem); width: calc(100% / 5 - 3rem); margin: 0 0 0 3rem; }

@media screen and (min-width: 769px) { .related-list li img { max-width: 13.5rem; } }

@media screen and (max-width: 768px) { .related-list { margin: 0 0 0 -5.33333vw; }
  .related-list li { width: -webkit-calc(50% - 5.33333vw); width: -moz-calc(50% - 5.33333vw); width: calc(50% - 5.33333vw); margin: 0 0 5.33333vw 5.33333vw; } }

/** section-medical **/
.section-medical { min-height: 50rem; background: #041a7c; background: -webkit-gradient(left top, right top, color-stop(0%, #041a7c), color-stop(20%, #041a7c), color-stop(84%, #00499d), color-stop(100%, #00499d)); background: -webkit-linear-gradient(left, #041a7c 0%, #041a7c 20%, #00499d 84%, #00499d 100%); background: -webkit-gradient(linear, left top, right top, from(#041a7c), color-stop(20%, #041a7c), color-stop(84%, #00499d), to(#00499d)); background: -moz- oldlinear-gradient(left, #041a7c 0%, #041a7c 20%, #00499d 84%, #00499d 100%); background: linear-gradient(to right, #041a7c 0%, #041a7c 20%, #00499d 84%, #00499d 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#041a7c', endColorstr='#00499d', GradientType=1 ); /*background: url(../img/top/medical_img.png) rgba(4,26,124,1);; background-size: 582px auto; background-repeat: no-repeat; background-position: 20% bottom;*/ color: #fff; }

@media screen and (min-width: 769px) { .section-medical_inner { max-width: 128rem; margin: 0 auto; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media screen and (max-width: 768px) { .section-medical { height: auto; min-height: 1px; padding: 10.66667vw 0 0; } }

@media screen and (min-width: 769px) { .medical-img { width: -webkit-calc(582/1280 * 100%); width: -moz-calc(582/1280 * 100%); width: calc(582/1280 * 100%); height: 50rem; }
  .medical-img figure { text-align: center; width: 100%; height: 100%; position: relative; overflow: hidden; }
  .medical-img figure img { position: absolute; left: 50; top: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; } }

@media screen and (max-width: 768px) { .medical-img { text-align: center; margin-top: 5.33333vw; } }

@media screen and (min-width: 769px) { .medical-wrap { width: -webkit-calc(660/1280 * 100%); width: -moz-calc(660/1280 * 100%); width: calc(660/1280 * 100%); margin-left: 1rem; } }

.medical-title { font-size: 3.2rem; color: #fff; font-style: italic; text-align: center; margin-bottom: 2rem; }

@media screen and (max-width: 768px) { .medical-title { font-size: 6.4vw; margin-bottom: 5.33333vw; } }

.medial-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .medial-row { padding: 0 4vw; } }

.medial-col { width: 45%; }

@media screen and (max-width: 768px) { .medial-col { width: 49%; } }

.medial-col h3 { position: relative; font-size: 1.8rem; font-weight: 400; text-align: center; padding: 0.5rem 0; margin-bottom: 2rem; }

.medial-col h3:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; -webkit-transform: skewX(-23deg); -moz-transform: skewX(-23deg); -ms-transform: skewX(-23deg); transform: skewX(-23deg); }

.medial-col h3 span { display: inline-block; position: relative; z-index: 1; }

@media screen and (max-width: 768px) { .medial-col h3 { font-size: 4.26667vw; margin-bottom: 5.33333vw; }
  .medial-col h3:after { -webkit-transform: skewX(-10deg); -moz-transform: skewX(-10deg); -ms-transform: skewX(-10deg); transform: skewX(-10deg); } }

.medial-col:first-child h3:after { background: #E42113; }

.medial-col:last-child h3:after { border: 1px solid #fff; }

.medial-col ul li { font-size: 1.6rem; letter-spacing: 0.2em; padding-left: 1.5rem; position: relative; font-weight: normal; cursor: pointer; }

.medial-col ul li + li { margin-top: 5px; }

.medial-col ul li:after { position: absolute; content: ''; width: 5px; height: 5px; left: 0; top: 12px; background: #fff; }

@media screen and (max-width: 768px) { .medial-col ul li { font-size: 3.2vw; letter-spacing: 0.1em; padding-left: 2.66667vw; }
  .medial-col ul li + li { margin-top: 1.06667vw; }
  .medial-col ul li:after { top: 1.86667vw; } }

/** section-news **/
@media screen and (min-width: 769px) { .section-news .container { position: relative; }
  .section-news h2 { border-bottom: 1px solid #004A9D; }
  .section-news .news-more { position: absolute; right: 1.5rem; top: 0; color: #004A9D; background: none; font-weight: bold; } }

/** section-event **/
.section-event { margin: 0 0 8rem; }

.section-event .news-more { display: block; color: #fff; background: #004A9D; width: 13rem; text-align: center; padding: 1rem 0; margin: 0 auto; font-size: 1.4rem; }

.section-event .news-more.more-top { width: 20rem; }

@media screen and (min-width: 769px) { .section-event .container { position: relative; }
  .section-event .news-more { position: absolute; right: 1.5rem; top: 0; color: #004A9D; background: none; font-weight: bold; } }

.section-event h2 { font-size: 2.2rem; color: #004A9D; text-align: center; border-bottom: 1px solid #004A9D; margin-bottom: 4rem; }

@media screen and (max-width: 768px) { .section-event h2 { font-size: 5.33333vw; } }

.event-slider { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; max-width: 80rem; margin: 0 auto; }

@media screen and (max-width: 768px) { .event-slider { margin-bottom: 8vw; } }

@media screen and (min-width: 769px) { .event-slider_item { padding: 0 2rem; max-width: 20rem; } }

@media screen and (max-width: 768px) { .event-slider_item { padding: 0 5.33333vw; } }

.event-slider a { display: block; color: #004A9D; font-size: 1rem; margin-bottom: 4rem; }

.event-slider a figure { border: 1px solid #ccc; padding: 2rem; margin-bottom: 1rem; }

.event-slider a time { display: block; }

.event-slider a span { display: block; }

.event-slider .slick-prev, .event-slider .slick-next { width: 1.5rem; height: 4rem; z-index: 2; }

.event-slider .slick-prev { left: -5rem; background: url(../img/top/icon_prev.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .event-slider .slick-prev { left: 8vw; } }

.event-slider .slick-next { right: -5rem; background: url(../img/top/icon_next.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .event-slider .slick-next { right: 8vw; } }

/**section-niti **/
.section-niti { padding: 0 0 6rem; }

.section-niti h2 { font-size: 2.2rem; color: #fff; background: #004A9D; text-align: center; margin-bottom: 4rem; padding: 0.5rem 1.5rem; font-style: italic; }

@media screen and (max-width: 768px) { .section-niti h2 { font-size: 5.33333vw; } }

.niti-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 0 -4rem; }

@media screen and (max-width: 768px) { .niti-list { margin: 0 0 0 -5.33333vw; } }

.niti-item { width: -webkit-calc(100%/4 - 4rem); width: -moz-calc(100%/4 - 4rem); width: calc(100%/4 - 4rem); margin: 0 0 4rem 4rem; text-align: center; }

.niti-item figure { width: 100%; height: 15rem; position: relative; overflow: hidden; }

.niti-item figure img { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); height: 100%; width: auto; max-width: inherit; }

.niti-item .icon { display: inline-block; vertical-align: middle; width: 4.5rem; height: 4.5rem; }

.niti-item span { display: inline-block; font-size: 1.2rem; margin-left: 2rem; }

@media screen and (max-width: 768px) { .niti-item { width: -webkit-calc(100%/2 - 5.33333vw); width: -moz-calc(100%/2 - 5.33333vw); width: calc(100%/2 - 5.33333vw); margin: 0 0 5.33333vw 5.33333vw; }
  .niti-item figure { height: 26.66667vw; }
  .niti-item .icon { width: 8vw; height: 8vw; }
  .niti-item span { font-size: 2.66667vw; margin-left: 1.33333vw; } }

/** section-special **/
.section-special { background: #004A9D; color: #fff; text-align: center; padding: 5rem 0; margin-top: 6rem; }

@media screen and (max-width: 768px) { .section-special { padding: 10.66667vw 0; } }

.special-title { font-size: 2.6rem; font-style: italic; margin-bottom: 3rem; }

@media screen and (max-width: 768px) { .special-title { font-size: 5.86667vw; margin-bottom: 8vw; } }

@media screen and (min-width: 769px) { .special-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 0 -6rem; } }

.special-list li { width: -webkit-calc(50% - 6rem); width: -moz-calc(50% - 6rem); width: calc(50% - 6rem); margin: 0 0 0 6rem; }

.special-list li a { display: inline-block; }

.special-list li a:hover figure img { -webkit-transform: scale(1.03); -moz-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); }

.special-list li figure { margin-bottom: 1.5rem; overflow: hidden; }

.special-list li figure img { -webkit-transition: all .5s ease; -moz-transition: all .5s ease; transition: all .5s ease; }

.special-list li span { display: inline-block; font-size: 1.5rem; color: #fff; }

@media screen and (max-width: 768px) { .special-list li { width: 100%; margin: 0; }
  .special-list li + li { margin-top: 8vw; }
  .special-list li figure { margin-bottom: 4vw; }
  .special-list li span { font-size: 4vw; } }
