@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/*
 * Normalization
 */
:root {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }

audio:not([controls]) {
  display: none; }

details {
  display: block; }

input[type="number"] {
  width: auto; }

input[type="search"] {
  -webkit-appearance: textfield; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

main {
  display: block; }

summary {
  display: block; }

pre {
  overflow: auto; }

progress {
  display: inline-block; }

small {
  font-size: 75%; }

template {
  display: none; }

textarea {
  overflow: auto; }

[hidden] {
  display: none; }

[unselectable] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*
 * Universal inheritance
 */
*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

* {
  font-size: inherit;
  line-height: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0; }

* {
  margin: 0;
  padding: 0; }

:root {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  font: 16px / 1.5 sans-serif;
  text-rendering: optimizeLegibility; }

html {
  background-color: #FFFFFF; }

a {
  text-decoration: none; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

button,
input,
select,
textarea {
  background-color: transparent; }

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit; }

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

nav ol,
nav ul {
  list-style: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }
  select::-ms-expand {
    display: none; }
  select::-ms-value {
    color: currentColor; }

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

textarea {
  resize: vertical; }

::-moz-selection {
  background-color: #B3D4FC;
  text-shadow: none; }

::selection {
  background-color: #B3D4FC;
  text-shadow: none; }

@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important; } }

:root {
  font-size: 1px; }

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 15px;
  font-family: "IBM Plex Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
  letter-spacing: .1em;
  color: #111;
  background-color: #fff; }

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: .15em; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

* img {
  display: block;
  max-width: 100%;
  height: auto; }

* a {
  -webkit-transition: all ease .3s;
  -o-transition: all ease .3s;
  transition: all ease .3s; }

* ul {
  list-style: none; }

.clr {
  clear: both;
  zoom: 1; }
  .clr:before, .clr:after {
    content: "";
    display: table; }

.container {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .flex.align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .flex.justify-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .flex.justify-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

.font-alt {
  font-family: "Zen Old Mincho", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif; }

.section-title {
  text-align: center;
  margin-bottom: 40px; }
  .section-title i {
    color: #003c7a;
    font-size: 24rem;
    padding-bottom: 5px;
    width: 100%; }
  .section-title span {
    font-size: 24rem; }

.description {
  width: 100%;
  height: 30px;
  background: #003c7a; }
  .description h2 {
    color: #fff;
    font-size: 13rem;
    font-weight: normal; }

.header {
  height: 100px; }
  .header .sitename {
    width: 33%;
    margin-left: 33%;
    text-align: center; }
    .header .sitename a {
      font-size: 24rem;
      color: #111; }
  .header .contact {
    width: 33.3%; }
    .header .contact .tel {
      color: #003c7a;
      width: 100%; }
      .header .contact .tel i {
        font-size: 18rem;
        padding-right: 8px; }
      .header .contact .tel span {
        font-size: 24rem; }
    .header .contact .web {
      color: #fff;
      padding: 10px 20px;
      margin-top: 5px;
      background: #003c7a;
      border-radius: 40px; }
      .header .contact .web i {
        font-size: 18rem;
        padding-right: 8px; }

.main-visual {
  position: relative;
  width: 100%;
  height: calc(100vh - 200px); }
  .main-visual:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 998; }
  .main-visual .content {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999;
    width: 100%; }
    .main-visual .content h3 {
      display: inline-block;
      color: #fff;
      font-size: 42rem;
      text-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
      padding-bottom: 10px;
      margin-bottom: 15px;
      border-bottom: 1px dashed #fff; }
    .main-visual .content p {
      color: #fff;
      font-size: 18rem;
      text-shadow: 0 5px 8px rgba(0, 0, 0, 0.3); }
  .main-visual .slides {
    width: 100%;
    height: calc(100vh - 200px); }
    .main-visual .slides .slide {
      width: 100%;
      height: calc(100vh - 200px);
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; }
      .main-visual .slides .slide.slide-1 {
        background-image: url(../images/slide_01.jpg); }
      .main-visual .slides .slide.slide-2 {
        background-image: url(../images/slide_02.jpg); }
      .main-visual .slides .slide.slide-3 {
        background-image: url(../images/slide_03.jpg); }
      .main-visual .slides .slide.slide-4 {
        background-image: url(../images/slide_04.jpg); }

.global-menu {
  height: 70px; }
  .global-menu ul {
    height: 70px; }
    .global-menu ul li {
      padding-left: 40px;
      padding-right: 40px; }
      .global-menu ul li:not(:last-child) {
        border-right: 1px solid #ddd; }
      .global-menu ul li a {
        color: #111; }
        .global-menu ul li a i {
          color: #003c7a;
          font-size: 18rem;
          padding-right: 8px; }

.section-about {
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../images/section-about_bg.jpg) center center no-repeat;
  background-size: cover; }
  .section-about .section-content .thumb {
    width: 30%; }
  .section-about .section-content .content {
    width: 70%;
    padding-left: 40px; }
    .section-about .section-content .content h4 {
      font-size: 18rem;
      color: #003c7a;
      padding-bottom: 10px;
      margin-bottom: 15px;
      border-bottom: 1px dashed #003c7a; }
    .section-about .section-content .content p {
      line-height: 2; }

.section-soudan {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #f5f5f5; }
  .section-soudan .section-content .content {
    text-align: center;
    width: 50%;
    margin-left: auto;
    margin-right: auto; }
    .section-soudan .section-content .content h4 {
      font-size: 18rem;
      color: #003c7a;
      padding-bottom: 10px;
      margin-bottom: 30px;
      border-bottom: 1px dashed #003c7a; }
    .section-soudan .section-content .content .btn {
      color: #fff;
      padding: 20px;
      margin-top: 5px;
      background: #003c7a;
      border-radius: 40px; }
      .section-soudan .section-content .content .btn i {
        font-size: 18rem;
        padding-right: 8px; }

.section-services {
  padding-top: 80px;
  padding-bottom: 80px; }
  .section-services .section-content .row {
    width: 60%; }
    .section-services .section-content .row .col {
      width: 33.3%;
      padding-left: 20px;
      padding-right: 20px; }
      .section-services .section-content .row .col a {
        display: block; }
        .section-services .section-content .row .col a:hover {
          opacity: .5; }
        .section-services .section-content .row .col a img {
          border-radius: 200px; }
        .section-services .section-content .row .col a h4 {
          color: #111;
          text-align: center;
          font-size: 18rem;
          margin-top: 20px; }

.section-access .section-title {
  background: #003c7a;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 0; }
  .section-access .section-title i {
    color: #fff; }
  .section-access .section-title span {
    color: #fff; }

.section-access .section-content iframe {
  max-width: 100%; }

.footer {
  text-align: center;
  background: #333;
  padding-top: 40px;
  padding-bottom: 40px; }
  .footer h1 {
    color: #fff;
    font-size: 18rem;
    margin-bottom: 12px; }
  .footer p {
    color: #fff;
    line-height: 1.5; }

.copyright {
  text-align: center;
  background: #111;
  padding-top: 10px;
  padding-bottom: 10px; }
  .copyright p {
    color: #fff; }

@media screen and (max-width: 1200px) {
  .container {
    width: 100%; }
  .header {
    height: 140px;
    padding-left: 15px;
    padding-right: 15px; }
    .header .sitename {
      width: 100%;
      margin-left: 0; }
      .header .sitename a {
        font-size: 18rem; }
    .header .contact {
      width: 100%; }
      .header .contact .tel i {
        font-size: 15rem; }
      .header .contact .tel span {
        font-size: 15rem; }
      .header .contact .web i {
        display: none;
        font-size: 15rem; }
      .header .contact .web span {
        font-size: 15rem; }
  .main-visual {
    height: calc(100vh - 280px); }
    .main-visual .slides {
      height: calc(100vh - 280px); }
      .main-visual .slides .slide {
        height: calc(100vh - 280px); }
    .main-visual .content {
      padding-left: 30px;
      padding-right: 30px; }
  .global-menu {
    width: 100%;
    height: 140px; }
    .global-menu ul {
      width: 100%;
      height: 140px; }
      .global-menu ul li {
        width: 50%;
        height: 70px;
        border-bottom: 1px solid #ddd; }
        .global-menu ul li a {
          width: 100%;
          height: 70px; }
  .section-about {
    padding-left: 15px;
    padding-right: 15px; }
    .section-about .section-content .thumb {
      width: 100%;
      margin-bottom: 20px; }
    .section-about .section-content .content {
      width: 100%;
      padding-left: 0; }
  .section-soudan {
    padding-left: 15px;
    padding-right: 15px; }
    .section-soudan .section-content .content {
      width: 100%; }
  .section-services {
    padding-left: 15px;
    padding-right: 15px; }
    .section-services .section-content .row {
      width: 100%; }
      .section-services .section-content .row .col {
        width: 100%; }
        .section-services .section-content .row .col:not(:last-child) {
          margin-bottom: 40px; }
        .section-services .section-content .row .col img {
          max-width: 50%;
          margin-left: auto;
          margin-right: auto; } }
